Artem Zakharchenko

Artem Zakharchenko

@kettanaito.com

Software engineer. Author of mswjs.io and @bytebinding.com. Teacher at http://EpicWeb.dev and egghead.io. Storyteller @zakarcher.com. My debut book "LOGGERHEADS" is out ๐Ÿ‘‡ https://zakarcher.com/books/loggerheads

4.9K followers231 following5.9K posts

Imagine wasting 40 fucking minutes in GitHub Actions to find out they are just having a bad day and will fail on the last step. Not just slow, but also unreliable. The punch line is that I'm going to be billed by this anyway. Serviceโ„ข

Was at a bookstore recently and saw a gorgeous book set. Picked it up, looked at it closer, and it had a hand with the pinky's farthermost phalanx about the size of the index finger. No artist would ever draw something this stupid. It was AI ๐Ÿคฆ A popular series, mind you.

Matt pulling off my TestJS Summit 2024 outfit is a nice nod โค๏ธ Looks great on you.

Luca Schneider@luca.schneider.is

@reactadvanced.gitnation.org off with a great start ๐Ÿš€ @mattpocock.com is talking about how software fundamentals (automated checks, hardcore linting, API modeling, state) are still beneficial in the AI era.

Because what author doesn't want to juggle fifteen versions of their book to please every storefront? This industry is so rotten.

Artem Zakharchenko@kettanaito.com

TIL Kindle doesn't support IDPF font obfuscation. Instead, they expect you to hand them an unfinished EPUB for KF8 to convert and obfuscate RAW fonts for you. This is the dictionary definition of malicious compliance. Someone at Amazon was too lazy to implement IDPF decryption.

I suppose I should be grateful most storefronts at least agreed on epubcheck for validation. But I wouldn't be surprised if all of them have an arbitrary list of rules that have nothing to do with EPUB compliance.

TIL Kindle doesn't support IDPF font obfuscation. Instead, they expect you to hand them an unfinished EPUB for KF8 to convert and obfuscate RAW fonts for you. This is the dictionary definition of malicious compliance. Someone at Amazon was too lazy to implement IDPF decryption.

This is why the state of EPUB is such trash. Why even have a spec if any vendor can just throw their arms in the air and forego it entirely? This is remarkably stupid and it hurts authors while benefitting only Amazon. I tend to forget how dumb software can get in evil hands.

A kind reminder to rotate your keys. Go to your front doors right now and do just that: rotate the key. You never know when the position of your key has been compromised. You're welcome.

Are there any tech journalists on Bluesky who would be interested in covering a new EPUB editor on the market? I have no ad campaign and nothing to pay you. All I have is a really good software that will solve many of your readers' problems if your readers are writers. Hit me up.

It's remarkable how nothing since D2/Warcraft 3 has managed to scratch the itch left by those games. Some came close, but nothing was exactly that. Might be it's because I liked particular elements of those games.

The best way for me to describe it is the Rexxar campaign. That is the pinnacle of my nostalgia. It's not about ARGP slashing or RTS elements. I've been looking for games with timeless stylized art style and the sense of hero progression that W3 had for all my life.

Artem Zakharchenko reposted

It's once again my privilege to bring you another interview with an outstanding indie author. This time I've been talking to @akairondragon.ca, ahead of the launch of Children of Wrath, book two in her epic dark sci-fantasy saga, All Our Sins. Check out the interview below ๐Ÿ‘‡ ๐Ÿ’™๐Ÿ“š๐Ÿช | ๐Ÿ“ข๐Ÿ“š

Artem Zakharchenko reposted

โœ๏ธ Just published a new post about my most-anticipated CSS proposals from Interop 2027! If youโ€™re not familiar, the Interop project is a collaboration between browsers to pick shared focus areas. Thereโ€™s *so much* good stuff this year, it was hard to pick just 10!

joshwcomeau.comThe Future of CSS โœจ โ€ข Josh W. ComeauEvery year, browser vendors collaborate via the Interop project to synchronize their efforts on new HTML/CSS/JS features. This year, thereโ€™s a ton of super exciting features being considered! In this ...

Can you give me a genuine reason for someone to use a site/app in a color mode (light/dark) different from their current OS mode? So far, the only argument I head was "well this site has a garbage light/dark mode". Okay, say the site has a perfect light/dark modes.

I cannot imagine having everything in the dark mode but expecting this app to be in light mode or vice versa. If the modes are done well, I see no reason to. It'll only be distracting.

Artem Zakharchenko reposted

If you are an indie author, this is a good time to follow @bytebinding.com and join the waitlist. A new EPUB editor is coming to solve some of long-standing pain points you've been having with creating and formatting EPUB. ๐Ÿ’™๐Ÿ“š

If you are an indie author, this is a good time to follow @bytebinding.com and join the waitlist. A new EPUB editor is coming to solve some of long-standing pain points you've been having with creating and formatting EPUB. ๐Ÿ’™๐Ÿ“š

Throughout MSW's history, I doubt most developers understood what "interception at the network level" actually meant. It got thrown around as a marketing term (which it's not) and just repeated everywhere without any elaboration, which only fed the confusion.

View full thread

But what happens is that people (at least, I hope it's still people) just copy-paste your package's description or the first line of the README somewhat mindlessly and then it spreads, diminishing its meaning.

Reminds me how I put "the standard" in the v3.0 description and now, suddenly, MSW is labeled as a standard everywhere I read. Now, it's been a standard for years, there's no deception in that statement. Just goes to show how quickly things got copied and spread.

Throughout MSW's history, I doubt most developers understood what "interception at the network level" actually meant. It got thrown around as a marketing term (which it's not) and just repeated everywhere without any elaboration, which only fed the confusion.

View full thread

At some point, I actually pitched an idea to the Node.js team to have support for the Service Worker API in Node.js. And with the latest advancements in the interception algo, it can be built better than ever today. But it was, ultimately, too broad of an idea and was rejected.

Perhaps, it was a communication failure on my end that the "on the network level" term has got used so lightly used. It is, by all accounts, the biggest benefit of MSW and its technological innovation. Nothing else worked or works like that.

Throughout MSW's history, I doubt most developers understood what "interception at the network level" actually meant. It got thrown around as a marketing term (which it's not) and just repeated everywhere without any elaboration, which only fed the confusion.

What it actually means is that MSW allows to have two things simultaneously: 1. Your requests happen for real. 2. Your can intercept and handle them. Traditionally, API mocking meant a compromise in reality in favor of control. MSW eliminated that compromise at its root.

How it eliminated that compromise, however, differs per environment. It's service workers in the browser but socket-level interception in Node.js. I've seen so many articles attributing its capabilities to service workers while walking about Node.js. That's nonsense!

TIL some companies subsidize domain names for open-source projects. And here I am, paying $50 a year for almost a decade. You should've told me or something. I thought we were friends.

If you want a perspective of how archaic and outdated the reality of e-readers is, just remember that WOFF 1.0 was introduced 16 years ago and it's still not consistently supported on all devices. And this is very far from an exception.

Imagine paying good money for a computer and then getting this level of slopmanship in the OS. It says "Folders" if you can't quite make out. The last two macOS versions are an absolute failure of design. I'm regretting having to update. Please stay away from liquid ass.