Redshift is a program that adjusts the color temperature of the screen based on time and location. It can automatically fetch one’s location via GeoClue. I’ve used it for years. It works most of the time. But, more often than I’d like, it fails to fetch my location from GeoClue. When this happens, I find GeoClue impossible to debug. Redshift does not cache location information, so when it fails to fetch my location the result is an eye-meltingly bright screen at night. To address this, I wrote a small shell script to avoid GeoClue entirely.

Redswitch fetches the current location via the Mozilla Location Service (using GeoClue’s API key, which may go away). The result is stored and compared against the previous location to determine if the device has moved. If a change in location is detected, Redshift is killed and relaunched with the new location (this will result in a noticeable flash, but there seems to be no alternative since Redshift cannot reload its settings while running). If Redshift is not running, it is launched. If no change in location is detected and Redshift is already running, nothing happens. Because the location information is stored, this can safely be used to launch Redshift when the machine is offline (or when the Mozilla Location Service API is down or rate-limited).

My laptop does not experience frequent, drastic changes in location. I find that having the script automatically execute once upon login is adequate for my needs. If you’re jetting around the world, you could periodically execute the script via cron or a systemd timer.

This solves all my problems with Redshift. I can go back to forgetting about its existence, which is my goal for software of this sort.

Browser Extensions

I try to keep the number of browser extensions I use to a minimum. The following are what I find necessary in Firefox.


ClearURLs removes extra cruft from URLs. I don’t really a problem with things like UTM parameters. Such things seem reasonable to me. But, more broadly, digital advertising has proved itself hostile to my interests, so I choose to be hostile right back.

Cookie AutoDelete

Cookie AutoDelete deletes cookies after a tab is closed or the domain changes. I whitelist cookies for some of the services I run, like my RSS reader, but every other cookie gets deleted 10 seconds after I leave the site. The extension can also manage other data stores, like IndexedDB and Local Storage.

Feed Preview

Feed Preview adds an icon to the address bar when a page includes an RSS or Atom feed in its header. This used to be built in to Firefox, but for some inexplicable reason they removed it some years ago now. Removing the icon broke one of the core ways that I use a web browser. As the name suggests, the extension can also render a preview of the feed. I don’t use it for that. I just want my icon back.

Firefox Multi-Account Containers

Firefox Multi-Account Containers is a Mozilla provided extension to create different containers and assign domains to them. In modern web browser parlance, a container means isolated storage. So a cookie in container A is not visible within container B, and vice versa.

Temporary Containers

Temporary Containers is the real workhorse of my containment strategy. It generates a new, temporary container for every domain. It automatically deletes the containers it generates 5 minutes after the last tab in that container is closed. This effectively isolates all domains from one another.

History Cleaner

History Cleaner deletes browser history that is older than 200 days. History is useful, but if I haven’t visited a URL in more than 200 days, I probably no longer care about. Having all that cruft automatically cleaned out makes it easier to find what I’m looking for in the remaining history, and speeds up autocomplete in the address bar.


Redirector lets you create pattern-based URL redirects. I use it to redirect Reddit URLs to Teddit, Twitter URLs to Nitter, and Wikipedia mobile URLs to the normal Wikipedia site.


Stylus allows custom CSS to be applied to websites. I use it to make websites less eye-burningly-bright. Dark Reader is another solution to this problem, but I found it to be somewhat resource intensive. Stylus lets me darken websites with no performance penalty.

Tree Style Tab

Tree Style Tab moves tabs from the default horizontal bar across the top of the browser chrome to a vertical sidebar, and allows the tabs to be placed into a nested tree-like hierarchy. In a recent-ish version of Firefox, Mozilla uglified the default horizontal tab bar. This was what finally pushed me into adopting tree style tabs. It took me a couple weeks to get used to it, but now I’m a convert. I wouldn’t want to use a browser without it. Unfortunately, the extension does seem to have a performance penalty. Not so much during normal use, but it definitely increases the time required to launch the browser. To me, it is worth it.

uBlock Origin

uBlock Origin blocks advertisements, malware, and other waste. This extension should need no introduction. The modern web is unusable without it. Until recently I used this in combination with uMatrix. I removed uMatrix when it was abandoned by the author, but was pleasantly surprised to find that current versions of uBlock by itself satisfies my needs in this department.

User-Agent Switcher

User-Agent Switcher allows the user-agent string to be changed. It seems odd that the user would need an extension to change the user-agent string in their user agent, but here we are. I mostly use this for testing things.

Vim Vixen

Vim Vixen allows the browser to be controlled using vim-like keys. Back in those halcyon days before Mozilla broke their extension system, I switched between two extensions called Vimperator and Pentadactyl to accomplish this. Those were both complete extensions that were able to improve every interaction point with the browser. Vim Vixen is an inferior experience, but seems to be the best current solution. It’s mostly alright.


Wallabagger lets me save articles to my Wallabag instance with a single click.

