Changelog News
Developer news worth your attention
Jerod here š
Weāre packing up our gear and flying out on Wednesday to the LAST Strange Loop! If youāre going to be there, hit reply and let us know so we can connect IRL. If not, stay tuned for some awesome conversations with āthe creators and users of the languages, libraries, tools, and techniques at the forefront of the industry.ā
Ok, letās get into the news. (Audio Edition)
šŖ¦ Death by a thousand microservices
Andrei Taranchenko says the software industry is learning once again that complexity kills and wonders:
How did we get here? How did our aim become not addressing the task at hand but instead setting a pile of cash on fire by solving problems we donāt have?
At an attempt to answer this question, Andrei takes aim at JavaScript and NodeJS, which I donāt totally agree with and may trigger you if youāre of that ilk, but his overall point is about information silos:
my point really was more about the dangers of hermetically sealed software ecosystems that seem hell-bent on re-learning the lessons that we just had finished learning. We ran into the complexity wall before and reset - otherwise weād still be using CORBA and SOAP. These air-tight developer bubbles are a wrecking ball on the entire industry, and it takes about a full decade to swing.
He then turns his attention to the VC-funded tech startup boom that only recently busted:
Investors needed to see explosive growth, but not in profitability, no. They just needed to see how quickly the company could hire ultra-expensive software engineers to do ā¦ something. And now that you have these developers, what do you do with them? Well, they could build a simpler system that is easier to grow and maintain, or they could conjure up a monstrous constellation of āmicroservicesā that no one really understands. Microservices - the new way of writing scalable software! Are we just going to pretend that the concept of ādistributed systemsā never existed?
This post is salty, for sure, but thereās also a lot of level-headed reasoning that is worth your consideration:
Dropbox, Twitter, Facebook, Instagram, Shopify, Stack Overflow - these companies and others started out as monolithic code bases. Many have a monolith at their core to this day.
š¹ļø Game development post-Unity
Casey Muratori wasnāt too surprised when Unity announced a retroactive(!) change to its pricing model from charging per-seat to per-install:
I do follow game business trends to a certain extent, and for well over a year now, Iāve been warning that Unityās relationship with game developers would inexorably change for the worse. This was not based on any inside knowledge. It was based solely on the financials they report, and the kinds of statements they make to investors in their earnings calls.
The move sent shockwaves through the developer community (so much so that Unity has since announced they will soon be making changes to the new policy) and left many people looking for alternatives to Unity. In the linked post, Casey outlines a long list of options for folks, depending on their particular situation: Unreal, Godot, Defold, RayLib, Open 3D, Bevy & more.
Further reading:
- Hein-Pieter van Braam: this is a wake-up call for open source gaming
- This Weeking in Business: Unityās self-combustion engine
- Meanwhile on X: Godot Engine folks are loving it
š Frontend Perf Monitoring 101 with Sentry
Thanks to Sentry for sponsoring Changelog News š°
Are your users facing embarrassingly slow page loads and rendering?
Letās put a stop to that. Learn the basics of frontend application performance monitoring with Sentry in this upcoming livestream.
In <30 min, youāll be able to install & configure performance monitoring, interpret key metrics, and troubleshoot a performance issue. With visibility into end-user experience, you can build a blazing-fast app in record time.
When? Wednesday, September 20th, 2023 at 10am PDT, 6pm BST
Sign up early to have your questions answered in the live Q&A!
š Pineapple ONE: open source 32 bit RISC-V CPU
Pineapple ONE is a functioning (macro) processor built by 19-year old (!) Filip Szkandera over the course of two years.
we chose to build a cpu only out of discrete, off-the-shelf components. You heard it right, there is no FPGA nor any microcontroller, there are just logic gates and memories. Our goal is to prove that designing a āmodernā CPU isnāt that hard, so we have released our schematics and made it open source as well.
Filip calls this āgroundbreaking for homebrew CPUsā and put together a great video demonstrating the hardware.
ā No sacred masterpieces
Matt Basta tells the fascinating tale of the time he single-handedly built a web-based Excel clone for the data scientists inside Uber only to have the entire division sold to another company a week(ish) later. He learned a lot about how Excel works and shares some of the interesting bits, such as:
I had thought, naively perhaps, that circular references in Excel simply created an error. But this data scientist showed me that Excel doesnāt error on circular referencesāif the computed value of the cell converges.
You see, when formulas create a circular reference, Excel will run that computation up to a number of times. If, in those computations, the magnitude of the difference between the most recent and previous computed values for the cell falls below some pre-defined epsilon value (usually a very small number, like 0.00001), Excel will stop recomputing the cell and pretend like it finished successfully.
And he has a super healthy outlook on what happened to all his hard work:
My first reaction was to publish the code on Github. My second reaction was to move on. There was maybe a part of meāmy younger selfāthat was disappointed that this major piece of code that Iād labored over had been so gently used before being retired. I wasnāt recognized for it in any material way. My manager didnāt even know what Iād built.
On the other hand, we as engineers need to be real with ourselves. Every piece of code you write as an engineer is legacy code. Maybe not right now, but it will be. Someone will take joy in ripping it out someday. Every masterpiece will be gleefully replaced, itās just a matter of time. So why get precious about how long that period of time is?
š Pagefind: static low-bandwidth search at scale
This looks pretty cool!
a fully static search library that aims to perform well on large sites, while using as little of your usersā bandwidth as possible, and without hosting any infrastructure.
It runs after your SSG (Hugo, Eleventy, Astro, etc) does its thing and generates a static search bundle to your built files. It then exposes a JavaScript search API that can be used anywhere on your site.
The goal of Pagefind is that websites with tens of thousands of pages should be searchable by someone in their browser, while consuming as little bandwidth as possible. Pagefindās search index is split into chunks, so that searching in the browser only ever needs to load a small subset of the search index. Pagefind can run a full-text search on a 10,000 page site with a total network payload under 300kB, including the Pagefind library itself. For most sites, this will be closer to 100kB.
Iād love to see a comparison (link me up if you know of one), but my guess is this could easily replace Algolia on lots of open source docs and sites. One less service to depend on!
š§ ICYMI: Recent good pods from us
Type War (what is it good for?) ā Love it or hate it, TypeScript is here to stay for the foreseeable future. But, what happens when widely adopted packages go completely Type free or remove TypeScript in favor of JS with type annotations? Join us to unpack these recent events with Rich Harris, creator of Svelte, as he walks us through the nuanced decision his team made for the Svelte project, and ofc, lots of laughs along the way.
What do we want from a web browser? ā A hoy hoy! Our old friend Nick Nisi does his best to bring up TypeScript, Vim & Tmux as many times as possible while we discuss a new batch of web browsers, justify why we like the ones we do & try to figure out what itād take to disrupt the status quo of Big Browser.
Attack of the Canaries! ā Adam and I are joined by Haroon Meer from Thinkst ā the makers of Canary and Canary Tokens. Haroon walks us through a network getting compromised, what it takes to deploy a Canary on your network, how they maintain low false-positive numbers, their thoughts and principles on building their business (major wisdom shared!), and how a Canary helps surface network attacks in real time.
Go templating using Templ ā Goās known for itās fantastic standard library, but there are some places where the libraries can be challenging to use. The html/template package is one of those places. So what alternatives do we have?
š 7 simple habits of the top 1% of engineers
According to Leonardo Creed:
- Be an engineer, not a coder
- Code for the human, not the computer
- Detach from the code itself
- Use consistent standards
- Write simple code
- Donāt allow surprises
- Communicate often
- Code fastā¦ and slow
I guess thereās eight after allā¦ bug or feature!?
š Linear code is more readable
Pierre ācatwellā Chapuis takes issue with some pizza-creation code featured on the Google Testing Blog that they claim is more readable. He thinks itās is actually less readable and explains why.
Which one do you think is which? š
š Why Nvidiaās AI Supremacy is Only Temporary
This article makes the argument that Nvidia is winning so hard right now because:
- Almost Nobody is Running Large ML Apps
- All Nvidia Alternatives Suck
- Researchers have the Purchasing Power
- Training Latency Rules
But their dominance will be short-lived because:
- Inference will Dominate, not Training
- CPUs are Competitive for Inference
- Deployment Engineers gain Power
- Application Costs Rule
If those four predictions prove true, Nvidiaās share of the AI market will drop and consumer/commodity CPU platforms have a bright future.
š¼ In brief
Strange Loopsā greatest hits ā I was hanging out in the conferenceās Slack when someone asked everyone to share their favorite talks from among the conferenceās 673 videos on its YouTube channel. A barrage of links followed, so I scooped them up to share so everyone can partake.
Rewriting wipEout ā Dominic Szablewski took the leaked source code for the classic PSX launch title wipEout and rewrote it for Windows, Linux, macOS and Wasm. Yes, Wasm! Which means you can play it in your browser.
Whoās in charge of Postgres? ā Bruce Momijan attempts to answer a question that is on a lot of peopleās minds (myself included): who is in control? In brief, he says, āYou are, and everyone else in the community.ā
Impressive Bun 1.0 adoption ā Jarred Sumner lists out some of the companies/projects adding Bun support in the wake of its 1.0 announcement, including Vercel, Replit, Ruby on Rails & Laravel Sails.
Speaking of Jarred Sumner ā He and ārivalā NodeJS team members are great examples of how open source maintainers can compete and still respect each other and treat everyone well. Letās follow their lead!
V0 is like Midjourney for React ā Jared Palmer and his team at Vercel announced (in private alpha) their new tool that takes simple prompts and generates copy-paste-friendly React components using shadcn and Tailwind CSS.
Making Sense of React Server Components ā If Reactās move server-side still has you confused, thereās few people more qualified to help make sense of it all than Josh Comeau.
Thatās the news for now!
We have an excellent interview for you coming up on Wednesday: RedMonkās Stephen OāGrady joins us in the wake of Llama 2 and HashiCorpās relicense to discuss why he believes the open source definition really matters.
Have a great week, forward this to a friend (or send them the the web link ) if you enjoyed it, and Iāll talk to you again real soon. š
āJerod