TILens turns technical updates into a focused daily brief: official releases,
trusted reporting, and practitioner analysis, deduplicated and organized by topic.
I've been getting the occasional confusing Python dependency error since switching over to Python 3.15 and the rule I'm having to remember is: If in doubt, delete the uv.lock file Most of my projects are libraries which…
if I have some struct pub(crate) struct Foo { ... } I can write impl Foo { pub(crate) fn bar(&self) { ... } } But I could also safe a few letters and write impl Foo { pub fn bar(&self) { ... } } and it'd be roughly…
More broadly, the use of LLMs erodes trust in documentation, in software, and in the organizations which produce them. Perhaps engineers will begin to treat any new software project with suspicion—the signals we used to…
I think that OS should have this compiler available on the X86-64 platform. There are 4: VAX, Alpha, Itanium, X86_64. VSI provides an X86_64 Community license for non-commercial tinkering, and I have a spare Intel I7…
I recently created a simple application to test Rustroid and I really loved the results, however I was trying to change the application icon, and so far I haven't found a way to do it. I know there's an image called…
I used Dropbox for decades, then switched to Google Drive. Both worked for most of my files. One file never fit, though: my KeePass password database. It’s the file I need on every device and the file I want to keep…
Language switchers look trivial: a dropdown with flags. In practice they are where many multilingual sites break their own SEO and annoy users at the same time. This post outlines a switcher design that keeps search…
Disclosure: I maintain request-to-axios. This is a migration guide from the perspective of someone maintaining legacy Node.js code, not an independent review of my own package. When a project uses request, replacing the…
This Cybersecurity Awareness Month, I made seven Python releases, when two were originally planned for October. Altogether, we made 16 Python releases, when five were originally planned. Of the extra releases, only…
Why a Meditation App Needs a Good Voice If you’ve ever tried a guided meditation on a cheap text‑to‑speech (TTS) engine, you know the difference a natural‑sounding voice makes. A soothing, human‑like voice can keep…
I recently shipped FlockCalc, a small site of free calculators for people who keep chickens, quail and ducks in their backyard. No accounts, no ads — just instant answers. The interesting part wasn't the code, it was…
Transparent Image Fallback System with Canvas API Understanding the Need for a Fallback System Transparent images are essential for creating layered designs on the web. However, not all browsers or environments support…
We publish Regime Map, a country-by-country register of gambling regulation. The people who write about the subject, lawyers and journalists mostly, need the same picture we already draw: which countries license online…
Most of the people who play Solitaire on our site do it on a phone, held in one hand, often on the sofa in the evening. Many of them are over 60. Until this week our Klondike layout on phones was simply the desktop…
Hey everyone! Instead of arguing about desktop framework bloat, we built an automated, reproducible benchmark harness (benchmarks/stress-suite/) and ran 5 major JavaScript desktop runtimes through the exact same heavy…
The Security Gap in Autonomous LLM Agent Pipelines When autonomous AI agents ingest untrusted web pages, emails, or user inputs, two critical failure modes occur before the payload ever reaches the model: Indirect…
Loops are where console.log goes to multiply. One log per pass is fine for 8 passes and useless for 8,000. Here are the techniques I reach for, from "edit the code" to "don't touch it at all". The loop we'll debug finds…
Government and exam forms are oddly specific about photos. A typical application portal doesn't say "a small photo, please" — it says the photo must be under 50KB, the signature under 20KB, and the passport photo…
I maintain CodeDiag, a CLI that scans a Node.js project and tells you which API routes have no recognizable auth check or input validation. It's deterministic: no LLM, no account, and with --no-audit it never touches…
Beyond RAG: How modern architectures engineer precise, cost-efficient context for enterprise AI agents. The post The Enterprise Context Layer: A Practitioner's Guide to 6 Advanced Architectural Patterns appeared first…