Changelog News
Developer news worth your attention
Jerod here! š
Fast Company has a fun piece on what the internet looked like back in 1994, featuring 15 webpages born that year. My favorite one is this page that lived on microsoft.com which shows the server and the webmaster at Microsoftā¦
My how the times have changedā¦ Ok, letās get into the news.
š§ Simply the best pods for devs
šļø Code review anxiety (Carol Lee, PhD)
š A different kind of rug pull (Adam & Jerod)
š What happened to open source (Gareth Greenaway)
šŖ© A standard library for JavaScript (Philipp Burckhardt)
š¤ Stanfordās AI Index Report 2024 (Nestor Maslej)
ā° Dependencies are dangerous (Go Time crew)
š§āš« Programming advice for my younger self
Marcus Buffett finally thinks heās a decent programmer, so he rounded up a bunch of his learnings and wrote them down with the idea of āwhat would have gotten me to this point faster?ā Hereās a sampler:
- If youāre shooting yourself in the foot constantly, fix the gun
- Assess the trade-off youāre making between quality and pace, make sure itās appropriate for your context
- Spending time sharpening the axe is almost always worth it
- If you canāt easily explain why something is difficult, then itās incidental complexity, which is probably worth addressing
- Bad code gives you feedback, perfect code doesnāt. Err on the side of writing bad code
Marcus unpacks each of these conclusions and provides more as well. Good reading, especially if you want to catch up to him quickly. š
šŖ¦ DevRelās death as Zero Interest Rate Phenomenon
Swyx asks and answers a question thatās been bandied about lately:
āIs Devrel dead?ā His answer: No. BUT!
I prefer to think of the Devrel excesses of 2020-2022 (example) as a āZero Interest Rate Phenomenonā, and that we are now seeing a relative right-sizing of expectations, one that perhaps has a lot more room to go.
He goes on to back this conclusion up with five bullet points and a list of devtools that are succeeding with no/minimal DevRel staff. In conclusion, DevRel is not dead, but ZIRP DevRel is. Folks need to adjust accordingly.
Stay tuned. Weāre having Swyx on Changelog & Friends to unpack the implications in great detail this coming Friday.
š» The Ghost team opens up their ActivityPub server
A mult-itenant ActivityPub server for Ghost, built with Fedify. This service makes it possible for independent websites to publish their content directly to the Fediverse, enabling networked publishing to the open social web.
This repository is being actively developed and is currently in early alpha - expect many breaking changes. It is not suitable for production use.
I still have no idea when (or if) ActivityPub will deliver on its potential, but the builders keep on buildingā¦ (via Andy Piper)
š° How Neo.Tax accelerated their dev lifecycle
Thanks to Neon for sponsoring Changelog News
Neon has been a game-changer for the engineering team at Neo.Tax, reducing their dev lifecycle from days to minutes thanks to branching. Hereās what Miguel Hernandez (Backend Tech Lead) has to say about it:
Neon shortened the lifecycle for us between making a change in the product, validating it, and generating the PDFs we expect. Before, it used to be terrible: resetting your database, running migrations, all of that. With Neon, we just create a database branch, link it with the ticket, and use that URL in local development. This has significantly streamlined our end-to-end testing processā
Miguel also calls Neonās database branching āthe best quality-of-life improvement to my tech stack that I can think of in recent years. Second to maybe only Copilot.ā
Read the full case study and experiment with database branches.
š Pongo is like Mongo but on Postgres
Pongo treats PostgreSQL as a Document Database benefiting from JSONB support. Unlike the plain text storage of the traditional JSON type, JSONB stores JSON data in a binary format. This simple change brings significant advantages in terms of performance and storage efficiency.
Essentially, Pongo takes the MongoDB API and translates it to native Postgres queries. This could serve as a nice temporary shim layer while transitioning a Mongo project over to Postgresā¦ one bit at a time. Not saying youād want to do that, but you might want to do that. š
šø Iām funding Ladybird because I canāt fund Firefox
Jack Kelly, following last weekās Ladybird Browser Initiative announcement:
Chrome is eating the web. I have wanted to help fund a serious alternative browser for quite some time, and while Firefox remains the largest potential alternative, Mozilla has never let me. Since I canāt fund Firefox, Iām going to show thereās money in user-funded web browsers by funding Ladybird instead. You should too.
If youāre curious why Jack canāt fund Firefox, TIL they wonāt let you?! š
Despite desperately trying to find more revenue sources, Mozilla Corporation stubbornly refuses to just let users fund Firefox. Mozilla Foundation even has a specific donation form for Thunderbird (Mozillaās mail client), but not Firefox. Iām sure they could have found some way of making it work with their corporate structure, and it baffles me that they havenāt.
Adam & I discussed the Ladybird news on last weekās Friends and weāre hoping to get Andreas back on the show for an even deeper-diveā¦ š¤
š” Idea of the week: Hyrumās Law
I hadnāt heard of Hyrumās Law until Kris Krycho brought it up on our SemVer discussion, but now I canāt stop thinking about it. Put succinctly, the observation is this:
With a sufficient number of users of an API,
it does not matter what you promise in the contract:
all observable behaviors of your system
will be depended on by somebody.
While listening back to our recent convo with Daniel Stenberg, I couldnāt help but conclude that if Hyrumās Law holds true, somebody is depending on each of curlās 263 (!) command-line flagsā¦
š„ curl team strikes final blow in wget rivalry*
Daniel Stenberg:
Users tell us that remembering what
curl
options to use when they just want to download the contents of a URL is hard. This is one often repeated reason why some users reach forwget
instead ofcurl
on the command lineā¦Samuel Henrique decided to do something about it. Today he announced that he not only created wcurl as a
curl
wrapper aimed at meeting this exact need, he also created a Debian package out of it and made sure wcurl now ships as part of the curl package.
Take that, wget
!
(*Rivalry language added by me for dramatic effect. Did it work?)
š Review your own PRs
Sophia Willows makes a case that I respect, but I canāt ever see myself actually adhering to. Maybe you can, though?
Great chefs taste their food, and great software engineers review their changesets. By adopting the practice of reviewing my own pull requests in the GitHub UI, Iāve been able to catch many mistakes that I let slip through at design time. The environmental change from code editor to GitHub diff isāin my experienceāa powerful tool for priming my brain to find slop.
Selfishly this is great because it means my coworkers see less of my mistakes. More altruistically, itās makes for a better review experience when they donāt need to point out low-hanging fruit that I ought to have found myself. Shifting left on these streamlines the review process and makes team collaboration more delightful.
This small change has made a significant impact on my workflow, and it can transform yours too.
š« You can use S3 as a container registry
Adolfo OchagavĆa discovered something neat while developing a custom container image builder: if you expose an S3 bucket via HTTP and upload the imageās files to specific paths, docker pull
works without issue. Why does this matter? In his case, Adolfo found that uploading images to S3 is almost an order of magnitude faster than AWSā registry (ECR). Speed matters in his use-case, so doing this might make sense. For you? Who knowsā¦ but the more you know āØ
In case itās not already clear: this is all very experimental. Iām waiting to do more research before making any serious claims. Will it end up in production? Or will you, my dear reader, send me an email explaining how my approach is utterly flawed?
šļø Clip of the week
š¦ Bidet talk with Kelsey Hightower was a surprise bonus, but this segment on how he approaches conference talks should be required listening for anyone who might take the stage. So. Much. Wisdom.
Thatās the news for now, but we have some great episodes coming up this week:
- Paul Copplestone from Supabase on Wednesday
- Swyx talks DevRel vs ZIRP with us on Friday
Have a great week, forward this to a friend who might dig it & Iāll talk to you again real soon. š
āJerod