TILens turns technical updates into a focused daily brief: official releases,
trusted reporting, and practitioner analysis, deduplicated and organized by topic.
I think this code ought to be sound but I couldn't find a good resource to prove so: #[repr(C)] pub struct Foo<B> { payload: B, version: u8, } impl<'a> Borrow<Foo<&'a [u8]>> for Foo<Box<[u8]>> { fn borrow(&self) ->…
Tool: Tree Appreciator Another game experiment with Claude. This one used the default Claude iPhone app (chat mode, not Claude Code mode), where I prompted Claude Opus 5.5 Max with: Build a three js game called "Tree…
AI is mass decompiling games. That's both awesome and scary. Indie game developer Popcar talks about the recent wave of AI-powered decompilation of existing games, enabling weird mashups between existing games, and…
JSON is ubiquitous in modern software, and many use cases are just too small to justify adding external dependencies. To address these everyday use cases, a new JEP proposes a simple, incubating API for parsing,…
A new business app starts with a question: React, Vue or Angular? The question that rarely gets asked is whether it needs one at all. For a page that lists orders, edits a customer and shows a few figures, the browser…
Every checkout or KYC form ends up re-implementing the same checksums: IBAN mod-97, the Luhn check for cards, a different VAT algorithm for each EU country, and postcode regexes. I bundled them behind one small API so…
Every software engineer eventually learns that writing CRUD applications is easy. You map user inputs to database rows, render dynamic views, and call it a day. But the moment you cross the threshold into FinTech…
Evolu's blind-relay sync, run through the same 8 offline-first failure modes I keep a short checklist of the ways offline-first sync actually breaks in production. Eight items, in the order they bite. I already ran…
I’ve been experimenting with an alternative to the circular-reference tracking used by json. By using a bit in the reference count as a temporary marker, I was able to speed up encoding by roughly 3× in my tests,…
Introduction Regular expressions (often abbreviated as regex or regexp) are a compact, powerful way to describe patterns in text. Whether you’re validating user input, scraping data, or performing complex…
Mastering Modern JavaScript: From ES2023 Features to Real‑World Patterns JavaScript has come a long way from its humble beginnings as a browser‑side scripting language. With the yearly release cadence of ECMAScript, the…
Ecommerce payment integration isn't finished when checkout works. It's finished when you can trace every Stripe payout back to the orders in your database, and anything that doesn't match gets sent to a person. If your…
A while back I needed a DSCR calculator that wasn't buried under popups and didn't ask me to create an account before showing a single number. So I built one: a free, no-signup debt service coverage ratio calculator for…
In the previous articles of this series, we saw Bloom Filters, with restrictions on removing added values. Here we'll see Quotient Filters, which free the caller from those limits. Quotient Filters Bloom Filters answer…
When building responsive image galleries, hero sections, or interactive media canvases, aspect ratio mismatches are among the common causes of Cumulative Layout Shift (CLS) and awkward visual cropping. A browser may not…
VoidZero, the company behind the Vite build tool, released Vite+ 1.0 on September 28, 2026. It is the first stable version of an all-in-one toolchain for web development. A single command, vp, manages the Node.js…