3D printing a Dieter Rams inspired iPhone dock, rewriting Rust, Web Components aren't the future, Web Components are the present & much more!

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:

An orange iPhone case sits at a 45 degree angle with a horizontal phone mounted in it.

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ā€¦

Will Smith (Matt Mullenweg) slaps Chris Rock (WP Engine) onstage at the Oscars. The overlayed text states, ā€œGet the name WordPress out your mouth!ā€


šŸ¤« 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


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