Algos we develop software by, the ultimate in debugging, leaving Kubernetes, html-to-markdown, running local LLMs, future frameworks & more

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!

A row of shirts pictured: The Changelog, Kaizen, JS Party

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

Art for the episode: podcast art on the left, episode title on the right, avatars in the middle, runtime on the bottom.

Last week we shipped two episodes (1, 2) featuring SEVEN awesome conversations we had in the hallway track at All Things Open 2024! Featuring:

  1. Carl George on RHEL vs the clones
  2. Max Howell on the tea protocol
  3. Chad Whitacre on the OSS Pledge
  4. Alex Kretzchmar on self-hosting
  5. Israa Taha on React Native
  6. Avindra Fernando on indie consulting
  7. 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:

  1. ā€œWrite everything twiceā€
  2. ā€œQuantity has a quality all of its ownā€
  3. 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

Kurt Mackey on the left. Annie Sexton on the right. Text overlay: ā€œThe Cloud sucksā€

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

Art for the episode: podcast art on the left, episode title on the right, avatars in the middle, runtime on the bottom.

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.

A ponderous Quincy Larson pic on the left, Adam/Jerod pics on the right. Text overlay: ā€œOpen Source is wildā€


šŸ“ Our award-worthy (un)ordered list


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