The Changelog: Software Development, Open Source - Please let this be Peak LLM (News)

Episode Date: June 24, 2024

Søren Fuglede Jørgensen builds a font thats also an LLM, Hugo Landau writes about the demise of the mildly dynamic website, SQL Studio is the simplest little database explorer ever, Mathew Duggan re...views GitHub Copilot Workspace & Stephan Schmidt lays out the case against mocking + what to do instead.

Transcript
Discussion (0)
Starting point is 00:00:00 What up, nerds? I'm Jared, and this is Changelog News for the week of Monday, June 24th, 2024. Can you believe this is my 100th episode of Changelog News? Time flies when you're keeping up with the software world the easy way. To celebrate, I'm... Well, this is probably all I'm going to do to celebrate. Cheeky! More importantly, this September we're getting a Zelda game where she's the hero who has to save Link.
Starting point is 00:00:39 My daughters will finally be able to stop asking me, when do we get to see Zelda? And just have fun slashing baddies with her magical staff. Okay, let's get into the news. Llama.ttf is a font file which is also an LLM. Llama.ttf by Soren Fuglede Jorgensen is a font file, which is also a large language model plus an inference engine for that model. Why? How? Quote, the font shaping engine HarfBuzz, used in applications such as Firefox and Chrome, comes with a WASM shaper, allowing arbitrary code to be used to shape text.
Starting point is 00:01:26 In particular, this arbitrary code could in principle be an entire LLM inference engine with trained parameters bundled inside, relying on treating text containing magic symbols for fake ligatures to initialize the LLM and use it to generate text. What this means is that you can just use the font to run the LLM and, for example, get text generation in any WASM-enabled, HarfBuzz-based application, your favorite text editor, email client, whatever, without having to wait for the vendor to include the copilot-like features that everyone is rushing to implement these days. And everything runs completely locally.
Starting point is 00:02:08 So perhaps this silly hack is in fact a billion dollar idea? One billion, gajillion, fifillion. This also means that you can use your font to chat with your font. End quote. If the phrases above don't make any sense, does any of this? Soren made a video explaining and demonstrating the entire thing. My hope is that by embedding an LLM in a freaking font, and having said font rewrite your keystrokes via inference as you freaking type,
Starting point is 00:02:46 we have now reached peak LLM and we can all go back to the simple life when software determinism reigned. Yeah? The demise of the mildly dynamic website. Hugo Lando has been around long enough to write a fairly succinct history of how we make websites. Quote, in the beginning, website HTML was crafted by hand. Your average personal or corporate website might consist of hand-edited HTML subsequently uploaded, probably via FTP, to a web server, which knew only how to serve static files. End quote. Then came server-side includes CGI and the rise of PHP. Quote, PHP enabled dynamic web apps for the masses, but an interesting and popular effect of the rise of PHP
Starting point is 00:03:37 was that it enabled and led to the rise of what I'm going to call mildly dynamic websites. End quote. Let us leave off the web app versus web page debate and simply enjoy this history lesson. Quote, eventually, the era of PHP websites passed and static site generators became the new fad. Everything old is new again.
Starting point is 00:03:58 First, you had people who made static websites discovering dynamic websites, and then you had people who made dynamic websites discovering static websites. A consequence of this, however, has been the demise of the mildly dynamic website. End quote. I won't quote the entire thing because I have a modicum of self-control, but you should read the entire thing, especially if you did not live through it. Oh, and speaking of history lessons, I gave a quick one on JS Party recently about Jekyll and how it kicked off the static site generator craze. I'll throw that clip in
Starting point is 00:04:32 after the outro, just in case you're interested. A single binary, single command SQL database explorer. SQL Studio is the simplest little database explorer in a web browser that I've ever used. Its only fault is that it may be too simple at the moment. Still, it's cool, and I can see this tool growing in functionality as the open source community rallies around it. The best part? It works with SQLite, LibSQL, PostgreSQL, MySQL, and DuckDB. Check out a screenshot in the chapter image if your podcast app supports chapters, and follow the link in the newsletter to try it for yourself. It's now time for Sponsored News.
Starting point is 00:05:17 End-to-end incident management in Microsoft Teams. Danielle Long announcing a big new feature from FireHydrant. Quote, We've gotten clear feedback from our customers that we've needed a strong Microsoft Teams integration. Responders want a full suite of incident management functionality no matter what chat app their organization uses. We heard you.
Starting point is 00:05:40 That's why we're proud to announce a brand new Microsoft Teams integration with end-to-end incident management lifecycle capabilities. End quote. If you've been interested in FireHydrant but held off because your org's communication is built around Teams, hold off no more. You can now manage the complete incident lifecycle from native desktop, mobile, and web, all without leaving Teams. Learn more by following the link in your chapter data and newsletter. And thank you to FireHydrant for sponsoring this episode of Changelog News. GitHub co-pilot workspace reviewed. Matthew Duggan, who had avoided AI tooling until now, was invited to try out the beta for GitHub's new AI-driven
Starting point is 00:06:26 Web IDE. His results were underwhelming, to say the least. The TLDR, quote, GitHub Copilot workspace, didn't work on a super simple task, regardless of how easy I made the task. I wouldn't use something like this for free, much less pay for it. It sort of failed in every way it could at every step. End quote. Am I surprised by this? Not in the least. Am I mad? No.
Starting point is 00:06:54 I'm merely disappointed. The question with all of these AI tools is, how many epic failures will people endure before writing them off altogether? It's hard to disagree with Matthew when he says, quote, having a tool that makes stuff that looks right but ends up broken is worse than not having the tool at all. Ouch. This guy's really hurting me.
Starting point is 00:07:18 And it hurts. What to do instead of mocking. Mocks, which are objects that imitate other services, are common when writing automated tests because they let you not concern yourself with the service that they're mocking and only test your code in isolation. Mocks are also quite dangerous for many reasons.
Starting point is 00:07:38 Quote, mocking is an anti-pattern. Mocking adds complexity, is hard to maintain, introduces its own bugs, doesn't test what should be tested, and creates a false sense of security. End quote. In the linked article, Stefan Schmidt lays out the case of mocking as an anti-pattern, then describes a series of things you can do instead. Namely, more unit testing, easier to test I.O., just do I.O., separation of logic and services I.O., and end-to-end integration tests. My opinion? I use mocks sparingly, not to avoid testing integrations between my code and an external service,
Starting point is 00:08:23 but when I'm testing code around said integration code. In other words, it's not instead of, it's in addition to. Your mileage may vary, but that strategy has served me pretty well over the years. That is the news for now, but we have some great episodes coming up this week. We go deep on semantic versioning with Chris Kreicho and Predrik Grevski on Wednesday. And Kaizen 15, it's a good one, with our old friend Gerhard Lazu, drops on Friday.
Starting point is 00:08:56 Have a great week. Leave us a five-star review if you dig it. And I'll talk to you again real soon so a decent chunk of people are still using non-js static generators so both hugo which is in go and jekyll which is the og i think well it definitely popularized this category. It's not the original static site generator, but very popular because a little bit of history here. Tom Preston Warner of a co-founder of GitHub wrote Jekyll.
Starting point is 00:09:36 It was one of the first big open source Ruby projects on GitHub. And he also wrote a very famous blog post called, I believe I'm going from memory, blogging like a hacker, in which he made it cool to blog this style. And Jekyll just skyrocketed from there and became kind of the de facto for many years, eventually being replaced by other tools, but still out there. Yeah. I mean, I think this idea that markup is all you need for blogging, for site generation, for things like that. It's really nice and it's clean and it maybe gets us out of the cycle of every developer
Starting point is 00:10:14 who wants to blog and says, oh, but first I need to build a website for my blog. Like just use one of these frameworks, write your blog and markdown and you're done. Right. And there's also this situation that happened more in the past than it does now probably because of static generators but also because of the proliferation now of easy free hosting plans is that we had this thing called the slash dot effect which eventually became the dig effect right and then it became the hacker news or the reddit effect
Starting point is 00:10:45 as different social aggregators kind of replaced each other but this was a

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