Changelog News
Developer news worth your attention
Hello again! đ
As the kids say: we are SO back! (Do the kids say that?)
I collected too many high quality links during break. I didnât even know what to do with them all. So, scroll to the end of todayâs newsletter for a big heaping pile of links (+ commentary)
Ok, letâs get into the news. (Audio Edition)
đ The I in LLM stands for intelligence
Curl creator/maintainer, Daniel Stenberg, documents his frustration with recent AI tooling âadvancementsâ
I have held back on writing anything about AI or how we (not) use AI for development in the curl factory. Now I canât hold back anymore. Let me show you the most significant effect of AI on curl as of today â with examples.
Daniel is clearly of the opinion that we havenât gained much of value from generative AI tooling, but he does seem more optimistic about the future than he is about the present:
I am convinced there will pop up tools using AI for this purpose that actually work (better) in the future, at least part of the time, so I cannot and will not say that AI for finding security problems is necessarily always a bad idea.
I do however suspect that if you just add an ever so tiny (intelligent) human check to the mix, the use and outcome of any such tools will become so much better. I suspect that will be true for a long time into the future as well.
My mind is open and willing to be changed, but Iâm with Daniel. The human touch is absolutely necessary today and I suspect that will remain the case for much longer than some would have us to believe.
đ€Ș Weird things engineers believe about web dev
Since Brian Birtles quit Mozilla and went back to full-time web development, heâs discovered a few surprises:
It turns out Web development is actually pretty hard, Web developers are actually very smart, and some of these frameworks and techniques we mocked as browser engineers arenât so bad. Oops.
At the same time, it turns out some Web developers have ideas about browsers and the Web that, as a former browser engineer and standards editor, Iâm a bit dubious of.
In this post, Brian shares eight things that surprised him and why. Things like, âAll sites should work without JavaScriptâ, âBrowsers arenât made to run SPAsâ & âWeb development shouldnât need a build step.â
đ Join the NATS community for RethinkConn 2024
Thanks to Synadia for sponsoring Changelog News đ°
When it comes to distributed systems, NATS is proving to be the go-to open source tech for solving all kinds of challenges. Pub-sub? Request-reply? Data streaming? Key-value store? Object store? NATS does THAT!
NATS enables truly innovative solutions. Who better to hear stories from than the actual users themselves? Join the NATS community for RethinkConn 2024 and hear them for yourself, for no cost whatsoever!
The FREE 3-hour virtual event is happening on Jan 11th, 2024 at 16:00 UTC. Sign up today
đŁ The npm Package Chaos of 2024
An npm user named PatrickJS launched a troll campaign with a package called âeverything,â which depends on all public npm packages. But thatâs not all. The creator took their prank to the next level by setting up http://everything.npm.lol, showcasing the chaos they unleashed. They even included a meme from Skyrim, adding some humor (or mockery, depending on your perspective) to the situation.
Feross Aboukhadijeh details the fallout from this prank, the unintended consequences that trapped even PatrickJS in his own web & the (since-deleted) apology he wrote on GitHub Issues.
đ§ Go: what we got right, what we got wrong
Go(lang) co-creator Rob Pike summarizes his closing keynote from GopherConAU in November, 2023. Things he thinks they got right include the gopher mascot, the specification, having multiple implementations, portability, tooling & more. Things he thinks they got wrong revolve around the compiler, project management, package management & documentation.
Thereâs lots to learn here for anyone creating a language of their own or anyone interested in the why behind the success/failure of (at least one) large open source efforts.
đŠ Code is not technical debt
Gavin Howard reacts to a post he thinks is âso wrongâ called All Code Is Technical Debt, where the thesis is:
As the more code you add to an application, the slower development becomes, I view all code as technical debt.
Gavin breaks down why he believes this thesis is wrong and then establishes his own rule:
Your software is trying to solve a problem, and every problem has an unknown shape because reality has a surprising amount of detailâŠ
Technical debt is every place where the software does not fit the problem.
He then goes on to explain why this is true and the nuance surrounding it. This entire exchange has me thinking that perhaps Kris Brandow was right (gasp!) about the whole âtech debtâ metaphor just being bad and that we should ditch it altogetherâŠ
đïž Clip of the week
The wonderful Una Kravets was on JS Party late last year catching us up on all the awesome new CSS features you really should be using in your daily web work.
đ A big heaping pile of links (+ commentary)
The AHA Stack â Combine Astro, htmx and Alpine.js to create modern web applications sending HTML over the wire, replacing the SPA JS-heavy approach with a much simpler set of mental models and workflows.
(Iâm a sucker for clever new stackronyms)
Heynote â A dedicated scratchpad for developers
(Iâve gone all-in on Obsidian, but this looks v nice)
The Web Renaissance Takes Off â Anil Dash: âAnd all along, lying in wait for a moment just like this, was the weird, wild world wide web.â
(I think itâs time to get Anil on the pod)
DeskHop - Fast Desktop Switching. âDid you ever notice how, in the crazy world of tech, thereâs always that one quirky little project trying to solve a problem so niche that its only competitors might be a left-handed screwdriver and a self-hiding alarm clock?â
(Scratching your own itch FTW every time!)
Itâs not microservice or monolith; itâs cognitive load you need to understand first â How understanding cognitive load and team capacity can help you decide on an architectural style.
(Is it just me or is Substackâs subscribe overlay more annoying than even Mediumâs?)
Huh? â A simple, powerful library for building interactive forms and prompts in the terminal.
(The Charm team just keeps cranking out hits)
Perfectionism and Procrastination â How theyâre connected and what to do about It.
(One of my most useful mantras: âProgress over perfectionâ)
How to start speaking at conferences â âMost advice about speaking is gobsmackingly bad. And even though we all have plenty of experience watching people talk on stage, our intuition usually fails to reveal much about how to go about giving an enjoyable and effective talk. Hopefully some of my experience figuring this out the hard way will prove helpful to you.â
(Justin made his name giving awesome conference talks, so his advice is bona fide)
Mistral AI endpoints now available â Mistral AI brings the strongest open generative models to the developers, along with efficient ways to deploy and customise them for production.
(The commoditization of data models continues apace)
Introducing MemoryCache â MemoryCache, a Mozilla Innovation Project, is an early exploration project that augments an on-device, personal model with local files saved from the browser to reflect a more personalized and tailored experience through the lens of privacy and agency.
(Locality is proving to be more important than I originally gave it credit)
FireDBG â a time travel visual debugger for Rust
(So cool, but Iâll be print debugging the day of my retirement from the biz)
htmx is a erlang â âthe recent growing popularity of htmx in all walks of life from cereal flavors to car insurance rates to nuclear security protocols once again is surfacing a problem we havenât solved: post-cloud-native developers donât understand basic things anymore.â
(htmx is so hot right now)
macOSpilot: your personal macOS AI assistant â macOSpilot answers your questions about anything, in any application. No need to reach for another window.
(Another cool demo that Iâd never actually use. But maybe you might?)
What if an SQL Statement Returned a Database? â Every SQL statement is limited to return a single, possibly denormalized, table. This design decision has far reaching consequencesâŠ
(Yet another reminder how much smarter than me most of yâall are)
Bash One-Liners for LLMs â Justine Tunney writes up six solid examples of how a llamafile can help you be productive on the command line.
(I think itâs time to get Justine on the pod)
Amphion â A toolkit for audio, music & speech generation
(Pretty soon Iâll just write the Changelog News script and let my voice read it for me)
The Largest Money-Printing UI Element Ever Made â Jim Nielsen on why the browserâs URL/search bar is an expensive piece of real estate.
(Runner up: )
Web Components Will Outlive Your JavaScript Framework â âFor all its warts, the web has become the most resilient, portable, future-proof computing platform weâve ever created â at least, if we build with that in mind.â
(Your favorite underwear might also outlive your JavaScript framework)
đ§ ICYMI: Recent good pods from us
đïž Dear new developer â Weâre kicking off the year with Dan Moore, author of âLetters to a New Developerâ â a blog series of letters of what Dan wished he had known when starting his developer career. We discuss the value of online communities for new developers, the importance of communication skills, and the need to stay relevant in a rapidly changing industry.
đ State of the âlogâ 2023 â Our 6th annual year-end wrap-up episode! This time weâre featuring 12 (yes, 12!) listener voice mails, our favorite episodes of the year & some insanely cool Breakmaster Cylinder beats made just for this occasion. Thanks for listening!
đ New Yearâs Party â Itâs our 5th annual New Yearâs party! Jerod & the gang review our predictions from last year, discuss whatâs trending in the web world, make a few predictions for 2024 & even set some new resolutions for this year.
đȘ© Whatâs next in JavaScript (a TC39 update) â Daniel Ehrenberg (software engineer at Bloomberg, web standards author / champion & VP of ECMA International) joins JS Party to discuss new features that have landed in JavaScript and to preview whatâs cooking in various standards bodies across the web platform.
đ€ Open source, on-disk vector search with LanceDB â Chang She (co-founder and CEO of LanceDB) joins Practical AI to talk through the specifics of their open source, on-disk, embedded vector search offering. We talk about how their unique columnar database structure enables serverless deployments and drastic savings (without performance hits) at scale.
Thatâs the news for now, but we have some great episodes coming up this week: Justin Garrison tells us about Amazonâs silent sacking on Wednesday and Gerhard is back for Kaizen 13 on Friday!
Have a great week, tell your friends about Changelog News if you dig it, and Iâll talk to you again real soon. đ
âJerod