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:

mail

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.

e-books

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.

Monday, November 27

It’s the first Monday after a long weekend, which at this stage of history is a reminder that there aren’t many good reasons for weekends to be short.

Friday, November 24

reading: stories of your life and others

I thought Arrival was a good movie, so eventually I picked up Ted Chiang’s Stories of Your Life and Others, which contains the short piece it’s based on.

I’m a bit over halfway through the volume. It’s good stuff. A reminder of how much I used to enjoy short SF.

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</>

<markdown>
Your text here.
</markdown>

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.

wednesday, november 8

the snow melting over the green grass
the leaves half fallen
three blackbirds chasing a hawk
haze over the flatirons and
a single lenticular disc of
cloud above the canyon

Tuesday, November 7

mushrooms

A couple of summers ago, we took a roadtrip with some good friends of ours, meeting them in Slovenia and taking a van down to Croatia and along the coast into Albania.

We saw a lot of remarkable things, and spent time with a lot of remarkable people. This isn’t really a post about most of that, though. This is a post about the Albanian built environment.

Albanian architecture is nuts. Our friend, a local by birth, described the predominant mode of building as “mushrooms”. From googling, “concrete mushrooms” is a term often applied to the pillboxes scattered paranoically all over the country during the course of the Hoxha dictatorship. In her usage, though, it was more along the lines of: These ridiculous things that grew up all over the landscape like fungus after a rain once communism collapsed.

One of the first things you notice is concrete and rebar (“the national plant”, as a friend remarked). Reinforced concrete is everywhere, and little tufts of rebar seem to protrude from every other roof and column. This is because few of the buildings started within living memory ever seem to be quite finished. It’s routine to see three or four level structures which are mostly open concrete boxes with businesses or housing built out only the first floor, the top story looking ready to serve as platform for the next layer once someone gets around to it.

I don’t have the vocabulary or the eye to describe the style, really, but there’s a kind of characteristic hodgepodge of clashing designs and types. Brutalism and weird outbursts of eclecticism coexist with a neo-classical-by-way-of-Las-Vegas vibe, sometimes in the same building. Materials will shift radically halfway through a structure. Sometimes you look over and there’s just a tiny house build on the roof of the casino-hotel next door. Multi-story coffeeshop-hotel-gas-stations with cavernous interiors are a routine feature of the landscape, as are empty shells scattered at odd angles in the middle of fields.

Anyway, I took some pictures, thinking that at some point I’d try to do a kind of photo essay about this. They aren’t very good, but they catch some of the flavor and a handful seemed worth posting, even though I don’t really have the time and energy to research and write about the subject like it deserves.

(I should also say that Albania is a fascinating place for many reasons, and the buildings are probably the least of it, though they point to a lot in the history.)

linkdump

Debian Sources — Source code browser for the entirety of Debian.

A conversation with Alexandra Dean Director, Bombshell the Hedy Lamarr Story

What Have We Learned from the PDP-11?

Jessie Frazelle's Blog: Home Lab is the Dopest Lab

The score after Year One of the Age of Trump: Bush was still worse – An und für sich

drduh/YubiKey-Guide: Guide to using YubiKey as a SmartCard for GPG and SSH

Mozilla releases its speech-recognition system

Vegan Chickpea + Wild Rice Burgers With Grilled Avocados and Heirloom Tomato Salsa | Gratitude and Greens

Shashamane - Wikipedia

Email green, secure, simple and ad-free - posteo.de

Git PSA: git-rev-parse

JSON Meta Application Protocol Specification (JMAP) — "JMAP is intended to be a new standard for email clients to connect to mail stores. It therefore intends to primarily replace IMAP + SMTP submission. It is also designed to be more generic such that it can be extended with contacts, calendars in the future (replacing CardDAV/CalDAV). It does not replace MTA-to-MTA SMTP transmission."

Perspective on Colorado's Snowpack: Is There A Downward Trend?