Sign in

Artem Zakharchenko

@kettanaito.com
4.8K followers 226 following 5.7K posts

Software engineer. Author of mswjs.io and @bytebinding.com. Teacher at EpicWeb.dev and egghead.io. Storyteller @zakarcher.com. My debut book "LOGGERHEADS" is out 👇 zakarcher.com/books/loggerheads

PostsRepliesMedia
Artem Zakharchenko @kettanaito.com · 12h
I got to design two new logos today! Woohoo!
011
Artem Zakharchenko @kettanaito.com · 19h
Come 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.tech
FrontKon
Full-day live conference of the Frontendisti.cz community
141
Artem Zakharchenko @kettanaito.com · 21h
Now, that's a chunky proposal, indeed.
2131
Artem Zakharchenko @kettanaito.com · 21h
What 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 · 28/09/2026
It appears I've got a release that fixes.
A list of software fixes with bullet points and checkmarks, highlighting specific terms in blue such as "forbidden" and "Native."
030
Artem Zakharchenko @kettanaito.com · 26/09/2026
I 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/2026
Maybe 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/2026
Wait, "ffs" doesn't stand for "fancy file system"..?
361
Artem Zakharchenko @kettanaito.com · 26/09/2026
Everything, 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/2026
Imagine software that actually solves your problems.
010
Artem Zakharchenko @kettanaito.com · 25/09/2026
I 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/2026
It's a patch version, have mercy!
020
Artem Zakharchenko @kettanaito.com · 25/09/2026
Being 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/2026
I'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/2026
Take a good look at MSW's website because things are about to change 👀 mswjs.io/
mswjs.io
Mock Service Worker
API mocking library for browser and Node.js
050
Artem Zakharchenko @kettanaito.com · 24/09/2026
The 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/2026
Have to make some changes to the EPUB of my book, which gives me one more reason to dogfood @bytebinding.com. Nice.
A screenshot of the Byte Binding application open on the book details page, featuring the cover image for the book Loggerheads.
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.com
Electron to PWA: There and Back Again
Lessons learned from rewriting an Electron application as a progressive web app.
3161
Artem Zakharchenko @kettanaito.com · 23/09/2026
It 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/2026
The 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/2026
Man, 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.
Icons of various animals: dog, moose, rat, dove, zebra, each with a sound button indicating the sounds they make.
030
Artem Zakharchenko @kettanaito.com · 22/09/2026
Imagine 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/2026
Thank you so much for sponsoring my work on GitHub, @dangitalex.wtf! 🎉 You're the best.
080
Artem Zakharchenko @kettanaito.com · 22/09/2026
I 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/mswjs
github.com
Sponsor @mswjs on GitHub Sponsors
Mock Service Worker is an API mocking library for browser and Node.js.
23012
Artem Zakharchenko @kettanaito.com · 22/09/2026
All 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/2026
I'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.com
Books
Books 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/2026
An oddly satisfying diff.
0100
Artem Zakharchenko @kettanaito.com · 21/09/2026
This 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.
Code snippets illustrate proper and improper cleanup methods for WebSocket tests, emphasizing memory management in asynchronous operations.
2364
Reposted by Artem Zakharchenko
Rob MacWolf, Werewolf Hitchhiker @robmacwolf.thevoice.dog · 14/09/2026
Going 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/2026
When 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/2026
Come 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...
A photo of me giving a public talk in front of a crowd.
071
Reposted by Artem Zakharchenko
Anthony Fu @antfu.me · 16/09/2026
It'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.me
Pluggable, Extensible, and Playful DevTools
Introduction to Devframe, a framework for building pluggable, extensible, and playful DevTools.
614630
Artem Zakharchenko @kettanaito.com · 15/09/2026
I 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/2026
MSW 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.com
GitHub - 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/2026
It'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.
A TypeScript test file using Vitest to check a code snippet’s functionality, specifically for copying code to the clipboard.
4671
Reposted by Artem Zakharchenko
Byte Binding @bytebinding.com · 14/09/2026
We 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/2026
There 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/2026
In 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 Zakharchenko
Indie Book Spotlight @bookspotlight.bsky.social · 12/09/2026
Love this quote @kettanaito.com 🔥 [ #booksky ]
Rebecca Crunden is on page 38 of 81 of Loggerheads: 'What had made him pursue music? Had he done it for those who would listen to him or solely for himself? So much struggle for something that hardly mattered. But then he remembered. It was nothing like that. There was no single moment in time, no traceable thought that had convinced him to do it. In fact, he did not pursue anything. The music was pursuing him.'
1141
Artem Zakharchenko @kettanaito.com · 12/09/2026
Why would I rate my own book? What kind of elaborate trap is this? No author should be the subject of such open cruelty.
The rating prompt from Goodreads for me to rate my own book.
030
Artem Zakharchenko @kettanaito.com · 12/09/2026
What a heartwarming review to see 😊 I hope more people enjoy the stories I write for myself.
Five-star review praising a heartfelt love story, highlighting its engaging nature and satisfying conclusion.
120
Artem Zakharchenko @kettanaito.com · 12/09/2026
Wait, Bluesky now automatically enumerates posts? Let me test that.
150
Artem Zakharchenko @kettanaito.com · 12/09/2026
If 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/2026
Own 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/2026
Apparently 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/2026
I 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/2026
Quickly, JavaScript, I need an API that runs a callback as late as possible. JavaScript: setImmediate
1130
Artem Zakharchenko @kettanaito.com · 10/09/2026
Question: 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/2026
One 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