Artem Sapegin's Avatar

Artem Sapegin

@sapegin.me

A coffee first frontend engineer at Stage+, creator of React Styleguidist, and award-losing photographer. Author of Washing your code: https://sapegin.me/book/. Learning to cook at https://tacohuaco.co.

92
Followers
91
Following
190
Posts
20.11.2024
Joined
Posts Following

Latest posts by Artem Sapegin @sapegin.me

Message that the Amp extension is deprecated.

Message that the Amp extension is deprecated.

And this appearing out of nowhere, when I didn't open the extension for days, is just disrespectful.

06.03.2026 14:28 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Ampโ€™s decision to deprecate their VS Code extension is very questionable. Saying that CLI is a better way to use LLMs for coding is an opinion that many, myself included, donโ€™t share. Iโ€™m tired of changing my workflow every week just because someone decided that this is better for me. Itโ€™s not.

06.03.2026 14:26 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

> Will we see a lot of software re-emerging under more permissive licenses? Will we see a lot of proprietary software re-emerging as open source? Will we see a lot of software re-emerging as proprietary?

I think all that plus a lot of paid software replaced by cutom-vibed solutions made by users.

06.03.2026 10:37 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This is a curious article.

06.03.2026 10:35 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

This is a curious article.

> When the cost of generating code goes down that much, and we can re-implement it from test suites alone, what does that mean for the future of software?..

I think all of that plus I expect a lot of paid software will be replaced by cutom-vibed solutions made by users.

06.03.2026 10:35 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Itโ€™s fun to watch how LLM is randomly changing values in TypeScript/ESLint/Vitest/etc config files for a full hour until it somehow starts to work. I usually do exactly the same.

05.03.2026 14:45 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This is probably not a revelation to everyone but with CSS nesting adding reduced motion support is as easy as wrapping your transition (or animation) declaration in a no-preference media query.

div {
/* css styles */

@media (prefers-reduced-motion: no-preference) {
transition: โ€ฆ;
}
}

04.03.2026 14:42 ๐Ÿ‘ 33 ๐Ÿ” 4 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0

This is your reminder that women exist in tech the rest of the year, not just in March. Same for queer, BIPoC, disabled people and every other marginalized group.

Stop inviting us just as a diversity token during the "month of" for your nice PR campaigns! And stop expecting free labor.

Thanks.

04.03.2026 08:40 ๐Ÿ‘ 33 ๐Ÿ” 8 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

another good example of `tabular-nums` in action. must have for columns of right-aligned numbers (tables, invoices, dashboards).

normal table's columns have ragged left edges as digits swap between narrow ("1") and wide ("0", "8") glyphs.

where tabular stays perfectly flush ~

03.03.2026 18:20 ๐Ÿ‘ 3 ๐Ÿ” 2 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
Whatโ€™s New in ViteLand: February 2026 Recap Our February 2026 recap features Oxfmt Beta with 100% Prettier compatibility and 36x faster performance, Vite 8 devtools, Vitest async leak detection, and Rolldown performance gains.

โœจ What's New in ViteLand: February 2026 Recap

โ—† Oxfmt Beta: 100% Prettier conformance
โ—† @vite.dev 8 includes devtools
โ—† @vitest.dev 4.1 beta adds aroundEach/aroundAll hooks
โ—† @rolldown.rs becomes 9.6% faster
โ—† Oxlint now supports 59/61 ts-eslint rules
โ—† NestJS migrates to Vitest
โ—† and much more ๐Ÿ‘€

02.03.2026 13:12 ๐Ÿ‘ 54 ๐Ÿ” 8 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1
Video thumbnail

`tabular-nums` should be the default for any number that updates ( timers, counters, prices, percentages, scores, live data etc ).

you can enable this tnum OpenType feature using the CSS property `font-variant-numeric`.

.tabular-nums {
font-variant-numeric: tabular-nums;
}

02.03.2026 17:19 ๐Ÿ‘ 12 ๐Ÿ” 4 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 1
Web platform features explorer - Map getOrInsert()

โŒ Instead of:

if (map.has(key)) {
return map.get(key);
}
map.set(key, value);
return value;

โœ… Write:

return map.getOrInsert(key, value);

This now works in all browsers!

26.02.2026 20:00 ๐Ÿ‘ 45 ๐Ÿ” 7 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 2

I was just thinking how much it helps to express my assumptions in promts, like "I think it should be done this way..."

26.02.2026 08:17 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Introduction slide to the talk How to Convince People to Care and Invest in Accessibility by Stรฉphanie Walter at axe-con 2026, with an illustration of a woman smiling and watering yellow-leafed plants, one of which is in a pot marked with the universal accessibility symbol. Yellow flowers and purple leaves surround her.

Introduction slide to the talk How to Convince People to Care and Invest in Accessibility by Stรฉphanie Walter at axe-con 2026, with an illustration of a woman smiling and watering yellow-leafed plants, one of which is in a pot marked with the universal accessibility symbol. Yellow flowers and purple leaves surround her.

Also, I've prepared a talk to help designers, who are tired of having accessibility pushed later, or ignored.
February 25, 9am ET (3pm CET) I'll open the design track at #axecon with my talk "How to Convince People to Care and Invest in Accessibility" : www.deque.com/axe-con/sess...

23.02.2026 15:30 ๐Ÿ‘ 15 ๐Ÿ” 8 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0
Preview
axe-con Digital Accessibility Conference | Deque Join us to learn how to build, test, monitor, and maintain digital accessibility. Hosted on February 24-25, 2026, axe-con is completely free and virtual.

