How VisualRefiner converts HEIC, compresses images, and transcodes video with no server, no upload, and no account — using the Canvas API, WebCodecs, and a little WebAssembly.
Most "free online converters" work like this: you pick a file, it's uploaded to a server, converted there, and sent back. That's fine for a meme. It's less fine for a folder of personal photos, a passport...
I Built a Standard for AI Work That Must Survive Verification
AI systems are remarkably good at producing work that looks finished.
They can generate a clean repository, a confident release report, a polished whitepaper, or a detailed technical answer in minutes. But presentation quality creates a dangerous shortcut in human judgment: when something is organized, fluent, and plausible, ...
I never imagined cybersecurity would become part of my life. For years, it felt like a world meant for other people — people who grew up technical, people who understood the language of logs and alerts. I was busy building a different kind of life, one that had nothing to do with SIEM dashboards or process creation events.
And then someone stole a piece of me. The most valuable piece of...
The site works. The forms submit. The pages look right. Is it ready to publish?
That's usually the point where I stop and do a separate launch check.
A vibe coded WordPress site can be safe to publish. A working site can still have launch settings or leftover development files that need attention.
...I run a video compressor that works entirely in the browser.
No upload, no server, nothing leaves the machine. Two of the three bugs below
only showed up when I stopped reading code and started timing things, so I want
to write them down while the numbers are still in front of me.
The pipeline has three paths...
A Markdown parser can produce exactly the right HTML and still leave your application exposed to XSS. Parsing answers what the input means. Sanitization decides which parts of that meaning are allowed to reach an HTML sink.
I tested that boundary with Node.js 25.3.0, Marked 18.0.7, DOMPurify 3.4.12, and jsdom 30.0.1. The important comparison is not a screenshot. It is the HTML before an...