#srcset
Chrome is shipping support For lazy-loaded images with srcset, this allows the browser to use the layout width of the image in order to select the source url from the srcset.

groups.google.com/a/chromium.o...
December 5, 2023 at 2:47 AM
got even more powerful.
CDN cropping, srcset generation, and more, now in 5.0.
docs.astro.build/en/reference...
December 5, 2024 at 5:05 PM
TIL about the CSS equivalent to HTML's srcset attribute, image-set
April 21, 2026 at 2:37 PM
Do you know how image srcset and sizes work?
Me neither. And you shouldn’t have to.

Let layout="responsive" find the right values based on your source image, no config needed ✨

Now experimental in 5.0
December 5, 2024 at 8:24 PM
I'm rolling my own <Image> component with srcset+sizes.

Is there a common set of sizes that should be generated for a blog layout?
February 24, 2025 at 3:18 PM
192 #100daysofcode
🍀It's me again, your local overachiever! Through lots of optimizations I got the google lighthouse scores to something "respectable" 😉
🟢added different size images & added to srcset, added srcset to preload for hero image
🟢added width & height to images
December 29, 2025 at 10:34 AM
Eher seitwärts....
Weltweit erster seilloser, seitwärts fahrender Aufzug von thyssenkrupp für den Deutschen Innovationspreis nominiert
<img data-srcset=
www.tkelevator.com
September 21, 2026 at 5:53 PM
whatever this is appears to be taking the "srcset" attribute and using it *as the src attribute*, which then causes everything to break, because srcset isn't a URL!

ugh
April 18, 2025 at 10:02 PM
Responsive images are tough and often implemented incorrectly. With sizes=auto the browser will figure things out.

Chromium supports it, Firefox 150 in two weeks, Webkit in tech preview. I can't wait for this!

https://developer.mozill...
April 17, 2026 at 10:51 AM
- Fornecer tamanhos de imagens responsivo com `srcset`
- Imagens em formatos com melhor compressão como AVIF e WEBP
- Backup pra browsers que não dão suporte a esses formatos com `<picture>`
- lazy loading de imagens below the fold
- usar preconnect pra recursos via CDN
- Usar resource hints
O que você (como front) faria pra otimizar o carregamento images em uma rede social? 🤔

cc @lixeletto.bsky.social @lixeletto.bsky.social
August 31, 2024 at 2:31 PM
I’ve written another article about responsive images. Why can’t I let this topic go? You can look forward to that article next week. In the meantime, check out this amazing header image @tylersticka.com created for it. More soon!
June 6, 2026 at 1:51 AM
🦊 Firefox 150: is now supported.

Lazy-loaded images use their calculated layout size to select from srcset — no more duplicating media queries in HTML.

