news
Programming Leftovers
-
Nicolas Fränkel ☛ High-cardinality values for build flags in Rust
The code itself is an HTTP server that offers a single endpoint. For the sake of the demo, I wanted it to return the flavour of the underlying image.
-
Geoffrey Litt ☛ Stevens: a hackable AI assistant using a single SQLite table and a handful of cron jobs
There’s a lot of hype these days around patterns for building with AI. Agents, memory, RAG, assistants—so many buzzwords! But the reality is, you don’t need fancy techniques or libraries to build useful personal tools with LLMs.
In this short post, I’ll show you how I built a useful AI assistant for my family using a dead simple architecture: a single SQLite table of memories, and a handful of cron jobs for ingesting memories and sending updates, all hosted on Val.town. The whole thing is so simple that you can easily copy and extend it yourself.
-
Facundo Olano ☛ Fallacies of Code Generation
-
Silicon Angle ☛ The efficiency trap: Why obsessing over AI productivity will destroy your engineering culture
At the risk of stating the blindingly obvious, software delivery is about much more than churning out code — it’s about solving hard, unique problems in ways that create value. And ironically, the relentless pursuit of efficiency through AI can make software teams less effective, not more.
-
Daniel Lemire ☛ Detect control characters, quotes and backslashes efficiently using ‘SWAR’
When trying to write fast functions operating over many bytes, we sometimes use ‘SWAR’. SWAR stands for SIMD Within A Register, and it is a technique to perform parallel computations on multiple data elements packed into a single word. It treats a register (e.g., 64-bit) as a vector of smaller units (e.g., 8-bit bytes) and processes them simultaneously without explicit SIMD instructions.
-
Arjen Wiersma ☛ Software developers are doomed to create software
Will software development change? Yes, of course. Will we stop making software? No, we’ll still be creating software, just not in the same way as before.
For the last few months, a lingering question in our industry has been: is there still room for developers in this AI-driven world? My answer is yes, but we won’t be developing in the same way we have for the past 30 years.
-
Rlang ☛ Data Splitting and Preprocessing (rsample) in R: A Step-by-Step Guide
Data preprocessing is a crucial step in any machine learning workflow. It ensures that your data is clean, consistent, and ready for modeling. In this blog post, we’ll walk through the process of splitting and preprocessing data in R, using the rsample package for data splitting and saving the results for future use.
-
Keith Packard: sanitizer-fun
Fun with -fsanitize=undefined and Picolibc
Both GCC and Clang support the -fsanitize=undefined flag which instruments the generated code to detect places where the program wanders into parts of the C language specification which are either undefined or implementation defined. Many of these are also common programming errors. It would be great if there were sanitizers for other easily detected bugs, but for now, at least the undefined sanitizer does catch several useful problems.
-
Rlang ☛ Setting Up Cross-Validation (caret package) in R: A Step-by-Step Guide
In this blog, we explored how to set up cross-validation in R using the caret package, a powerful tool for evaluating machine learning models. Here’s a quick recap of what we covered: [...]
-
Golang
-
Redowan Delowar ☛ Go 1.24's "tool" directive
To avoid this mess, the Go community came up with a convention where you’d pin your tool versions in a tools.go file. I’ve written about this before1. But the gist is, you’d have a tools.go file in your root directory that imports the tooling and assigns them to _: [...]
-