Programming Leftovers
-
Peter Eisentraut ☛ New compilers, new timings
I had been eagerly awaiting the releases of Clang 18 and GCC 14 for the last few weeks. Now that they are both out, I figured I would check how fast they are for compiling PostgreSQL.
-
Nelson Elhage ☛ Stripe's monorepo developer environment - Made of Bugs
This post is an attempt to record the salient features of that environment as I remember it. I’ll also try to reflect on the context, constraints, and motivations for some of these choices; while I think they were good choices in context, they were deeply informed by the business and technical context, and other teams will require variations.
-
Jim Nielsen ☛ RSC, Localfirst, and Coordination Between Multiple Computers
So in essence, web apps are a single program distributed across time, space, and computers whose runtimes vary (server/client). fetch is used to pass messages in this program across the network, coordinating the proper manipulation of data based on specified rules of logic.
Ok, nothing new there. We all know this, right?
What stood out to me, when I view the current state of webdev in this light, is how much complexity is tied up in the problem of coordination between computers.
-
Buttondown ☛ NoCode Will Not Bring Computing to the Masses
The goal, then, is to figure out what defines the space of "trivial for programmers, impossible for regulars". I think a good first-metric would be "equivalent lines of python". If something can be done in L=10 lines of not-very-clever Python then it should hypothetically be nocodable. If it takes H=50 lines, it definitely should not be. In between is a grey area. These numbers are just off the top of my head; finding the real values of L and H would require a lot of research and user examples.1
-
Rlang ☛ Sort or Order Rank in R
Sort or Order Rank in R with sort(), order(), and rank() Functions. We will learn how to sort data in R using the sort(), order(), and rank() functions.
These functions are essential for data manipulation and analysis in R.
-
Rlang ☛ How to Split a Vector into Chunks in R
In data analysis, there are times when you need to split a vector into smaller chunks. Whether you’re managing large datasets or preparing data for parallel processing, breaking down vectors can be incredibly useful. In this post, we’ll explore how to achieve this in R using base R, dplyr, and data.table.
-
Erlang ☛ Erlang/OTP 27 Highlights - Erlang/OTP
Erlang/OTP 27 is finally here. This blog post will introduce the new features that we are most excited about.
-
Karl Seguin ☛ Zig: Freeing resources referenced in multiple threads
As you learn Zig, you'll see examples of memory being allocated and through the use of defer, freed. Often, these allocations and deallocations are wrapped in init and deinit functions. But whatever specific implementation is used, the point is to show a common pattern which is suitable in simple cases. It isn't too much of a leap to take such examples and apply them to more complicated scenarios where allocation and deallocation might happen in different parts of the code.
-
Python
-
Black Python Devs Join the GNOME Foundation Nonprofit Umbrella
The GNOME Foundation and Black Python Devs are proud to announce that our organizations have entered into a fiscal sponsorship agreement for the mutual benefit of our communities and the greater open source world. We are thrilled to share that the GNOME Foundation will now serve as the nonprofit umbrella for Black Python Devs (BDP). The GNOME Foundation will hold BPD’s assets, accept and process donations, and perform administrative functions on behalf of BPDs, in exchange for a fee that supports the GNOME Foundation.
[...]
Black Python Devs(BPDs) is a global community hoping to increase the participation of Black and Colo(u)red Pythonistas in the greater Python Developer Community. Our goal is to become the largest community of Black Python Developers in the world and establish our community as a source for diverse leaders in local, regional, and global Python communities. The organization works to establish guidance, mentorship, and career support for Black Pythonistas around the world, and it also creates opportunities for the Python community to invest in local communities of Black Python Devs members. The organization aims to increase the participation of Black Python Devs members in existing Python community programs, events, and initiatives, and it also continues the development and growth of Black Python Devs members by establishing open-source programs.
-
Earthly ☛ How to use PyInstaller
Before you can run an application, you must install a precise Python version, configure pip for package installation, establish a virtual environment to isolate dependencies, and install the application’s package dependencies. These tasks demand a nuanced comprehension of Python’s development ecosystem and can present challenges when distributing the application to non-developer systems.
-
-
Standards/Consortia
-
Idiomdrottning ☛ Modern XMPP
I’m glad XMPP is getting some love. It’s a protocol that has some advantages over Matrix and ActivityPub and even over IRC. (even though adding OMEMO to IRC might be possible, the way XMPP federates is a li’l more flexible than how IRC federates). Not that I’m ready to take all my proverbial eggs out of the ActivityPub, email, or IRC baskets just yet. Email is my doll my dear my darling♥︎ but ultimately from a user perspective, choosing a protocol is about the people on it. I find a lot of awesome stuff on email, on ActivityPub, on IRC and on XMPP so they’re all great in terms of what’s on it. Philosophically is where it doesn’t make sense to keep spending time developing a protocol when there’s a better protocol for the same thing and I don’t know yet which of these four li’l creatures is the best one. I suspect email is the best♥︎
-