This Space for Rent

Mar 31, 2017

Friday Dust Mite Blogging™

Dust Mite helps me fight with git


Mar 30, 2017

Trolley photo of the day

A northbound train approached Harrison St in Milwaukie

A two-car train of S70s runs along the cutting between Monroe & Harrison St in Milwaukie, Oregon.

Mar 29, 2017


Picking up a couple of chainstays & some flux from Henry James

Stopping by Henry James to pick up a couple of chainstays for the emergency randonneuse.

Checking compatibility between and gnu configure

After many years of sticking with an older copy of dropbear and after several months of being in the macos beta program (which on EVERY SINGLE FREAKING UPDATE overwrites the config files in /etc/ssh regardless of any local customisations anyone might put into ssh_config & sshd_config), I finally decided that I’d grab a newer copy and make a more determined attempt at getting it to actually build on my pile of hardware.

Problem: modern versions of dropbear use GNU c*nf*g*r*, and to add insult to injury don’t actually use c*nf*g*r* but use GNU autoconf (which generated the configure file, which is then used to generate, as is traditional, binaries for both Redhat & Debian) and I, as a matter of policy, try my damnest to keep that particular pile of cruft off my machines.

So what to do? was written to mimic the published interface of GNU c*nf*g*r* so that it could theoretically be used to generate makefiles from GNU .in files, but I’d never actually tested it out. But here was an opportunity, and an opportunity that carried most of its dependencies along with it (Tommath & Tomcrypt; the toplevel has hooks in it to use external copies of these libraries, but it was easy to build a that told the makefile to use the internal ones) so I sat down for a couple of hours and worked on a configurator that would look for the proper things to build on a Centos 7 machine.

Which finally “worked” (generated a dhclient that I could use to ssh into localhost; The first dropbear is going to be on a machine that’s inside my local firewall so if it leaves any horrible gaping security holes floating around (will clang optimize out memset(,0,)? Let’s not test that in an environment that the script kiddies have access to) I’ll have a chance to find them before anyone else), which means I actually have more of a chance of being able to take more recent software and getting it to work on machines that don’t run Redhat or Debian.

And the offending dropbear? Mirrored at github for your reading amusement.

Semi-bespoke fop chariot