Web Archives

Web Archives allows web pages to be looked up in various archives. I just use it for quick access to the Internet Archive’s Wayback Machine.

This post was published on . It was tagged with toolchain.

Haight Street Preacher

Neither Jesus nor his lamps find welcome among the junkies on Haight.

This post was published on . It was tagged with media.

In 2018 I upgraded my razor to a Feather AS-D2.

I mentioned back then that I liked the Feather blades in the AS-D2, but that they provided fewer shaves than the blades I used in my old Merkur razor. This raises the cost-per-shave. I just today threw away the last Feather blade from the box of 100 that I purchased with the AS-D2. That box cost me $26 and lasted me roughly 1300 days. Call it maybe $7.75 per year. I shave with the same soap I use for washing hands and body, so the blades are my only recurring expense specific to shaving.

Feather Manscaping

I remain pleased with this setup.

This post was published on . It was tagged with micro, shaving.

Titanium Fuel Transport

Last January I bought a pack of generic stretch silicone lids. My hope was that one of the sizes in the pack would fit my 16 year old Snow Peak Trek 700. One did. This turns the mug into an excellent fuel transport container. It’s kind of a poor man’s Vargo BOT 700.

Rando Supplies

  • Snow Peak Trek 700 with Silicone Stretch Lid
  • Snow Peak Trek 700 with Silicone Stretch Lid

I have filled the mug with water, installed the silicone lid, flipped it upside down, and left it standing overnight. In the morning there were no leaks. I’m still hesitant to actually transport liquids using the lid. Mostly because the silicone is extremely thin, and I’m sure it is going to tear eventually. But if you’re into cold soaking food on the trail, and don’t want to carry a dedicated jar, I think this could be an attractive option. For leftovers, it’s perfect.

The lids I bought are no longer available, but there is certainly no shortage of equivalents floating around on Amazon-AliExpress-eBay. Based on the number search results, my impression is that China is drowning in silicone stretch lids.

This post was published on . It was tagged with review, gear.

Natural-Born Cyborgs

For what is special about human brains, and what best explains the distinctive features of human intelligence, is precisely their ability to enter into deep and complex relationships with nonbiological constructs, props, and aids. This ability, however, does not depend on physical wire-and-implant mergers, so much as on our openness to information-processing mergers. Such mergers may be consummated without the intrusion of silicon and wire into flesh and blood, as anyone who has felt himself thinking via the act of writing already knows. The familiar theme of “man the toolmaker” is thus taken one crucial step farther. Many of our tools are not just external props and aids, but they are deep and integral parts of the problem-solving systems we now identify as human intelligence. Such tools are best conceived as proper parts of the computational apparatus that constitutes our minds.

It just doesn’t matter whether the data are stored somewhere inside the biological organism or stored in the external world. What matters is how information is poised for retrieval and for immediate use as and when required. Often, of course, information stored outside the skull is not so efficiently poised for access and use as information stored in the head. And often, the biological brain is insufficiently aware of exactly what information is stored outside to make maximum use of it; old fashioned encyclopedias suffer from all these defects and several more besides. But the more these drawbacks are overcome, the less it seems to matter (scientifically or philosophically) exactly where various processes and data stores are physically located, and whether they are neurally or technologically realized. The opportunistic biological brain doesn’t care. Nor – for many purposes – should we.

Andy Clark, Natural-Born Cyborgs: Minds, Technologies, and the Future of Human Intelligence

This post was published on . It was tagged with quote, books.

On Hojicha

I pedaled over to Japantown a couple months ago to restock rice and umeboshi. While there I visited ChaTo, a tea shop I had heard about but never been to. I had a craving for genmaicha, which I was sure they could satisfy (they did). But the real victory of the day was leaving with a bag of their Sumibi Houjicha. This is my new favorite tea.

I’ve previously mentioned my fondness for kukicha. Kuki means stem or twig, cha means tea, hoji means roasted, sumibi means charcoal fire. So kukicha is tea made of stems instead of leaves. It can be roasted or not. I like it roasted, which seems to be more common on this side of the Pacific Rim. Sumibi hojicha, then, is a charcoal roasted tea. It consists of 60% stems and 40% leaves, so it isn’t a pure kukicha. Instead it is a blend of kukicha and sencha. Most hojicha, I’m told, is made using bancha, which is harvested later in the season and considered a lower-grade leaf. Sencha is the premium early harvest stuff. The sumibi hojicha has a great smell and an amazing taste. The roasting gets rid of most of the caffeine. If you like kukicha, I bet you’ll like this stuff.

ChaTo also sent me away with a sample of their Houjicha Shizuoka, which is lighter in taste (but darker in color) and very sweet. I like it as a cold tea, but the sweetness of the tea tastes wrong to me when brewed hot. I recommend sticking to the sumibi.

Sumibi Hojicha, Hojicha Shizuoka, Eden Kukicha

This post was published on . It was tagged with tea.