brandur.org

Atoms

Multimedia particles in the style of a tweet, also serving as a changelog to consolidate changes elsewhere in the site. Cross-posted to an atom feed. Frequently off topic.

I was amused to discover that Derek Sivers’ Nownownow.com also publishes its directory as a tab-delimited .txt file. I’ve had pretty good luck randomly finding interesting blogs to add to my reader from Now pages, and the plain text aspect makes it especially easy to search by city or country.


Published fragment Go: Don’t name packages common nouns, on avoiding naming Go packages after common nouns like rate or server so that they don’t clash with variable names, and how to find a more fitting name for them instead.



Published sequence 084, spherical abberation.


Published Eradicating N+1s: The Two-phase Data Load and Render Pattern, on using a two-phase data load and render pattern to prevent N+1 queries in a generalized way. Especially useful in Go, but applicable in any language.


Published fragment The romance of Europe, on a concert in Berlin, correcting for tourist bias, and how smartphones own the planet.


Published sequence 082, north of Warschauer.



A good post from Observable analyzing their HTTP request latency and producing nice visualizations for them. Doing non-realtime analysis frees up one of the axis (normally X is time) which lets the data be plotted in more creative ways, like histograms that show the entire “shape” of the distribution of request latency rather than an approximation of it using common aggregates like P50/P95/P99.

This particular article isn’t instructional on how to repeat this for your own service, but it’s a good idea. I’m going to try and render something like it for our API at some point – we have all the data we need via canonical log lines, so it’s just a matter of wiring up an adapter between data and frontend.


Published fragment ICQ, on the end of the universe, coming June 26th.



Published fragment Notes on dark mode, which is not a dark mode tutorial, but collects a few notes on some specific refinements of a good dark mode implementation like tri-state instead of bi-state toggle, avoiding page flicker, and responding to theme changes from other tabs or the OS.


I rebuilt this site’s index page so it’s on the newer template system and can take advantage of dark mode. It’s not amazing, but I didn’t want to agonize over it for too long since likely few people will ever go there, so I just threw something together and published it.


From Notes on Japan, I found this last point was quite funny:

visiting Japan feels like visiting the 2000s

  • CD shops everywhere

  • malls are thriving

  • people use fat laptops

You’d have to pry by MacBook from my cold, dead hands, but I dearly miss the greater variety of hardware and form factors that we used to see twenty years ago. Like, I acknowledge that something like the Sony VAIO P (depicted below) probably has ergonomics on par with writing War and Peace via T9 text entry, but I still wish I’d owned one.

Japan seems to be one of the last places left where a market for weird consumer electronics still exists. A few weeks ago I admired a Japanese guy on BART’s incredible e-reader that was fully customized to the use of Japan’s vertical alphabets. Another guy on the 37 Corbett uses what must’ve been the only netbook left in San Francisco.

If you’re at a typical WeWork nowadays, there’s no easy way to tell that you didn’t accidentally walk into an Apple Store instead. The technology is beautiful – perfect geometry, flawless glass, and polished aluminum – but sterile. I’m glad there’s somewhere out there where weird, novel devices are still going strong.


I implemented dark mode for this website, which you should be able to enable using the toggle in the upper right. I figure that if even Google search can do it given what’s sure to be millions of lines worth of legacy code, then I should be able to as well.

I’ll write more about this soon, but by far the hardest part about dark mode is restyling. A site like this one not only has accumulated thousands of pages over the years, but also a dozen major templates of varying quality, each of which needs attention to support such a colossal change. I’ve slowly been moving over to Tailwind since last year and as I did, it gave me time to do some spring cleaning on the template system. Without Tailwind and that cleanup, adding dark mode would’ve been such a big job that I’m not sure I ever would’ve gotten around to it.

This site is a constant WIP and I’m sure I’ll be making some tweaks over the coming months, but if you notice any major usability problems that I missed, open a GitHub issue.