Melin's Blog

Latest posts

See all posts
  • ogv.js: Making WebM Play on iPhone with JavaScript Decoding
    Web video compatibility is usually simple until it is not. Most of the time, you reach for the native element, encode an MP4, and move on. But some real-world mobile browsers co...
  • When Should JavaScript `WeakMap` Be Used?
    Most JavaScript applications can run perfectly well without WeakMap . That is part of what makes WeakMap easy to ignore. It is not a daily-use feature like Array.map() , Promise...
  • File Uploads Can Be Triggered Without Using an `input type="file"`
    For a long time, file uploads on the web have meant one thing: an element with type="file" . It is simple, reliable, and still very capable. You can use accept to limit selectab...
  • Minimal JavaScript Clipboard Copying: From `execCommand()` to the Clipboard API
    Copying text to the clipboard looks like a tiny feature until you need it to work reliably across browsers, old enterprise environments, local demos, and modern HTTPS applicatio...
  • Broaden Your Horizons: Web Development API Properties That Start With `current`
    In web development, we often use familiar properties like target , src , style , or value . But scattered across browser APIs are several less obvious properties that start with...
© 2026 • Melin
Press Esc or click anywhere to close