TILens turns technical updates into a focused daily brief: official releases,
trusted reporting, and practitioner analysis, deduplicated and organized by topic.
São Paulo has many rhythms: busy avenues, street art, food markets, historic buildings, and green spaces tucked between the concrete. I built SP Layers — São Paulo in Layers as an interactive way to explore those…
If you publish Firefox extensions, there are two tiers you should know about: regular listed extensions and Recommended extensions. Getting Recommended status is the single biggest thing that can happen to an AMO…
JSLab feature notes: one docs page, explained. Today: Settings and Keybindings and the command palette. Settings: one window, one search field ⌘, (or JSLab → Settings…) opens the Settings window. There's a search field…
Every new tab is a blank canvas. I wanted mine to tell me the weather and the time in the cities I care about — without opening another app or asking a backend I control. So I built Weather & Clock Dashboard — a Firefox…
The name browserOptional is easy to misread as permission to skip verification JavaScript. It describes the script's execution environment. Confusing those meanings can leave a player showing video while the required…
Usestate UseState is one of the React Hooks used to manage state in a component. Normally, when we use a local variable, changing its value does not trigger a re-render of the component. But useState allows us to store…
Want a useful JavaScript copy to clipboard example that goes beyond copying “Hello world”? Let’s build a small kaomoji picker. Click a face, copy the complete expression, and paste it into a message, document, or…
How I built a local AI assistant that admits when it didn't actually do the thing The sentence that started this project was five words long: "I've sent the email." It hadn't. Nothing had run. There was no email tool…
Want a useful JavaScript copy to clipboard example that goes beyond copying “Hello world”? Let’s build a small kaomoji picker. Click a face, copy the complete expression, and paste it into a message, document, or…
I've been looking for a TypeScript resource that doesn't stop halfway. Most either cover the basics and quit, or assume you already know what a conditional type is. I found one that covers the full arc, and I wanted to…
When we started Boss Lab, the idea was simple: let players build their own boss monster out of parts, then watch it fight. The hard bit was making "build your own" feel meaningful instead of cosmetic. This post is a…
Cross-posted from my blog. The original, with any updates, lives on fabwaseem.com. You can now run a .ts file with plain node app.ts, no tsx, no ts-node, no build step. Type stripping has been on by default since…
Cross-posted from my blog. The original, with any updates, lives on fabwaseem.com. "NestJS vs Hono vs Fastify" is one of the most common backend questions I see from TypeScript developers in 2026, and most answers are…
We're Boss Lab Studio, a small team, and we just released our first Android game: a boss-building battler. You assemble a boss from more than 60 modular parts, upgrade it, and then watch it auto-battle its way through…
Mermaid has effectively become the standard for diagrams as code. You write a flowchart like A --> B in Markdown, GitHub renders it, and it lives in version control next to your code. Mermaid diagrams are in READMEs,…
Loan offers, mutual fund brochures, fixed-deposit tables, shop bills and exam forms all ask the same kind of question: "what does this number actually come to?" The answers are small pieces of arithmetic, but they are…
I shipped the same extension update to the Microsoft Edge Add-ons store and the Chrome Web Store in nine languages last week. The code change was maybe forty lines. The listing work took two days and broke in three…
I maintain Claude Monitor, an open-source browser extension that shows claude.ai's usage limits: the rolling 5-hour session and the weekly limit, with their reset times. It gets those numbers from two places, and in…
hey today was ordinary I thought. Suddenly saw npm registry learn more on my github. fascinated sat on my chair and created a npm package. nothing complex just for my use. I hated configuring mongoose mongodb every…
Browser games have a specific reputation: !idle clickers, pay-to-win timers, and spreadsheets disguised as RPGs. When I started building Sector-76 one year ago, I wanted to engineer the exact opposite. The goal was to…