Tube Talk

I enjoy Jan Heine’s blog. I’ve been reading it regularly since, I think, 2012. I learn something new from most posts. His book on all-road bikes is great. When I saw his post titled Why TPU Tubes are Better for the Earth in my feed reader, I expected to learn something about the difference in manufacturing inputs or emissions between butyl and TPU tubes. Instead I found myself reading crazy talk about how everybody goes through butyl tubes like candy and how they’re so hard to patch that nobody bothers. I guffawed. Then I said “what the fuck”. Out loud. With my voice.

In theory, butyl tubes can also be patched. To make this worth while, it’s best to collect a pile and fix them in one large batch. Set up an assembly line of sorts…

Let’s face it: Those of us who patch our butyl tubes usually have a pile of tubes in the basement, waiting for the day when we’ll get around to patching them.

I cannot fathom an individual having enough punctured butyl tubes to justify considering an assembly line repair process. This would take me, like, a decade to collect.

The last time I had a flat was on the Oregon coast in June 2023. The time before that was when I picked up a roofing nail on Potrero Hill that tore open my tire in December 2022. I think next on the list was about 6 months before that, when I flatted twice on the same road in Napa county – not because I failed to clean out debris after fixing the first one, but because some of the roads up there have been so destroyed by heavy trucks rebuilding after the fires that I just got two punctures in two different parts of the wheel a few blocks apart. These events are rare enough that I actually remember them.

When I do get a flat I just take out my patch kit and fix it. It takes like 5 minutes. If the weather outside is frightful, or if I’m on a schedule and don’t have those 5 minutes, I swap in my spare tube. Then when I get home (or to camp) that evening, I fix it.

This concept of not addressing a problem that is so quick and easy to correct, and instead letting these problems pile up until you have a basement-full, is difficult for me to understand. It’s like continually buying a new pair of underwear every day because doing laundry is too hard. It suggests to me a moral failing which, if extended to all the similarly small problems that one regularly encounters in life, will lead to collapse of our species.

That’s where TPU tubes score. Patching them is easy: Just wipe the puncture with alcohol and stick on a self-adhesive patch. That’s all. It’s so easy that you could do it by the roadside. The alcohol wipes are sealed, so they don’t dry out—your patch kit lasts forever, ready when you need it.

Plot twist: I patch butyl tubes by the roadside.

Those little foil packets of alcohol wipes are not impermeable. Ask anyone who has neglected a medical kit for a few years, only to come back and find that all the prep pads are dry. They will last a long time when stored in a typical indoor environment. They will last less long when carried out in the world, exposed to varying temperatures, humidity, sun, rain, etc. Tube repair kits, like human repair kits, need to be carried outside. If I start carrying a TPU patch kit, the alcohol wipes are going to be on a rotation schedule, just like my vulcanizing fluid. Only then will TPU patch kit last forever. Just like my butyl patch kit.

The new Rene Herse TPU tubes are neat. They pack down to a much smaller size than butyl tubes. I am interested in using one to replace the spare butyl tube I carry under my saddle. To this end, I have been running one in the front wheel of my new bike for about a month and a half. I do not intend to regularly use the tubes in my tires, but I can’t carry something as a backup until I have a few months experience actually using it1.

I will test the TPU tube for at least another month and a half before I decide if it will replace my spare butyl, but the preliminary results are in. I have noticed no difference in the ride quality. I have noticed no difference in the speed with which it loses pressure2. I have noticed no different in the puncture resistance3. This is all great news. If the TPU tube continues to perform exactly like a butyl tube, but store more compactly, I will happily carry it as my spare. They are light and compact enough that the next time I go on tour, I may even carry a second or third spare.

Notes

  1. It is an axiom that carrying emergency supplies which you have never actually used is idiotic. I try not to be an idiot.
  2. When I first installed the TPU tube, it lost about half its pressure in about 24-hours. I pumped it back up and the same thing happened again. I threw a wrench on the valve core and was able to tighten it about 1/8th of a turn. Since then it has held pressure the same as the butyl tube in the rear wheel. I think the TPU tube shipped from the factory with a loose valve core. If I do choose to carry one (or more) as a spare, I will crank down on its valve core as soon as I received it to ensure that I won't have to think about that whenever I eventually need the tube.
  3. Spoiler alert: I have had zero flats on this bike since it was built 10 months ago.

Git Annex Recovery

Occasionally I’ll come across some sort of corruption on one of my cold storage drives. This can typically repaired in-place via git-annex-repair, but I usually take it as a sign that the hard drive itself is beginning to fail. I prefer to replace the drive. At the end of the process, I want the new drive to be mounted at the same location as the old one was, and I want the repository on the new drive to have the same UUID as the old one. This way the migration is invisible to all other copies of the repository.

