Stoyan Stefanov 's Avatar

Stoyan Stefanov

@stoyan.me.bsky.social

stoyan.me, PerfPlanet, "JavaScript Patterns", "React: Up & Running", YSlow, SmushIt. Formerly of Facebook, WebPageTest, Yahoo

1,392 Followers  |  241 Following  |  285 Posts  |  Joined: 23.12.2023  |  2.0484

Latest posts by stoyan.me on Bluesky

Links, Resources, and Humans of Note - Infrequently Noted Alex Russell on browsers, standards, and the process of progress.

Just published a new section on my site to capture references to a lot of the essential web performance and fundamentals-oriented webdev resources I find myself continually directing folks to. Also, lots and lots of links to blogs I love:

infrequently.org/links/

16.07.2025 09:45 β€” πŸ‘ 45    πŸ” 15    πŸ’¬ 2    πŸ“Œ 1
Post image

Ha! @11ty.dev folks have opened a Beverly Hills location /cc @zachleat.com

11.07.2025 20:33 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Not the web-type of performance

16.06.2025 23:19 β€” πŸ‘ 10    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Phil Hawksworth
Tammy Everts
Tim Kadlec
Marcy Sutton Todd
Harry Roberts
Michal Mocny
Vinicius Dallacqua
Umar Hansa
Andy Davies

Phil Hawksworth Tammy Everts Tim Kadlec Marcy Sutton Todd Harry Roberts Michal Mocny Vinicius Dallacqua Umar Hansa Andy Davies

performance.now() conference by @ppkoch.bsky.social and friends is back again for another edition: perfnow.nl

2 days, single-track, 100% web performance geekout happening 30th and 31st of October in Amsterdam. First 9 speakers announced, tickets on sale now.

26.05.2025 22:33 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Screenshot of the blog post

Screenshot of the blog post

highperformancewebfonts.com/read/pick-ch...

A quick JS snippet that adds a feature to fontdrop.info to hand pick characters for subsetting with Glyphhanger. You click around and get a command generated that looks like:

$ glyphhanger --format=woff2 --subset="font.otf" --whitelist="U+0025,U+0026...

25.05.2025 17:45 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Kohler (manufacturer of toilets) let me upload a photo of my toilet on their site and they figured out the model so I can get the correct spare parts. Would you look at that, not all AI is useless...

27.04.2025 00:57 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Font sizing intensifies

25.04.2025 20:17 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
How Stoyan Stefanov Makes Coding a Creative Process (w/ Scott Tolinski from Syntax.fm)
YouTube video by JavaScript Conferences by GitNation How Stoyan Stefanov Makes Coding a Creative Process (w/ Scott Tolinski from Syntax.fm)

A chat with @tolin.ski of @syntax.fm with a nice NYC backdrop, recorded at @jsnation.gitnation.org
www.youtube.com/watch?v=JG7u...

24.04.2025 01:19 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
A Performance Maturity Matrix Optimizing the performance of a digital product goes beyond technical tweaks. You have to make systematic changes to the organization behind it. So how to know what part of the system to work on first...

most up and coming: most up and coming: calendar.perfplanet.com/2022/a-perfo... by @screenspan.net

09.04.2025 00:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Digging through Chrome traces: an introduction with an example Introduction to Chrome tracing What is a Chrome trace? If you're just getting started learning about tracing, you should read this fantastic introduction from the Perfetto tracing documentation. I l...

This month's most popular perfplanet article (according to google search console) calendar.perfplanet.com/2023/digging... by @anniesullie.com

09.04.2025 00:15 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 2    πŸ“Œ 0

^^^ Dunning-Kruger in action: if you point someone else's lack of ALT text, you inevitably forget your ALT text too

08.04.2025 17:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

lazy, aren't we?

08.04.2025 15:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Post image

Read in 2025 so far, in an attempt to work on my attention span

03.04.2025 17:56 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Screenshot of a tool that converts markdown to powerpoint

Screenshot of a tool that converts markdown to powerpoint