Read Now 👇
developer.mozilla.org/en-US/docs/...
May 12, 2026 at 3:00 PM
Plus the usual dog photos
Arsenal Chelsea Poorly Drawn
<p>My pipes are unfrozen, Arsenal won, and we are going to Wembley. All in all, a good day. </p><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.poorlydrawnarsenal.com/content/images/2026/02/Untitled---February-3--2026-17.36.png" class="kg-image" alt="" loading="lazy" width="2000" height="2000" srcset="https://www.poorlydrawnarsenal.com/content/images/size/w600/2026/02/Untitled---February-3--2026-17.36.png 600w, https://www.poorlydrawnarsenal.com/content/images/size/w1000/2026/02/Untitled---February-3--2026-17.36.png 1000w, https://www.poorlydrawnarsenal.com/content/images/size/w1600/2026/02/Untitled---February-3--2026-17.36.png 1600w, https://www.poorlydrawnarsenal.com/content/images/2026/02/Untitled---February-3--2026-17.36.png 2100w" /><figcaption><span style="white-space:pre-wrap">Kai Havertz scores against Chelsea</span></figcaption></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.poorlydrawnarsenal.com/content/images/2026/02/Untitled---February-3--2026-17.21.png" class="kg-image" alt="" loading="lazy" width="2000" height="2000" srcset="https://www.poorlydrawnarsenal.com/content/images/size/w600/2026/02/Untitled---February-3--2026-17.21.png 600w, https://www.poorlydrawnarsenal.com/content/images/size/w1000/2026/02/Untitled---February-3--2026-17.21.png 1000w, https://www.poorlydrawnarsenal.com/content/images/size/w1600/2026/02/Untitled---February-3--2026-17.21.png 1600w, https://www.poorlydrawnarsenal.com/content/images/2026/02/Untitled---February-3--2026-17.21.png 2100w" /><figcaption><span style="white-space:pre-wrap">Kai Havertz points to the badge.</span></figcaption></figure><p><strong>React to this drawing</strong></p><p><a href="https://a.feedletter.co/s/0ff1e7ff-4f03-4fbd-8ffb-79ed1ecfb801/1"><strong>👍👍👍</strong></a><strong> - </strong><a href="https://a.feedletter.co/s/0ff1e7ff-4f03-4fbd-8ffb-79ed1ecfb801/2"><strong>👍👍</strong></a><strong> - </strong><a href="https://a.feedletter.co/s/0ff1e7ff-4f03-4fbd-8ffb-79ed1ecfb801/3"><strong>👍</strong></a></p><div class="kg-card kg-signup-card kg-width-regular " style="background-color:#F0F0F0;display:none"> <div class="kg-signup-card-content"> <div class="kg-signup-card-text kg-align-center"> <h2 class="kg-signup-card-heading" style="color:#000000"><span style="white-space:pre-wrap">Sign up for Poorly Drawn Arsenal</span></h2> <p class="kg-signup-card-subheading" style="color:#000000"><span style="white-space:pre-wrap">Join 10K+ subscribers that get an email after every match</span></p> <div class="kg-signup-card-fields"> <input class="kg-signup-card-input" id="email" type="email" required="true" placeholder="Your email" /> <button class="kg-signup-card-button kg-style-accent" style="color:#FFFFFF" type="submit"> <span class="kg-signup-card-button-default">Subscribe</span> <span class="kg-signup-card-button-loading"><svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" viewbox="0 0 24 24"> <circle cx="4" cy="12" r="3"></circle> <circle cx="12" cy="12" r="3"></circle> <circle cx="20" cy="12" r="3"></circle> </svg></span> </button> </div> <div class="kg-signup-card-success" style="color:#000000"> Email sent! Check your inbox to complete your signup. </div> <div class="kg-signup-card-error" style="color:#000000"></div> <p class="kg-signup-card-disclaimer" style="color:#000000"><span style="white-space:pre-wrap">No spam. Unsubscribe anytime.</span></p> </div> </div> </div><h2 id="charity-stream">Charity Stream</h2><p>I'm considering doing a charity stream some time in the next two weeks to raise money for food banks and community fridges around the world. I haven't worked out the date just yet, but I'm thinking you donate a certain amount and I will draw your pets on stream. Everything I make from that (and the shop if you want to donate, don't have pets, but want to get something in return) will go to charity. If that sounds up your alley, <a href="https://www.twitch.tv/poorlydrawnarsenal" rel="noreferrer">follow me on Twitch</a>. </p><p>I haven't streamed in roughly five years, but feeling the urge to put some good into the world. I'll keep you informed of a date when I figure out how computers work again and all that.</p><hr /><figure class="kg-card kg-image-card"><img src="https://www.poorlydrawnarsenal.com/content/images/2024/04/Untitled---April-12--2024-08.59-3-1.jpg" class="kg-image" alt="" loading="lazy" width="2000" height="544" srcset="https://www.poorlydrawnarsenal.com/content/images/size/w600/2024/04/Untitled---April-12--2024-08.59-3-1.jpg 600w, https://www.poorlydrawnarsenal.com/content/images/size/w1000/2024/04/Untitled---April-12--2024-08.59-3-1.jpg 1000w, https://www.poorlydrawnarsenal.com/content/images/size/w1600/2024/04/Untitled---April-12--2024-08.59-3-1.jpg 1600w, https://www.poorlydrawnarsenal.com/content/images/2024/04/Untitled---April-12--2024-08.59-3-1.jpg 2000w" /></figure><figure class="kg-card kg-image-card kg-card-hascaption"><img src="https://www.poorlydrawnarsenal.com/content/images/2026/02/IMG_9236.jpeg" class="kg-image" alt="" loading="lazy" width="2000" height="2667" srcset="https://www.poorlydrawnarsenal.com/content/images/size/w600/2026/02/IMG_9236.jpeg 600w, https://www.poorlydrawnarsenal.com/content/images/size/w1000/2026/02/IMG_9236.jpeg 1000w, https://www.poorlydrawnarsenal.com/content/images/size/w1600/2026/02/IMG_9236.jpeg 1600w, https://www.poorlydrawnarsenal.com/content/images/size/w2400/2026/02/IMG_9236.jpeg 2400w" /><figcaption><span style="white-space:pre-wrap">“Wembley Wembley”</span></figcaption></figure><h2 id="books">Books</h2><p>Reading<br /><em>North Woods </em>by Daniel Mason<br />Still working my way through this one</p><p><br />Recently finished<br /><em>Slaughterhouse Five</em> by Kurt Vonnegut<br /><em>Killers of the Flower Moon</em> by David Grann<br /><em>Carl's Doomsday Scenario</em> by Matt Dinniman</p><p><a href="https://www.poorlydrawnarsenal.com/books/" rel="noreferrer">Here’s a running list of the books I’ve read so far with a one sentence review and a score out of five.</a> </p><div class="kg-card kg-callout-card kg-callout-card-yellow"><div class="kg-callout-text">Poorly Drawn Arsenal is free, but there are other ways to support what I do.<br /><br /><b><strong style="white-space:pre-wrap">Share the newsletter:</strong></b> tell your friends (or your enemies) about it.<br /><br /><b><strong style="white-space:pre-wrap"> Buy some merch: </strong></b>I put a lot of my drawings onto <a href="https://shop.poorlydrawnarsenal.com/" rel="noreferrer">shirts, mugs, posters, stickers, etc.</a> This helps keeps the lights on at PDA Headquarters and you get something in return. Neat!<br /><br /><b><strong style="white-space:pre-wrap">Leave a Comment: </strong></b><a href="#discussion" rel="noreferrer">leaving a comment</a> just lets me know that you like what I’m doing which is sometimes hard to know when you are sending out emails into the ether. <br /></div></div> <script></script> <div id="bluesky-comments-container"> <h3>Comments</h3> <div id="bsky-header"> <div id="bsky-post-stats"></div> <span class="bsky-separator">|</span> <p id="bsky-join-text">Join the conversation on <a id="bsky-post-link" target="_blank" rel="noopener noreferrer">Bluesky</a></p> </div> <div id="bluesky-comments"></div> </div> <script></script> <p></p>
www.poorlydrawnarsenal.com
February 3, 2026 at 11:11 PM
<picture data-title="bretts-favorites-2024-rb.jpg"> <noscript class="loading-lazy"> <source media="(max-width: 640px)" srcset="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb.7412_tw.jpg"/> <source srcset="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb.7412.avif 1x, https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb@2x.7412.avif 2x" type="image/avif"/> <source srcset="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb.7412.webp 1x, https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb@2x.7412.webp 2x" type="image/webp"/> <source srcset="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb.7412.jpg 1x, https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb@2x.7412.jpg 2x"/> <img alt="bretts-favorites-2024-rb.jpg" class="aligncenter" data-at2x="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb@2x.7412.jpg" data-original="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb.7412.jpg" height="226" src="https://cdn3.brettterpstra.com/uploads/2024/12/bretts-favorites-2024-rb.jpg" title="bretts-favorites-2024-rb.jpg" width="800"/> </noscript> </picture> <p>Here we go again with my <a href="https://brettterpstra.com/series/bretts-yearly-top-apps-lists/">yearly roundup</a> of my favorite stuff. I’m going to do this year in a few parts. This one will be all Mac apps, and it will the longest because Mac apps are my favorite.</p> <h3 id="best-new-and-updated-macos-apps">Best new and updated macOS apps</h3> <p>In no particular order, here are some of my favorite new apps, as well as some that received notable updates. As always, this list is not exhaustive, and I welcome you to add your own top picks in the comments. I may even publish an addendum if I made any glaring omissions.</p> <p>Many (most?) of these apps are available on Setapp, which now has over 230 apps. It’s definitely worth the monthly price, and I highly recommend <a href="https://go.setapp.com/stp44?utm_medium=vendor_program&amp;utm_source=Brett+Terpstra&amp;utm_content=link">checking it out</a> if you’re not already a subscriber. It also gives your favorite developers a source of recurring income without forcing them into their own subscription model, which leads to requiring users to have a hundred subscriptions just to use the apps they love.</p> <dl> <dt><a href="https://www.hejki.org/ssheditor/">SSH Config Editor</a> <a class="setapplink" href="https://bit.ly/3DIS6HG">SSH Config Editor</a></dt> <dd>This is a really cool way to interface with your <code class="language-plaintext highlighter-rouge">~/.ssh/config</code> file. It makes it easy to add advanced options, set up tunnels/forwarding, and quickly open connections.</dd> <dt><a href="https://apphousekitchen.com/">AlDente Pro</a> <a class="setapplink" href="https://bit.ly/3PdcXp8">AlDente Pro</a></dt> <dd>I’m loving this one. It’s a battery manager for Mac laptops that allows you to set a max charge level and keep your Mac there. It’s supposed to be hard on a battery to be at 100% all the time, so if your laptop is plugged in more often than not, this will keep that from happening. It also offers a lot of info on your battery, can get actual hardware charge levels, and even controls the light on your magsafe cord to show you when you’ve reached <em>your</em> fully charged level, when it’s charging, and when it’s discharging.</dd> <dt><a href="https://www.inyourface.app/" title="In Your Face-The meeting reminder app">In Your Face</a> <a class="setapplink" href="https://bit.ly/3Dtz0Fr">In Your Facee</a></dt> <dd>I miss meetings. A lot. I look at the calendar and think, “oh I have 15 minutes, I could finish up this code before the meeting,” then get so absorbed that I miss the little notification from Calendar and show up 20 minutes late, if at all. This app takes over your whole screen with customizable alerts that make it absolutely impossible to miss a meeting. A life (and job) saver.</dd> <dt><a href="https://soulver.app/" title="Soulver 3-Notepad Calculator App for Mac, iPad &amp; iPhone">Soulver</a> <a class="setapplink" href="https://bit.ly/4fBLWX8">Soulver</a></dt> <dd>Not a new app by any means, but I’ve really gotten into using it this year. I’m not great at math. I have to break down complex problems to solve them, and with Soulver I can kind of write out my thoughts in sentence form and get the answers I need from them. Perfect.</dd> <dt><a href="https://boltai.com/" title="BoltAI • Native, high-performance AI app for Mac">BoltAI</a> <a class="setapplink" href="https://bit.ly/3Dyr7ig">BoltAI</a></dt> <dd>A friend asked me about which AI app they should get, given the over saturation of the market at this point. This one stands out above the herd, allowing for easy chats with any available LLM, hotkey access with Quick Action style input, temporary and permanent chats, and more. It does it all in an easy to grok way.</dd> <dt><a href="https://binarynights.com/" title="Forklift 4">Forklift</a> <a class="setapplink" href="https://bit.ly/4gwNnHG">Forklift</a></dt> <dd>I use Finder a lot, but when I’m deep into organizing or want to work with a cloud/FTP server, Forklift is where I turn. Frequently updated and rock solid.</dd> <dt><a href="https://bjango.com/mac/istatmenus/" title="iStat Menus">iStat Menus</a> <a class="setapplink" href="https://bit.ly/4gtJfZf">iStat Menus</a></dt> <dd>iStat Menus saw a major update this year, and it’s awesome. There’s a “unified” menu bar item that can combine whatever information you like into one menu bar item. I have that and the weather icon in my menu bar, with system/network stats tucked away in my Bartender secondary menu bar. It’s elegant and useful.</dd> <dt><a href="https://signal.org/" title="Signal &gt;&gt; Home">Signal</a></dt> <dd>However you feel about the state of the world, it’s becoming increasingly important to protect privacy where you can. Apple Messages is great for end-to-end encrypted chat with other Apple users, but for universal encrypted chat, Signal is the way to go. Also available on iOS, obviously.</dd> <dt><a href="https://typefaceapp.com/" title="Typeface App-Font Manager for Mac">Typeface</a> <a class="setapplink" href="https://bit.ly/4gtdmQh">Typeface</a></dt> <dd>I have a ton of fonts, mostly from my days as a graphic designer, and partly because I just like hoarding them. But finding the right font out of 5GB of fonts is rough, and the big players have not only become unaffordable, they’ve also become unreliable. Typeface simplifies the process elegantly, and offers all the typographical niceties you need.</dd> <dt><a href="https://cleanshot.com/" title="CleanShot X for Mac">CleanShot X</a> <a class="setapplink" href="https://bit.ly/4gtdxep">CleanShot X</a></dt> <dd>CleanShot X gets my vote for overall best app of the year. It does its job (screenshots) so perfectly that you might not even realize how powerful it is. The floating windows at the edge of your screen, ready to drag, annotate, save, send to the cloud, or discard are perfect, plus you get screen recording, OCR, and beautiful screenshot editing all in one package.</dd> <dt><a href="https://www.bzgapps.com/unite">Unite</a> <a class="setapplink" href="https://bit.ly/3ZSJLIV">Unite</a></dt> <dd>I miss Fluid, but Unite fills most of that gap for me. I can make SSBs (Single Site Browsers) for all the web apps and services that don’t have a native Mac app. I use it for Bluesky and Threads, and have apps for my Linkding and Marky, just to name a few.</dd> <dt><a href="https://www.arqbackup.com/" title="Cloud backup software for Mac and Windows">Arq</a></dt> <dd>I can never have too many backups. I use Time Machine, <a href="https://secure.backblaze.com/r/00dszk">Backblaze</a>, Synology Drive, and Arq. Arq is versatile, with backups to B2, S3, SFTP, and more, and its restore functionality and version history is top notch.</dd> <dt><a href="https://choosy.app/" title="Choosy:A smarter default browser for macOS">Choosy</a></dt> <dd>Choosy has been around forever, and there are a few apps trying to contend for its spot. It makes it easy to use multiple browsers, set up rules for when to use which browser, and pops up a handy menu when there’s not a rule and you have multiple browsers open (or no browsers open, it’s totally configurable). It’s still my top choice for this functionality.</dd> <dt><a href="https://flyingmeat.com/retrobatch/" title="Retrobatch 2, from Flying Meat">Retrobatch</a></dt> <dd>If you do batch image processing, or repeat the same steps on images regularly, Retrobatch offers a node-based interface for building workflows to automate image processing. I use it to turn templated images into things like Dimspirations (and all of the social and wallpaper sizes from one image) and all of the header images on my blog posts. And it can make droplets (which I call from LaunchBar), so it’s perfect for long-term automation tasks.</dd> <dt><a href="https://kaleidoscope.app/" title="Kaleidoscope App">Kaleidoscope</a></dt> <dd>I swear by Kaleidoscope for all of my “diffing” needs. Whether I’m comparing versions of a file, multiple directories, Git merge conflicts, Git history, or anything I need to see the changes in (even images), Kaleidoscope offers a very Mac-assed experience with smooth edges. It’s not cheap, and you’ll know if you need it. And if you do, you’ll love it.</dd> <dt><a href="https://www.git-tower.com/" title="The most powerful Git client for Mac and Windows">Tower</a></dt> <dd>Tower is in the same category as Kaleidoscope. Not cheap, but if you need it, it’s the best there is. Working with Git has never been easier, including deep GitHub integration and support for everything from Git-flow to stacked brach workflows. It even has a Cmd-Z undo feature that does things that would normally require digging into reflogs and history fiddling that could take a normal user 20 minutes (or an hour…).</dd> <dt><a href="https://kindavim.app/" title="kindaVim">kindaVim</a></dt> <dd>This is so cool. If you use Vim, and you’d like your keyboard-fu to extend elsewhere, kindaVim brings it to your whole Mac. Want to go to the top of a file list in Finder? Just hit the shortcut to enable kindaVim, hit <code class="language-plaintext highlighter-rouge">gg</code>, then hit <code class="language-plaintext highlighter-rouge">i</code> to return to “insert mode.” And bring your Vim shortcuts to everything from text editors to form fields. Works in browsers, in Terminals, in Finder, almost everywhere.</dd> <dt><a href="https://superkey.app/" title="Superkey">SuperKey</a></dt> <dd>This utility does a few things, and it does them well. You can use it to create a Hyper key from your Caps Lock, but it can create a Meh key (<span class="keycombo combined" title="Control-Option-Shift"><kbd class="mod symbol">⌃</kbd><kbd class="mod symbol">⌥</kbd><kbd class="mod symbol">⇧</kbd></span>) for you as well. And its killer feature is screen search. You just pop up its search window, type some text that appears anywhere on your screen, hit Enter, and it focuses and clicks that button, checkbox, text, etc. Very handy.</dd> <dt><a href="https://tapbots.com/ivory/" title="Ivory for iOS">Ivory</a></dt> <dd>I’ve completely moved away from Twitter. I didn’t delete my account because I still do some customer support there, but I use Mastodon for all of my social media-ing. And Ivory stepped in to fill the Tweetbot-sized hold in the Mastodon experience (it’s also from Tapbots). Multi-column layout, multi-account, beautiful interface, and seamless features for dealing with the Fediverse.</dd> <dt><a href="https://manytricks.com/blog/?p=6385" title="Announcing Moom 4, the next-generation window manager">Moom 4</a></dt> <dd>I’ve used Moom for years for window management. Version 4 was almost shocking in its breadth of new features. I can’t imagine the competition catching up any time soon.</dd> <dt><a href="https://www.corecode.io/macupdater/" title="keep all your apps up-to-date effortlessly">MacUpdater</a></dt> <dd>It’s important to keep your apps up-to-date, and it’s easy to let apps you don’t use every day slip through the cracks. MacUpdater fixes that for you, constantly scanning for new updates and making it a one-click process to update everything at once.</dd> <dt><a href="https://www.mindnode.com/" title="MindNode">MindNode</a> <a class="setapplink" href="https://bit.ly/3VTSvNO">MindNode</a></dt> <dd>I’m still using iThoughts X for as long as I can, but I’m really impressed with how far MindNode has come. I have to admit, it’s the best looking mind map software out there. I’m working my way over to it.</dd> <dt><a href="https://macitbetter.com/" title="BetterZip 5-MacItBetter">BetterZip</a> <a class="setapplink" href="https://bit.ly/41KSYWs">BetterZip</a></dt> <dd>I probably wouldn’t drop the money on this if it weren’t on Setapp, but it is and I love it. For archiving, unarchiving, previewing zip contents, and pretty much anything having to do with compressed archives, it’s perfect. And it has a Quick Look plugin that makes previewing the contents of an archive as easy as hitting your space bar.</dd> <dt><a href="https://appmakes.io/paletro" title="Command Palette in any applications">Paletro</a> <a class="setapplink" href="https://bit.ly/3VT0CdD">Paletro</a></dt> <dd>This is so cool, and I use it daily. You just hit a customizable shortcut in any app, and all of that app’s menu items are a typeahead search away, including Services and hidden menu items. I have it set to <span class="keycombo combined" title="Shift-Command-P"><kbd class="mod symbol">⇧</kbd><kbd class="mod symbol">⌘</kbd><kbd class="key symbol">P</kbd></span>, which is also what I use for quick open and action palettes in every app that supports them, so the keyboard shortcut is second nature to me.</dd> <dt><a href="https://timingapp.com/?lang=en" title="Timing Automatic Mac Time Tracker">Timing</a> <a class="setapplink" href="https://bit.ly/49TplnM">Timing</a></dt> <dd>I continue to use Timing constantly. I don’t do a great job of tracking what I’m working on, starting timers (or adding Doing entries), or remembering where I spent my time. If I had billable hours, I’d probably love it even more. But the developer has added a bunch of new features in 2024, including a vertical timeline and AI-assisted classification of your time blocks. It’s perfect for a scatterbrain like me.</dd> <dt><a href="https://www.zengobi.com/" title="Zengobi Curio-Note Taking, Mind Mapping, Brainstorming">Curio</a></dt> <dd>Curio might be the Mac app that gets the most frequent major version updates I’ve ever seen. And every time the new features are exciting. It’s a brainstorming, researching, project managing powerhouse. And the developer has continued adding great Markdown features that make my plain-text-loving side very, very happy.</dd> <dt><a href="https://tailscale.com/" title="Tailscale·Best VPN Service for Secure Networks">Tailscale</a> <a class="setapplink" href="https://go.setapp.com/stp44?utm_medium=vendor_program&amp;utm_source=Brett+Terpstra&amp;utm_content=link">Setapp</a></dt> <dd>A personal VPN that makes accessing all of your machines from anywhere easy. Your Macs, your iOS devices, your Synology/NAS, Windows machines, everything. No need to deal with updating dynamic DNS, just run Tailscale on everything and have instant access whether you’re at the coffee shop or halfway around the world. And you can run it all off a GitHub login, so setup can take just minutes.</dd> <dt><a href="https://apps.apple.com/us/app/sleeve-for-spotify-music/id1606145041?mt=12&amp;uo=4&amp;at=10l4tL&amp;ct=searchlink" title="Sleeve for Spotify, Music">Sleeve</a></dt> <dd>Sleeve is my current pick for a “now playing” interface. With customizable desktop artwork and playback controls, it’s simple but pretty. It works with Spotify and Apple Music, with Last.fm integration.</dd> <dt><a href="https://code.visualstudio.com/" title="Visual Studio Code-Code Editing. Redefined">Visual Studio Code</a></dt> <dd>It took me a long time to come around to VS Code. But now that I’m into it, I’m really into it. And using it with Copilot or Llama is an out-of-body cool coding experience.</dd> </dl> <p><a href="https://flyingmeat.com/acorn/" title="Full Featured Photo Editor for the Mac">Acorn</a> I should also mention that Acorn saw some <a href="https://sixcolors.com/post/2024/12/acorn-8-brings-subject-selection-live-text-data-merge-more/">awesome updates</a> this year. I mostly use Affinity Photo, but I keep an eye on Acorn because it’s pretty brilliant.</p> <h3 id="web-apps">Web apps</h3> <p>I’m going to go ahead and tack a few web apps onto this post, as there’s only a couple of them and I run these in <a href="https://bit.ly/3ZSJLIV">Unite</a> SSBs anyway, so they’re kind of Mac apps for me.</p> <dl> <dt><a href="https://deck.blue">deck.blue</a></dt> <dd>If you liked Tweetdeck and want something similar for Bluesky, here you go.</dd> <dt><a href="https://github.com/sissbruecker/linkding" title="sissbruecker/linkding:Self-hosted bookmark manager that ...">Linkding</a></dt> <dd>I’ve completely replace Pinboard with linkding now. All of my scripts that used to interface with Pinboard now use my self-hosted <a href="https://linkding.link/api/" title="API - linkding">linkding API</a>, and I have Shortcuts and extensions for every browser to make bookmarking as easy, if not easier, than it was with Pinboard. I’m even on a secret beta of a dedicated iOS app with a share sheet for bookmarking from anywhere. Hopefully that sees the light of day and I can share it with you.</dd> <dd> <p>A couple of related links</p> </dd> <dd> <ul> <li><a href="https://rebootcyber.xyz/posts/effortlessly-setting-up-linkding-in-a-docker-container-a-step-by-step-guide/">Run linkding with Docker</a> with <code class="language-plaintext highlighter-rouge">latest-plus</code> branch for archiving</li> </ul> </dd> <dd> <ul> <li><a href="https://bookmarks.scoffb.in">My own public linkding</a> running on my Synology with my custom <a href="https://brettterpstra.com/2024/11/18/a-card-based-layout-for-linkding/" title="A card-based layout for linkding">card based layout</a></li> </ul> </dd> <dd> <ul> <li>My script to <a href="https://brettterpstra.com/2024/10/31/archive-linkding-bookmarks-to-local-markdown/" title="Archive linkding bookmarks to local Markdown">Archive linkding bookmarks to local Markdown</a></li> </ul> </dd> </dl>
brettterpstra.com
December 26, 2024 at 2:13 PM
A React app that has a useEffect that listens to the window resize event and returns whether the screen is mobile or not so that different images can be displayed?

