The Changelog: Software Development, Open Source - Please let this be Peak LLM (News)
Episode Date: June 24, 2024Sø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)
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.
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.
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.
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,
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
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.
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
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.
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.
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
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.
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.
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.
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,
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.
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.
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
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
as different social aggregators kind of replaced each other but this was a