šŸš€ Independent Web Performance Consultant • Speaker • Google Developer Expert, Web Performance • Accepting new clients • harry.is/for-hire

Leeds, England
A very exciting client next week…
36
2,211
An event in my city has managed to publish an entire weeklong itinerary with… not even a single date.
1
1
422
I have a daily #Vim tip set up in ChatGPT. I has access to my `.vimrc` and sends me something relevant. Sometimesā€Šā€”ā€Šlike todayā€Šā€”ā€Šit’s stuff I already know, which is unavoidable, but other times there’ll be a real gem. A nice little companion to my morning coffee.
3
1,646
If we press ahead, it’ll be about Ā£400 all-in (including the Costco shop) until 19 November. And to test that Pierre can retrieve their own papertrail…
1
1
979
šŸ§‘ā€šŸ³ I have multiple custom GPTs that are trained intently around my own needs. This was a chat with Pierre, my chef pal. Today, I walked around @Costco ONLY taking photos of labels. Then I fed the photos to Pierre and asked… šŸ‘ˆ my input šŸ‘‰ Pierre’s output
1
3
2,408
Here we go…
638
Supported on my Mac šŸ‘ˆ but not on my iPhone šŸ‘‰. Interesting.
2
2
1,199
šŸ‡¹šŸ‡­ Thai chicken noodle soup.
2
420
🄩 Dry brined, reverse seared cÓte de boeuf for me and a pal.
1
6
1,007
In case you were wondering, ChatGPT Projects’ custom instructions have an 8,000 character limit.
2
5
2,408
Examples.
3
584
Replying to @LNER
I’ve used this exact ticket for this exact journey before, no problem.
2
1
742
@OpenAIDevs @dkundel You have 50MB of unoptimised images (all behind redirects, too!) at learn.chatgpt.com/use-cases
2
2
1,880
I’m giving @talatapp a spin! Transcripts and digests have become a core part of my client onboarding/ingest but it’s been unreasonably difficult when every client has a different meeting platform of choice.
1
4
6,824
Another @ChatGPTapp annoyance: I can’t use the new GPT-Live chat from within Projects or GPTs. Anyone else?
1
853
Has anyone else found that this dropdown doesn’t actually switch between your projects (Codex) and your chats (ChatGPT)? I’ve effectively lost ChatGPT on desktop!
5
1
10
4,006
Excited to open my first PR!
3
1
34
4,254
But also
1
1,132
Replying to @thekitze
1
3
1,549
Done! Nice to do a talk on home soil.
3
1,189
Can you believe it’s #webdayout week this week? Tomorrow, I’ll be debuting a new talk here in beautiful Brighton. Who’s gonna be here?
3
1,001
Replying to @maxvoltar
It’s pretty exuberant! I like it but it’s not like many pens I’ve used before. Bought it specifically to write a friend’s birthday card.
1
75
Oh boy…
1
1
15
5,627
When you see things like this, use this: csswizardry.com/max-age/?val… You’re welcome!
8
3,354
It’s basically France.
1
53
šŸ‘ Lamb’s liver and pommes purĆ©e Lamb’s liver in a red wine and smoked bacon sauce. Rosemary–garlic pommes purĆ©e. SautĆ©ed cavolo nero.
1
3
1,989
šŸ§€ Truffle fuet mac and cheese Although nowhere was selling bronze die macaroni so I went with paccheri instead.
2
6
2,938
One of my greatest privileges was being the older brother to two incredible little sisters (and my niece, obviously). Happy holidays to you and yours.
6
19
3,169
🄩 Steak and potatoes Ribeye, pommes purée, garlic greens, and a red wine pan sauce.
1
7
2,389
Tim Cook rubs his little mitts together every time I leave one of these behind at a client’s office.
2
16
3,114
šŸš Caramelised onion risotto and flat iron steak
1
1
2,263
2
9
1,334
šŸŽ‰ Recent results speak for themselves! A client contacted me with the simple goal of getting into Google’s good books. Consider it done.
2
1
11
2,611
šŸœ Miso-soy ramen. Homemade broth, tare, and ajitama.
1
5
2,460
The biggest CLS score I’ve ever seen on a real site. This wasn’t a purpose-built demo or a bug or a weird edge case. This is a perfectly ā€˜normal’ CLS event(s). Ouch!
3
12
1,992
šŸ What a wonderful time in Toronto for @FITC. Thank you for having me!
3
1,628
šŸ… This morning, I made arguably my best shakshuka to date. With the leftovers (Italians, stop reading now), I styled it out into a caponata style sauce and tossed in some casarecce and feta.
2
4
2,467
Thanks for having me, @storyblok! Photo by @jeremenichelli
1
3
1,603
šŸ™ I recently switched to @OctopusEnergy so it’s neat to hear how it’s all put together at #joyconf!
6
1,975
Please stop using `public`. It’s implied by the presence of `max-age` and including it explicitly has almost-definitely unwanted side effects.
2
13
4,234
Replying to @thekitze

ALT Garth Marenghi Darkplace GIF