To do this, I first prepare the new drive using whatever sort of LUKS encryption and formatting I want, and then mount it at the same location as wherever the old drive was normally mounted to. Call this path $good. The old drive I’ll mount to some other location. Call this path $bad.

Next I create a new clone of the repository on the new drive. Most recently I did this for my video repo, which lives at ~/library/video.

$ git clone ~/library/video $good/video

The .git/config file from the old drive will have the UUID of the annex and other configuration options, as well as any knowledge about other remotes. I copy that into the new repo.

$ cp $bad/video/.git/config $good/video/.git/config

The actual file contents are stored in the .git/annex/objects/ directory. I copy those over to the new drive.

$ mkdir $good/video/.git/annex
$ rsync -avhP --no-compress --info=progress2 $bad/video/.git/annex/objects $good/video/.git/annex/

Next I initialize the new annex. It will recognize the old config and existing objects that were copied over.

$ cd $good/video
$ git annex init

At this point I could be done. But if I suspect that there was corruption in one of the files in the .git/annex/objects directory that I copied over, I will next tell the annex to run a check on all its files. I’ll usually start this with --incremental in case I want to kill it before it completes and resume it later. I’ll provide some integer to --jobs depending on how many cores I want to devote to hashing and what I think is appropriate for the disk read and transfer speeds.

$ git annex fsck --incremental --jobs=N

If any of the files did fail, I’ll make sure one of the other remotes is available and then tell the new annex to get whatever it wants.

$ git annex get --auto

Finally, I would want to get rid of any of those corrupt objects that are now just wasting space.

$ git annex unused
$ git annex dropunused all

Beginning Framework

Near the end of 2024 I decided it was time to replace the Thinkpad X270. I still think the X2{6,7}0 is Peak Laptop. Unfortunately, as software gets worse, I need more CPU.

Everything on the market seemed inferior in one way or another to the X270. I considered:

After about two months of shopping around – including buying and returning an X1C Gen 12 from eBay – I settled on the Framework 13. Specifically, the DIY model with AMD Ryzen 5 7640U CPU, 2.8K matte display, and 61Wh battery. (I purchased the SSD and RAM separately.)

I have notes.

The keyboard is not as good as that on the X270 (which is not as good as that on older Thinkpads). But it seems to be on par with other modern laptop keyboards that I’ve seen. There is room for improvement, but it is acceptable. I’ve seen (and felt) much worse.

The hinges are not as good as on a Thinkpad. They feel nice when you move the lid – the feel is about the same as the hinges on my X270 – and they do hold the lid in position. But when typing with gusto, the lid shakes a bit. I did not notice this until I tested out the webcam. The movement of the lid is noticeable in the image. I practically never use a cam – if asked about this when on a call, I reply that I exist in a black hole devoid of light, warmth, love, etc – so this is acceptable to me.

The speakers are incredibly bad. Traditionally, Thinkpads had the worst speakers of any laptop, but Framework has lowered the bar here. I tried messing with EasyEffects and various scavenged presets. I suppose this made the speakers sound slightly less bad. But they’re still really bad. Fortunately, this is firmly in the category of things I do not care about. I tickle my eardrums with headphones when at a desk and with earbuds when mobile. About the only time I use the speakers on my laptop is for things like a countdown timer with a bell, for which shitty speakers are just as adequate as nice speakers.

I’ve not had the Framework 13 for long enough to comment on battery life. Less-than-stellar battery life was one of the main critiques I heard before purchasing the machine (though often it is not clear what specific machine generation and configuration the critic has). Framework explicitly says not to use TLP, which is unfortunate for me. I first installed TLP shortly after its initial release in 2010 and haven’t thought about it much since. I am trying to grok this brave new world of TuneD and power-profiles-daemon and subpar battery control. We’ll see how that goes.

The design aesthetic of the Framework 13 feels very mediocre. I find the aluminum slab design language pioneered by Apple and now emulated by everyone else to be inferior to the Thinkpad aesthetic. I would rather Framework copy Sapper than Ive. But this is purely a personal aesthetic judgment that does not translate into functionality. I have no complaints about the actual build quality of the machine (yet). Eventually I may stickerbomb the chassis to make myself feel better about it. I’d be embarrassed if someone saw it and mistakenly thought I was an Apple customer.

I point out what I dislike because that is easier than enumerating what I like. Everything else about the laptop is pretty nice. I am pleased with the purchase overall. The 3:2 aspect ratio of the Framework 13 screen is especially great – at least for how I use a computer (which can mostly be summed up as “reading and manipulating text”).

The promise of the Framework is in its modularity and repairability, which hopefully means that any shortcomings can be corrected over time. One of the small things that decided my purchase was seeing that Framework actually builds replacement screws into the machine. In my head the Thinkpad X260 and X270 are basically the same machine, and I used that same machine for nine years. My hope is that the Framework 13 can at least match that, and be as boring as possible during that time.

Link Log 2025-01-17