These are the lengths that React developers will go to to avoid learning about the <img> tag's sizes and srcset.
January 29, 2026 at 6:02 AM
learning about `srcset` and `sizes` and their relation to DPR and yeah you know maybe internet browsers were a mistake
January 17, 2026 at 10:13 PM
Speaking of podcasts, the very good but short-lived @lcrw.bsky.social podcast THE ABSOLUTE STATE had multiple episodes on Turning Point USA, Turning Point Faith, Kirk and co. featuring myself and other good folks at LCRW:
THE ABSOLUTE STATE | Left Coast Right Watch
<figure class="wp-block-image aligncenter size-medium is-style-default"><picture><source type="image/webp" srcset="/img/nWl6eKsw36-300.webp 300w"...
leftcoastrightwatch.org
September 13, 2025 at 4:21 PM
This month in Servo…

🔒🔑 early SubtleCrypto support
🎨💡 ‘mix-blend-mode: plus-lighter’
📦↔️ CSS size keywords
📏🏎️ faster layout and compositing
📱🌃 OpenHarmony nightlies

More details → servo.org/blog/2024/11...
November 11, 2024 at 7:49 AM
Phlex-Rails 2.3 is out with added support for custom Rails form builders, customisable generators, support for using Date and Time objects as HTML attributes and RubyLSP indexing enhancements.

Also some HTML attributes such as img[srcset] are now comma-separated when provided an Array.
May 28, 2025 at 11:08 AM
My new @astro.build RFC for responsive images is now ready for review. Comments are welcome from everyone. Help us build the future of images in Astro!
github.com/withastro/ro...
November 4, 2024 at 2:36 PM
We’ve been super focused on fixing gotchas. We had min(), max(), and clamp() since March 2020. And we had srcset and sizes attributes for img since 2014. But you couldn’t use min(), max(), and clamp() inside of sizes. Now, you can.

Like that. We’ve been obsessed with such things. Obsessed.
February 18, 2026 at 12:44 AM
Next week I'm going to be working on two new, exciting Astro features that I think people will love:

- A big upgrade to the Image component which will do all the srcset and styling for you
- Native session support

I'll share updated RFCs and experimental builds as soon as I can
November 2, 2024 at 7:09 AM
when i say it goes haywire, i mean "it appears to parse every single entry in 'srcset' as a new URL it should try to load", and it does it very poorly

here it is trying to load every single transcoded version of a video file! fuck you!
May 12, 2025 at 11:49 PM