The Changelog: Software Development, Open Source - Bun 1.0 is here & Mojo is ready for download (News)

Episode Date: September 11, 2023

Bun 1.0 is out of the oven, Mojo is now available for local download, Vince Lwt asked 60+ LLMs a set of 20 questions & published the answers, Textual Web turns TUIs in to web applications & James Hayd...on dives deep to discover the bug that the UK air traffic control meltdown.

Transcript
Discussion (0)
Starting point is 00:00:00 How do you do, fellow nerds? I'm Jared, and this is Changelog News for the week of Monday, September 11th, 2023. The web dev world erupted last week after Ruby on Rails creator and long-standing contrarian David Hennemeyer Hansen ripped TypeScript out of Turbo 8 and proclaimed the move loudly on his blog. Folks lined up for or against and heatedly debated TypeScript's merits, DHH's voice in the community,
Starting point is 00:00:38 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 are recording an emergency pod. It's not really an emergency, but that's just a lot of fun to say, and it makes us feel important.
Starting point is 00:00:55 All about the TypeScript exodus this afternoon with special guest, Rich Harris. Okay, let's get into the news. Bun, Jared Sumner's ZIG-based JavaScript runtime that's giving Node and Deno a run for their money, is now stable and production ready. The big 1.0 release dropped to much fanfare with a 30-minute intro video in the image of an Apple keynote. What is Bunn all about? In their words, quote, Bun's goal is simple. Eliminate slowness and complexity without throwing away everything that's great about JavaScript. Your favorite libraries and frameworks should still work,
Starting point is 00:01:35 and you shouldn't need to unlearn the conventions you're familiar with, end quote. Bun boasts Node.js compatibility, but not 100% coverage, extreme speed, four times faster than Node at boot, even more so when running TS files, built-in TypeScript and JSX support, ESM and CommonJS compat, web APIs like Fetch and WebSocket, and cool features like built-in support for SQLite, password hashing, and more. It's pretty impressive how much has been done by such a small team. In a surprise turn of events, Linux users get the first crack at running Mojo
Starting point is 00:02:13 locally. Mac and Windows are 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, quote, 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. End quote. This first release of the Mojo SDK includes a shell with a REPL, a VS Code extension, and a Jupyter kernel, so you can run Mojo notebooks. Large language models are multiplying like wet gremlins.
Starting point is 00:03:01 The question is, which one or ones should you use? Vince Lewitt wondered the same, so he built a thing. Quote, 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 inference APIs. The script stored all the answers in a SQLite database and here are the raw results. On the linked website, you can view all the answers from a specific model or all the models answering a specific prompt. Here is one such prompt. Argue for and against the use of Kubernetes in the style of a haiku.
Starting point is 00:03:41 My takeaway is that most models don't understand the rules of a haiku. Example, CodeLlama says, Kubernetes is a tool, a tool to manage your containers, but is it worth it? A profound poem, but a haiku it is not. Don't quit your day job. Last October, Will McGugan told us about his plan to bring TUIs to the web. Building this web interface where you can flick a switch, and then you can take those applications which you'd built for the terminal, and all of a sudden they're web applications. And from there you can send a URL around,
Starting point is 00:04:17 and people that are not particularly technical could use it, and they might not even know that it's a terminal application. Now he's gone and done it with Textual Web. Just like he said in the clip, with the Textual Web command, you can publish any textual app on the web, making it available to anyone you send the URL to.
Starting point is 00:04:35 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 out the linked demo video to see it in action. I didn't totally get it when Will described this to us the first time, but I think I see the value now. You write a terminal app with your Python knowledge,
Starting point is 00:04:53 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. It's now time for sponsored news. Tailscale has partnered with Mulvad to make its global network of VPN servers available for their customers. Mulvad 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.
Starting point is 00:05:32 Services like Molvad 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 tail net thanks to Mulvad's secure and high-speed global network. Learn more about Tailscale and this new Mulvad offering at changelog.com slash tailscale. Once again, that's changelog.com slash tailscale. James Hayden went deep, and I mean deep, to investigate what exactly went wrong on August 28, 2023, when NATS, the UK's air traffic control operator, suffered a major technical incident and had to cancel 2,000-plus flights, costing an estimated 100-plus million GBP. This long read takes you on a ride, much like a good whodunit novel.
Starting point is 00:06:27 Here's James's thoughts from the denouement on what went wrong. One, the software that processes flight plans was written in a buggy way. Two, the software and system are not properly tested. And three, the system has bad failure modes. Each of these three points has sub points that include lines like the procedure was very fiddly and failed for a silly reason. And a single flight plan caused a problem and the entire system crashed. This reminds me of the tail end of our conversation with Landon Gray and Justin Searles when I said the stakes have never been higher. And Justin said the stakes are much higher. You know, an example just from this week is one of our colleagues, Kathy Colliver, our director of marketing, is in Louisville.
Starting point is 00:07:16 And I think her her kids just went back to school. of the first three days of school have been canceled so far because they have an AI based, a really smart bus routing system that just completely crapped the bed. And so like, apparently her son was just sitting with the principal in the cafeteria and like all the buses are all everywhere because, and like the head of UPS has come in and like offered to like help with like logistics training, you know,
Starting point is 00:07:42 that's the news for now. But this week's companion newsletter has a bunch of more goodies in it including the commit mono programming type face an excellent piece by ramona schwering for smashing mag about the testing pyramid and a silly game that shows you pictures of people's faces and you try to decide whether they're a serial killer or a programming language inventor. In that vein, I leave you with this excellent 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.
Starting point is 00:08:18 Share the changelog with your friends who might dig it and i'll talk to you again real soon

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.