Changelog News
Developer news worth standardizing on
Jerod here! š
Soooo the WordPress mess (implosion?) is almost too much for me to pick a single, canonical link to summarize it. BUT I also donāt want to do an entire issue about that one story. Whatās a guy to do?!
Punt it to the bottom of the newsletter but make up for it with a rock-solid meme + an (un)ordered list of links! š
Ok, letās get into the other news.
š§ Simply the best pods for devs
š¤ GraphRAG (beyond the hype) (Prashanth Rao)
š The wrong place to slap a person (Nick Nisi)
šļø Leveling up JavaScript with Deno 2 (Ryan Dahl)
š A learning mindset, starting with COBOL (David Beale)
ā° āFounder Modeā at work when youāre not a founder (Go Time crew)
šŗļø Display custom maps on your website for free
OpenFreeMap takes map data from OpenStreetMap and serves up the necessary tiles (in various styles) for anyone to render them on their website (or app) for zero dollars. Kinda amazing:
Using our public instance is completely free: there are no limits on the number of map views or requests. Thereās no registration, no user database, no API keys, and no cookies. We aim to cover the running costs of our public instance through donations.
That sounds almost too good to be trueā¦ and it is, if nobody steps up with recurring donations. However, the serviceās creator, Zsolt Ero, has taken a few steps to make sure itās not prohibitively expensive:
There is no tile server running; only nginx serving a Btrfs image with 300 million hard-linked files. This was my idea; I havenāt read about anyone else doing this in production, but it works really well.
There is no cloud, just dedicated servers.
š± How I designed a Dieter Rams inspired iPhone dock
Iām beyond impressed by what Fatih Arslan was able to create with nothing but some old Braun catalogs, a 3D printer & some serious iteration:
Iām still astonished by what you can do with CAD software and a 3D printer at home. Even though Iām a software engineer, it allows me to experiment with other arts and skills in my spare time.
You can download the 3D model for free, but he also created a Gumroad page so you can donate as well.
š¦ Rewriting Rust
Joseph Gentle thinks the Rust programming language feels like a first-gen product, kinda like the first iPhone. Tons of potential, but missing so much.
I fell in love with Rust at the start. Algebraic types? Memory safety without compromising on performance? A modern package manager? Count me in. But now that Iāve been programming in rust for 4 years or so, it just feels like its never quite there.
Sometimes he lies awake at night and fantasizes about forking the Rust compiler.
I know how Iād do it. In my fork, Iād leave all the rust stuff alone and but make my own āsephā edition of the rust language. Then I could add all sorts of breaking features to that edition. So long as my compiler still compiles mainline rust as well, I could keep using all the wonderful crates on Cargo.
In the linked post, Joseph lays out what his fork would look like (in extreme detail). The sub-headings:
- Function traits (effects)
- Compile-time Capabilities
- Pin, Move and Struct Borrows
- Comptime
- Weird little fixes
Perhaps youāre thinking what I was thinking: why doesnāt Joseph get involved and help move Rust in the direction he wants? Perish the thoughtā¦
A few years ago I would have considered writing RFCs for all of these proposals. But I like programming more than I like dying slowly in the endless pit of github RFC comments. I donāt want months of work to result in yet another idea in rustās landfill of unrealised dreams.
š° System Initiative has launched
Thanks to Adam Jacob & the SI team for sponsoring Changelog News
DevOps is now multiplayer! Hereās what Adam Jacob, co-founder and CEO of System Initiative has to say about the challenges of DevOps before System Initiative.
Part of the reason itās so hard for us to achieve the outcomes weāre looking to achieve with the kind of DevOps and operational work that we do is because the tools weāre using cause those tough outcomes. Itās a lot harder to write static code, have your friends review it in a PR, and then turn that into infrastructure. Thatās alot of time and steps in the process of creating and managing infrastructure.
System Initiative gives you a living architecture diagram to put together all the different relationships between the things that you use. Then you can program that architecture diagram to do all the stuff you need it to do. It automatically understands how to do things like, create resources and delete them, update their tags, or set IP address ranges. You can also extend it with your own custom policies and the whole thing happens in real time, in multiplayer. You apply that change set and it goes and makes that infrastructure real. You can see the real thing as real infrastruture. Itās the coolest thing in the world. Iām so proud of it.
Go to systeminit.com and get started in just three clicks. They have an awesome free tier. No credit card required.
š® Web Components are not the future
The web dev community is debating the viability of Web Components once again. Thereās been a lot of hand-wringing & hostility on the socials about this, but I think this post by Ryan Carniato & the below-linked rebuttal by Cory LaViska are both well-written and pretty well-reasoned stances. Ok this particular sentence is probably over the top:
Web Components possibly pose the biggest risk to the future of the web that I can see.
Hereās Ryanās major point:
So the fundamental problem with Web Components is that they are built on Custom Elements. Elements !== Components. More specifically, Elements are a subset of Components. One could argue that every Element could be a Component but not all Components are Elements.
So what? It means that every interface needs to go through the DOM. Some in well-defined ways that arenāt a perfect fit, and some in newly defined ways that augment or change how one would deal with Elements to accommodate extended functionality.
Ryan believes this fundamental design flaw combined with the formalization (stagnation) that comes from standardization makes Web Components a cost not worth bearing. Cory disagreesā¦
š Web Components are the present
Itās disappointing that some of the most outspoken individuals against Web Components are framework maintainers. These individuals are, after all, in some of the best positions to provide valuable feedback. They have a lot of great ideas!
I happen to think Ryan is providing feedback, just not the kind of feedback Cory is referring to. Setting that aside, he directly answers to Ryanās āfundamental problemā quote from above:
To be fair, Iāve never really liked the term āWeb Componentsā because it competes with the concept of framework components, but thatās what caught on and thatās what most people are familiar with these days.
āFramework componentsā is the answer to the ānot all Components are Elementsā issue. So your app might have some Web Components (that map to the DOM) and it might have some other components that donāt. Makes sense to me.
As to why Web components donāt do all the things framework components do, thatās because theyāre a lower level implementation of an interoperable element. Theyāre not trying to do everything framework components do. Thatās what frameworks are for.
Cory goes on to theorize that framework authors are against the web platform because Capitalism, which is probably over the top, but he finishes with this:
The Web platform may not be perfect, but it continuously gets better. I donāt think frameworks are bad but, as a community, we need to recognize that a fundamental piece of the platform has changed and itās time to embrace the interoperable component model that Web Component APIs have given us
š Meme break
Changelog community member, Chris Duzan, got inspired by our āwrong place to slap a personā convoā¦
š¤« Subliminal git commits
It turns out git commit hashes are prime targets for l33tification, so Tyler Cipriani went on a fun side quest to answer the question, āWhat can I spell with a git commit?ā
And now I have a git repo almost as cool as the sweet āSā I drew in middle school.
Thatās 1337!
š Keeping an eye on Browser Compatibility Data
This site automatically collects, indexes, and makes available for viewing (and as subscribe-able feeds), information about updates to Browser Compatibility Data (BCD).
Any tool that boosts signal without increasing noise is a welcomed addition to my tool belt.
š° Build vs buy for SSO (part 1)
Thanks to WorkOS for sponsoring Changelog News
For those of you working on the next big SaaS startup, the obvious aim is to eventually become enterprise ready (quickly). You have the choice early on, to build vs buy when it comes to SSO, SCIM & other enterprise ready features that are required to ācross the enterprise chasmā.
This two part blog series will help you analyze & quantify the true costs of building a homegrown solution vs buying a ready made all-in-one Enterprise SSO (+ a whole lot more) solution like WorkOS.
Also, make sure you register for Enterprise Ready Conf! (When: Oct 30, Where: Mission District, SF)
š¤ Is āOpen Sourceā ever hyphenated?
No! Open Source is never hyphenated when referring to software. If youāre familiar with English grammar you may have more than an eyebrow raised: read on, we have an explanation. Actually, we have two.
Thanks OSI, I now feel justified. Not only in my ardent personal use of āopen sourceā instead of āopen-sourceā, but in my (previously) guilty pleasure of removing the hyphen from other peopleās writing. š
š āAlways Be Iteratingā
The actual title to this article by John Calhoun is āMove Fast and Abandon Thingsā, but you might mistake that for being generic software/business advice & skip this nice trip down memory lane wherein John reviews old hard drives ātrying to recover old bits and bytes from games that I wrote some thirty-five years ago or so.ā
The title I chose comes from his closing, in which he re(iterates) a maxim he taught his daughters growing up. That you can wholeheartedly take as generic software/business/life adviceā¦
š Everyoneās favorite wp-content
- WP Engine Cease and Desist (PDF)
- Matt Mullenweg: On ThePrimeagen
- WordPress Drama: From the Sidelines
- Matt Mullenweg: On with Theo / T3.gg
- WP Engine is banned from WordPress.org
- If WordPress is to survive, Matt Mullenweg must be removed
- Is it time for a fork? A reasonable roadmap for a way forward
Thatās the news for now, but we have some great episodes coming up this week!
- Wednesday: Pablo & Åukasz from core.py talking GIL-free Python 3.13
- Friday: Abi Noda from DX talking developer (un)happiness
Have a great week, forward this to a friend who might dig it & Iāll talk to you again real soon. š
āJerod