This Space for Rent

Jun 30, 2009

Picture of the day


The mint is starting to blossom, so I pulled out my remaining autofocus K-mount lens (a 70-300mm rebadged Sigma(?)), plugged it into the *istDS, and spent some time this afternoon waiting to see if some bees would pop on over to the corner store. They didn’t. So before I shovelled everything onto my bike for an afternoon run out to the donut shop, I demacroed the lens and took a few telephotoey pictures of miscellaneous things around the neighborhood.

(The amount of crud on the lens and sensor is getting pretty amazing – I had to spend quite a bit of time with the iPhoto touchup tool before the sky didn’t look as if an early summer dandruff storm was passing through. I’ll probably do a full clean-off this weekend, since I suspect I’ll be doing a lot of flipping between the 300mm zoom and my handful of screw-mount primes in the next month and a half.)

Jun 29, 2009

Pretty flower picture of the day


When I started breaking up our driveway and “planting” grass to replace the concrete, I scavenged clumps of grass from every source I could find, up to and including digging them out from between cracks between not-yet-removed concrete slabs. Some (and by “some” I mean “many”) of these clumps of grass included other plants. Mainly broadleaf weeds, of course, but this spring saw this tiny violet growing up alongside the mongrel horde of grasses that I’m colonising our ex-driveway with.

