This week
- Inspired by Andy Bell, a few years ago I added a music page to my website. It is a mirror copy of my Discogs collection that I have meticulously maintained for over a decade now. A few folks have asked me before “how I keep my Discogs collection in sync with my music page”, so...
- Over the past two years, I've published interactive tours for five Go releases, from 1.22 to 1.26.I know some of you have read them, and I've received a lot of kind words from you (even some core Go team members reached out) — thank you so much for that!Tour history: Go 1.22 •...
Two weeks ago
- We're excited to ship Durable Agents. Durable Agents can survive client disconnects, browser refreshes, or network blips. Run multiple requests in parallel, wat......
- Solod (So) is a system-level language with Go syntax, zero runtime, and a familiar standard library. It's designed for two main audiences:Go developers who want low-level control and zero-cost C interop without having to learn Zig or Odin.C developers who like Go's style.The...
- Mastra apps now have a built-in event system to publish and subscribe to messages. You can listen for events like workflow step completion, pause, or completion......
About a month ago
- Today we launched a new plugin for Datasette, datasette-apps, with this launch announcement post on the Datasette project blog. That post has the what, but I’m going to expand on …
about 1 month ago
- The Pyodide 314.0 release announcement (via Hacker News) includes news I’ve been looking forward to for a long time: You can now publish Python packages built for Pyodide (or any …
- I’ve been experimenting with different approaches to running code in a sandbox for several years now, but my latest attempt feels like it might finally have all of the characteristics …
2 months ago
- This is the eighth and final chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon. Thank you! Whether you are building a traditional web application, or a web API that works...
- Your Mastra workflows can now run on Temporal. The new Temporal integration gives you retries, scheduling, durable state, and execution that survives worker res......
- May 10, 2026 Chris Morgan is tired of people tacking query strings onto his URLs — e.g. www.robinsloan.com/lab/?like=this&and=this—so he’s set his website up to reject those requests outright, rather than suffer in silence. Naturally, anybody is free to set up their server in...
- Incidents are boring. Most of what you actually do during an incident is wait: for some other team to investigate, or for a deploy to finish, or for the result of some change to become apparent, or for someone else who’s been paged to come online. It’s stressful, but there’s...
- This is the seventh chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon. Thank you! Starting with release 1.4, SQLAlchemy includes support for asynchronous programming with...
- In this guide, you'll build a Mastra agent that responds to messages and mentions on Slack. You'll configure a channel adapter, set up a Slack app with the appr......
- Just write your own libraries Libraries used to limit what you could do. If nothing fit your needs, you had to settle or slowly create it yourself. Now, that's changed. AI models are advanced enough f...
3 months ago
- “If it compiles, it works.” This feeling is one of the main things Rust engineers love most about Rust, and a reason why using it with coding agents is especially nice. After debugging some code that compiled but mysteriously stopped in production, I realized that it’s useful to...
- When you start a new project, it feels nice that everything lives in a single main.go file. When things start to grow, you split things into multiple files. We will add tests later, right? Requirements change, someone joins the team, and in the meantime, you swapped SQLite for...
4 months ago
- This is the third chapter of my SQLAlchemy 2 in Practice book. If you'd like to support my work, I encourage you to buy this book, either directly from my store or on Amazon. Thank you! In the previous chapter you learned how to execute a variety of queries on the products...
- for (i = 0; i < numberOfElements; i++) { doSomethingWith(element[i]); } This works, but isn't very elegant. The Ruby way is much more elegant. elements.each do |element| do_something_with(ele...
- I originally posted this as a Twitter thread in March 2018. It went viral, probably because Charles Stross quote-tweeted it with the comment “This thread. You read!” - yes, _that _Charles Stross. 😮 It was at https://twitter.com/i/web/status/976852582084808704, and I bookmarked...
- A JavaScript engine (e.g. V8, JavaScriptCore) executes JavaScript code. It doesn't know about things like files, HTTP requests, or timers.On the other hand, a JavaScript runtime (e.g. Node.js, Bun) is a more complete environment where JavaScript runs. It contains a JavaScript...
- Creating a subset of Go that translates to C was never my end goal. I liked writing C code with Go, but without the standard library it felt pretty limited. So, the next logical step was to port Go's stdlib to C.Of course, this isn't something I could do all at once. So I...
- At this point in history, AI sociopaths have purchased all the world's RAM in order to run their copyright infringement factories at full blast. Thus the amount of memory in consumer computers and phones seems to be going down. After decades of not having to care about memory...
- Starlette 1.0 is out! This is a really big deal. I think Starlette may be the Python framework with the most usage compared to its relatively low brand recognition because …
Rows per page