I was getting ready to pull the fork & rack so I could repaint them, but then the kit bike died and I had to put that project aside pending gluing up the emergency randonneuse. So here it sits, still being used; the BB has started to creak on the NDS (either the bearings, the joint between the crank arm and the spindle, the chainstay<->BB braze, or the pedal; I checked the chainstays (and the seatstays, though if one of them had failed I’d know it because the mountainhack would start to plane like it was going out of style) dumped oil into the pedal this morning before heading out, so they were nt it; tonight I’ll need to pull the BB and replace it with a newer one that I’d bought with last year’s REI dividend and see if that will fix the offending wagon.

But here it is, in full free pile glory; almost every component stuck to this frame is worth more than the frame itself, unless there happens to be some collectable value in it being the first frame I (fractionally) built.

Mar 28, 2017

Trolley photo of the day

Pink/Orange @ Harrison & Naito

A United Streetcar Skoda-clone sits at Naito & Harrison this afternoon.

Mar 27, 2017

High water

Two geese and a blue heron on the westside riverfront trail

The path that’s next to these birds (and which is underwater in the foreground) is normally 4-6 feet above water. There’s a lot of water flowing down the Willamette River this month, and the riverside path that runs down the west side of the river is underwater in at least 4 places right now.

Mar 25, 2017


Tubing blocks, #1

Hardwood tubing blocks to prop the frame centerline 34 mm above the surface plate I’m going to use to stick together the next few frames (the “surface plate” in question is a large chunk of granite countertop that’s sitting in the basement. It’s level, but not as absolutely level as those big thick surface plates you can buy, so there will probably be the need for a little bit of finishing alignment when I’m done gluing the frames together.)

Mar 24, 2017

Friday Dust Mite Blogging™

Dust Mite Noir?

It’s difficult to look like a hard-boiled detective when there’s another Dust Mite sitting on your fedora.


Parts is parts!

I went to the shop where Framebuildersupply lives and picked up an 8/5/8 TT, a BB casting, and a TT/ST lug for the emergency randonneuse this afternoon. It was quite rainy on the way home, but thankfully not rainy enough to disintegrate the paper that all these parts were wrapped in in the 4 miles between Ankeny & home.

Mar 23, 2017

Not rainy today

Not rainy, so why not take the born-again Trek?

… so I’ll take the light bicycle downtown and back. It turns out that a short aluminum frame is much stiffer than a long steel frame.

Mar 21, 2017

The emergency randonneuse (2)

emergency randonneuse (bikecad)

Modelled in bikecad

The emergency randonneuse

drawn with rattlecad -- ignore the OBVIOUSLY WRONG seatstays

The replacement for the broken-and-probably-dead kit bike; it’s drawn with RattleCAD, so ignore the (obviously-wrong) non-Hellenic stays. Still criterion geometry w/ a 74.5 HTA (slackened slightly for the sake of the lugs with a sloping TT) but the ST has been steepened to 73.5 to lean me further towards the handlebars and to relax the manipulation I’ll need to do to fit the DT & ST into the bottom bracket.

I need to buy a BB (something with longish lugs so I can spread the rotational forces on the BB/ST interface across more of the ST), a ST (the only ST lugs I have are a pair of stamped economy ones; they’re good lugs, but they don’t look nearly as good as the delicate HT lugs I bought from Framebuildersupply last summer and would require some cosmetic work to make them match – I want to get the emergency randonneur finished and on the road before spring break, and I’ve also a fistful of racks to work on so my time is fairly constrained.)

And, yes, I could use the Mountainhack but it’s got fat tires (Pari-Motos) under it so it’s not as fast as a tubelessly Confrérie'ed machine would be, and the fender line on it is set up for the Nokian A10s I use when it’s snowy/icy out, so it would look kind of klunky with smaller tires trying to reach the fender line.

(parts needed: chainstays, ST lug, BB, maybe an 8/5/8 DT.)

Mar 20, 2017



Something (probably me when cleaning up the joint after brazing it together in 2015) must have put a nick into the kit bike’s seat tube, because it just cracked all the way around this morning (it had probably been slowly cracking for a while, but the extent of the crack was hidden in the BB filth) and broke the tube in half.

This is most likely the end of the kit bike; I can cut apart and remove the bits of the seat tube, but that’s a lot of fussy torchwork to get that tube out of the BB without popping the downtube and chainstays out of their lugs. New tubeset time, I suppose; perhaps a set of light True Temper tubing and reuse the current set of hellenic stays?

Mar 19, 2017

railroad picture of the day

The working Eng! now has trolley pole ornaments?

The working Eng!, now with ornamental trolley poles to help make it look like it used to be in the 1950s (not actual trolley poles; the rear pole is much too short and both pole bases (a) appear to be mounted directly to the body and (b) are much more delicate than actual pole bases are.)

Mar 17, 2017

Ready to build a couple of frames

Some assembly required

Last year I started and got about 60% of the way done with the 3-speed project frame before stalling out trying to decide what to do for a rear end jig, and it’s been sitting in the basement waiting for me to glue on the chainstays and finish the fork since then. But now, here’s another frame I need to build as well (this is a frame for an east coast randonneur, so it’s going be all lowtrailplaneyflexylighttubing700c; 8/5/8 main triangle, 9/6 fork blades, skinny tubed rear triangle (the only bicycle I had that planed in the traditional BQ fashion – the kit bike, if I let the tires get too low, planes, but I don’t really want a pair of tubeless tires flexing side-to-side under load – was an Ahearne that I owned for a couple of months; it had paired seatstays – two super-skinny ones per side – and if I got it up to about 17mph it would simply vanish under me. It was a bit too big, a bit too blingy, slower than the midlifecrisismobile and born-again Trek, and when I had to pay a tax correction I flipped it for the purchase) so I suspect the small-tubed rear triangle will make this one plane like it’s going out of style.) So I might as well do both frames as a batch.

But since I’m making this frame for someone else (and it’s $270 worth of tubing, lugs, and castings) I can’t just do the sort of ad hoc jiggery I did on the front triangle of the 3-speed project frame, both triangles on the kit bike, and the mountainhack’s rear triangle. So what I’m planning on doing is getting a few feet of hardwood 2x4 (or some unit blocks; probably cheaper, and definitely square :-) and using hole saws (1", 1⅛“, and 1¼” to make them into support blocks that will hold the frame pieces 34mm above a flat surface for positioning and pinning/tacking the front triangle, and then 75mm above that flat surface for tacking the rear triangle onto the frame. This is also not a perfect solution; my personal bikes have really short headtubes and I’ll need to find some way to support them without setting the support blocks on fire (or melting them if I get a large chunk of aluminum and chew up the hole saws make it into support blocks as well.)

As a longer-term thing, I’d love to buy some 8020 extrusion and make a freestanding frame jig, but I think I’d need to get a metal lathe or (win the lottery so I could afford a) CNC mill to fab the various attachments I’d need to make it a workable jig. So the traditional flat surface (I have a chunk of granite countertop sitting in my bike mess that’s flat enough for framebuilding) and support block dealie is what I’m going to live with for now.

Friday Dust Mite Blogging™

The $6 million dollar travel mug

Dust Mite helps me repair a broken travel mug

Mar 16, 2017

Gone shopping

Picking up some tubing from Henry James

Picking up some tubing from Henry James (conveniently located at the foot of the St Johns Bridge) for a fork & (part of a) frame.

Mar 15, 2017


Mar 14, 2017


not with a bang but with a whimper
from imgur, I think?

It’s gotten to the point where an actual military coup would the best option available to what used to be the United States of America. Oh the joy.

Mar 11, 2017


All tubelessified

The Pacenti SL23 rim claims to be tubeless ready, so why not? After all, if I can run Confreries tubeless on a 700d cr18 rim, it’s not as if it’s going to be harder to run them on these.

And they do still have the feeling of riding on a speedy cloud, so that’s not something I misremembered from the last time around. Dunno how long they’ll stay properly sealed (the tires are still weeping a bit of sealant one week after I initially mounted them on the wheels) but maybe long enough for a fistful of 200k loops?

Mar 10, 2017

Friday Dust Mite Blogging™

Ready for daylight savings time (or the end of daylight savings time, or whatever; the clocks move ahead and make the weekend shorter, but not tonight)

Dust Mite sets the clocks ahead

Notes on software development

Lord, it takes forever to compile a linux 3.10 kernel. (65+ minutes on a single-core 2.4ghz Xeon? Eeeeeeeee!)

Mar 08, 2017

Two more forks

Starting a couple of forks

Starting work on another couple of forks (one for the xtracycle replacement, the other for the 3 speed project bike frame) by brazing the crowns into the steertubes (so when I braze the fork blades in I won’t have to worry about the crown sliding sideways or rotating while I’m shoving brass into the seam between the crown and the blades.)

Mar 06, 2017


High-end audio(2)

Our old (and not quite functional: no battery & the keyboard suffers from the Pepsi Syndrome) Macbook Air, which was sitting in the basement, is now upstairs acting as a temporary music server to take the place of the previous mac mini (which abruptly fell over dead this morning.) It’s sitting on a couple of boxes of pasta to get some clearance above the amp, which belched out a huge gob of ozone when I restarted the stereo after swapping the new(?) computer into place.

Mar 04, 2017

Friday Dust Mite Blogging™

Time waits for no mite

It’s still Friday in Hawaii, isn’t it? So, um, “Blogging lepo ona ke Pōʻalima” should do the trick…

Mar 03, 2017

New Code (again)!

After releasing ndialog 1.0.3 last night, I couldn’t keep my fingers off the code and kept poking away at it making it compile more cleanly on the small handful of test systems I have lying around (Osx MacosX Macos 10.12 (x86-64), FreeBSD 4.2 (x86), and two recent versions of Debian Linux (arm & x86-64)). And so, 14 hours later, 1.0.4, which features

  • shared libraries actually build properly on all of my test systems
  • modern gcc/clang are much less whiny about the code (but not completely unwhiny; gcc & clang will be complaining bitterly about my code when I’m dead in my grave.)
  • mouse support has started to work on MacOS again?
  • all the code is finally checked in (amalloc.h & amalloc.c hadn’t been checked in, which would have made configuring --with-amalloc less than useful.)

For horrible object-oriented C code, it’s not bad. Maybe I should go back and build dialog-compatable shell bindings for it to go along with the hopefully-dialog-compatable library bindings?

Mar 02, 2017

New Code!

I got a call today from a BSD maintainer asking if ndialog was being actively maintained and if it was a suitable drop-in for the original dialog program. I told him it was being maintained (just very slowly) and that I made it to replace dialog when I could no longer wedge the changes I wanted into the code.

And then I took a look at it and watched it blow up all over the place because I’d started to wedge amalloc into it last summer and never completed it, so it was sort of a dog’s breakfast of partial amalloc and partial real malloc, with the expected explosions when the system free() was fed something allocated with amalloc() or arealloc(). So that couldn’t stand; I spent a couple of hours on it today pushing it up into the modern world (and discovering a few holes in my autoconfigure scripts) and dropped a small patch release (1.0.3) when I’d gotten it to the point where it wouldn’t ALWAYS horribly leak memory.

It’s gone past that point now, but 1.0.3 should at least run the test programs I provide. MacOS mouse support is borked somehow, though – the ESC]M mouse sequence comes back just fine, but ncurses doesn’t intercept it at all? I’d say that you should try it out, because the published interface is still stable (since 1996!) but who uses curses these days except for embedded systems and installers?

Oh, and I made it all 3-clause BSD license instead of the mix of 3 & 4-clause it used to be, so that’s worth something from a software purity point of view?

Mar 01, 2017

40 wheels

And a new wheelset for the kit bike

A new wheelset for the kit bike (the Grand Bois wheelset resists truing with all of its might, and the braking surfaces are slicker than I’d like) made from parts out of my bike mess. Note the straight-gauge spokes, which add about 200 grams to the wheelset weight (~2090 grams as they sit) – if I wanted to chase grams and had the money to afford it I’d be using butted spokes plus a Schmidt dynohub to bring the weight down to ~1850, but under 2100 grams is still pretty nice for not really trying.

And these are the 39th & 40th wheels I’ve built. Maybe I’ll get better at lining up the valve hole & hub labels before I reach wheel # 100?


Obéir c'est trahir, Désobéir c'est servir