(The biggest problem of breaking up the driveway is what the devil to do with the broken up concrete. I’ve had people come by asking if they can take it for fill, and I’ve gotten rid of 3 tons of it that way, and I put a couple more tons to use as a wall at the front of the property, but I’ve still got half a ton sitting in a pile which I have to get rid out before I can break up a couple more 4' squares. I was thinking of building a rubble foundation wall along the front of the ex-garage, but that would require quite a lot of gravel to bed the rubble wall on, and a fairly substantial amount of concrete to make a level stem-wall to build the frame for the front of the building up from.)

More Bee Pictures!


A Mud Dauber wanders the lunar landscape of a pile of muddy gravel in search of the proper construction material for her nest.

Jun 28, 2009

Pretty flower picture of the day


I went out for a moderately long loop through Clackamas County (and southern Multnomah County) this afternoon, and when I reached Rugg Road I spent some time attempting to get pictures of the bees working the Himalayan Blackberry bushes there. No luck with the bees (poor vision, a manual focus lens, and the crappy built-in p-ttl flash on my *istDS combined to make all of the bee pictures either out of focus or wildly overexposed) but I did get some nice pictures of the blackberry flowers on the horrible invasive weed.

Jun 27, 2009

New Code!

discount has been rolled up to version 1.4.4 after a cleanup of the test suite (which wasn’t portable to plan9 due to grep differences between the Unix®©™ world and the Plan9 world), a few bugfixes for things that weren’t working and which weren’t being caught because the grep jungle was tripping me up unawares, and some cleanups of the autolink code to make it look more like the reference implementation.

The list of (mis?)features is:

  1. Add <map> to the html blocks we know about.
  2. Redo most of the test cases so they won’t use grep except in exceptional cases.
  3. To prettify the test case output, modify cols.c so that it more-properly handles utf-8 characters.
  4. Make autolink hew closer to the reference (reddit) implementation.
  5. Fix a bug in generate.c where MKD_NO_EXT was not being handled.
  6. Add -fext to the options for the markdown program
  7. Plan9 documentation corrections from Josh Wood
  8. Find and fix a bug where a url with an embedded double quote is printed out with that doublequote in plaintext.
  9. Some more code primping to make anal-compulsive pseudo-C compilers stfu.
  10. Redo puturl() and the url grabbers to do debackslashification in puturl()

This posting shows that I’ve not put any horrible new crash-causing bugs into the mainline code, so it’s perfectly safe to use, and thus the ideal candidate for the late night New Code! release of the week.

And maybe 1.4.5 will see the documentation being properly updated, too.

Jun 26, 2009

Not a vast intelligence, but certainly an alien one.


A female mallard duck wonders if my camera (or my fingers, or my face) would be good to eat.

Friday Dust Mite Blogging™


Dust Mite attempts to blend in with the crowd.

Compare and contrast


Two different forms of transportation meet just north of the Milwaukie Marketplace.

Jun 25, 2009

Railroad picture of the day


Amtrak helps make me be late on my return home from today’s short trainspotting loop in East Portland (I wasn’t really that enthusiastic about going out for a bike ride, but doing a 36 mile loop of various eastside places-with-trains was a different matter.) My plan was to get home at 6:00pm, but that plan was rudely crushed by (a) stopping at Trader Joe’s for a mass of fruits and nuts, and then (b) being late enough so that I could stop at the Bybee Blvd overpass and take pictures of a southbound Cascades scampering south as fast as GM’s finest is allowed to go in this neck of the woods.

Trolley picture of the day


One of the new single-ended SD70s sits near the back of the yard at Ruby Junction today.

Jun 22, 2009

The essence of powerpoint

In one easy presentation

As you can see, our company is poised for success in today’s fast-paced intellectual marketplace.

–presentation courtesy of Russell Parsons

Jun 21, 2009

Day of the bees

I’m not sure exactly why, but pretty much every time I’ve gone out on the bicycle this spring or summer I’ve ended up being rammed by a variety of winged buzzing insects, including lots of bumblebees (here I am, rolling along at 30 km/h, and then I see this small black and yellow blob shooting towards me, followed by a crack, thud, or smack.)

Today I had the most amusing variant of this; I heard the crack, then heard some indignant buzzing sounds from inside my helmet. I shook my head, but something still didn’t feel right, so I pulled over and stopped ~1km down the line, took off my helmet, and there was a stunned bumblebee trying to shakily clean herself off before either flying away or doing a suicide attack against my scalp. I helped her decide by blowing her out of my helmet into the weeds by the side of the road, and then rode off before she changed her mind and hopped back onto the xtracycle bus for the rest of the trip out to Rugg Road.


Domestic vermin picture of the day


Mavis peers down at her loyal subjects from the lofty vantage point of her Ikea throne.

Jun 19, 2009

Unpleasant bicycling discovery of the day

It was raining today, but I needed to ride downtown to do some consulting for a company I used to work for (3 hours of work isn’t much, but it’s better than nothing) despite the rain. And, once again, I discovered that bicycle-front fender ::= shoes so full of water that they became little fountains with every step I took when I got off the bike and walked into the office there.

It’s the curse of a small bicycle frame (a 55cm top tube and 4.5cm fork rake combined with platform pedals and toe clips leaves me with about 5cm of toe overlap. Toe overlap which has bitten me often enough so I didn’t even bother to try and put the front fender back on after the last time it wedged against the wheel, pretzeled, and flipped me off onto the pavement) – I either only ride during good weather, get my feet and lower legs sopping wet if there’s any sort of water on the line, or crash my bicycle on 1000 mile intervals.

I suppose that I could always cut the fender off above the toe overlap area, then fasten the cut off part onto my downtube so it would at least pretend to catch some of the water that shoots off the tire and is bounced off the tube and onto my lower appendages. It would certainly be cheaper than going up to one of the local bike co-ops, finding an old larger frame, then getting it nicely powdercoated and ready to go.

(Actually this wasn’t the only unpleasant bicycle discovery; I also discovered that the cheap rain jacket I bought to replace my Showers Pass jacket after it vanished somewhere between here and Boring was cheap because it didn’t actually keep the rain away from me. Drat, but that’s a unpleasant situation I’ll have to resolve on a different day.)

Friday Dust Mite Blogging™


It’s either Dust Mite flavo(u)red beer or there’s a severe infestation at the OLCC warehouse.

Jun 18, 2009

Railroad picture of the day

*whoosh* goes the southbound Cascades

The 6:15 southbound Cascades passes behind a northbound (but stopped) P&W freight just north of Brooklyn Yard.

Jun 17, 2009

Trolley picture of the day


The east end of a westbound Hillsboro train at the convention center stop tonight.

Jun 15, 2009

New Code!

Discount has, after an extremely long round of design & prototyping a fix for a long-standing parsing bug, been shoved up to version 1.4.3. 1.4.3 replaces (again) the parser for the url in a []() construct, and, as a little something extra, adds Plan 9 support in the form of a mkfile, USG-manpage versions of markdown.1 and markdown.6, and a plan 9-specific README for people who want to use discount on that platform.

The Plan 9 support (provided by Josh Wood) is untested by me (I don’t have any working Plan9 machines,) but I’m confident that it works. The parsing rewrite for []() changes that parser to be more in line with the markdown dingus @ daringfireball; URLs that contain a multiple quotes in the middle are now treated as URLs instead of URLs plus a title, plus the exciting feature of greedy urls is now in my code ( so a link like [Poe's Law]('s Law) will generate the desired link, but that link followed by a parenthetical comment ('but,' he said, 'it won't work') will magically become a link to with a title of s Law)'it won't work. (And there are a lot of fun edge cases out there that have the same behavior. Mike Schiraldi has been testing discount and is a cornucopia of horrifying edge cases.)

Amazingly, it still passes my test suite and the MarkdownTest_1.0 and MarkdownTest_1.0.3 testsuites, so it’s the ideal New Code! for you to upload and watch explode in the luxury of your own home. I’ve spent a lot of time designing this latest version of the []() parser (and only managed to figure it out when I was riding a 50-odd mile loop up to Joe’s Donuts in Sandy and thus had four hours where I couldn’t distract myself by reading Usenet instead) so it may actually not be a horrible machine eating monster instead of a useful update to my code.

Jun 12, 2009

Friday Dust Mite Blogging™


Dust Mite plays with a shrinky-dink cutout doll. (set design and props by Silas, photography by me.)

Jun 10, 2009

New Code!

My mime mangling software has been, after a period of several years, updated to version 1.2.3 with the addition of the new -t option for unravel, which makes it dump out a structure tree for the mail document instead of trying to unravel it.

I did this for antispam purposes, because the copy of spamassassin I’ve got doesn’t seem to want to let me examine elements of multipart/mixed MIME messages and I’d rather redo the functionality in C instead of poking away at a perl program to try and get it to work.

unravel -t dumps out a structure tree that looks something like this for a multipart MIME message:

orc@crepe(mimecode)> unravel -t < tests/examine.spam
 text/plain; 1 line, 23 chars
 image/png; "bossies.png"; 25 lines, 12661 chars

for each attachment in the message, it prints out the Content-Type, the filename (if any), and the number of lines and characters that would be printed out after decoding the attachment. If the message type doesn’t have attachments, it prints out the offending information about the whole message instead.

I’m not actually using this new feature yet, but it’s a pretty small change and it doesn’t create any files, so it should be about as bombproof as any of my New Code! can be. If you’re using this code, you should probably update to the latest version to put some more software excitement into your life.

Jun 09, 2009

Cute baby picture of the day

Russell & Silas pose next to a sculpture at Lewis & Clark College

The Best had her graduation ceremony at Lewis & Clark College on Sunday, and the whole family went to the ceremony. There were some very long speeches during the whole thing, and the bears ran out of patience halfway through them, so I took them for a short walk through the college grounds until the speechmaking stopped and the diploma-awarding started.

When we walked by this statue, the bears demanded that I take a picture of them with the statue. Now, as a general rule they don’t like to have me taking their picture, so when they asked I just had to drag out the camera and start clicking away until they realized just what they had asked for. And by then it was too late for them to avoid the camera.

1 comment

Out on the line


The Yellow Menace was doing MOW work on the ex-SP mainline south of Brooklyn Yard this week, and it appears that they finished up today because this railtruck was running up and down the west main picking up a huge collection of old ties and brush. (I didn’t go very far today, and so I saw the truck working away both coming and going on my tiny little 35km loop out to Gresham .)

I also took the chance to experimentally verify that not getting enough sleep makes me pedal slower; I did the Linnemann Junction loop on Saturday and managed to average just shy of 26km/h, and today I re-did the loop on six hours of sleep and averaged just shy of 24km/h. So if I’m going to do any epic deathmarches, I’ve got to get myself well-rested before I plod off down the road, because it will only get slower and slower and slower as the clock ticks on.

Jun 08, 2009

Out on the line


When I was running down to the colo (which I need to vacate now that they’ve changed their policy to “access during normal weekday business hours ONLY”) to get gehenna back on line, I saw this tiny little tugboat delivering a section of floating dock to temporary firehouse #1 across from downtown Portland. And then I spent about two hours restarting gehenna and installing a bigger hard drive, which was not exactly how I wanted to spend my monday morning (but I didn’t really have much choice if I wanted my website to come back to life. Grumble.)

Domestic vermin picture of the day


We were over at a friends house yesterday afternoon for a cookout, and I spent some time taking pictures of their dachshund in the evening light. My super-fast lens (50mm f1.2) is still out of service, but I had my f1.8 super-tak wound open as far as it could go, and that still reduced the focal plane to less than the length of a dachshund’s muzzle.

Jun 06, 2009

New Code! (super-experimental version)

Discount has been rolled up to version [1.4.1pre0]1.4.2 with a whole bunch of bugfixes that were reported by several people (and a single new feature.) It’s a pre release instead of a full release because I’m still looking at some of the code I put in and trying to decide whether it’s the code I really want.

The 1.4.1pre0 version was pulled pretty quickly after I released it (but I didn’t actually get around to properly publishing it, due to a small misfeature in the ipfw kernel module in freebsd 4.4. It took until today before I made it into my colo to unload the ipfw module and make the machine talk to the world again) because I introduced a bug into linkylinky() which made the code dump core if I ever ran it with a base url specified.

But, be that as it might be, the bugfixes and new feature are:

  1. Three bugs reported by Mike Schiraldi:
    • If -fautolink was turned on, a naked @ became a mailto: link. Fixed by only triggering maybe_tag_or_link() on alphabetic characters.
    • If -fnohtml was set, forced linebreaks became &lt;br/>. Fixed by filtering out nonprinting nonwhitespace characters on the input and using ^C as the <br/> generator character instead of converting the forced linebreak directly to <br/>.
    • inline links (via []()) didn’t allow spaces or escaped ) characters. Fixed by rewriting linkyurl() to absorb input until a terminator instead of until whitespace or a terminator, and allowing \ to escape ), =, or “.
  2. Changed the Qchar() function so that it take an integer argument instead of a char. (reported by Josh Wood from the plan9 port.)
  3. Some bugs I discovered
    • Flag the raw: pseudo-protocol so that it will be disabled when DENY_HTML is set.
    • Rework maybe_tag_or_link() so it better rejects random stuff that begins with a <.
    • linkylinky() was a horrible bug, and needed to be fixed (see item #5.)
  4. Add the new abbr: pseudo-protocol (the html <abbr> tag)
  5. Completely rewrite the []() logic to get rid of some of the encrusted kludges which made 1.4.1pre0 into an festival of exploding code.

Domestic vermin picture of the day


Mavis takes a short afternoon nap.

Jun 05, 2009

Cute baby picture of the day


Silas and his friend Gus ham around with a microphone at Llewellyn School today.

Friday Dust Mite Blogging™


Dust Mite sails away on a balloon.

Jun 02, 2009

Well, it’s certainly not a concealed weapon


A small trebuchet launches a water ballon across the Llewellyn schoolyard and into an unseen mob of children. Unlike most sieges, this mob of children was actually trying to get into range of the engine.

Some of the blurriness of this image is because the end of the lever was moving quite quickly (the bigger copy of the photo shows the water balloon streaking off into the sky) but, alas, most of the blurriness is because my vision – and eyeglasses prescription – is terrible.


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