38 stories

Spatial Orientation

1 Share
Here, if you know the number of days until the vernal equinox, I can point you to the theater using my pocket Stonehenge.
Read the whole story
11 days ago
Share this story

A change of direction ..

1 Share

In my previous post I talked about how our child-care works here in wintery Finland, and suggested there might be a change in the near future.

So here is the predictable update; I've resigned from my job and I'm going to be taking over childcare/daycare. Ideally this will last indefinitely, but it is definitely going to continue until November. (Which is the earliest any child could be moved into public day-care if there problems.)

I've loved my job, twice, but even though it makes me happy (in a way that several other positions didn't) there is no comparison. Child-care makes me happier-still. Sure there are days when your child just wants to scream, refuse to eat, and nothing works. But on average everything is awesome.

It's a hard decision, a "brave" decision too apparently (which I read negatively!), but also an easy one to make.

It'll be hard. I'll have no free time from 7AM-5PM, except during nap-time (11AM-1PM, give or take). But it will be worth it.

And who knows, maybe I'll even get to rant at people who ask "Where's his mother?" I live for those moments. Truly.

Read the whole story
12 days ago
Share this story

My friend Stirge

1 Share

Eric Sturgeon, one of my oldest and dearest friends, died this week of complications from what I'm fairly certain was non-alcoholic fatty liver disease.

It was not entirely unexpected. He'd been getting progressively worse over the past six months. But at the same time there's no way to expect this sort of hole in my life.

I've known Stirge for twenty-five years, more than half of my life. We were both in college when we first met on Usenet in 1993 in the rec.arts.comics.* hierarchy, where Stirge was the one with the insane pull list and the canonical knowledge of the Marvel Universe. We have been friends ever since: part of on-line fiction groups, IRC channels, and free-form role-playing groups. He's been my friend through school and graduation, through every step of my career, through four generations of console systems, through two moves for me and maybe a dozen for him, through a difficult job change... through my entire adult life.

For more than fifteen years, he's been spending a day or a week or two, several times a year, sitting on my couch and playing video games. Usually he played and I navigated, researching FAQs and walkthroughs. Twitch was immediately obvious to me the moment I discovered it existed; it's the experience I'd had with Stirge for years before that. I don't know what video games are without his thoughts on them.

Stirge rarely was able to put his ideas into stories he could share with other people. He admired other people's art deeply, but wasn't an artist himself. But he loved fictional worlds, loved their depth and complexity and lore, and was deeply and passionately creative. He knew the stories he played and read and watched, and he knew the characters he played, particularly in World of Warcraft and Star Wars: The Old Republic. His characters had depth and emotions, histories, independent viewpoints, and stories that I got to hear. Stirge wrote stories the way that I do: in our heads, shared with a small number of people if anyone, not crafted for external consumption, not polished, not always coherent, but deeply important to our thoughts and our emotions and our lives. He's one of the very few people in the world I was able to share that with, who understood what that was like.

He was the friend who I could not see for six months, a year, and then pick up a conversation with as if we'd seen each other yesterday.

After my dad had a heart attack and emergency surgery to embed a pacemaker while we were on vacation in Oregon, I was worrying about how we would manage to get him back home. Stirge immediately volunteered to drive down from Seattle to drive us. He had a crappy job with no vacation, and if he'd done that he almost certainly would have gotten fired, and I knew with absolute certainty that he would have done it anyway.

I didn't take him up on the offer (probably to his vast relief). When I told him years later how much it meant to me, he didn't feel like it should have counted, since he didn't do anything. But he did. In one of the worst moments of my life, he said exactly the right thing to make me feel like I wasn't alone, that I wasn't bearing the burden of figuring everything out by myself, that I could call on help if I needed it. To this day I start crying every time I think about it. It's one of the best things that anyone has ever done for me.

Stirge confided in me, the last time he visited me, that he didn't think he was the sort of person anyone thought about when he wasn't around. That people might enjoy him well enough when he was there, but that he'd quickly fade from memory, with perhaps a vague wonder about what happened to that guy. But it wasn't true, not for me, not ever. I tried to convince him of that while he was alive, and I'm so very glad that I did.

The last time I talked to him, he explained the Marvel Cinematic Universe to me in detail, and gave me a rundown of the relative strength of every movie, the ones to watch and the ones that weren't as good, and then did the same thing for the DC movies. He got to see Star Wars before he died. He would have loved Black Panther.

There were so many games we never finished, and so many games we never started.

I will miss you, my friend. More than I think you would ever have believed.

Read the whole story
12 days ago
Share this story

