Artem Zakharchenko @kettanaito.com · 19hCome learn tips and tricks of efficient component testing in Vitest from me next week! - Learn how JSDOM works under the hood. - Migrate your tests from JSDOM to Vitest. - Discover how Vitest replaces RTL. Get your tickets 👇 www.frontkon.tech/events/fron...frontkon.techFrontKonFull-day live conference of the Frontendisti.cz community 141
Artem Zakharchenko @kettanaito.com · 21hWhat I want to do with @bytebinding.com is remind people that software can be personal. Not a subscription, not a hefty price tag, but a professional software that you own. The one that understands your problems and helps you solve them. From one author to thousands others. 030
Artem Zakharchenko @kettanaito.com · 26/09/2026I with all testing frameworks did strict (exact) match of accessible names. Sadly, it's loose behavior by default and they demand exact: true, although you want exact matches 99.99% of the time. A partial match might as well give you a false positive match. 240
Artem Zakharchenko @kettanaito.com · 26/09/2026Maybe it's just me, but the book community seems to be much stronger on Bluesky. Honestly, only makes me happy. Authors need a place to share and to speak and to be, no matter where it is. 36966101
Artem Zakharchenko @kettanaito.com · 26/09/2026Wait, "ffs" doesn't stand for "fancy file system"..? 361
Artem Zakharchenko @kettanaito.com · 26/09/2026Everything, absolutely everything must work for the story. Every chapter, ever paragraph, every sentence, every word, every bit of punctuation. If it doesn't, cut it out, promptly and without fear. 010
Artem Zakharchenko @kettanaito.com · 25/09/2026Imagine software that actually solves your problems. 010
Artem Zakharchenko @kettanaito.com · 25/09/2026I need to start public shaming companies and projects that still patch globals in 2026. Nothing speaks of myopic, juvenile API design like mutating things you don't own. Look, one of the alternatives from me, for free: 3200
Artem Zakharchenko @kettanaito.com · 25/09/2026Being an author is lying in bed depressed that drowning someone in a cauldron of broth is too noisy to be used in a stealth scene. 040
Artem Zakharchenko @kettanaito.com · 25/09/2026I've been working this whole month on finishing touches to v3.0 of MSW and I'm both thrilled and super tired. While this release doesn't bring as many breaking changes to the public APIs as 2.0 did, it's times bigger for internal refactoring. 3160
Artem Zakharchenko @kettanaito.com · 25/09/2026Take a good look at MSW's website because things are about to change 👀 mswjs.io/mswjs.ioMock Service WorkerAPI mocking library for browser and Node.js 050
Artem Zakharchenko @kettanaito.com · 24/09/2026The coolest part? Already got three things I wish it did better so I'm adding them right now. Software is magical. 020
Artem Zakharchenko @kettanaito.com · 24/09/2026Have to make some changes to the EPUB of my book, which gives me one more reason to dogfood @bytebinding.com. Nice. 180
Artem Zakharchenko @kettanaito.com · 24/09/2026📰 Today, I write about desktop apps and how PWA fits in there. I spent a year building an app in Electron. Then I migrated it to a PWA. One of these decisions was a terrible mistake and a waste of time. Here's what I learned. kettanaito.com/blog/electro...kettanaito.comElectron to PWA: There and Back AgainLessons learned from rewriting an Electron application as a progressive web app. 3161
Artem Zakharchenko @kettanaito.com · 23/09/2026It is to a great detriment of the user and developer experience that we still think of Electron apps as web apps. They are desktop apps. They have unique sets of concerns and forego some that web apps have. Ignoring that is foolish and results in apps that perform poorly. 140
Artem Zakharchenko @kettanaito.com · 23/09/2026The most brutal part of any tech layoffs is that someone upstairs just divides a spreadsheet in half and anyone who happened to be below the cut is shown the boot. This is why you see directors and other foundational roles being let go. 080
Artem Zakharchenko @kettanaito.com · 23/09/2026Man, I just want to know the proper names of all the sounds a dog makes. I'm not a toddler, I'm a writer, I swear. 030
Artem Zakharchenko @kettanaito.com · 22/09/2026Imagine the value of someone who reads and understands the code in the world that gave up reading the code. Crazy, right? 190
Artem Zakharchenko @kettanaito.com · 22/09/2026Thank you so much for sponsoring my work on GitHub, @dangitalex.wtf! 🎉 You're the best. 080
Artem Zakharchenko @kettanaito.com · 22/09/2026I am losing roughly $800 a month by working on MSW full-time while it's one of the most used projects in the ecosystem. Please, if MSW provides you any value, consider becoming a sponsor. I mean it when I say every contribution counts. Thank you ❤️ github.com/sponsors/mswjsgithub.comSponsor @mswjs on GitHub SponsorsMock Service Worker is an API mocking library for browser and Node.js. 23012
Artem Zakharchenko @kettanaito.com · 22/09/2026All one can do is strive toward the life more exciting than the travel history of their international orders. 000
Artem Zakharchenko @kettanaito.com · 21/09/2026I've been working for the past two years so that this page would show one more book: zakarcher.com/books And also because the commissioned cover for that book is an absolute masterpiece. I'm closer to that goal than ever.zakarcher.comBooksBooks by Zak Archer 080
Artem Zakharchenko @kettanaito.com · 21/09/2026💙📚 Author friends, I implore you to follow @bytebinding.com. I'm building the next generation EPUB editor that will solve a ton of your problems and help you create the ebooks your stories deserve. Public announcement coming soon. 082
Artem Zakharchenko @kettanaito.com · 21/09/2026This is such a silly mistake and yet I see you making it all the time in your tests. ❌ Do NOT run cleanup after assertions ✅ Schedule the cleanup via hooks or use Disposable Objects A seemingly tiny change that'll have tremendous impact on your tests, especially memory-wise. 2364
Reposted by Artem ZakharchenkoRob MacWolf, Werewolf Hitchhiker @robmacwolf.thevoice.dog · 14/09/2026Going to be working on reconstructing and replacing all the Epub files on my Itchio page with @bytebinding.com. They're actually gonna look (at least somewhat) like I want them to, for once! 2163
Artem Zakharchenko @kettanaito.com · 17/09/2026When I was younger, I tried to make it as a designer, but I just couldn't fit in with the community. There was so much negative space. 070
Artem Zakharchenko @kettanaito.com · 17/09/2026Come learn component testing from me in person! Accessibility-first, beautifully set up, and running in a real browser with Vitest. One of my best selling workshops on Epic Web now live. 📆 October 5th, 9:00 🇨🇿 Prague More info: www.frontkon.tech/events/fron... 071
Reposted by Artem ZakharchenkoAnthony Fu @antfu.me · 16/09/2026It's been a while... Introducing Devframe v1.0 🚀 The framework for building DevTools that can run everywhere, for any meta-framework, for both humans and agents. Check out the announcement post and join our Discord 👇devfra.mePluggable, Extensible, and Playful DevToolsIntroduction to Devframe, a framework for building pluggable, extensible, and playful DevTools. 614630
Artem Zakharchenko @kettanaito.com · 15/09/2026I can't believe there are still developers who don't know that TypeScript isn't versioned per semver. Look it up. Have your minds blown. 380
Artem Zakharchenko @kettanaito.com · 15/09/2026MSW add-on for Storybook is downloaded 1,539,807 times per week! That makes it one of the most used add-ons in the entire Storybook ecosystem. Pretty wild. And with the latest release, it's the best way to mock the network in your stories, too. github.com/mswjs/msw-s...github.comGitHub - mswjs/msw-storybook-addon: Mock API requests in Storybook with Mock Service Worker.Mock API requests in Storybook with Mock Service Worker. - mswjs/msw-storybook-addon 0201
Artem Zakharchenko @kettanaito.com · 15/09/2026It's crazy how Vitest has replaced not just JSDOM but also React Testing Library with their Browser Mode. I'm absolutely loving this 😍 Once you write a single test like this, you will never want to go back. 4671
Reposted by Artem ZakharchenkoByte Binding @bytebinding.com · 14/09/2026We are receiving some reports that paid licenses might be reset after the latest update. If you're experiencing this, please re-activate your license in the menu > My License > Activate license. 111
Artem Zakharchenko @kettanaito.com · 14/09/2026There is a special room in hell for those preying on the vulnerable financial state of open source maintainers. 0151
Artem Zakharchenko @kettanaito.com · 13/09/2026In the new version of MSW docs, all code snippets will feature type definitions for all APIs thanks to Shiki's fantastic Twoslash. This will also allow us to drop redundant explanations as you can inspect the types yourself now. 0200
Reposted by Artem ZakharchenkoIndie Book Spotlight @bookspotlight.bsky.social · 12/09/2026Love this quote @kettanaito.com 🔥 [ #booksky ] 1141
Artem Zakharchenko @kettanaito.com · 12/09/2026Why would I rate my own book? What kind of elaborate trap is this? No author should be the subject of such open cruelty. 030
Artem Zakharchenko @kettanaito.com · 12/09/2026What a heartwarming review to see 😊 I hope more people enjoy the stories I write for myself. 120
Artem Zakharchenko @kettanaito.com · 12/09/2026Wait, Bluesky now automatically enumerates posts? Let me test that. 150
Artem Zakharchenko @kettanaito.com · 12/09/2026If you're working on a 2FA in your product, please convince your manager against SMS. That has to stop. It's inconvenient and offers no security. Embrace passkeys and other physical security measures. Thank me later. 2140
Artem Zakharchenko @kettanaito.com · 12/09/2026Own the media you like. Finally got an HDD for all my backups. Not on a cloud, on a physical disk in my drawer. Cheaper and by an order of magnitude more secure. Next, need to hunt down Blurays of my favorite shows that I still don't have. Exciting! 3110
Artem Zakharchenko @kettanaito.com · 12/09/2026Apparently unpopular opinion, but I cannot care less about steampunk or post-apocalyptic settings for the Avatar. They should've continued on the largely unexplored world of the original. Instead, they brushed over one of the best worldbuildings in fiction to give us this. 130
Artem Zakharchenko @kettanaito.com · 11/09/2026I like how iPhone Duo lets me effortlessly judge the objectivity of a reviewer by the sheer fact of them mentioning the crease. Because it is there 🤷 Two, in fact. You don't need the wear to see them, just tilt the phone a bit. 040
Artem Zakharchenko @kettanaito.com · 10/09/2026Quickly, JavaScript, I need an API that runs a callback as late as possible. JavaScript: setImmediate 1130
Artem Zakharchenko @kettanaito.com · 10/09/2026Question: can I schedule a callback to the absolute end of the event loop, no matter how many frames it will have? Example: 332
Artem Zakharchenko @kettanaito.com · 10/09/2026One of the hardest problems in MSW is letting you observe the network BEFORE you decide to handle it or pass through. You likely never gave this much thought, but no other API mocking library works this way. If you defined a mock, you must mock. Not with MSW. 130