Strongly typed news worth your attention
Hello again 👋
The web dev world erupted last week after DHH ripped TypeScript out of Turbo 8 and proclaimed the move loudly. Folks lined up for/against and heatedly debated TypeScript’s merits, DHH’s voice in the community, and (of course) who really cares about code quality (and who doesn’t).
If you want my thoughts on the matter, stay tuned for this week’s episode of JS Party. We’re recording an “emergency pod” all about the TypeScript “exodus” this afternoon with special guest Rich Harris…
Ok, let’s get into the news. (Audio Edition)
Bun boasts NodeJS compatibility (not 100% coverage), extreme speed (4x faster than Node at boot, more when running TS files), built-in TypeScript and JSX support, ESM & CommonJS compat, web APIs like
WebSocket, and cool features like built-in support for SQLite, password hashing & more. It’s pretty impressive how much has been done by such a small team.
Linux users get the first crack at running Mojo locally (Mac and Windows coming soon). What’s Mojo? “A new programming language for AI developers that will grow into being a superset of Python over time.” They’re calling it ‘Python++’ because…
Python is pervasive, but not the right tool for tasks that require high performance or exotic hardware. Mojo enables high performance on CPUs, as well as support for exotic accelerators like GPUs and ASICs, providing performance on par with C++ and CUDA.
This first release of the Mojo SDK includes a shell with a REPL, a VS Code extension & Jupyter kernel so you can run Mojo notebooks.
Large language models are multiplying like unread emails in your inbox. The question is… which one(s) to use? Vince Lwt wondered the same thing, so he built a thing:
I had the idea of writing a script that asks prompts testing basic reasoning, instruction following, and creativity on around 60 models that I could get my hands on through inferences API. The script stored all the answers in a SQLite database, and those are the raw results.
You can view all the answers from a specific model or all the models answering a specific prompt. My takeway from the prompt:
Argue for and against the use of kubernetes in the style of a haiku.
Is that most models don’t understand the rules of a haiku… See what I mean?
With the textual-web command you can publish any Textual app on the web, making it available to anyone you send the URL to. This works without creating a socket server on your machine, so you won’t have to configure firewalls and ports to share your applications.
Check the demo video to see it in action. I remember not really understanding the value of this when he described it on the podcast, but I think I get it now: you write a terminal app with your Python knowledge, making full use of the widgets and other niceties that Textual provides… Then point textual-web at it and easily expose that exact same app to non-terminal folks, too!
Thanks to Tailscale for sponsoring Changelog News 💰
Tailscale has partnered with Mullvad to make its global network of VPN servers available for their customers!
(Mullvad is a VPN service that’s known for its strong commitment to user privacy, anonymity, and security. It safeguards user privacy by not logging or monitoring user activity, and it uses a unique account number system for subscriptions, meaning personal data is not tied to your account. Services like Mullvad help you browse the internet more privately.)
Taking advantage of this new partnership means that even when you’re far from home, you can stay connected to the things you care about via Tailscale and maintain private internet browsing from your tailnet thanks to Mullvad’s secure and high-speed global network.
James Haydon went deep (and I mean deep) to investigate what exactly went wrong on August 28th, 2023 when NATS, the UK’s air traffic control operator, suffered a major technical incident and had to cancel 2000+ flights costing an been estimated £100+ million GBP.
This #longread takes you on a ride, much like a good whodunnit novel. Here’s James’ thoughts from the denouement on what went wrong:
- The software that processes flight plans was written in a buggy way
- The software and system are not properly tested
- The system has bad failure modes
Each of these three points has sub-points that include “the procedure was very fiddly and failed for a silly reason” and “A single flight plan caused a problem, and the entire FPRSA-R system crashed.”
This reminds me of the tail end of our conversation with Landon Gray & Justin Searls when I said the stakes have never been higher and Justin told the story about what happened in Lousiville, where “the first three days of school have been canceled so far, because they have an AI-based, really smart bus routing system that just completely crapped the bed…”
🎧 ICYMI: Recent good pods from us
OpenTF for an open Terraform – We’re talking about the launch of OpenTF and what it’s going to take to successfully fork HashiCorp’s Terraform. Adam and I are joined by Josh Padnick to discuss what exactly happened, how HashiCorp’s license change changes things, who has been impacted by this change, and ultimately what they are doing about it.
Doomed to discuss AI – Author, journalist, travel writer & software engineer Jon Evans joins us to weigh in on the cultural history (and present-day sentiment) of AI doom. Along the way, we talk plausible Sci-Fi, ultrasound drug delivery, the maybe-evolving laws of physics & even weirder stuff.
Fine-tuning vs RAG – The Practical AI guys welcome back their good friend Demetrios from the MLOps Community to discuss fine-tuning vs. retrieval augmented generation. Along the way, they also chat about OpenAI Enterprise, results from the MLOps Community LLM survey, and the orchestration and evaluation of generative AI workloads.
Prototyping with Go – V Körbes returns to Go Time to talk prototyping with Natalie, Johnny & Kris. Is Go good for prototyping? What makes a language prototypable, anyway? How does space radiation fit in to all this? Tune in and ride along to find out!
A view to a transitions API – I get the JS Party gang together to discuss the news (Astro 3.0, Vercel + Astro, Python in Excel) then play eight crazy rounds of HeadLIES! Headline or headLIE? You decide…
The most effective font is the one you don’t notice. No super high x-height, no geometric construction, no eye-catching design and no confusing ligatures. Designed to be neutral and anonymous, Commit Mono is quietly useful.
The “Test Pyramid” was created to guide us on how to integrate automated testing in development by organizing it into UI, Service, and Unit buckets. Since the time it was defined in 2012, the model seems to have fallen by the wayside. But is the Test Pyramid really dead?
In this Smashing article, Ramona Schwering surveys the more contemporary testing strategies and evaluates the Test Pyramid’s relevance in today’s software development practices.
Can you tell a coder from a cannibal? Turns out I can’t! Literally everyone in the #wordle channel of our Slack community fared better than me on this ridiculous little game. (h/t Jarvis Yang)
📡 Good! stuff on the radar
- Good question! Why does email development have to suck?
- Good point! Ruby’s Hash is a Swiss-Army Knife
- Good effort! Openly pre-training a 1.1B Llama model on 3 trillion tokens
- Good call! Cory Doctorow thinks interoperability can save the open web
- Good golly! This entire site fits inside the URL
- Good deal! jq is back with new maintainers and a new release
- Good advice! LoFi software and inverting our relationship to The Cloud
- Good luck! Google Chrome gets big redesign for its 15th birthday
That’s the news for now!
In honor of the linked serial killer game, I leave you with this quote from John Woods:
Always code as if the person who ends up maintaining your code will be a violent psychopath who knows where you live.
Have a great week, tell your friends about Changelog News if you dig it, and I’ll talk to you again real soon. 💚