“Best of the Best” Provides New Views, Commentary of Shuttle Launches

Public Domain Image Archive

Landing The Nostromo

Bike Touring Stretches

right to root access

Stone talk

ROLER11 USAF C-130H Hercules

Optimizing Local Munitions

As previously mentioned, I use myrepos to keep local copies of useful code repositories. While working with backups yesterday I noticed that this directory had gotten quite large. I realized that in the 8 years that I’ve been using this system, I’ve never once run git gc in any of the repos.

Fortunately this is the sort of thing that myrepos makes simple – even providing it as an example on its homepage. I added two new lines to the [DEFAULT] section of my ~/library/src/myrepos.conf file: one telling it that it can run 3 parallel jobs, and one teaching it how to run git gc.

[DEFAULT]
skip = [ "$1" = update ] && ! hours_since "$1" 24
jobs = 3
git_gc = git gc "$@"

That allowed me to use my existing lmr alias to clean up all the git repositories. The software knows which repositories are git, and only attempts to run the command in those.

$ lmr gc

After completing this process – which burned through a lot of CPU – my ~/library/src directory dropped from 70 GB to 15 GB.

So that helped.

It Should Happen To You analyzes the disease that is influencer culture.

1954.

Another favorite is A Face in the Crowd (1957), which explores the danger of social media influencers becoming Populist politic figures.

Link Log 2025-01-02

Ethos

Gear 2025

The Work Itself

Deliberate Oxymorons: An Interview with Bruce Sterling (Part 1)

Konya wa Hurricane (Priss and the Replicants, 1987)

Musa Bey, Legion of Honor Centennial

Harambe Resistance

Back in 2007, the International Man of Mystery designated codename 503 told me to read Never Gymless by Ross Enamait. This was my introduction to the resistance band, which is one of the tools mentioned in the book. Enamait recommended bands from Iron Woody, so that’s what I bought. I replaced them periodically over the subsequent seventeen years, sticking with the same brand. The Iron Woody bands are 41”, which is the default length for loop bands across the market, though my understanding is that this is more a fluke of history rather than due to any considered reasoning.

This past Fall it was time once again to replace a couple of my most frequently used (and thus stretched out) bands. Iron Woody was out of most bands, so I looked around to see what was hip and cool on The Internet. The consensus seemed to be that Serious Steel Fitness and Harambe System had the some of the best bands. I was particularly intrigued by these two because the Harambe bands were 38”, and Serious Steel offered a handful of lengths, including 37”. The more I thought about, the more sense these shorter lengths made.

I ended up buying the Harambe band bundle. They are the nicest bands I’ve used. When I opened the package, I first grabbed the light green 1” band because this looked to be about the same width as the blue Iron Woody band that is my go-to for a lot of exercises. I was shocked by how hard it was. Part of this is the difference in length (and the difference in age), but it turns out the Harambe bands are also thicc. The width is deceptive. I’m using narrower bands now, but getting a better workout. The narrower width make it easier to do side-by-side band stacking to tune the load, which is great. Initially I thought that the yellow 1/4” band would be too light for me to use for much of anything, and that is true by itself, but I have found myself frequently stacking it with one of the other bands.

The shorter length is great, and my motto is now 38” or GTFO. (I’d probably be just as happy with the 37” length offered by Serious Steel, if their bands are of similar quality.) I can use the 38” bands for all the exercises I previously used the 41” for, but I get more resistance sooner, which is much more better. The way I visualize it in my head is that the force curve is flatter, but vertically higher. There are other exercises that were never an option with the 41” bands, because I would only get resistance for a small part of the movement, but are now possible with the 38” bands.

About three years ago I was given a Jaquish X3 Elite bar and platform. I was skeptical of these at first, but both have grown on me, and I have been using them regularly with my Iron Woody bands. (I borrowed a set of the X3 bands for a month, which were fine, but nothing special, and I decided I preferred my Iron Woody bands to them.) I still do some things with just bands, but most of my resistance band use involves the bar and platform. I’m now using the Harambe bands with the X3 pieces, and am pleased with the setup. I also use my zafu in place of the cork block for the Harambe-style bench press – which is one of the exercises I couldn’t really do with longer bands.

Harambe/X3/Zafu Bench Press

The Harambe bars and platforms look objectively superior to the X3, but not enough to make me want to spend money to replace my existing equipment. I’d likely go with Harambe if I was starting over. (I also appreciate that Harambe has a decent website, and the guy behind it seems like just a normal dude in his videos. The Jaquish website feels like some sort of multi-level marketing cult and I need to perform ablution after I look at it.) The bars and platforms from both are expensive – probably unnecessarily so – and I hear there are a bunch of cheap knock-offs of the bar-and-platform idea that probably work fine. But I am smitten with the Harambe bands, and feel like that piece was money well spent.

But the main takeaway is: try bands shorter than 41”.