Wednesday, November 29 - self-hosting, cloud disentanglement, windmill tilting, etc.

1 Comment

Wednesday, November 29

self-hosting, cloud disentanglement, windmill tilting, etc.

So my computational life is kind of a mess, and also is more locked-in to services provided by third-party corporations (subtype: gigantic, evil) than I’d like. I’ve spent years promising myself I’d become less dependent on the megacorps, but I’m still beholden to Google and a pack of others.

I’ve decided that late 2017 is as good a time as any to start working on this problem in earnest.

This is the kind of list that I’d normally write on a piece of paper with checkboxes, but I may as well document it here in case it’s useful to anyone else.

These are the systems I’m concerned with:


I’ve been on GMail since August of 2004 (I had to check this), when it was still an invite-your-friends service working to build clout by starting with nerds. I have about 9 gigs worth of archives; by volume most of that is probably mailing lists, notifications, and other machine-driven noise, but there’s plenty I’d like to retain. Right now I plan to keep this locally in Maildir form and use some kind of desktop client for everything.

There’s also the basic problem of all the other identities that get attached to an e-mail address in the course of thirteen years of heavy use. I can’t afford to delete the account in the short term, but I guess I can forward everything and spend months chipping away at all the stuff tied to it.

Difficulty: Unpleasant, repetitive, but well understood and achievable.

phone service

I’ve had the same phone number for most of my adult life. I’m not sure whether it’s possible to pry it out of the clutches of Verizon, but I’d like to. Even if that’s not possible, things I want Verizon to lose include:

  • constant knowledge of my location
  • control over the OS and installed applications on my phone
  • interception of most of my data traffic

I’m aware that any connection to the phone network will involve an unsavory corporate provider — I just have a special and particular contempt for Verizon, built on years of acquaintance.

Difficulty: Heroic levels of cat vacuuming, probably.

mobile os, apps, etc.

I use an Android device. At its best, Android is a pretty reasonable user experience, but it’s full of tracky shit and increasingly pushy about integrating itself with the broader panopticon. Every time my phone asks me to review and post photos of some random gas station off of I-25, or encourages to me to read a news story “based on your interest in Donald Trump”, I feel incrementally more alienation and loathing for everything our technical culture has become.

Since alienation and loathing are no fun, I would like to stop using Android (preferably without switching to iOS).

Difficulty: See above, re: cat vacuuming. If this is achievable, it’s probably in part by splitting the functions of a phone out into a couple of devices and just abandoning others.


I’m on my third or fourth Kindle, the e-ink kind. It’s convenient enough, but Amazon is doing its best to eat everything (including the publishing industry), and I would like to contribute less energy to their efforts. Plus I’m pretty sure future iterations of any Amazon device will eventually include an always-on microphone, and I am not interested.

Difficulty: I think there’s other hardware out there, and other marketplaces for e-books. Also, paper mostly still has better ergonomics, aside from weight and bulk. But then most of my book reading happens in an easy chair or a bathtub, not on an airplane.

laptop and desktop hardware

Some set of world-historically stupid assholes at Intel decided that it would be a good idea to install a full-blown operating system completely outside of end-user control on most of the chipsets they’ve sold for the last decade, so it’s even less possible than naive paranoia would suggest to trust the hardware I own.

Difficulty: Fucked. I can do quite a bit using relatively open single-board ARM machines like the Beaglebone or the Novena, but I can’t easily escape from the need for a system robust enough to run a bunch of modern web apps.

Further notes to come as I tackle these.

Read the whole story
103 days ago
Share this story

Saturday, November 18 - App::WRT - WRiting Tool, a static site generator and related utilities


Saturday, November 18

App::WRT - WRiting Tool, a static site generator and related utilities

Probably a decade after the first time I put it on a TODO list, I finally got around to publishing this site’s underlying software on CPAN. It didn’t used to be called App::WRT; for a long time it was just display.pl, and then Display.pm when I turned it into (sort of) a library.

Last February, I switched it from CGI that ran server-side on every page request to a site generator that would render the entire site to static HTML files. That July, after agonizing about good command names not already taken by real software, I switched the command-line interface from display to wrt, short for writing tool. CPAN naming guidelines suggest putting this sort of thing in the App namespace, so that’s what I did.

