Feeds
FSD meeting recap 2023-12-22
MidCamp - Midwest Drupal Camp: Call for Speakers is Extended to Jan 7!
We’ve had 35 sessions submitted since we launched the open call and we’d love to add your idea to that number. We’re looking for talks geared toward a variety of attendees, beginner through advanced Drupal users, as well as end users and business owners. Please see our session tracks page for full descriptions of the kinds of talks we are looking for.
Important Dates:- Proposal Deadline: January 7 (Sunday), 2024 at midnight CST
- Tickets on sale: very soon!
- Early-bird deadline and speakers announced: February (all speakers are eligible for a free ticket, and anyone who submits a session that is not accepted will be eligible for early-bird pricing even after it closes)
Sponsors make MidCamp possible so we want to return the favor by helping your organization grow within the community and save you time. Get access to new talent and customers as a sponsor of MidCamp.
With packages starting at just $600, organizations can target their jobs to a select group of experienced Drupal talent, maximize exposure by sharing space with dozens of jobs instead of millions, and have three days of being face-to-face with applicants.
Our sponsorship packages are designed to showcase your organization as a supporter of the Drupal community and provide opportunities to:
- grow your brand,
- generate leads,
- and recruit Drupal talent.
Check out the sponsorship packages here, we look forward to working with you to get your organization involved for 2024!
Stay In The LoopPlease feel free to ask on the MidCamp Slack and come hang out with the community online. We will be making announcements there from time to time. We’re also on Twitter and Mastodon.
Keep your eyes peeled in the new year, we will be sharing more information with venue details, hotel and travel options, fun social events, speaker announcements, and more!
Thanks!
The MidCamp Team
autoconf @ Savannah: Autoconf 2.72 released
Autoconf 2.72 has been released, see the release announcement:
https://lists.gnu.org/archive/html/autotools-announce/2023-12/msg00003.html
James Bennett: Set cookies the right way
This is part of a series of posts I’m doing as a sort of Python/Django Advent calendar, offering a small tip or piece of information each day from the first Sunday of Advent through Christmas Eve. See the first post for an introduction.
Cookies in the cookie jarDjango’s request and response objects, and their attributes and methods, make dealing with cookies easy. You can read from the request.COOKIES dictionary to get a cookie, and …
Gunnar Wolf: Pushing some reviews this way
Over roughly the last year and a half I have been participating as a reviewer in ACM’s Computing Reviews, and have even been honored as a Featured Reviewer.
Given I have long enjoyed reading friends’ reviews of their reading material (particularly, hats off to the very active Russ Allbery, who both beats all of my frequency expectations (I could never sustain the rythm he reads to!) and holds documented records for his >20 years as a book reader, with far more clarity and readability than I can aim for!), I decided to explicitly share my reviews via this blog, as the audience is somewhat congruent; I will also link here some reviews that were not approved for publication, clearly marking them so.
I will probably work on wrangling my Jekyll site to display an (auto-)updated page and RSS feed for the reviews. In the meantime, the reviews I have published are:
- 2022.06.15 A world without E-mail (Cal Newport)
- 2022.08.08 Can AI learn to forget? (Samuel Greentard)
- 2023.01.10 Learn enough developer tools to be dangerous: Command line, text editor and Git version control essentials (Michael Hartl)
- 2023.01.12 Phishing and communication channels: A guide to identifying and mitigating phishing attacks (Gunikhan Sonowal)
- 2023.03.14 Jerusalem Online: Critical cartography for the digital age (Valentina Carraro)
- 2023.04.25 Language, gender and videogames: Using corpora to analyse the representation of gender in fantasy videogames (Frazer Heritage)
- 2023.06.23 Democratizing domain-specific computing (Chi Y., Qiao W., Sohrabizadeh A., Wang J., Cong J.)
- 2023.09.03 A free press, if you can keep it: What natural language processing reveals about freedom of the press in Hong Kong (Giovanna Maria Dora Dore, Arya D. McCarthy, James A. Scharf)
- 2023.11.08 Humble AI (Brian Knowles, Jason D’Cruz, John T. Richards, Kush R. Varshney)
- 2023.11.21 The stuff games are made of (Pippin Barr)
Introduction to Delivery Performance Analytics
The Drop Times: The Genesis and Evolution of Token: A Conversation with Jeff Eaton
PyCharm: Django vs FastAPI: Which is the Best Python Web Framework?
Web Review, Week 2023-51
Let’s go for my web review for the week 2023-51.
Do we need to rethink what free software is?Tags: tech, foss, licensing, ethics
A bit of an older article I’m bumping into again. It lays out fairly well the current limits and issues with Free Software as it is defined today. I’m unconvinced it can be solved via licenses but the debate needs to happen… I feel that somehow it’s too much ignored.
https://mjg59.dreamwidth.org/52907.html
Tags: tech, facebook, fediverse, social-media
Looks like Meta is moving forward with more ActivityPub compatibility for Threads. This raises real questions about what they genuinely want to implement and what they’ll abandon along the way.
https://www.theverge.com/2023/12/15/24003435/adam-mosseri-threads-fediverse-plans
Tags: tech, facebook, fediverse, social-media
As Threads being connected to the Fediverse might turn into a reality, this article becomes all the more important. The question of this connection being even desirable is an important one.
https://www.viennawriter.net/blog/the-fediverse-meta-and-the-tolerance-paradox-en/
Tags: tech, web, search, ai, gpt, criticism, knowledge
When SEO and generated content meet… this isn’t pretty. The amount of good content on the web reduced in the past decade, it looks like we’re happily crossing another threshold in mediocrity.
https://infosec.exchange/@bhawthorne/111601578642616056
Tags: tech, ai, gpt, knowledge, wikipedia
The actual dangers of generative AI. Once the web is flooded with generated content, what will happen to knowledge representation and verifiability?
Tags: tech, ai, machine-learning, gpt, social-media, criticism
Here we are… We’re really close to crossing into this territory where any fiction can disguise itself for reality. The problem is that we’ll literally be drowning in such content. The social impacts can’t be underestimated.
Tags: tech, economics, business, ai, gpt
That’s a very good question. What will be left once all the hype is gone? Not all bubbles leaving something behind… we can hope this one will.
https://locusmag.com/2023/12/commentary-cory-doctorow-what-kind-of-bubble-is-ai/
Tags: tech, google, oauth, security
Interesting finding. This shows a potential issue in how identities are verified by providers.
https://trufflesecurity.com/blog/google-oauth-is-broken-sort-of/
Tags: tech, security, email
New technique for SMTP smuggling… vulnerable servers then allow to spoof while still passing DMARC checks properly. Check your providers and server configuration.
https://sec-consult.com/blog/detail/smtp-smuggling-spoofing-e-mails-worldwide/
Tags: tech, ssh, security
Interesting new attack on the SSH protocol. This is hard to achieve outside of the LAN though.
Tags: tech, version-control, git, history
Back to the history of VCS, anyone still remember and used SCCS? Well, I did use it…
https://osshistory.org/p/the-world-before-git
Tags: tech, ai, machine-learning, gpt
Interesting inference engine. The design is clever with an hybrid CPU-GPU approach to limit the memory demand on the GPU and the amount of data transfers. The results are very interesting, especially surprising if the apparently very limited impact on the accuracy.
https://ipads.se.sjtu.edu.cn/_media/publications/powerinfer-20231219.pdf
Tags: tech, ai, machine-learning, gpt, optimization
Interesting technique to speed up the generation of large language models.
https://sites.google.com/view/medusa-llm
Tags: tech, programming, object-oriented, compiler
Nice state of the art view on how dynamic dispatch is implemented in several languages. Does a good way showing the trade-offs involved.
https://lukasatkinson.de/2018/interface-dispatch/
Tags: tech, databases, distributed
An exploration of how databases work from first principles, going all the way to distributed nodes etc. Good list of topics to explore further.
https://tontinton.com/posts/database-fundementals/
Tags: tech, databases, uuid
It might not be as clear cut as sometimes assumed. With the right index UUIDv4 can still do as key in databases.
https://lu.sagebl.eu/notes/maybe-we-dont-need-uuidv7/
Tags: tech, multithreading, performance, python
This is unsurprisingly highly depend on the actual code, not only on the hardware.
https://pythonspeed.com/articles/cpu-thread-pool-size/
Tags: tech, profiling, optimization
Or why using a profiler is not as easy as it sounds. This requires quite some experience and the ability to tap in other information not present in the profile.
https://blog.nelhage.com/post/profilers-seeing-the-invisible/
before main() starts Tags: tech, elf, unix, system
Ever wondered how ELF and ld.so work? This is a good primer on the topic with a few OpenBSD specifics.
https://2023.eurobsdcon.org/slides/eurobsdcon2023-janne_johansson-ELF-binaries.pdf
Tags: tech, api, safety, c++
This is an easy mistake to make. I’d say the API isn’t helping there either, there’s an improvement to find in Cap’n’proto to make it safer.
https://blog.dureuill.net/articles/recurring-lifetime/
Tags: tech, memory, safety, rust, c++, java, python
Very interesting musing about undefined behaviors and language constraints. This is a bit Rust focused for obvious reasons but is also looking at what other languages have been doing.
https://steveklabnik.com/writing/memory-safety-is-a-red-herring
Tags: tech, c++, learning, interviews
An old post, but very much true… People who really know C++ have stared the abyss in the eye, and you can tell.
http://lbrandy.com/blog/2010/03/never-trust-a-programmer-who-says-he-knows-c/
Tags: tech, shader, 3d, simulation, physics, mathematics
Wonder how to implement such real-time simulations? This is a good summary of all the math involved. Also comes with code snippets and demos.
https://andrewkchan.dev/posts/fire.html
Tags: tech, tests, embedded
Interesting story about using unit tests by someone who thought it was a waste of time… until, they helped uncover a bug which was widespread. Also it was in an embedded context which comes with its own challenges.
https://mental-reverb.com/blog.php?id=42
Tags: tech, programming, craftsmanship
This is a good set of advices for beginners. I especially like the ones about best practices, trying different things and why it makes sense to be conservative tech wise.
https://buttondown.email/hillelwayne/archive/advice-for-new-software-devs-whove-read-all-those/
Tags: tech, technical-debt
This is indeed a more complex topic than it sounds. When someone complains about “technical debt” always inquire what it really means to them, what this is about, what are the symptoms.
https://www.foxhound.systems/blog/technical-debt-is-not-real/
Tags: tech, technical-debt, product-management, project-management, metrics
Good approach for tackling it indeed. The crux of the issue is really measuring the tech debt since it’s still a fuzzy concept and we have no good metrics for it.
https://jacobian.org/2023/dec/20/tech-debt/
Tags: management, leadership, decision-making
This is an impressive piece about decision making and leadership. I love the approach: seeking to get the decision out of the person instead of deciding for them.
https://randsinrepose.com/archives/ask-questions-repeat-the-hard-parts-and-listen/
Tags: lego, design
Fascinating article explaining how some Lego sets are designed.
https://www.theverge.com/c/23991049/lego-ideas-polaroid-onestep-behind-the-scenes-price
Bye for now!
Real Python: The Real Python Podcast – Episode #184: PyCoder's Weekly 2023 Wrap Up
It's been a fascinating year for the Python language and community. PyCoder's Weekly included over 1,500 links to articles, blog posts, tutorials, and projects in 2023. Christopher Trudeau is back on the show this week to help wrap up everything by sharing some highlights and Python trends from across the year.
[ Improve Your Python With 🐍 Python Tricks 💌 – Get a short & sweet Python Trick delivered to your inbox every couple of days. >> Click here to learn more and see examples ]
CKEditor: Drupal CKEditor 4 LTS
Joachim Breitner: The Haskell Interlude Podcast
It was pointed out to me that I have not blogged about this, so better now than never:
Since 2021 I am – together with four other hosts – producing a regular podcast about Haskell, the Haskell Interlude. Roughly every two weeks two of us interview someone from the Haskell Community, and we chat for approximately an hour about how they came to Haskell, what they are doing with it, why they are doing it and what else is on their mind. Sometimes we talk to very famous people, like Simon Peyton Jones, and sometimes to people who maybe should be famous, but aren’t quite yet.
For most episodes we also have a transcript, so you can read the interviews instead, if you prefer, and you should find the podcast on most podcast apps as well. I do not know how reliable these statistics are, but supposedly we regularly have around 1300 listeners. We don’t get much feedback, however, so if you like the show, or dislike it, or have feedback, let us know (for example on the Haskell Disourse, which has a thread for each episode).
At the time of writing, we released 40 episodes. For the benefit of my (likely hypothetical) fans, or those who want to train an AI voice model for nefarious purposes, here is the list of episodes co-hosted by me:
- Gabriella Gonzales
- Jasper Van der Jeugt
- Chris Smith
- Sebastian Graf
- Simon Peyton Jones
- Ryan Trinkle
- Facundo Dominguez
- Marc Scholten
- Ben Gamari
- Andrew Lelechenko (Bodigrim)
- ZuriHac 2023 special
- Arnaud Spiwack
- John MacFarlane
Can’t decide where to start? The one with Ryan Trinkle might be my favorite.
Thanks to the Haskell Foundation and its sponsors for supporting this podcast (hosting, editing, transscription).
CodersLegacy: Selenium: How to scroll to the Bottom of the Page (Python)
In this tutorial, we will explore how to use Selenium in Python to scroll to the bottom of a webpage gradually. Scrolling is often required when dealing with dynamically loading content or capturing data from a website that requires scrolling to access all information.
Common examples of such sites are YouTube (shorts) where videos are generated as you scroll down. Another example is e-commerce sites which display alot of products, and use lazy-loading on their images (to load the images only as you scroll down to them).
Many such sites exist, hence learning how to automate scrolling is necessary.
PrerequisitesBefore you begin, make sure you have Python and the necessary packages installed. You can install the required packages using the following:
pip install selenium webdriver_manager Setting up Selenium with ChromeDriverFirst, let’s set up Selenium with ChromeDriver. We’ll use webdriver_manager to automatically download and manage the ChromeDriver executable (Follow the link to learn how to use this module for the other browsers).
from webdriver_manager.chrome import ChromeDriverManager from selenium.webdriver.chrome.service import Service as ChromeService from selenium import webdriver import time # Set up ChromeDriver service = ChromeService(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service)Next, we load up the webpage we wish to scrape (or automate). We will be using Wikipedia as an example, as its main page is usually lengthy enough to demonstrate the scroll effect.
driver.get("https://en.wikipedia.org/wiki/Main_Page")You may replace this with any other URL. The scrolling technique we will learn in this tutorial is not url-specific.
Scrolling Down GraduallyNow, let’s define a JavaScript function to scroll down gradually. This function will be executed using the execute_script function, which takes JavaScript code as a parameter in the form of a string.
= scrollHeight; if (!reachedBottom) { setTimeout(scroll, scrollInterval); } } scroll(); } scrollToBottom(); """ driver.execute_script(scroll_script) driver.quit()" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button">scroll_script = """ function scrollToBottom() { var scrollHeight = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); var scrollStep = 200; // Adjust this value to control the scroll speed var scrollInterval = 100; // Adjust this value to control the scroll interval function scroll() { window.scrollBy(0, scrollStep); var reachedBottom = window.innerHeight + window.scrollY >= scrollHeight; if (!reachedBottom) { setTimeout(scroll, scrollInterval); } } scroll(); } scrollToBottom(); """ driver.execute_script(scroll_script) driver.quit()Adjust the values of scrollStep and scrollInterval to control the scroll speed and interval between scrolls, respectively. If your internet connection is slow, or the website is heavy/slow, you may want to reduce the scroll speed (by lowering interval and scroll step) so that the site loads alongside the scroll.
This code may seem a little complicated, but just remember there is only one “core” line of code here, the window.scrollBy function.
window.scrollBy(0, scrollStep)This function is responsible for the actual “scrolling”. The rest of the code is simply built around this line, to ensure we don’t scroll beyond the limit of the page. The window object contains useful information about the page which can be used to determine when we have reached the end.
= scrollHeight;" style="color:#d8dee9ff;display:none" aria-label="Copy" class="code-block-pro-copy-button">var reachedBottom = window.innerHeight + window.scrollY >= scrollHeight;The above line is an expression which evaluates to True if we have reached the bottom of the page. It is calculated by checking if the sum of the current viewport height and scroll position is equal to or greater than the total scrollable height.
This marks the end of the Selenium Tutorial on How to scroll to the Bottom of the Page. Any suggestions or contributions for CodersLegacy are more than welcome. Questions regarding the tutorial content can be asked in the comments section below.
The post Selenium: How to scroll to the Bottom of the Page (Python) appeared first on CodersLegacy.
LostCarPark Drupal Blog: Drupal Advent Calendar day 22 - Working Groups
Welcome back to the the Drupal Advent Calendar, and we’re down to the last few doors. For door 22, we are joined by Jordana Fung (jordana), who tells us about Community Working Groups.
Giving back while growing too: volunteering within DrupalWhen I decided to go to my first Drupal event, I was scared, anxious and unsure. I decided to go outside of my comfort zone and looked up an event close to where I’d be while visiting family in the US. I am not exaggerating when I say that this was one of the best decisions I’ve ever made in my life.
I fell in love with the community then and there. There’s…
Tags