1
272
The night before!
1
1,142
Yorkshire.
1
7
2,072
Google will do this to a business but never tell them why. This (among other things) is why monopolies are bad.
1
15
3,147
A reminder that Explain Shell exists and it’s great: explainshell.com/explain?cmd…
1
18
2,977
Replying to @christophrumpel
āŒ€ 120 mm. Cute ain’t it?
1
157
Amateur. This morning’s eggs šŸŒŖļø
Ketchup isn’t an option, what are you putting on these eggs?
4
13
5,720
Ouch. That’ll do it.
1
6
2,794
Oh my, I love you, @SpeedCurve ā¤ļø
1
5
1,548
Also from @InfobipShift, in my @SpeedCurve mug.
2
1,233
I wrote a @Cloudflare Worker to attach protocol information as a Server-Timing header. Then I can send that off to @SpeedCurve to compare H1 vs H2 vs H3 performance.
2
1
2,273
My site gets a staggering amount of HTTP/1.1 traffic! My latest screencast shows you how to test different protocols with @RealWebPageTest. Link in next post.
4
7
3,709
A current client has this attached to their (non-versioned, naturally) HTML responses. I’m staggered this hasn’t caused them major issues before.
4
10
4,481
As someone who’s genuinely a bit of a salt and oil nerd, this speaker gift from @InfobipShift is perfect. Thank you!
1
5
2,864
šŸ‡­šŸ‡· An early start to get to @InfobipShift! See you there?
6
2,067
To you, does this icon say ā€˜opens an external site’ or ā€˜opens a new tab/window’?
31
1
10
6,279
The more robust version in full:
1
8
2,242
šŸ–¼ļø Chrome and Firefox both support ::after on alt text:
4
5
37
10,827
🤯 The amount of stuff you can make the @github UI do just by hacking URLs is AMAZING: github.com/csswizardry/csswi…
2
7
3,447
Ahhh I’m actually so glad I just did that.
1,502
Dang! That was under one minute šŸ˜‚
788
šŸŖ„ Binary Code Paths With /**//*//**/ piped.video/watch?v=D_V_cllY…
2
5
2,887
I thought this was kind of a cute idea…
1
10
2,738
🧐 I just did some Sass-only refactoring after switching a legacy project from LibSass to Dart Sass. To make sure it had zero side effects, I just took a checksum of the compiled CSS before and after. Simple; effective.
3
19
2,598
E.g. `--word-diff` and `--word-diff-regex` are magical when dealing with fine-grained changes:
2
4
1,714
✨ Here’s something neat: you can apply `display: block;` to `script` and `style` and show folk the exact, literal snippet you just ran. Great for docs and demo pages. I do it with Obs.js:
1
22
3,022
Set up a plane-like profile in Network Link Conditioner.
1
154
Playing around with some little easter eggs and nice touches.
1
3
3,540
I’ll leave it, thanks…
5
1,617
2
1
1,110
Not to be pedantic, @googleanalytics, but this equation equals 6.5, not 5.
13
1,978
I used this to build a quick obfuscator. This will be great for anonymising @SpeedCurve or @GoogleSearchc Console dashboards before putting them in talks etc. Peep the address bar and tab name, too!
5
1,191
I love @ChromeDevTools’s Snippets, but they don’t take parameters which means you need to change the snippet itself every time. One way around it is to take input from `prompt()`!
3
2
22
4,177
A new @RealWebPageTest screencast just went live to Subscribers. This might be the single best self-administered DX improvement I have. šŸ‘‰ Watch it: csswizardry.gumroad.com/l/su…
2
12
2,063
Neat! M140 added `Save-Data` emulation:
2
1
5
2,576
New in M140!
1
5
5,442
šŸ‘‚The script listens for changes on the Navigator and Battery APIs. It updates classes on the `html` element and also exposes them to a global JS object you can pick up later in your application.
2
1
2,662
🤯 I can’t believe I only learned this yesterday: `//# sourceURL=inline:foo.js`
18
48
412
34,834
I spent the weekend working on a script that detects device and network characteristics. šŸ‘‰ Insiders already have access to the code: csswizardry.gumroad.com/l/su…
5
3
27
8,327
How do you spot a Vim user at a meetup? Don’t worry. They’ll tell you.
5
1
18
3,576
šŸš€ Making @fastly a second faster. Subscribers find out how on Monday. šŸ‘‰ csswizardry.gumroad.com/l/su…
7
6,114
My pals at @suxbyrumvision sent me a gift package!
6
1,469
That’s an @AccidentalP if ever I’ve seen one!
1
1,407
šŸŽžļø Here’s an example one:
1
1
6
2,378
šŸŽ„ I spent a few hours in the office this afternoon recording lots of short-form web perf tips and tricks. Keep an eye out!
3
57
5,523
Set a client up with @SpeedCurve and we’re custom-capturing some more high-fidelity Network and Device information. When people say ā€˜You users could be in the middle of a field!’, most of theirs actually are.
1
1
9
2,024
You can’t park there, mate.
5
16
2,323
That cost almost 70ms, pushing Layout (for just 620 DOM nodes) up to 113ms. By swapping `font-family: Inter, sans-serif;` to `font-family: system-ui, sans-serif;`, Layout was more than halved.
3
1,140
They are spending an unusual amount of time in Layout pre-FCP. They were setting a font stack in which the primary desired font is non-standard and they weren’t using web fonts at all. Because my machine doesn’t have Inter installed, it had to scramble to find a decent fallback.
1
2
1,182
šŸ‘€ When you look at it a little more graphically, it’s quite eye-opening…
1,409