When Google announced the Manifest V3 deadline, the developer community had a lot to say — most of it negative. The service worker model was rightly criticized as a regression for ad blockers and complex extensions. I've now migrated 18 extensions from MV2 to MV3, or built them MV3-native from the start. The commonly documented issues (no persistent background pages, limited webRequest) are real.
I shipped gni-compression to npm two days ago. One of the first questions I got (from myself, running benchmarks at midnight): does it work on anything other than chat data? Short answer: not yet. Long answer: I found out exactly why, and it led me somewhere more interesting than I expected. After the npm launch I ran GN against Silesia — the standard general text compression benchmark suite. Dick
Manifest V3 Is Here — And It Broke Everything Google's Manifest V3 migration deadline has come and gone. After migrating 17 Chrome extensions from MV2 to MV3, I've compiled every pitfall, workaround, and lesson learned. If you're still migrating — or building new extensions — this guide will save you weeks of debugging. The problem: MV3 replaces persistent background pages with service workers.
Introduction Picture two doctors updating the same patient record at the same time - one in São Paulo, the other in London. Both are offline. When connectivity returns, whose changes prevail? This is not a hypothetical. It is the everyday reality of distributed systems: multiple nodes, no shared clock, no guaranteed network. The conventional answer has long been locking - one node waits while an
I keep seeing the same argument about AI making us dumber. It's the same argument people had about search engines, and before that books. The usual response is to point at history and say "every generation panics, every generation was wrong, relax." I think that response is half right, and the wrong half is what bothers me. Tools change what we bother to remember. The people who'd trained their wh
المشكلة لو بتكتب عربي وإنجليزي مع بعض في أي موقع، البراوزر بيتلخبط في الاتجاه: جملة زي "مرحبا API بتاعك كويس" — كلمة API بتتعكس وتتقرأ غلط بسبب الـ Unicode Bidi Algorithm. المشكلة دي مش في موقع معين — هي موجودة في كل المواقع. حتى Claude.ai وChatGPT نفسهم بيعانوا منها. بدل ما نضبط dir="rtl" على الـ element بس، عملت BiDi parser حقيقي يقسّم النص: "مرحبا API tools بتاعك" ↓ tokenizer [arabic]
A few years ago I solved 200 LeetCode problems and still froze on Mediums I hadn't seen. The breakthrough wasn't another hundred problems. It was a different loop. A problem asks for the longest substring with at most K distinct characters. You've solved sliding window before. Maximum sum subarray of size K, done. Longest substring without repeating characters, done. This third one stalls you. Twe
Introduction Some code works. Some code lasts. The difference rarely comes down to typing speed, syntax mastery, or how many nights you're willing to push through. It comes down to how you think about a problem before you write a single line. Big-O notation is a mathematical framework that describes how an algorithm performs as its input grows. In plain terms, it answers one question: