Why Browsers Killed Flash (And Why Designers Lost Out)
(Disclaimer: I work in the advertising industry which uses Flash for ads.) Chrome made the announcement that coming December, Chrome 55 will disable Flash by default and you'll be prompted to...
Expert takes on AI tools like Claude and Sora, modern web development with React and Vite, and tech trends. By KahWee.
(Disclaimer: I work in the advertising industry which uses Flash for ads.) Chrome made the announcement that coming December, Chrome 55 will disable Flash by default and you'll be prompted to...
2025 Update: Edge switched to Chromium in 2019, abandoning the EdgeHTML engine discussed here. This post captures a brief moment when Microsoft was genuinely competing with its own [browser engine....
MAMP works for quick local PHP development, but it's slow and doesn't match production server environments. macOS El Capitan ships with Apache built-in, so you can build a proper PHP development...
By default, UglifyJS writes JavaScript that works around IE 6-8 quirks. If you're building a modern app, those workarounds just add bloat. The `screw-ie8` flag tells UglifyJS to skip those...
I upgraded my Ubuntu server to 16.04 and WordPress stopped working. The issue: Ubuntu 16.04 ships with PHP 7, and my nginx configuration was still pointing to the old PHP 5 socket path. Ubuntu...
2025 Update: Mocha remains a popular [JavaScript testing framework. While newer tools like Jest and Vitest have emerged, Mocha's flexibility and plugin ecosystem keep it relevant. The `.only()`...
[2025 Update: This was Microsoft's first attempt at Linux compatibility on Windows. What started as "Bash on Ubuntu on Windows" became WSL (Windows Subsystem for Linux), and WSL2 in 2019 fixed most...
2025 Update: Lambda won. Serverless functions are now standard practice, with [Cloudflare Workers, Vercel Functions, and others following AWS's model. The deployment experience improved dramatically...
When serving files from S3 to multiple domains, you need the `Vary: Origin` header to handle caching correctly. Without it, browsers and CDNs cache the first CORS response and serve it to all...
CORS (Cross-Origin Resource Sharing) trips up developers because the rules change based on what kind of request you're making. The browser decides between "simple" requests and "preflight" requests...