Misha @mkrl.xyz · 15/09/2026I got two! Set bonus: stacks with @jsheroes.io mug in the background. 031
Misha @mkrl.xyz · 15/09/2026it's done, but the edits are not visible here pdsls.dev/at://did:plc... experiment failed successfully!pdsls.devat://mkrl.xyz/app.bsky.feed.post/3mvkkamhqwc2b 100
Reposted by MishaErik Rasmussen @erikras.com · 09/09/2026📢 I'm officially looking for a new job. You hiring? Full time, remote from Spain, paid via EOR, IC, TypeScript, no crypto, support for 3-4 conference speaking gigs/year. Share plz. 🙏 DMs open. 22215
Misha @mkrl.xyz · 09/09/2026hey you're supposed to plug the workshop link into posts like this! see you soon 010
Misha @mkrl.xyz · 07/09/2026I can't believe I missed that I was also genuinely convinced clicking this button would make me suddenly learn french 100
Misha @mkrl.xyz · 07/09/2026sometimes I wish we could do even MORE monkey-patching obviously, for research purposes only 011
Misha @mkrl.xyz · 07/09/2026Thanks to how portable the original QuickJS is (and to modern C tooling brought in by quickjs-ng) it turned into a fun weekend project. String indexing, arguments, atomics element positions, anything I could think of that used to start at 0. Get the binaries here: github.com/mkrl/qu1ckjs/releasesgithub.comRelease v0.16.2 · mkrl/qu1ckjsQu1ckJS, a JavaScript engine where collections start at 1 - Release v0.16.2 · mkrl/qu1ckjs 110
Misha @mkrl.xyz · 07/09/2026I always wanted to recompile a browser and make arrays start at 1 to see how the web breaks. While an entire browser is a bit too much work, a compact JS engine is pretty doable. Meet Qu1ckJS - a JS engine where indexed collections start at 1! Play around with the REPL here: mkrl.xyz/qu1ckjs 4161
Misha @mkrl.xyz · 21/08/2026Listening to @danabra.mov on @syntax.fm talking about atproto gave me a mad idea I want to build a "community box" of sorts: a physical device that enables posting to a PDS that is contained on the device itself a low-powered shitty server that is only online during events, powered by a hand crank 020
Misha @mkrl.xyz · 06/08/2026It's live on the Web Store! chromewebstore.google.com/detail/hpmeg... Because a lot of the web is SPA those days, I sometimes forget I have this installed. Then, when my bank or GitHub starts spinning, I experience joy unlike any other.chromewebstore.google.comTransitioner - Chrome Web StoreAdds random fun transitions when navigating between pages on the same origin. 030
Misha @mkrl.xyz · 04/08/2026@developer.chrome.com Web Store TBA, but you can play around with it unpacked here github.com/mkrl/transit... Safari may be added later as cross-document view transitions are supported, not yet fully landed to @webdevs.firefox.comgithub.comGitHub - mkrl/transitioner: Spice up you boring day-to-day browsing of the Web with random View Transitions!Spice up you boring day-to-day browsing of the Web with random View Transitions! - mkrl/transitioner 000
Misha @mkrl.xyz · 04/08/2026Made a browser extension that randomly adds silly cross-document view transitions to all websites. Now it's time to create a collective repository of silly transitions for all of us to share. 1354
Misha @mkrl.xyz · 31/07/2026Turns out you can fit an entire snake game into a single <div> with CSS border-shape mkrl.xyz/border-snake/ 2567
Misha @mkrl.xyz · 07/07/2026I'm happy to chat and meet up any time! We're hosting this month' @warsawjs.com tomorrow, it's a shame you're not here a week earlier 000
Misha @mkrl.xyz · 25/06/2026It started with playing around with html-in-canvas, however the end product contains none at all. Videos are directly saved into a local folder (or OPFS for @webdevs.firefox.com and Safari). Encode into a bunch of cool formats with WebCodecs. You can even display an arbitrary floating window! 010
Misha @mkrl.xyz · 25/06/2026My conference tech demo accidentally turned into capturing.website I always wanted to build a simple full-featured screen recorder based purely on web standards. Turns out, you can fit recording, processing and encoding in under 200kb (probably could have pushed it even lower). 290
Misha @mkrl.xyz · 16/05/2026I took a picture of @twnsnd.com taking a picture of @jeremias.codes taking a picture of Richard taking a picture of his flat white. 0310
Misha @mkrl.xyz · 14/05/2026I'm absolutely charmed and positively delighted by this talk @cydstumpel.nl @jsheroes.io All in on RFWS™ 071
Misha @mkrl.xyz · 14/05/2026it's fascinating how much stuff just barely holds itself together in real life is it still live? I need too book a vacation 110
Misha @mkrl.xyz · 30/04/2026Damn, exactly what happened to us trying Vite 8, I'm definitely giving this a try ❤️ We postponed the upgrade because of the massive chunking difference that ultimately led to worse metrics. Rolldown seemed much more aggressive in splitting automatically (in theory it's good, but not all the time). 120
Misha @mkrl.xyz · 22/04/2026Usually I start with another draft, keep writing until it's absolutely massive, then spend 3 weeks updating dependencies in my blog, adding features that are nice to have for this particular post, fiddling with illustrations and giving up after a month. Then rinse and repeat. 020
Misha @mkrl.xyz · 10/04/2026my dumb ass read this as "`handleSubmit` is only used in contexts where memoization provides no benefit. It is pathetic" 😩 that's lovely! I couldn't find the rule anywhere in the Sentry org, is it public / can we see the code? 130
Misha @mkrl.xyz · 07/04/2026Just went to report a bug in @voidzero.dev formatter. Spent 30 minutes setting up a classic reproduction repo. Then discovered playground.oxc.rs. It has an option to compare with prettier directly and if there's a difference IT FILLS OUT THE ISSUE TEMPLATE FOR YOU. I absolutely love it 2733
Misha @mkrl.xyz · 05/04/2026yes! I think Jellyfin being ugly is the main reason I am still on Plex 330
Misha @mkrl.xyz · 01/04/2026spent 6 months trying to figure out pricing for my developer products: per-seat, usage based, "contact sales"? introducing promise-based billing. honestly IMO it's the most honest pricing model in tech: - generous free tier for sync APIs - real customers pay for promises 000
Misha @mkrl.xyz · 16/02/2026As a child growing up in a post-soviet country I had a recurring nightmare of getting lost in a maze of eastern bloc buildings. A while ago I got to play Townscaper and had an idea "what if I make one, but depressing?". Quick Three.js prototype on Sunday scratches the itch. 020
Misha @mkrl.xyz · 22/01/2026Perfect! Let's check one more time just to be sure! Just one more time bro I promise. 010
Misha @mkrl.xyz · 07/01/2026You can actually do a lot with Logitech mice on Linux with github.com/pwr-Solaar/S... Rebinding keys, pairing receivers (even for devices no longer supported on other modern platforms) and checking the battery status!github.comGitHub - pwr-Solaar/Solaar: Linux device manager for Logitech devicesLinux device manager for Logitech devices. Contribute to pwr-Solaar/Solaar development by creating an account on GitHub. 010
Misha @mkrl.xyz · 29/12/2025Oh dear, I could probably write a very similar thread on the Warsaw public transit API. Just look at the website! api.um.warszawa.plapi.um.warszawa.pl 220
Misha @mkrl.xyz · 10/11/2025...just be sure it still has enough color contrast! While it does indeed look cool, it can break familiar cognitive patterns. Users can rely on selection visibility for many different needs. 050
Misha @mkrl.xyz · 14/10/2025alright, #BadUXWorldCup is too fun to pass up how about a virtualized date picker? "virtualized" as in "virtual machine" surprisingly easy to operate, just write some bytes to input a date here's me entering the birthday of Internet Explorer, get creative with yours! mkrl.xyz/virtualized-... 2101
Misha @mkrl.xyz · 15/09/2025Today I had one of those dreams when you wake up and write your genius idea down. my notes: - hypothetical assertions in @vitest.dev - expect(n).toWouldHaveBeenCalled - expect(n).toMayHaveBeenCalled in my morning mind this was revolutionary, unlocking branching reality timeline API 020
Misha @mkrl.xyz · 29/08/2025There's no way you don't qualify for a free Copilot licence as a maintainer. docs.github.com/en/copilot/h... I have this license and it gives you access to just about all the models, including Claude.docs.github.comGetting free access to GitHub Copilot Pro as a student, teacher, or maintainer - GitHub DocsLearn how to use Copilot Pro for free as a student, teacher, or open-source maintainer. 000
Misha @mkrl.xyz · 23/08/2025This is so cool. One of the best explainers on this topic I've seen so far. 050
Misha @mkrl.xyz · 06/08/2025you: vibecode the next billion $$$ saas with claude opus 4 max 20x me: javascript event loop book for kids with gemini g.co/gemini/share... 010
Misha @mkrl.xyz · 02/08/2025Damn @ollie-williams.bsky.social already posted this while I was making that codepen :D 000
Misha @mkrl.xyz · 02/08/2025I don't think it is possible for completely dynamic arbitrary values, but if you know a set of values in advance, perhaps you could pre-generate some :has CSS selectors like this? codepen.io/mkrl/pen/qEO... 100