Changelog News
Developer news from the year that was
Hello, friends! š
Can you believe this is already our final newsletter of the year?! Thanks for reading & listening along in 2024!
Just like last yearās finale, this issue diverges from our traditional fare. Iāve reviewed the 50 previous editions and picked (IMHO) the coolest code, best prose & my favorite episode of The Changelog from each month.
Enjoy! š
āļø January
git commit -m "All the AI hype is losing its lustre. The chaos continues on npm. Zed goes open source."
š Coolest code: Ollama
As the volcano of new data models continues to erupt, whatās a dev to choose? How about a tool that helps you switch between āem easily & even customize or create your own. Of all the tools I covered on News this year, Ollama is one of the few that I actually adopted & still use today.
āļø Best prose: A plea for lean software
These amazingly prescient prose werenāt written this year, but they bubbled back up in January because their author, Niklaus Wirth, passed away on New Yearās Day. Wirth also happens to be the creator of Pascal and the dubber of Wirthās Law (which we #defined in January as well.)
š§ Favorite pod: Dear new developer
Our first interview of the year! Dan Moore joins us, author of āLetters to a New Developerā ā a blog series of letters of what Dan wished he had known when starting his developer career. Dan shares his best advice for new developers, including the importance of saying no, leaving code better than you found it, and the value of skill stacking.
š„¶ February
git commit -m "Apple Vision Pros get unboxed. People are building stuff on ActivityPub. Changelog Beats throws a Dance Party."
š Coolest code: page-speed.dev
This rad, open source web app by Daniel Roe is the fastest, easiest way to create shareable Core Web Vitals & PageSpeed Insights results for any website. Use it to test your own sites and/or shame your frenemies into speeding up the web.
āļø Best prose: The undercover generalist
Since starting out as an independent contractor, Iāve always felt a tension between being a generalist software engineer, yet having to market myself as a specialistā¦ Below follows an account of my struggles, hoping it might be useful for other adventurers out there.
This amazing piece of writing was Adolfo OchagavĆaās coming out party and even landed him with me on our āIt Dependsā series where we weighed the pros/cons of generalizing vs specializing.
š§ Favorite pod: You have how many open tabs?!
We take you to the hallway track at THAT Conference in Austin TX, where we have 3 fun conversations: one with our old friend Nick Nisi from JS Party, one with our new(ish) friend Amy Dutton from CompressedFM (who has been a guest on JS Party of late) & one with our brand new friend / long-time listener Andres Pineda from the Dominican Republic.
(It was a close call between this and our Atuin episode with Ellie Huxtable. This one wins because, as my dad always says, variety is the spice of life.)
š¤§ March
git commit -m "Laid off tech workers battle for available jobs. Redis circles the toilet. Jerod invents a diabolical pyramid scheme (of links)."
š Coolest code: Gleam 1.0
Gleam, a friendly language for building type-safe systems that scale, hit the big 1.0 milestone in March. Lots of people really like it and we really liked talking with Louis Pilfold all about why that is.
āļø Best prose: Iām a programmer and Iām stupid
Anton Zhiyanov has been getting paid to code for 15 years despite being, in his own words, āpretty dumb.ā What does he do about that? He keeps things incredibly simple. But thatās not dumb. Thatās smart! Which means heās dismantled his own premise. Which might be dumb? ā¦ I need to stopā¦
š§ Favorite pod: Retirement is for suckers
THE Cameron Seay joins us once again! This time we learn more about his life/history, hear all about the boot camps he runs, discuss recent advancements in AI / quantum computing and how they might affect the tech labor market & more!
āļø April
git commit -m "Jia Tan is on the loose. The world's first AI software engineer isn't. OpenTofu vs HashiCorp heats up."
š Coolest code: Enhance WASM
Enhance WASM wants to bring server side rendered web components to everyone. I think that could be pretty cool.
Author your components in friendly, standards based syntax. Reuse them across multiple languages, frameworks, and servers. Upgrade them using familiar client side code when needed.
So cool, in fact, that I invited Brian LeRoux on JS Party for a deep-dive.
āļø Best prose: The Wi-Fi only works when itās raining
This is perhaps my favorite story of the year. In fact, we were lucky enough to have Predrag Gruevski on Friends to talk Semver and our Changelog++ members were treated to a bonus segment where we had Predrag tell the story again and let us ask some follow-ups. Hereās the teaser!
š§ Favorite pod: The olā hot & juicy
Frequent guest (and almost real-life-friend) Adam Jacob returns to share his spicy takes on all the recent āopen source meets businessā drama. We also take some time to catch up on the state of his open source-based business, System Initiative.
š May
git commit -m "Small language models are on the rise. 'Slop' has become a term of art. I first learn of the dead internet theory (which you're probably sick of by now)."
š Coolest code: Superfile
TUIs are so hot right now. Superfile is a great example of why:
āļø Best prose: The Sound of Software
This is the finale of a four-part series on the role sound plays in software design and my, oh my, do you get a lot of bang for your buck. Hereās what I said about it back in May:
This is a must-read for anyone who designs software and hasnāt thought seriously about the sound design. They cover when to use sound, what makes good sound design, implementation details & how to get started. Good stuff!
š§ Favorite pod: Itās a long & windy road
This conversation with Shaundai Person at Microsoft Build was called āpeak Friendsā by one happy listener. Not only that, but it was the episode that we debuted our alternate theme song, āYour favorite ever show.ā Hereās the pitch:
We kick off our Microsoft Build 2024 ācoverageā in this free-wheelinā conversation with our friend, Shaundai Person! Weāre talking Netflix infra, weāre talking sales, weāre talking real-world AI usage, weāre talking career choicesā¦. Whatās a good next step? Listen in!
š June
git commit -m "The open source rug pulls continue. The Ladybird browser spreads its wings. Apple finally getes Siri-ous."
š Coolest code: DuckDB 1.0.0
DuckDB began six years prior to their 1.0 release in June, but adopting pre-1.0 software can be foolish and especially so when that software is a database. You may notice our database coverage of late has been almost entirely of the Postgres / SQLite varietyā¦ but if I were going to do a database episode soon, DuckDB would be one of the few Iām actually interested in learning more about.
āļø Best prose: Senior Engineer Fatigue
I felt this post by āluminousmenā in my old bonesā¦ What characterizes āSenior Fatigueā? According to the author: deliberate deceleration, efficiency over activity, the question of value vs relevance & the overwhelming desire to start a podcast. Ok I made up that last sentence, but did I really though? š
š§ Favorite pod: Retired, not tired.
Kelsey Hightower comes back to share more of his wisdom. This time itās one year after his retirement from Google. But guess what? He might be āretired,ā but heās not tired. In this episode Kelsey shares what drives him, what he fears, and how he thinks through his life choices and parenting. Oh, and bidet talk. A surprising amount of bidet talk.
š° Session Replay for mobile is here
Thanks to Sentry for sponsoring Changelog News š°
Sentryās Session Replay feature has been a hit with developers. Imagine getting a video-like reproduction of a user session when dealing with an issue. The result is being able to reproduce the root cause of issues faster and getting a better understanding of user impact.
Thatās exactly what Sentry launched recently in open beta for mobile platforms. Session Replay for mobile is currently available for Android and iOS on both native SDKs, as well as for React Native and Flutter.
Every replay has a detailed view, the embedded video player, and rich debugging context allowing you to see every user interaction in relation to network requests, frontend and backend errors, backend spans, and more.
Get your Session Replay on at sentry.io and use the code CHANGELOG
to get $100 off the team plan.
šļø July
git commit -m "CrowdStrike strikes. cdn.pollyfill.js too. ZIRP phenomena are becoming apparent."
š Coolest code: Posting
Posting is an HTTP client, not unlike Postman and Insomnia. As a TUI application, it can be used over SSH and enables efficient keyboard-centric workflows. Your requests are stored locally in simple YAML files, meaning theyāre easy to read and version control.
āļø Best prose: Programming advice for my younger self
If youāve been following News for awhile, you know I have a penchant for blog posts about hard-earned learnings/advice we can all benefit from. You know, stuff like, āIf youāre shooting yourself in the foot constantly, fix the gun.ā Good one, Marcus!
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?ā
š§ Favorite pod: Code review anxiety
Iām a big fan of Carol Lee, PhD, and a big fan of this conversation where she shared with us her research on code review anxiety. We get into all the nooks and crannies of this topic ā common code review myths, strategies for coping, the need for awareness and self-reflection, the value of exposure and practice to build confidence, the importance of team dynamics, respect, empathy, and connection, and more.
Later in the year, she embarrassed everyone (except me) on our #define game showā¦
šŗļø August
git commit -m "Turns out most programmer are unhappy. Llama 3.1 gives ChatGPT a run for its money. Scientists confirm flow state is a thing."
š Coolest code: ChartDB
Whatās cool about this open source, self-hostable web app is its instant schema import:
Run a single query to instantly retrieve your database schema as JSON. This makes it incredibly fast to visualize your database schema, whether for documentation, team discussions, or simply understanding your data better.
āļø Best prose: Do quests, not goals
I love David Cainās re-framing of short-term goals (which are uninspiring) into quests! āIām on a side quest to fix my Vim configā is a lot more fun (slash impressive) than āIāve been tweaking my Vim config the last 4 hoursā š¤£
š§ Favorite pod: Why we need Ladybird
Getting to interview defunkt (Chris Wanstrath) alongside Andreas Kling was the cherry on top of this delicious episode. We discuss what itās going to take to get to alpha, the why behind Ladybird, avoiding incentives other than those of the users, their plans for incremental adoption of Swift as the successor language over C++, and of course what they hope Ladybird can achieve as a truly independent open source browser thatās for the people.
š¬ September
git commit -m "Zulip enters the chat. Laravel raises a boatload of cash. WordPress starts to implode."
š Coolest code: OpenFreeMap
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.
āļø Best prose: Your company needs Junior devs
Doug Turnbull does a good job laying out the case for hiring junior devs, a drum that Iāve been beating off & on for years. Doug makes a lot of great points in this article. Iāll add one: junior developers are plenteous! That means you can take your time and find the ones that will really gel with your organizational culture. Also you donāt have to pay them as much while you train them up & make them more valuable so you can pay them more.
š§ Favorite pod: The best, worst codebase
Come for the software gore, stay for that time the Secret Service busted in Jimmy Millerās door for hacking. Clip!
š October
git commit -m "Evan You starts a startup. Ghost job sightings abound. SpaceX caught a booster with chopsticks. Matt Mullenweg goes rogue. Arc is a dead browser walking."
š Coolest code: Deal With It GIF emoji generator
Because if all software was Serious Business the world would be not a very enjoyable place at all.
āļø Best prose: Cognitive Load is what matters
I was highly tempted to quote this entire article. I did my best not to, but it was still a big pull quote. Hereās a smaller one:
There are so many buzzwords and best practices out there, but letās focus on something more fundamental. What matters is the amount of confusion developers feel when going through the code.
Confusion costs time and money. Confusion is caused by high cognitive load. Itās not some fancy abstract concept, but rather a fundamental human constraint.
The overarching point: we should reduce the cognitive load in our projects as much as possible. But how?
š§ Favorite pod: Elasticsearch is open source, again
Shay Banon, the creator of Elasticsearch, joins us to discuss pulling off a reverse rug pull. We discuss the complexities surrounding open source licensing and what made Elastic change their license, the implications of trademark law, the personal and business impact of moving away from open source, and ultimately what made them hit rewind and return to open source.
š¦ November
git commit -m "Buttons and knobs are back in vogue. Spreadsheets are being democratized. Democracy is being tested in production."
š Coolest code: IronCalc
IronCalc is an MIT-licensed, work-in-progress spreadsheet engine, written in Rust, but usable from a variety of programming languages like Python, JavaScript (wasm), Node.js and possibly R, Julia or Go. Their ambition extends beyond code, too. They want to drive the spreadsheet industry forward through R&D, community building & a knowledge base. Cool stuff!
āļø Best prose: A career ending mistake
John Arundel says when it comes to this post: you came for the schadenfreude, but youāll stay for the thought-provoking advice. Kudos to John on the excellent word-play in this post. The career ending mistake is not planning the end of our careers. Got it! Now, what exactly does it mean to plan the end of your career?
š§ Favorite pod: Bus factors & conspiracy theories
I think we recorded more āAdam & Jerod discuss the newsā episodes in 2024 than any previous year. Turns out, I love hanging out with Adam and just shooting the breeze and our listeners donāt seem to mind it either! Expect more like this (with some other randos, of course) next year as well.
š° Put your sleep on Autopilot
Thanks to Eight Sleep for sponsoring Changelog News š°
Friends, use code CHANGELOG
to unlock this exclusive offer for up to $350 off Eight Sleepās Pod 4 Ultra. Adam and I love our Eight Sleep and have been getting better sleep for the past few months. No wearables are required to get intelligent sleep!
The Podās intelligent sensors track your sleep while Autopilot adjusts your environment to give you the perfect sleep experience. Put your sleep on Autopilot with intelligent temperature control that cools or heats each side of the bed from 55Ā°F to 110Ā°F. Autopilot learns from your sleep history, age, and environment to provide the best sleep experience possible.
Enjoy this ultimate sleep solution using our exclusive offer for up to $350 off Eight Sleepās Pod 4 Ultra. Use code CHANGELOG
to unlock this deal and get better sleep.
āļø December
git commit -m "I remember it like it was just yesterday. Also today. Tomorrow, too. What day is it?"
š Coolest code: Markwhen
A markdown-like journal language by Rob Koch for plainly writing logs, gantt charts, blogs, feeds, notes, journals, diaries, todos, timelines, calendars or anything that happens over time. Rob hasnāt merely designed the Markwhen language, he also created Meridiem, a collaborative editor for it that supports custom commands, snippets, visualizations, autocomplete & more!
āļø Best prose: The skill that is not-doing
Dylan Fitzgerald:
Itās compellingly easy, even invisible, to stay in the loop of doingā¦ The thing is: sometimes, the best use of your time, the most effective action, is to do nothing. To sit, wait, and let the system that youāve put into motion move without your intervention. To not mess with whatās working, and to make time and space for your team to figure things out for themselves.
š§ Favorite pod: ShopTalk & Friends
I like the way one listener (Fred Rocha) described this episode better than the way we did:
What happens when you get four senior web folks who are awesome at speaking and give each other space to ruminate? (Great things.)
Thatās the news for this year, but itās time once again for some Changelog++ shout outs!
SHOUT OUT to our newest members: Gianluigi R, Jim VW, Dhruman B, James K, Maciej F, Erika E, Jess H, Trung L, Andrew OB, Jean-Baptiste C & Eric C! We appreciate you for supporting our work with your hard-earned cash.
(If Changelog++ is new to you, it is our membership program you can join to ditch the ads, get closer to the metal with bonus content, directly support our work & get shout outs like the ones above. ā)
Have a great week, send Changelog News to your friends if you dig it, and Iāll talk to you again in the new year. š
āJerod