Little reminder that axe-con, organised by @deque.com is this week!!
It's a free online, two days (February 24 25) event, with a very nice line up of talks about accessibility and inclusive design.
Want to learn about accessibility? Register, check them live, or catch the replays!

#Accessibility

23.02.2026 15:30 ๐Ÿ‘ 14 ๐Ÿ” 13 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 2
Local Llama 3.1 8B model is answering "How do I center an element using CSS Flexbox?" prompt by writing a bunch of JavaScript code.

Local Llama 3.1 8B model is answering "How do I center an element using CSS Flexbox?" prompt by writing a bunch of JavaScript code.

I've been experimenting with local LLM models for coding ๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ

21.02.2026 09:32 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Also on YouTube's Apple TV app, you can't change order in playlists. We're watching old seasons of Project Runway now, and every time I need to go back to the playlist and choose the _previous_ video, because they added them to the playlist backwards ๐Ÿคฆ๐Ÿปโ€โ™‚๏ธ

20.02.2026 14:13 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I do agree with this part:

> So when more and more people tell me they no longer know what code is in their own codebase, I feel like something is very wrong here and itโ€™s time to reflect.

19.02.2026 10:56 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

This!

I hate that the new iOS is so much worse with turned on reduced motion. It's waaaaay too much motion now, and of a very unpleasant kind โ€” when it's not just fade in or slide in, but the object is kind of wobbly and changes its shape during the transition ๐Ÿคฎ

19.02.2026 08:53 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
prefers-reduced-motion - CSS | MDN The prefers-reduced-motion CSS media feature is used to detect if a user has enabled a setting on their device to minimize the amount of non-essential motion. The setting is used to convey to the browser on the device that the user prefers an interface that removes, reduces, or replaces motion-based animations.

Dear developers,
Please respect the reduced-motion preferences of your users.
I'm tired of your websites making me nauseous.
Motion is fun until it makes your users sick.

Here you go: developer.mozilla.org/en-US/docs/W...

18.02.2026 09:54 ๐Ÿ‘ 88 ๐Ÿ” 27 ๐Ÿ’ฌ 4 ๐Ÿ“Œ 1
An example of an image used to supplement other information. The image is a dog, the alt reads Off-duty guide dogs often wear a bell. Its ring helps the blind owner keep track of the dogโ€™s location. The code for this alternative text is available with that example.

An example of an image used to supplement other information. The image is a dog, the alt reads Off-duty guide dogs often wear a bell. Its ring helps the blind owner keep track of the dogโ€™s location. The code for this alternative text is available with that example.

Accessibility tip of the day: a tool that claims to generate AI alt text, but starts the alt text with "the image is", is not a tool you should use.
Why? Because screen readers already announce images, so adding "image of" is annoying and useless.

17.02.2026 09:17 ๐Ÿ‘ 24 ๐Ÿ” 11 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
AI Agent Lands PRs in Major OSS Projects, Targets Maintainer... An AI agent is merging PRs into major OSS projects and cold-emailing maintainers to drum up more work.

Meanwhile another LLM agent was flying under the radar and had a bunch of its work merged in.
socket.dev/blog/ai-agen...

16.02.2026 00:56 ๐Ÿ‘ 9 ๐Ÿ” 1 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 1

Obsidian uses local files, so all your standard terminal commands work for editing/moving/searching/etc

Obsidian CLI adds everything else:

- interacting with the UI
- internal functions e.g. base queries, orphans, etc
- devtools, console, screenshots, eval, etc

See the CLI docs!

10.02.2026 18:15 ๐Ÿ‘ 116 ๐Ÿ” 14 ๐Ÿ’ฌ 3 ๐Ÿ“Œ 0
Article cover with โ€œProjectโ€ and โ€œNewsโ€ tags and the title โ€œWeb Standards. Daily web platform news.โ€

Article cover with โ€œProjectโ€ and โ€œNewsโ€ tags and the title โ€œWeb Standards. Daily web platform news.โ€

For almost 10 years we published daily web platform news in Russian. I always wanted to do the same in English, and five months ago I started. Yesterday I hit the 100th news on @web-standards.dev ๐ŸŽ‰ Hereโ€™s a story behind the project. Of course, built with @11ty.dev ๐Ÿ˜Ž

pepelsbey.dev/articles/web...

11.02.2026 12:44 ๐Ÿ‘ 10 ๐Ÿ” 6 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
5 accessibility checks to run on every component - zeroheight Hidde de Vries explains how to test components for accessibility, from keyboard support to screen readers and zoom.

Testing accessibility issues at components level is a good first step to make your product accessible.
Hidde De Vries shares 5 quick tests you can run:
- test component keyboard accessibility

11.02.2026 14:02 ๐Ÿ‘ 10 ๐Ÿ” 5 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I've been using it quite a long time ago. Not sure how is it better, especially much...

08.02.2026 09:27 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Are there any other options in 2026?

08.02.2026 09:11 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Post image

Iโ€™ve started posting my photos again, this time on Substack โ€” follow me if youโ€™re there:

substack.com/@sapegin

07.02.2026 10:13 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

The first is real, for sure. Can't say much about how neurotypical folks write code.

04.02.2026 09:12 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
January Google Search performance: only 208 clicks

January Google Search performance: only 208 clicks

The effect of AI on my blog: from 900 clicks per month down to 200 in the last two years...

03.02.2026 08:47 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0