Sign in

Misha

@mkrl.xyz
190 followers 293 following 98 posts

Software Engineer / Developer Experience I will speak at your conference for food! Unpublished author, monthly host @warsawjs.com

PostsRepliesMedia
Misha @mkrl.xyz · 15/09/2026
I got two! Set bonus: stacks with @jsheroes.io mug in the background.
031
Misha @mkrl.xyz · 15/09/2026
it's done, but the edits are not visible here pdsls.dev/at://did:plc... experiment failed successfully!
pdsls.dev
at://mkrl.xyz/app.bsky.feed.post/3mvkkamhqwc2b
100
Reposted by Misha
Erik 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/2026
hey you're supposed to plug the workshop link into posts like this! see you soon
010
Misha @mkrl.xyz · 07/09/2026
I can't believe I missed that I was also genuinely convinced clicking this button would make me suddenly learn french
a screenshot of bluesky UI that says "The post you’re replying to was marked as being written in French by its author. Would you like to reply in French?"
100
Misha @mkrl.xyz · 07/09/2026
sometimes I wish we could do even MORE monkey-patching obviously, for research purposes only
011
Misha @mkrl.xyz · 07/09/2026
it's the way it's meant to be!
010
Misha @mkrl.xyz · 07/09/2026
Thanks 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/releases
github.com
Release v0.16.2 · mkrl/qu1ckjs
Qu1ckJS, a JavaScript engine where collections start at 1 - Release v0.16.2 · mkrl/qu1ckjs
110
Misha @mkrl.xyz · 07/09/2026
I 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/2026
Listening 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/2026
It'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.com
Transitioner - Chrome Web Store
Adds 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.com
github.com
GitHub - 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/2026
Made 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 · 01/08/2026
I might just do that!
000
Misha @mkrl.xyz · 31/07/2026
Turns 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/2026
I'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/2026
It 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/2026
My 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/2026
the loop is closed
1100
Misha @mkrl.xyz · 16/05/2026
I took a picture of @twnsnd.com taking a picture of @jeremias.codes taking a picture of Richard taking a picture of his flat white.
a group of people taking a picture of the second best latte art made on that day
0310
Misha @mkrl.xyz · 14/05/2026
I'm absolutely charmed and positively delighted by this talk @cydstumpel.nl @jsheroes.io All in on RFWS™
071
Misha @mkrl.xyz · 14/05/2026
it'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 · 14/05/2026
look, the man says things I can stand behind!
030
Misha @mkrl.xyz · 30/04/2026
This incident will be reported
030
Misha @mkrl.xyz · 30/04/2026
Damn, 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/2026
Usually 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/2026
my 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/2026
Just 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
a screenshot from playground.oxc.rs displaying oxfmt and prettier output side by side. there's a button that says "report diff" because the outputs are different
2733
Misha @mkrl.xyz · 05/04/2026
yes! I think Jellyfin being ugly is the main reason I am still on Plex
330
Misha @mkrl.xyz · 01/04/2026
spent 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 · 09/03/2026
Thank you for your kind words!
010
Misha @mkrl.xyz · 16/02/2026
As 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/2026
Perfect! Let's check one more time just to be sure! Just one more time bro I promise.
A Github Copilot agent chat window with endless "The file looks good, let's run one more check" calls to run a script in terminal.
010
Misha @mkrl.xyz · 07/01/2026
You 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.com
GitHub - pwr-Solaar/Solaar: Linux device manager for Logitech devices
Linux device manager for Logitech devices. Contribute to pwr-Solaar/Solaar development by creating an account on GitHub.
010
Misha @mkrl.xyz · 01/01/2026
2026 goals: ship a thick snowman to production ✅
an almost anatomically correct snowman with a big butt, viewed from the behindan almost anatomically correct snowman resembling a muscular man with a big nose and a moustache
130
Misha @mkrl.xyz · 31/12/2025
Likewise! Bring the cat food.
020
Misha @mkrl.xyz · 31/12/2025
So far the most (and the last!) last-minute thing done for the year.
140
Misha @mkrl.xyz · 31/12/2025
I'm so happy someone else got to experience that.
030
Misha @mkrl.xyz · 29/12/2025
Oh dear, I could probably write a very similar thread on the Warsaw public transit API. Just look at the website! api.um.warszawa.pl
api.um.warszawa.pl
220
Misha @mkrl.xyz · 28/12/2025
This is cursed. I enjoyed reading the code.
110
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/2025
alright, #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/2025
Today 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 · 11/09/2025
Most average Angular talk in Poland @warsawjs.com
020
Misha @mkrl.xyz · 11/09/2025
Damn, if you're not applying, I'm applying!
010
Misha @mkrl.xyz · 29/08/2025
There'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.com
Getting free access to GitHub Copilot Pro as a student, teacher, or maintainer - GitHub Docs
Learn how to use Copilot Pro for free as a student, teacher, or open-source maintainer.
000
Misha @mkrl.xyz · 23/08/2025
This is so cool. One of the best explainers on this topic I've seen so far.
050
Misha @mkrl.xyz · 06/08/2025
you: vibecode the next billion $$$ saas with claude opus 4 max 20x me: javascript event loop book for kids with gemini g.co/gemini/share...
A book page that has text: "But what if Callie was busy baking a big cake (a long-running task on her Call Stack), and a tiny note arrived saying, 'Quick! Add a pinch of salt!'? Manny knew this was a microtask, so he'd give that tiny note to Speedy Sam for his urgent queue."
010
Misha @mkrl.xyz · 02/08/2025
Damn @ollie-williams.bsky.social‬ already posted this while I was making that codepen :D
000
Misha @mkrl.xyz · 02/08/2025
I 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