I need to make like a 100 slides for a class I'm taking and I found this little tool is perfect www.markdowntoolbox.com/tools/conver...

31.03.2025 22:05 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

There's a special place in Hell for sites with custom <select>s and no keypress handling

28.03.2025 18:45 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Standard Ebooks Free and liberated ebooks, carefully produced for the true book lover. Download free ebooks with professional-quality formatting and typography, in formats compatible with your ereader.

I decided to help the standardebooks.org project by contributing a new Edith Wharton book. This basically means taking a Project Gutenberg copy and cleaning it up to match the standards and best practices to produce an ebook (which is all HTML turns out!) github.com/stoyan/edith...

24.03.2025 15:50 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
ABCjs Music Notation with Playback See all the White Piano Keys in ABC notation and MIDI numbers

Started playing with ABC music notation and ABCjs library. Here's a helper/lookup/test page with a list MIDI and ABC notation of the 88 keys of a piano
www.onlinemusictools.com/abcjs/

23.03.2025 21:41 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

update: not only my subdomain. I tried a random one and it was also blocked

06.03.2025 18:29 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Rendering: repaint, reflow/relayout, restyle What do all these "R" words mean? How does the browser go about displaying your page on the screen, given a chunk of HTML, CSS and possibly JavaScript? When do these processes hurt the user experience...

and many more! calendar.perfplanet.com/2009/renderi...

18.02.2025 19:41 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image

I found one here (next to Firebug and something called "PageTest" :D ) calendar.perfplanet.com/2009/perform...

18.02.2025 19:39 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Preview
Balkanesque: duet for two pianos Shop and Buy Balkanesque: duet for two pianos sheet music. Piano Duet sheet music book by Stoyan Stefanov: Augmented Second at Sheet Music Plus. (A0.1595786).

A first: I have a piece of music now available to buy on a couple of the big sheet music sites

17.02.2025 23:26 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

The bad: all the Windows machines' Edge browsers refused to connect to my Vercel subdomain. Weird because vercel.com works, vercel.app works (redirects to .com) but not the fontes-locais[DOT]vercel[DOT]app

17.02.2025 22:59 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 3    πŸ“Œ 0
Local Fonts inspector This little app aims to gather data about locally available fonts across devices and operating systems. The data and the code is open-source, available on GitHub.

I went to Costco to use their computers for a few extra data points for my local fonts study: fontes-locais.vercel.app. The good: even without admin password I was able to download Chrome (required for the study because of `queryLocalFonts()` support) and run it without installing it...

17.02.2025 22:59 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

And skipping protocol e.g. "https://" could "win" you 7 more characters before the shortening kicks in

14.02.2025 19:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Post image Post image

getting all "scientific" on linkedin's URL shortening logic. Seems like URLs > 26 characters are shortened in posts, but left alone in comments

14.02.2025 19:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
Web MIDI Keyboard An extremely simple and lightweight keyboard web app

My one-55k-unzipped-html-file is now a functioning PWA so I can have an offline, unobtrusive (no tracking, no in-app purchases, etc) piano keyboard even on iOS
www.onlinemusictools.com/kb/
(One step closer to absolute pitch training: when I hear a random car beep I can check the pitch, wohoo!)

13.02.2025 21:11 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

I turned on Reduced Motion on my iPhone and I must say, so far, I kinda prefer it

13.02.2025 08:23 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

My first blog post is 20 years ago, in 2005. I just counted the number of broken external links: 584 out of 2808 (20%), that's a bit excessive. Some are not really broken, e.g. chatgpt gives a 403 to my cURL request, webpagetest gives me 429. But still, wowzers, a lot of dead bodies in 20 years.

12.02.2025 20:31 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

yup, sorry for the typing laziness

12.02.2025 18:43 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

kinda related... also add PO to the the email sender, because it's currently The Organizers and it provokes a little "huh?" reaction.

But still Kudos for organizing it all!

11.02.2025 21:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@stoyan.me is following 20 prominent accounts