1<!doctype html> 2<html data-theme="light" lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="initial-scale=1, width=device-width" /> 6 <meta name="fediverse:creator" content="@[email protected]" /> 7 8 9 <meta property="twitter:title" content="Links - blakewatson.com" /> 10 <meta property="twitter:image" content="https://blakewatson.com/assets/images/og-image.png" /> 11 <meta property="og:title" content="Links - blakewatson.com" /> 12 <meta property="og:image" content="https://blakewatson.com/assets/images/og-image.png" /> 13 <meta property="og:site_name" content="blakewatson.com" /> 14 15 16 <meta property="description" content="Cool stuff I find on the web." /> 17 <meta property="twitter:description" content="Cool stuff I find on the web." /> 18 <meta property="og:description" content="Cool stuff I find on the web." /> 19 20 21 22 <title> 23 blakewatson.com 24 25 - Links 26 27 </title> 28 29
29<script> 30 (function () { 31 const theme = localStorage.getItem('theme'); 32 33 const prefersLight = matchMedia('(prefers-color-scheme: light)'); 34 35 prefersLight.addEventListener('change', () => setTheme()); 36 37 const setTheme = () => { 38 const theme = prefersLight.matches ? 'light' : 'dark'; 39 40 document.documentElement.setAttribute('data-theme', theme); 41 42 localStorage.setItem('theme', theme); 43 }; 44 45 if (theme) { 46 document.documentElement.setAttribute('data-theme', theme); 47 } else { 48 setTheme(); 49 } 50 })(); 51 </script>
51 52 53 <link rel="alternate" type="application/atom+xml" title="Journal Feed" href="https://blakewatson.com/feed.xml"> 54 <link rel="alternate" type="application/atom+xml" title="Links Feed" href="https://blakewatson.com/links/feed.xml"> 55 <link rel="alternate" type="application/atom+xml" title="Microblog Feed" href="https://blakewatson.com/microblog/feed.xml"> 56 57 <link rel="stylesheet" href="/assets/css/style.css" /> 58 59 60 61 62 63
63<script defer src="/assets/js/like-button.js"></script>
63 64
64<script defer src="/assets/js/app.js"></script>
64 65 66 67 68 <!-- favicon --> 69 <link 70 rel="apple-touch-icon" 71 sizes="180x180" 72 href="/assets/images/apple-touch-icon.png" 73 /> 74 <link 75 rel="icon" 76 type="image/png" 77 sizes="32x32" 78 href="/assets/images/favicon-32x32.png" 79 /> 80 <link 81 rel="icon" 82 type="image/png" 83 sizes="16x16" 84 href="/assets/images/favicon-16x16.png" 85 /> 86 <link 87 rel="icon" 88 href="/assets/images/favicon.svg" 89 type="image/svg+xml" 90 sizes="any" 91 /> 92 <link rel="manifest" href="/site.webmanifest" /> 93 94 <!-- Fathom - beautiful, simple website analytics --> 95
95<script 96 src="https://cdn.usefathom.com/script.js" 97 data-site="WAMLYDHO" 98 defer 99 ></script>
99 100 </head> 101 102 <body class="links"> 103 <div class="the-grid"> 104 <a href="#main" class="skip-link">Skip to content</a> 105 <header class="site-header"> 106 <p class="site-title"> 107 <a href="/"> 108 <img src="/assets/images/logo-enclosed.svg" alt="blakewatson.com"/> 109 </a> 110 </p> 111 112 <nav class="site-nav"> 113 <a href="https://now.blakewatson.com">Now</a> 114 <a href="/about">About</a> 115 <a href="/journal">Journal</a> 116 <a href="/links">Links</a> 117 <a href="/microblog">Microblog</a> 118 <a href="/projects">Projects</a> 119 <a href="/assistive-tech-gear">Gear</a> 120 <a href="/work">Work</a> 121 <a href="/search">Search</a> 122 123 <label class="theme-toggle"> 124 <input type="checkbox"> 125 <span class="sr-only">Toggle theme</span> 126 <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" 127 xmlns="http://www.w3.org/2000/svg" 128 xmlns:xlink="http://www.w3.org/1999/xlink"> 129 <g id="theme-toggle" stroke="none" stroke-width="1" fill="currentColor" fill-rule="evenodd"> 130 <path d="M28,16 C28,9.375 22.625,4 16,4 L16,28 C22.625,28 28,22.625 28,16 Z M0,16 C0,7.163444 7.163444,0 16,0 C24.836556,0 32,7.163444 32,16 C32,24.836556 24.836556,32 16,32 C7.163444,32 0,24.836556 0,16 Z" id="Shape" fill-rule="nonzero"></path> 131 </g> 132</svg> 133 </label> 134 </nav> 135 136</header> 137 138 139 140 141 <main id="main" class="main-content"> 142 <h1 class="collection-title mb-lg">Links</h1> 143 144 <div class="post-list-links"> 145 146 <article class="link-post post-mini"> 147 <h1 class="post-title"><a href="https://bell.bz/youll-miss-publishers-when-theyre-gone/" class="hover-link-only">Andy Bell: Youâll miss publishers when theyâre gone</a></h1> 148 149 <p class="tiny-meta mt-xs mb-none"> 150 <a href="/links/2026-09-18-youll-miss-publishers-when-theyre-gone/" class="hover-link-only"> 151 <time datetime="2026-09-18T12:08:44.000Z">September 18, 2026</time> 152 </a> 153 </p> 154 155 156 <div class="post-content prose"><p>My opinions on AI shift around almost daily, but a few fears of mine persist. No, it isnât necessarily the existential oneâthe idea that Iâll soon be out of a job, replaced by an AI or by someone who will sling more prompts for less pay.</p> 157<p>One of my primary concerns is <a href="https://en.wikipedia.org/wiki/Deskilling">deskilling</a>. If I become so dependent on AI that my software development skills atrophy then Iâm moving myself closer to being replaced. After all, if Iâm not any better at web dev than a junior prompt slinger, whatâs the incentive to hire/retain me?</p> 158<p>(<strong>Note:</strong> my employer has not indicated that they were set on replacing people; Iâm speaking of the industry as a whole).</p> 159<p>Itâs extremely slow going, but one thing Iâm trying to do is actively beef up my skills. For example, Iâm slowly working through Josh Comeauâs <a href="https://css-for-js.dev/">CSS for JavaScript Developers</a> and I hope to soon start on his <a href="https://whimsy.joshwcomeau.com/">Whimsical Animations</a> course.</p> 160<p>
160Weâre going to have to support people publishing high-quality learning content if we want to keep seeing it.</p> 161</div> 162</article> 163 164 <article class="link-post post-mini"> 165 <h1 class="post-title"><a href="https://blog.jim-nielsen.com/2026/ode-to-links/" class="hover-link-only">Jim Nielsen: An Ode to Links</a></h1> 166 167 <p class="tiny-meta mt-xs mb-none"> 168 <a href="/links/2026-09-13-an-ode-to-links/" class="hover-link-only"> 169 <time datetime="2026-09-13T12:04:23.000Z">September 13, 2026</time> 170 </a> 171 </p> 172 173 174 <div class="post-content prose"><p>I really couldnât resist linking to a post about links.</p> 175<blockquote> 176<p>We make links. Links make the web. The web makes Us.</p> 177</blockquote> 178<p><3</p> 179<p>And, shameless plug, if you like links, especially lists of links, check out my new-tab-page browser extension, <a href="https://afinestart.me/">A Fine Start</a>.</p> 180</div> 181</article> 182 183 <article class="link-post post-mini"> 184 <h1 class="post-title"><a href="https://animejs.com/" class="hover-link-only">AnimeJS: all-in-one animation engine</a></h1> 185 186 <p class="tiny-meta mt-xs mb-none"> 187 <a href="/links/2026-09-11-animejs-all-in-one-animation-engine/" class="hover-link-only"> 188 <time datetime="2026-09-11T11:45:06.000Z">September 11, 2026</time> 189 </a> 190 </p> 191 192 193 <div class="post-content prose"><p>I have been using this library for years, and itâs only gotten better over time. For whatever reason, Iâve always foun
193d it easier to grok than <a href="https://gsap.com/">GSAP</a>. Iâve used it for DOM animations, but where Iâve had the most fun with it lately is using it with <a href="https://pixijs.com/">PixiJS</a> to animate <a href="https://www.watsonbrosgames.com/solitaire/">2D games</a>.</p> 194<p>The AnimeJS homepage is absolutely stunning.</p> 195</div> 196</article> 197 198 <article class="link-post post-mini"> 199 <h1 class="post-title"><a href="https://www.neatnik.net/hardcore-indieweb" class="hover-link-only">Hardcore IndieWeb: Run your own website 100% independently for only $0.01/day</a></h1> 200 201 <p class="tiny-meta mt-xs mb-none"> 202 <a href="/links/2026-08-23-hardcore-indieweb-run-your-own-website/" class="hover-link-only"> 203 <time datetime="2026-08-23T09:31:48.000Z">August 23, 2026</time> 204 </a> 205 </p> 206 207 208 <div class="post-content prose"><p>Adam Newbold of <a href="https://omg.lol">omg.lol</a>, blogging at Neatnik:</p> 209<blockquote> 210<p>The key aspects of Hardcore IndieWeb are control over your content and portability of your website:</p> 211<ul> 212<li>If your content doesnât primarily exist on your own hard drive, you donât fully control your content.</li> 213<li>If you donât have a copy of your published HTML and web assets on your own hard drive, itâs not truly portable.</li> 214</ul> 215</blockquote> 216<p>If this position sounds a bit <em>hardcore</em>, it is, but thatâs the kind of person this guide was made for. Itâs worth mentioning that the <em>principles</em> are hardcore, not the skills neededâin many ways, the instructions Adam lays out here are even easier than other methods of creating a website.</p> 217<blockquote> 218<p>The process looks like this:</p> 219<ul> 220<li>Author your web content on your hard drive.</li> 221<li>Preview it in your web browser.</li> 222<li>When youâre happy with what you have, upload it to your web host. Repeat as often as youâd like.</li> 223</ul> 224<p>Thatâs it. It really is that simple.</p> 225</blockquote> 226<p>The rest of this guide walks you through this process in more detail. It celebrates being close to the actual code of your website as opposed to layering on dozens of abstractions.</p> 227<p>Itâs a very similar ethos to <a href="https://htmlforpeople.com/">HTML for People</a> (and indeed, he links out to it several times), but with a focus on ensuring control of your data at every point in the process.</p> 228<p>My own website follows most of these principles, except I am using a <a href="https://www.11ty.dev/">static site generator</a>, at the time of this writing, and a somewhat complex templating system. But most of my website is previewable locally, lives in a repository, and gets deployed to my server at <a href="https://www.nearlyfreespeech.net/">NearlyFreeSpeech.NET</a>. I say âmost of my websiteâ because, at this point, my website has become its own organism with various sub-pages and things that arenât tracked in the main project. The website as it lives on my server is the only <em>complete</em> representation of the website, but I do weekly backups just in case.</p> 229<p>I also immediately thought of <a href="https://www.mattwatson.org/">my brotherâs website</a>. His website is a simple blog that he made with vanilla, handwritten PHP, including the RSS feed!</p> 230<p>I enjoyed this guide, and even though I think itâs totally fine to use a blog service if thatâs what works for you, itâs always good to remember that layers of services and tooling arenât actually needed to make a website. A website is just a collection of files. When I learned this fact over 20 years ago, it was eye-opening for me, and itâs what immediately drew me in to making websites.</p> 231</div> 232</article> 233 234 <article class="link-post post-mini"> 235 <h1 class="post-title"><a href="https://juncture.lettermatic.com/" class="hover-link-only">Juncture: an industrial font superfamily from Lettermatic</a></h1> 236 237 <p class="tiny-meta mt-xs mb-none"> 238 <a href="/links/2026-08-21-juncture-an-industrial-font-superfamily-from-lettermatic/" class="hover-link-only"> 239 <time datetime="2026-08-21T17:57:15.000Z">August 21, 2026</time> 240 </a> 241 </p> 242 243 244 <div class="post-content prose"><p><img src="/uploads/2026/juncture.png" alt=" blocky industrial font that says 'Industrial Manufacturing'. The word 'Manufacturing' is rendered in a chrome style."></p> 245<p>This quirky uppercased font appeared on my radar by way of the SimpleBits® <a href="https://simplebits.com/club/">Secret Clubâ¢</a> Slack chat.</p> 246<p>Really love the vintage feel of this font, but the real super power it has is its extreme flexibility. It comes in four distinct styles with multiple weights and widths. There are so many ways you can mix and mash this font up to get a specific desired effect.</p> 247<p>But the reason Iâm sharing it is because of the whimsical, interactive micro site. Just incredible.</p> 248</div> 249</article> 250 251 <article class="link-post post-mini"> 252 <h1 class="post-title"><a href="https://michellebarker.co.uk/writing/little-websites-everywhere/" class="hover-link-only">Little websites everywhere</a></h1> 253 254 <p class="tiny-meta mt-xs mb-none"> 255 <a href="/links/2026-08-18-little-websites-everywhere/" class="hover-link-only"> 256 <time datetime="2026-08-18T23:27:26.000Z">August 18, 2026</time> 257 </a> 258 </p> 259 260 261 <div class="post-content prose"><p>Michelle Barkerâs post is relatable to a personal homepage enthusiast like myself.</p> 262<blockquote> 263<p>Building a website feels old-fashioned these days. How many more websites do I have left in me before the old fire flickers and dies? Is snuffed out. Before making websites is no longer a viable way to earn a living? The web will change drastically within my lifetime, maybe someday soon, indeed it already has. Maybe it really will fizzle out, a graveyard haunted only by bots and crawlers. But I have a hunch that there will be a long tail. Amid the dying embers, a resilient cohort of indie web bloggers, artists and creators will keep going, keep on talking to each other through their blogs, without tracking, pop-ups or invasive ads. Making fun websites, helpful websites, pointless websites (the best kind) that serve no purpose other than to manifest someoneâs spark of creativity.</p> 264</blockquote> 265<p>Itâs hard for me to imagine the fire ever snuffing out. My sites have never been hugely popular and Iâve never had a large audience except for blips and spikes here and there. But thatâs not why I have a website. I make <a href="https://blakewatson.com/">blakewatson.com</a> for myself. I do it so I can copy a link and send it to a friend. I do it as a record of my thoughts and passions. I cherish the small amount of visitors I do have and the occasional email I receive about something I wrote. The long tail is real. There are real humans out there who just want to enjoy each otherâs websites.</p> 266</div> 267</article> 268 269 <article class="link-post post-mini"> 270 <h1 class="post-title"><a href="https://chriscoyier.net/2013/10/18/mediocre-ideas-showing-up-and-persistence/" class="hover-link-only">Mediocre ideas, showing up, and persistence</a></h1> 271 272 <p class="tiny-meta mt-xs mb-none"> 273 <a href="/links/2026-08-18-mediocre-ideas-showing-up-and-persistence/" class="hover-link-only"> 274 <time datetime="2026-08-18T12:29:47.000Z">August 18, 2026</time> 275 </a> 276 </p> 277 278 279 <div class="post-content prose"><p>This is an oldie but a goodie from Chris Coyier, back in 2013.</p> 280<blockquote> 281<p>Keep doing it until youâve done everything you set out to do and everyone and their mom knows it. I didnât stop blogging when barely anyone read it for years. I didnât stop when people told me I was dumb or wrong. I didnât stop when redesigns were met with vitriol. I didnât stop when faced with mountainous challenges like inexplicable server failure, legal trouble, and theft of the site itself.</p> 282</blockquote> 283<p>There really is something powerful in setting out to do something, doing it, and continuing to do it over a long period.</p> 284</div> 285</article> 286 287 <article class="link-post post-mini"> 288 <h1 class="post-title"><a href="https://www.jettfoundation.org/overjoyed-gaming-app" class="hover-link-only">Overjoyed: an accessible virtual gaming controller</a></h1> 289 290 <p class="tiny-meta mt-xs mb-none"> 291 <a href="/links/2026-08-17-overjoyed/" class="hover-link-only"> 292 <time datetime="2026-08-17T10:00:22.000Z">August 17, 2026</time> 293 </a> 294 </p> 295 296 297 <div class="post-content prose"><p>This Windows app provides a mouse-based virtual controller that can interface with a Nintendo Switch by way of a physical control from 8BitDo. So you need the <a href="https://www.8bitdo.com/micro/">8BitDo Micro Bluetooth Gamepad</a>. Then you install Overjoyed. Once you do the setup process, you can hover your mouse over the virtual D-pad to trigger the same directions on the Switch. There are a ton of additional features like allowing mouse click to trigger secondary actions and all sorts of other useful settings.</p> 298<p>Iâm on a Mac, but I was able to install Overjoyed in a Windows VM using <a href="https://mac.getutm.app/">UTM</a> and it worked great.</p> 299</div> 300</article> 301 302 <article class="link-post post-mini"> 303 <h1 class="post-title"><a href="https://franktisellano.github.io/datatype/" class="hover-link-only">Datatype: a font for displaying inline charts</a></h1> 304 305 <p class="tiny-meta mt-xs mb-none"> 306 <a href="/links/2026-07-19-datatype-font/" class="hover-link-only"> 307 <time datetime="2026-07-19T10:39:27.000Z">July 19, 2026</time> 308 </a> 309 </p> 310 311 312 <div class="post-content prose"><p>Datatype is an interesting use (abuse?) of font features that allows you to display inline charts and graphs. Itâs free and open source. I had the chance to use it at work on <a href="https://blakewatson.com/wor
312k/cosmic/">COSMIC</a> and itâs a nice visual aid when displaying numbers.</p> 313</div> 314</article> 315 316 <article class="link-post post-mini"> 317 <h1 class="post-title"><a href="https://warmburnout.com/" class="hover-link-only">Warm Burnout: a color scheme with warm colors and good contrast</a></h1> 318 319 <p class="tiny-meta mt-xs mb-none"> 320 <a href="/links/2026-04-29-warm-burnout-a-color-scheme-with-warm-colors-and-good-contrast/" class="hover-link-only"> 321 <time datetime="2026-04-29T16:42:25.000Z">April 29, 2026</time> 322 </a> 323 </p> 324 325 326 <div class="post-content prose"><p>Sometime within the last couple of years or so, I became totally burnt out (heh) on cool colors. Iâve started using color schemes and themes (in different apps that support them) that employ warm, earthy colors instead.</p> 327<p>I recently found this one and one of the things I like about its <a href="https://marketplace.visualstudio.com/items?itemName=felip3fdl.warm-burnout">theme for VS Code</a> is that not only does the dark variant look good, but the light variant does as well, ensuring that all text meets WCAG AAA contrast standards.</p> 328<p>Itâs rare to find a good light theme with solid contrast. Even more so to find a good one paired with a good dark one as well. I havenât been tempted to override any of the colors yet, which is saying something.</p> 329</div> 330</article> 331 332 <article class="link-post post-mini"> 333 <h1 class="post-title"><a href="https://www.youtube.com/watch?v=vkm-ZFlivyI" class="hover-link-only">Meet Tuna: a brand new, modern, modal launcher for macOS</a></h1> 334 335 <p class="tiny-meta mt-xs mb-none"> 336 <a href="/links/2026-04-03-meet-tuna-a-brand-new-modern-modal-launcher-for-macos/" class="hover-link-only"> 337 <time datetime="2026-04-03T18:17:24.000Z">April 3, 2026</time> 338 </a> 339 </p> 340 341 342 <div class="post-content prose"><div class="block-embed block-embed-service-youtube"><iframe type="text/html" src="//www.youtube.com/embed/vkm-ZFlivyI" frameborder="0" width="640" height="390" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div> 343<p>The excitementâand, frankly, sheer <em>giddiness</em>âwith which this developer introduces his new app is the most wholesome thing Iâve seen this week.</p> 344<p>From the minute when I started watching it, I was thinking that the last thing I needed was an app launcher, having had a Powerpack license for <a href="https://www.alfredapp.com/">Alfred</a> for⦠<em>checks notes</em>⦠nearly 14 years!</p> 345<p>But the more I watched, the more I was intrigued. Before I could even get done with the video, I had the app and the Pro license.</p> 346<p>Yes, I am aware I have a problem.</p> 347<p>(Yes, I know <a href="https://www.raycast.com/">Raycast</a> can do everything. If you like it, cool.)</p> 348</div> 349</article> 350 351 <article class="link-post post-mini"> 352 <h1 class="post-title"><a href="https://www.youtube.com/watch?v=3XyCT6q35GI" class="hover-link-only">Jazz Emu: Here It Comes</a></h1> 353 354 <p class="tiny-meta mt-xs mb-none"> 355 <a href="/links/2026-03-30-jazz-emu-here-it-comes/" class="hover-link-only"> 356 <time datetime="2026-03-30T21:01:33.000Z">March 30, 2026</time> 357 </a> 358 </p> 359 360 361 <div class="post-content prose"><p>Watch this if you need a pick-me-up and want to see a bunch of people fail their charisma saving throws.</p> 362<div class="block-embed block-embed-service-youtube"><iframe type="text/html" src="//www.youtube.com/embed/3XyCT6q35GI" frameborder="0" width="640" height="390" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div> 363</div> 364</article> 365 366 <article class="link-post post-mini"> 367 <h1 class="post-title"><a href="https://stephango.com/flexoki" class="hover-link-only">Flexoki â an inky color scheme for prose and code</a></h1> 368 369 <p class="tiny-meta mt-xs mb-none"> 370 <a href="/links/2026-03-05-flexoki-an-inky-color-scheme-for-prose-and-code/" class="hover-link-only"> 371 <time datetime="2026-03-05T12:34:21.000Z">March 5, 2026</time> 372 </a> 373 </p> 374 375 376 <div class="post-content prose"><p>Nice color scheme from the CEO of Obsidian. Iâve been using this color scheme in various apps. There are a few versions in Obsidian, particularly in the <a href="https://github.com/kepano/obsidian-minimal">Minimal</a> theme and the <a href="https://github.com/aaaaalexis/obsidian-baseline">Baseline</a> theme.</p> 377<p>Iâve also used the Flexoki variants of the <a href="https://marketplace.visualstudio.com/items?itemName=RaillyHugo.one-hunter">One Hunter Theme</a> for VS Code.</p> 378<p>My new tab page browser extension, <a href="https://afinestart.me">A Fine Start</a>, also includes light and dark Flexoki themes.</p> 379</div> 380</article> 381 382 <article class="link-post post-mini"> 383 <h1 class="post-title"><a href="https://www.youtube.com/watch?v=nhbYveaV0pk" class="hover-link-only">[Video] Do It With Style: Rethinking CSS</a></h1> 384 385 <p class="tiny-meta mt-xs mb-none"> 386 <a href="/links/2026-02-10-video-do-it-with-style-rethinking-css/" class="hover-link-only"> 387 <time datetime="2026-02-10T12:39:47.000Z">February 10, 2026</time> 388 </a> 389 </p> 390 391 392 <div class="post-content prose"><p>One of my goals this year is getting better at CSS. I joke that my CSS skills peaked in 2015. But CSS has gained a ton of new, really cool things and browser support has been moving quickly compared the days of old.</p> 393<p>This talk by Dylan Beattie from NDC London 2026 is a great introduction to what CSS is capable of these days.</p> 394<p>Iâm also slowly working through a course called <a href="https://css-for-js.dev/">CSS for JavaScript Developers</a> by Josh Comeau, which is fantastically done.</p> 395</div> 396</article> 397 398 <article class="link-post post-mini"> 399 <h1 class="post-title"><a href="https://wiki.csswg.org/ideas/mistakes" class="hover-link-only">Incomplete List of Mistakes in the Design of CSS</a></h1> 400 401 <p class="tiny-meta mt-xs mb-none"> 402 <a href="/links/2026-02-10-incomplete-list-of-mistakes-in-the-design-of-css/" class="hover-link-only"> 403 <time datetime="2026-02-09T22:32:37.000Z">February 9, 2026</time> 404 </a> 405 </p> 406 407 408 <div class="post-content prose"><p>The CSS Working Group publishes a page with all of the things that theyâd like to fix in CSS but canât because the âmistakesâ are already in the wild and changing them would break the webâan unforgivable sin. Here are a few of my favorites:</p> 409<ul> 410<li>z-index should be called z-order or depth and should Just Work on all elements (like it does on flex items).</li> 411<li>The alignment properties in Flexbox should have been writing-mode relative, not flex-flow relative, and thus could have reasonably understandable names like align-inline-* and align-block-*.</li> 412<li>It shouldnât be !important â that reads to engineers as ânot importantâ. We should have picked another way to write this.</li> 413<li>Not quite a mistake, because it was a reasonable default for the 90s, but it would be more helpful since then if <code>background-repeat</code> defaulted to <code>no-repeat</code>.</li> 414<li>Box-sizing should be border-box by default.</li> 415</ul> 416<p>And finally, the funniest one:</p> 417<ul> 418<li>Table layout should be sane.</li> 419</ul> 420</div> 421</article> 422 423 <article class="link-post post-mini"> 424 <h1 class="post-title"><a href="https://www.thepunch.studio" class="hover-link-only">The PunchâA curated directory of the web's finest Indie Type Foundries</a></h1> 425 426 <p class="tiny-meta mt-xs mb-none"> 427 <a href="/links/2026-02-07-the-punch-a-curated-directory-of-the-webs-finest-indie-type-foundries/" class="hover-link-only"> 428 <time datetime="2026-02-07T15:30:08.000Z">February 7, 2026</time> 429 </a> 430 </p> 431 432 433 <div class="post-content prose"><p>I had a Fonts.com subscription for a number of years, followed by a Monotype one. I also had a cloud.typography sub for webfonts. All of those services were from Monotype, the largest type company in the world.</p> 434<p>Lately Iâve been acquiring fonts from indie foundries and quit giving Monotype money. <em>Feels good man.</em></p> 435<p>Even if youâre not in the market for a professional font, just browsing the incredible artwork and type specimens from these foundries makes The Punch worth a look.</p> 436</div> 437</article> 438 439 <article class="link-post post-mini"> 440 <h1 class="post-title"><a href="https://bunny.net/fonts/" class="hover-link-only">Bunny Fonts: Privacy-friendly replacement for Google Fonts</a></h1> 441 442 <p class="tiny-meta mt-xs mb-none"> 443 <a href="/links/2026-01-28-privacy-friendly-replacement-for-google-fonts/" class="hover-link-only"> 444 <time datetime="2026-01-28T09:55:31.000Z">January 28, 2026</time> 445 </a> 446 </p> 447 448 449 <div class="post-content prose"><p>The popular CDN, <a href="https://bunny.net">bunny.net</a>, has a drop-in replacement for Google Fonts that is privacy friendly and GDPR compliant.</p> 450<p>I just came across this so I havenât had time to use it yet, but I will definitely be trying it the next time I start to reach for Google Fonts.</p> 451<p>As a typographical aside, you can get some nice fonts with a generous web license from both <a href="https://mbtype.com/">MBType</a> and <a href="https://simplebits.shop/collections/fonts">SimpleBits</a>.</p> 452</div> 453</article> 454 455 <article class="link-post post-mini"> 456 <h1 class="post-title"><a href="https://daverupert.com/2025/05/notion-to-obsidian/" class="hover-link-only">Dave Rupert: Moving from Notion to Obsidian</a></h1> 457 458 <p class="tiny-meta mt-xs mb-none"> 459 <a href="/links/2026-01-26-dave-rupert-moving-from-notion-to-obsidian/" class="hover-link-only"> 460 <time datetime="2026-01-26T18:43:44.000Z">January 26, 2026</time> 461 </a> 462 </p> 463 464 465 <div class="post-content prose"><p>Itâs always interesting reading about other peopleâs note taking setups. This one from Dave is interesting because he explains the thought process that went into
465it. And he dumps a huge list of Obsidian plugins that he is using.</p> 466</div> 467</article> 468 469 <article class="link-post post-mini"> 470 <h1 class="post-title"><a href="https://grid-paper.daverupert.com" class="hover-link-only">Grid Paper</a></h1> 471 472 <p class="tiny-meta mt-xs mb-none"> 473 <a href="/links/2026-01-24-grid-paper/" class="hover-link-only"> 474 <time datetime="2026-01-24T22:00:43.000Z">January 24, 2026</time> 475 </a> 476 </p> 477 478 479 <div class="post-content prose"><p>Sometimes you need graph paper, whether itâs for a digital background or to print out and draw on. Rather than scouring the internet and settling for something subpar, this neat little home-cooked app from <a href="https://daverupert.com">Dave Rupert</a> lets you generate a variety of different types of graph paper.</p> 480</div> 481</article> 482 483 <article class="link-post post-mini"> 484 <h1 class="post-title"><a href="https://handy.computer/" class="hover-link-only">Handy is a simple and free speech-to-text app</a></h1> 485 486 <p class="tiny-meta mt-xs mb-none"> 487 <a href="/links/2026-01-23-handy/" class="hover-link-only"> 488 <time datetime="2026-01-23T12:00:46.000Z">January 23, 2026</time> 489 </a> 490 </p> 491 492 493 <div class="post-content prose"><p><a href="https://superwhisper.com/">Superwhisper</a> has been my speech-to-text daily driver for over a year now. But Iâm constantly seeing other neat ones. This one in particular is cool because it is open source and free to download.</p> 494</div> 495</article> 496 497 </div> 498 499 <nav class="pagination-nav"> 500 501 502 503 504<ul class="pagination"> 505 506 507 508 509 510 <li class="pagination--item"> 511 <a class="pagination--link" href="/links/2">Next →</a> 512 </li> 513 514</ul> 515 </nav> 516 </main> 517 518 519 </div> 520 521 <div class="site-footer text-muted"> 522 <p class="copyright mb-none">Blake Watson’s personal website</p> 523 <p class="small-text mb-xs">The views expressed here are mine and no one elseâs.</p> 524 525 <p class="footer-links small-text my-none"> 526 <a rel="me" href="https://social.lol/@bw">Mastodon</a> 527 <a href="/feed.xml">Journal RSS</a> 528 <a href="/links/feed.xml">Links RSS</a> 529 <a href="/microblog/feed.xml">Microblog RSS</a> 530 <a href="/blank">Blank page</a> 531 </p> 532</div> 533 534
534<script src="/assets/js/instant-page-5.2.0.js" type="module"></script>
534 535
535<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"6ad72c7d557a4e41844710d3a472773f","r":1,"spa":2}' crossorigin="anonymous"></script>
535 536</body> 537</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.