Changelog News
Developer news worth your attention
Merch alert! šØ
Weāre doing a (first ever) year-end sale with discounts up to 40% off. Thereās never been a better time to grab yourself (and/or a friend, a collaborator, an open source maintainer) some threads!
All threaded up? Ok, letās get into this weekās news.
š§® The democratization of spreadsheets
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), nodejs and possibly R, Julia or Go. Hereās why theyāre building it:
For over 40 years, spreadsheets have been integral to countless applications. Despite numerous proprietary and open-source options, finding a universally accessible, reliable, and high-quality engine remains a challenge. Many existing solutions are expensive, require accounts, or suffer from performance and stability issues.
Our Mission: To fill the gaps left by the industry and empower every user with a robust, open-source spreadsheet engine that caters to diverse needs.
Their ambition extends beyond code, too. They want to drive the spreadsheet industry forward through R&D, community building & a knowledge base. Cool stuff!
š§ Changelogās ATO 2024 Anthologies
Last week we shipped two episodes (1, 2) featuring SEVEN awesome conversations we had in the hallway track at All Things Open 2024! Featuring:
- Carl George on RHEL vs the clones
- Max Howell on the tea protocol
- Chad Whitacre on the OSS Pledge
- Alex Kretzchmar on self-hosting
- Israa Taha on React Native
- Avindra Fernando on indie consulting
- Adhithi Ravichandran on indie consulting
š§ Algorithms we develop software by
Grant Slatton outlines a cool feature-development method he learned from another engineer:
Start working on the feature at the beginning of the day. If you donāt finish by the end of the day, delete it all and start over the next day. Youāre allowed to keep unit tests you wrote.
If, after a few days, you canāt actually implement the feature, think of what groundwork, infrastructure, or refactoring would need to be done to enable it. Use this method to implement that, then come back to the feature.
Iāve never tried that method exactly, but it rhymes with techniques Iāve tried in the past. That got Grant thinking about other other heuristics and generalizations. Such as:
- āWrite everything twiceā
- āQuantity has a quality all of its ownā
- The āGun to your headā method
That last one reminds me way too much of a scene from Swordfish (IYKYK)
š The ultimate in debugging
Mark Rainey:
Engineers are currently debugging why the Voyager 1 spacecraft, which is 15 billions miles away, turned off its main radio and switched to a backup radio that hasnāt been used in over forty years!
Iāve had some tricky debugging issues in the past, including finding compiler bugs and debugging code with no debugger that had been burnt into prom packs for terminals, however I have huge admiration for the engineers maintaining the operation of Voyager 1.
Recently they sent a command to the craft that caused it to shut off its main radio transmitter, seemingly in an effort to preserve power and protect from faults. This prompted it to switch over to the backup radio transmitter, that is lower power.
Now they have regained communication they are trying to determine the cause on hardware that is nearly 50 years old. Any communication takes days.
When you think you have a difficult issue to debug, spare a thought for this team.
Whoops, thatās his entire post! I guess I saved you a click. Sorry, Mark! Hereās the source for the story heās talking about.
š° Kurt Mackey says, āClouds generally suckā
Thanks to Fly.io for sponsoring Changelog News
Our friends at Fly have a great YouTube channel and they recently published a chat between Kurt Mackey and Annie Sexton about why public clouds generally suck. The main takeaway? Public clouds arenāt really built for developers.
š Weāre leaving Kubernetes
Gitpodās Christian Weichel & Alejandro de Brito Fontes tell the story of how they realized that Kubernetes is not the right choice for building development environments.
This is not a story of whether or not to use Kubernetes for production workloadsā¦ This is the story of how (not) to build development environments in the cloud.
Whatever you do, do NOT take this as generic āKubernetes BAD!ā advice. Their findings are specific to building development environments, which are unique for many reasons. Such as:
- They are extremely stateful and interactive
- Developers are deeply invested in their source code and the changes they make
- They have unpredictable resource usage patterns
- They require far-reaching permissions and capabilities
So, if youāre building something that shares those characteristics, you might really want to read their post before choosing Kubernetesā¦ For the rest of us, though, this serves as a high quality deep-dive into the trials & tribulations of their engineering team. Just remember:
You are not choosing Kubernetes vs something else, you are choosing a system because it improves the experience for the teams you support.
šØļø Convert entire websites to Markdown
Thereās a lot of tools out there that convert Markdown text to HTML. No surprise: thatās literally what John Gruberās original Markdown program was built to do! But there ARENāT many tools out there that go the other direction: converting HTML to Markdown. Johannes Kaufmannās html-to-markdown project does exactly that, in the form of a fully extendable Go library, a CLI, a REST API & webpage where you can copy/paste the inputs/outputs.
The best part: itās built to handle entire websites, which make it super useful for migrating a site, taking documentation offline & de-cluttered reading!
š§ How Vercel thinks about Next.js
Vercel CPO, Tom Occhino, joins me for a one-on-one covering React & Nextās past, present & future. We discuss the birth of React, Tomās move to Vercel, deploying Next apps to non-Vercel hosts, React as the next jQuery, the viability of Web Components, Vercel customers getting surprise bills & so much more.
šŖ Will we care about frameworks in the future?
Paul Kinlan asks and answers the question above. His current thesis is that the answer is, āNoāā¦
Iām of the belief that software development is entering a radical shift that is currently driven by agents like Replitās and there is a world where a person never actually has to manipulate code directly anymore. As I was making broad and sweeping changes to the functionality of the applications by throwing the Agent a couple of prompts here and there, the software didnāt seem to care that there was repetition in the code across multiple views, it didnāt care about shared logic, extensibility or inheritability of componentsā¦ it just implemented what it needed to do and it did it as vanilla as it could.
š» Everything Iāve learned so far about running local LLMs
Chris Wellons:
Iām wary of vendor lock-in, having experienced the rug pulled out from under me by services shutting down, changing, or otherwise dropping my use case. I want the option to continue, even if it means changing providers. So for a couple of years Iād ignored LLMs. The āclosedā models, accessibly only as a service, have the classic lock-in problem, including silent degradation. That changed when I learned I can run models close to the state-of-the-art on my own hardware ā the exact opposite of vendor lock-in.
Yeah, good advice here. Itās a challenge, because every time I think Llama has caught up with ChatGPT, OpenAI takes another step forward and Iām tempted back into the proprietary, locked-in goodness. Anyway, if youāre interested in running LLMs locally, Chris has done a lot of the leg work for you. Check out his post!
š° Developerās Guide to Fine-Grained Authorization
Thanks to WorkOS for sponsoring Changelog News
This post from our friends at WorkOS is the developerās guide to FGA (Fine-Grained Authorization) and how it offers scalable, centralized, and fine grained authorization for your application.
As apps have become more complex, especially with the rise of user-generated content, the need for a more granular and scalable authorization scheme has become crucial. Unlike other models, Fine-Grained Authorization defines permissions at the resource level, providing precision and the ability to handle millions of authorization requests per second.
š§āš Being in tech means being a lifelong learner
Csaba Okrona gets it:
In this industry, learning isnāt a phase ā itās a lifestyle. The most successful tech leaders arenāt the ones who rest on their laurels. Theyāre the ones who approach each day with the curiosity of a newbie and the determination of a seasoned pro.
A corollary: if/when you reach a point when you lose that curiosity or donāt want to learn anything new anymoreā¦ itās time to move on.
šļø Changelog visits the freeCodeCamp pod
Adam and I celebrated 15 years of The Changelog with a guest appearance on Quincy Larsonās show! Hereās his description:
On this weekās episode of the podcast, freeCodeCamp founder Quincy Larson interviews Adam Stacoviak and Jerod Santo co-hosts of The Changelog ā the longest-running software podcast in world. They interview devs about Open Source projects, and they also have a weekly news episode that I always listen to. 5 years ago, I interviewed them for their 10th anniversary episode, and now Iām back catching up on what theyāve been doing for the past 5 years.
š Our award-worthy (un)ordered list
- Hacker Fab
- Blog writing for developers
- The future of software is Nix
- A BSD person tries Alpine Linux
- Why software only moves forward
- Celebrating 21 Years of Notepad++
- An open, scalable, online streaming setup
- Useful built-in macOS command-line utilities
- How WebSockets cost us $1M on our AWS bill
- Migrating in-place from PostgreSQL to MySQL
- State of Python 3.13 Performance: Free-Threading
- The presidentās doctor: Why your projects take forever
- Stream, transform, and route PostgreSQL data in real-time
- Mozilla Foundation lays off 30% of its employees, ends advocacy for ā¦
Thatās the news for now, but this is issue #120, so that means itās time once again for some Changelog++ shout outs!
SHOUT OUT to our newest members: Brian F, Benjamin M, Carrie K, Adon M, Johannes R, Carl M, Mark A, Przemyslaw B, Simon S, Paul S, Jesse T, Poul H, Sid K, Justin D & Warren Y!
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 in on bonus content, receive a free sticker pack in the mail & get shout outs like the ones above. š)
Have a great week, forward this to a friend who might dig it & Iāll talk to you again real soon. š
āJerod