The 3N model of radicalization: * Need: a threat to personal significance that creates openness. * Narrative: an ideology that explains the loss and offers a path to restore significance. * Network: a social group that validates the narrative and rewards adoption of it.
noelwelsh.bsky.social
@noelwelsh.bsky.social
I'm writing a book, online at https://functionalprogrammingstrategies.com/ My personal site is https://noelwelsh.com/
LLM-for-programming discourse really needs more nuance. It's great at some tasks and sucks at others. E.g. for work with any design requirements I've found it makes bad decisions. The framework I'm working on really doesn't need two event queues, for example. For filling in the blanks it's great.
Just released v0.6.0 of my terminal interaction library Terminus, adding a complete TUI framework based on capability-passing. No documentation yet (working on that!) but the screenshot below shows a small example program. Check it out: github.com/creativescal...
I'm now curious if Claude writes profiles for other people. Only one of my projects had a profile, so it's not automatic. For science: check projects within your ~/.claude for user_profile.md and report back! fd user_profile.md ~/.claude (or the equivalent w/ find)
I discovered that Claude had created a user profile for me for a project we're working on. I didn't ask it to write this, but I'll take it! 😆
I discovered that Claude had created a user profile for me for a project we're working on. I didn't ask it to write this, but I'll take it! 😆
Just arrived! Curiously, published in 2027 so I'm living in the future. Looking forward to diving in. Should be a quick read as it's less than 200 pages. (Why am I writing a 600 page book? Because I'm an idiot.) Cc: @grimalkina.bsky.social
Podcast alert!!!! Together with Hanna Schraffenberger I am launching the Computer Science Off Course Podcast Today! Computer Science curricula are very very narrow in scope with a lot of math and algorithms, but very little meta science, philosophy or history.
I could scarcely believe my intuition was right. I sort of said it as a joke -- "How do we know your talk wasn't written by AI?" But in truth, something in the rhetoric, argumentation, possibly even the tone, felt AI-ish. When he shifted in his seat, I thought he was offended by the implication..
Today is the day all the pieces came together and I figured out the capability-passing UI library 🎉 The idea has been obvious to me for a while, but the details (if you want to the type system to be useful) had eluded me.
man pages are basically Jeopardy: if you know the answer they'll tell you the question.
I'm a committee member this year, and I would rank >90% of the current proposals more highly if they fixed some basic mistakes. The number one mistake is not including enough information to allow me to properly assess the proposal. I'll be at this event, and will offer all the advice I can.
Interested in speaking at Scala Days? Join us this evening at the Scala Days proposal hack! Informally discuss your proposal with members of the program committee and other speakers. Join us online at 7PM BST / 6PM UTC: meet.google.com/uay-ynsm-djx Find out more: www.meetup.com/london-scala...
This year's @scaladays.org is accepting 2 hour workshop proposals, in addition to the more usual 30 minute talks. I'm thinking a workshop on building terminal apps using Scala Native could be fun. What do you think? What workshops would you like to see at the conference?
Interested in speaking at Scala Days? Join us this evening at the Scala Days proposal hack! Informally discuss your proposal with members of the program committee and other speakers. Join us online at 7PM BST / 6PM UTC: meet.google.com/uay-ynsm-djx Find out more: www.meetup.com/london-scala...
Meet
Real-time meetings by Google. Using your browser, share your video, desktop, and presentations with teammates and customers.
meet.google.com
Scala Days CFP is open and the London Scala User Group is running an online event to help people create a proposal: www.meetup.com/london-scala... I'll be attending to help out. I'm also on the program committee this year. I encourage any potential speakers to attend!
Scala Days proposal online hack, Wed, May 27, 2026, 7:00 PM | Meetup
Are you interested in speaking at [Scala Days](https://scaladays.org/), but not sure what to speak about? Join the Scala Days proposal hack! Come and discuss ideas in a fri
meetup.com
It's time to take capture checking for a spin. I know this should work in theory, which in theory is the same as practice.
Coding agents are great at minutiae, but lack taste. Given the chance, they will quickly turn a code base into a big ball of mud. The question is, is this a limitation of the reasoning ability of LLMs, or is it replicating the patterns in the training data?
I hold this truth to be self evident (until I get around to writing it up): Capability passing is a great way to structure a UI toolkit. In fact it's the model implicitly behind many current frameworks. Capability passing effect handlers formalize what is already going on, and add expressive power
IIUC, capability passing effects (see Effekt language) are another example of def/use distinction, in this case pushing requirements for effects from point of definition to point of use. Interesting how often this comes up, but it doesn't seem to be widely recognized as a general pattern.
se.cs.uni-tuebingen.de
What are the best practices for creating APIs in a post-LLM world? I think that was is good for humans is also, broadly, good for LLMs. But what about a builder API, that optimizes for dot-driven development (press . and follow the autocomplete). Does that still make sense, or is it unnecessary?
Thank you for attending last week's Scala Talks! Thanks go to Medidata for having us round for pizza, drinks and a beautiful venue. Special thanks go to our fantastic speakers Tomasz Godzik and @noelwelsh.bsky.social . See you next time!
🗒 from us docs.google.com/presentation... 🗒 from "Metals Version 2!" by Tomasz Godzik : slides.com/tomekgodzik/... 🗒 from "Code as Communication: Lessons from Crashing Production" by @noelwelsh.bsky.social : noelwelsh.com/talks/commun...
2026-03-11-London Scala Talks Intro Deck
START: 6:40PM Join our Discord https://discord.gg/aRCVCHmHES
docs.google.com
@shriram.bsky.social Looks like your grousing about train refunds on social media has paid off! www.bbc.co.uk/news/article... Myself and other Brits will now be queuing up with other policy suggestions we'd like publicized 👍
Train delay repay rule changes to make claims easier
There will also be additional checks on railcards during a trial to crack down on fraud.
bbc.co.uk
I wrote up some thoughts on Zig's comptime: Parametricity, or Comptime is Bonkers noelwelsh.com/posts/compti... I think comptime is great (staging!) but it's not the right approach to generic types in my opinion.
Noel Welsh: Parametricity, or Comptime is Bonkers
noelwelsh.com
Just installed speech-to-text (Voxtype) on my Linux PC. It's incredible that this is all free and runs locally. It feels like magic.
🛠️ sbt 2 is nearing stable release - let’s migrate the plugin ecosystem together! The new sbt2-compat plugin was developed by the Scala Center to simplify cross-building sbt plugins for sbt 1 and sbt 2. Learn more on how to migrate:
Migrating sbt plugins to sbt 2 with sbt2-compat plugin
A case study of how sbt-assembly uses sbt2-compat to cross-build for sbt 1 and sbt 2, and a guide of how to use it for your own plugins.
scala-lang.org
Claude makes an incredible writing companion. I took @shriram.bsky.social's advice and installed Claude code, and I'm using it a sounding board for working on my book. What would have been a day or two kicking around a concept until it crystalizes has become tens of minutes of discussion.
Subtle effect of the rise of LLMs: I can no longer write "the person writing the code".
I don't normally post my email newsletter, but I thought this one was a banger: on the dualities between constructor injection, the reader monad, comonads, and effect handlers. If that sounds like your jam: buttondown.com/functionalpr... (Or just grab the book! functionalprogrammingstrategies.com)
Functional Programming Strategies
functionalprogrammingstrategies.com