CPAN is the Comprehensive Perl Archive Network, a big repository of libraries, utilities, and documentation in Perl. Which is to say that it’s Perl’s answer to npm, Packagist, RubyGems, PyPI, etc. (It would probably be more accurate to say those things are other languages' answer to CPAN, since CPAN dates to the mid-1990s.)

I’ve generally had a bad experience with language-specific package management systems, but after all these years CPAN remains an exception, for all of its foibles. Publishing a release to CPAN turns out to be a very 1990s / early 2000s kind of experience, with a wait to see results and a generally piecemeal feeling. It suffers by comparison to the “push a git tag to the remote” approach to creating a “release” on GitHub. On the other hand, it pushed me to make a bunch of improvements to the documentation and fill out a handful of the features that wrt needs to be usable as a standalone tool.


I know no one else will ever use this thing. In case you did want to, installing on most GNU/Linux systems should be as simple as running:

$ sudo cpan -i App::WRT

Or, if you happen to have cpanm installed:

$ sudo cpanm App::WRT

Once installed, you should be able to run wrt:

$ wrt
wrt - a writing tool

Usage: /usr/local/bin/wrt [command] [args]
    wrt init        Initialize a wrt repository
    wrt display     Print HTML for entries
    wrt render-all  Render all defined entries to filesystem
    wrt addprop     Add a property to an entry
    wrt findprop    Find entries containing certain properties
    wrt -h          Print this help message

You must specify a command.

In order to make an entry for the current day, create a file like archives/2017/9/18, and write some HTML in it. Or use Markdown, like so:

<h1>Saturday, November 18</>

Your text here.

If I live long enough, I might get around to rewriting wrt in something else, but aside from C, I’m not sure I could have started out by picking a language more boringly likely than Perl to keep working for a couple of decades.

The underlying archive format could be better in some ways, but so far it’s also been fairly future-proof. My only real worry is that one of these days, as the open web vanishes further into the maw of facegooglemazon, HTML itself may start to seem like a bad idea. In that case, however, it should be pretty easy to convert the simple subset of HTML I’m using here to some other language.

Read the whole story
112 days ago
120 days ago
Boulder, CO
Share this story

Monday, October 16 - decades


Monday, October 16


Paul Ford wrote about starting ftrain 20 years ago:

I started this website 20 years ago, give or take a week. The original address was www.interactive.net/~ford. Eventually it migrated here into the form you see. I took it very seriously for many years and it earned me thousands of readers, thousands of emails, and tons of opportunity. It was better at generating opportunity than money. I drifted away for all the regular reasons.

Which got me thinking: The oldest surviving bits of this website go back to April of 1997, so it's 20 years, give or take six months. It lived other places for a while (GeoCities and a shell box with a tilde in the URL) until I actually got a domain for it. p1k3.com was the first domain I ever bought, and I chose it because my middle name is Pike and I like the number 13 and it was four characters long, which even in the early years of this century was getting to be kind of hard to come up with. There was also this running joke with friends from IRC, about whether a pike was a weapon or a fish, and I guess that must have played into my thinking somehow.

p1k3 has clearly not made me into a low-key internet celebrity. I don't know about opportunity, but it has helped me get a couple of good jobs, and probably prevented me from getting several more bad ones. To guess at its current readership, I think that about a dozen humans might see this post sooner or later.

I wrote one possible variation on the post you're reading now back in February — the one where I regret writing so much stupid bullshit. That one doesn't really explain why I've written so much less this year than most, though. This other one where I worry about self-surveillance in an age of weaponized data and network fascists comes a lot closer to the mark.

In 2017, I've fully given up on some things. A big one is the World Wide Web. The "open web", as such, is dead. Or at best on life support. The actually existing web is, mostly, bad. It's an abject failure in the terms I thought I was involved with it on, and its architecture has helped bootstrap an internet that's hostile to my values, if not ultimately to human life itself.

It's no longer possible to use the web in a way that respects your privacy, autonomy, basic personhood, etc. And for the same reasons, it's incredibly difficult to work on the web for a living in any kind of ethical fashion.

But then: So what?

I think it's broadly true that most of us should treat the network as a hostile environment, and that any information we publish about ourselves will be used against us and our communities by systems we have no control over — systems operating under few legal constraints, answering only to the profit motive, under the authority of complete assholes with no sense of responsibility, proportion, or historical perspective.

It's really tempting, in the face of this conviction, to shut up and just focus on sequestering myself from the network to whatever limited extent that's still possible.

On the other hand. Writing is one of the only real powers I've ever had, and the surface of this terrible website is still mine to write on. The web is dead to me, as a hope or a cause, and the world it's made — the world that so many thousands of us helped to make — is in bad shape and getting worse. But why should I give up my only real canvas, the only place where I have any voice at all?

Possibly (almost certainly) having a voice is itself an illusion, irrelevant to the course of things now. But I guess it's something.

Read the whole story
141 days ago
141 days ago
Boulder, CO
Share this story
Next Page of Stories