Current Work

I know it seems like I write a lot about knitting, and it is the case that knitting covers a lot of the "stuff I do" it's certainly not the only thing I'm doing, and I thought it'd be fun to quickly review a bunch of things:

  • As of this week, I've been working at Interchain GmbH on Tendermint Core which is a consensus engine for state machine replication. After spending a huge part of my career on projects that were either "enterprise technology" (e.g. writing documentation for database engines), or technical operations (e.g. systems administration), or mostly internal facing (e.g. developer tools,) it's been really interesting to work on something that is definitely core product engineering with a great team. My work has mostly focused on what I think of as "platform concerns:" service construction, networking, workload management, and test architecture: these are the things I really enjoy, so that's been great.
  • More recently I've begun reballancing my time work to spend some time (intentionally) on what I think of as "engineering issues" rather than "software issues." I'm still writing basically the same amount of code as I ever did, but I'm also thinking about how to support teams as they grow and function. At basically every organization and team that I've worked in, the main constraining factor in shipping features has always been coordination with other engineering projects and not really "how quickly can I write code" (I'm pretty fast, all told.) I've always thought that challenges of how people coordinate their labor and organize their efforts in distributed (conceptually, temporally, geographically) environments, is one of the cool/hard problems.
  • I've been cooking a lot more. I'm getting better at making simple dishes that last for a few meals that I enjoy eating. I've been really getting into bean and letils, and have also made some good lentils making a lot of white bean and sausage dishes, lentils, pasta sauces, roast veggies.
  • I'm knitting a lot! Most of the time I have 2 or 3 projects going: a sweater, a pair of socks that is easily portable for travel or times when I'm not at home, and more recently a series of plain white socks. I'm quite enjoying all of this. As a backdrop to knitting, I've been watching Poirot recently, which has been fun.
  • I have a couple of "writing about knitting" projects that I'm writing and preparing drafts of. These are mostly book-length (though on the short side,) type projects, and one needs more editing (which I'm hoping to hire someone to help with,) and one is roughly half way through a first draft. The idea is to provide a lot of technical depth about the craft of knitting--techniques, skills, and design--combined with discussions of projects (mostly from a process perspective,) with some personal reflections and anecdotes sprinkled in. It's been a fun exercise, both because writing about things you understand well is fun, but also because (as weird as this sounds) it's been nice to sort of explore the boundary between technical writing and more creative writing.
  • I've been doing a bit more things that I think of as "general personal care/growth:" reading more books just for fun and because reading is good for inspiration generally; doing duolingo every day (Russian, which I studied as a kid in school); upgrading a bunch of my personal computing practices (new laptop, better remote editing environments, staying on top of my email, switching to tmux, etc). I definitely go in cycles of paying greater and less attention to all of these sorts of things, but I think it's worth while to dedicate time and attention to these kinds of things.

I want to find more ways of writing little things quickly. There's that old quip "sorry for writing a 10 page letter, I didn't have enough time to write a one page letter," but also I think that I do most of my writing in the morning and tend to not do this on days when I'm working, though this seems like a tractable thing to reorganize and think through ways of doing more writing (and other projects!) throughout the week.

Pandemic New Years

It seems obligatory to mark the new year, and what a year it was, for me and everyone else: pandemic, quarantine, changing jobs, new hobbies, totally different routines. The backdrop of the pandemic makes looking back (and forward!) so weird, and I find myself asking: will the things that changed in my life still be true when there's less quarantine? did the things that happen in 2020 happen because of the pandemic or would they have happened anyway? The certainty that most (but not all!) of 2021 will, in practical terms, look a lot like 2020 is intense and makes this whole "obligatory new years" thing a bit harder. Instead of doing something like "resolutions"/"goals"--which are always fraught--or some kind of lofty synthetic review of the last year, I think I'd like to muse on features of 2020 that I hope and expect to continue in 2021

  • Knitting: I took a lot of time off of knitting, but I found that I'd been missing it, and I think there are ways that it fits well into my life quarantine or no. It's also been quite fun to write about knitting and knitting projects, and become more engaged with other knitters, and I look forward to knitting things for friends and family. I have list in my head of some nifty ideas for sweaters and some other things to knit, so I expect this to stay.
  • Blogging: I've been writing blog posts for years and while I've always found it rewarding, but everything else related to blogging has been hard. During the summer, while I was interviewing for jobs, I wrote blog posts most days, and sort of fell down on posting them, and still have 25 (or so) in the draft folder. Writing is the easy part, it's editing (or letting go!) promotion, and remembering to move things out of draft. I've spruced up the blog and done some work to automate regular publishing, and it seems like I might be able to make this work! I definitely want to.
  • Pickling: I've really enjoyed pickling things, and if anything I expect that I'll enjoy doing this more after quarnainte when it's easier to share these things. Right now I have some cranberries on the go, and a lot of sauerkraut in the fridge that I'm slowly eating. It'll be fun to have more people to share it with! I'm excited to explore radishes as well as nappa cabbage.
  • Coffee: I started drinking coffee in 2014 and have mostly had coffee made by other people: tech jobs in NYC have pretty great office coffee, and the process was something of a mystery to me at the beginning. While I had a Chemex and made coffee for myself sometimes, it was definitely a special occasion sort of thing and not part of my regular routine. Now making a pot of coffee is part of my morning routine, and I find it pretty satisfying, and while I definitely look forward to drinking coffee that other people make more often in the future, I really like getting up making a pot of coffee and sitting down to write nearly every morning.

Pickle Quarantine

What a year, am I right?

I've avoided writing a more "journal"-type post because there's both too much to say and somehow not enough all at the same time. This is a tough time to be a human, and I've been incredibly lucky in many regards: I can stay busy, I have a living situation that makes quarantining easy and tolerable, and while I wish the produce at my local grocery had better produce, it's nice to live in a very walkable and accessible neighborhood. Even though "nowtimes" are fundamentally different from the "beforetimes," the speed at which things become routine--if not normal--is almost disturbing. Delightfully, though, I've felt like I'm still getting things done. In no particular order:

  • As the title of the post suggests I have firmly entered the home pickling phase of quarantine, and have begun fermenting rather a lot of cauliflower, with additional vegetables to follow. Frankly I don't know why I didn't think of this earlier: I love pickles and it's really hard to get compelling pickles for things that aren't cucumbers. My first batch is cauliflower, and I'm also excited to do things like: baby okra, cabbage, greenbeans, and maybe some of my favorite root vegetables (shallots, raddishes, horseradish, jerusalem artichokes, etc.) Details forcoming, perhaps.
  • I've begun cooking more often. My go to, is to make a pot of chicken stock, and then figure out things to use the stock to cook. I've done some nice proto-beef stew things, and have made some pretty great lentil dishes. Nothing fancy or complex. I'm also delightfully, getting to a point where I can produce a meal that consists of more than one flavor profile, which is nice.
  • I've written enough common lisp that writing little bits of software in CL seem doable. It's still a bit harder to get into bigger projects, and I have a lot to learn still, but I've crossed a line, and it's nice to have an additional skill.
  • I replaced the video card in my home desktop, and I feel like I have a totally new computer! It's amazing. I got this computer in 2013, and have mostly been using laptops for the past few years. Before quarantine, I was even planning to de-accession it, but I've been using it a lot more and the new video card really changes things. Since I don't do a lot of graphics things and my computer use is not particularly performance intensive, I forget how much having an underpowered GPU can really impact perceptions: I was suffering through a lot of rendering-hangs and glitches that just don't happen any more.
  • I've been writing blog posts more, and am working on a plan to have something that resembles a publication schedule. I wrote professionally for so long, that writing for fun never seemed like a viable way to spend time, but as time goes on, it's clear that I really want to be able to experiment with ideas and reflect on things in a more regular way, and continuing to write posts here seems like a good way to do that. My lisp-related posts are now appearing on Planet Lisp, and I'm interested in expanding my reach... slightly.
  • I completed a sort of long term project to modernize the way that I use and configure emacs: I got all of the hardcoded weirdness undercontrol, I started using use-package, and I got lsp-mode to work, and I fixed a number of hilarious little bugs in how my config worked. The end result, is I get to use the editor I want in the way that I want, and it all starts up on my (old) computers in well under 2 seconds, not that I start up all that often. I expect I'll write a bit more on this soon.
  • Since quarantine started I've gone through an entire complete box of Chemex filters (plus the tail end of a box, and I'm a few pots into the next box.) I started drinking coffee during the summer of 2015, and have primarily consumed coffee produced by other people (i.e. at work) in that time. While I've definitely gone through a few boxes of Chemex filters over the years, my new rate is noticeable. But quarantine means making your own coffee, and apparently I've made a lot of coffee. It feels like a milestone.

As You Mean to Go On

I've not posted for a long time. A lot of things have changed since I last wrote, and this post is probably not the best place to recount all of them. Indeed many things haven't changed, but the highlights..

I'm still living in New York, but I bought a coop in Brooklyn and moved, which has been great. I'm surprised at how quickly I have felt at home and rooted. The sequence of changes in my life that brought me there are simple, really, but I've struggled to make sense of things even so. The fact that I am aware of development is both a great comfort, but it has been hard to write about my life with confidence.

I replaced my tea habit with a coffee habit. I attend yoga classes regularly. I sing Sacred Harp (and sometimes other shaped notes). I Morris dance with the Bowery Boys, the Men's team in New York City, and continue to dance with Braintrust Morris, an kind of butch Morris team with a spiritual center in the Midwest.

I'm still working on the same kinds of developer documentation, build systems, and software development projects for the same company as before. I still think open source software is important. I am really interested in helping people develop technological literacy and understanding. I want to work on improving infrastructure for developers and development. I use Linux extensively, write a lot of Python, tinker with Go and Common Lisp, and live and breathe in Emacs.

Life is good. Life is difficult. Life is.

I look forward to writing about it here.

So the blog looks different. I changed some things:

I switched from using ikiwiki to using Sphinx and an extension called ablog. I wanted to use a system that I was familiar with and could hack on (that's Sphinx, which is the core of the tool chain I use at work.) Also, I wanted to use reStructuredText, which I prefer.

Ikiwiki is great software, and I quite enjoy it's architecture and use. The problem is that it's not in particularly active development, the code base is in Perl (which I don't know, and except for ikiwiki, have no reason to learn,) and the project has probably peaked in terms of its adoption curve. To boot, my goals and user story aren't totally inline it's goals and user stories.

Sphinx isn't totally right for a blogging engine either, but it's solid. I actively develop and maintain tools around Sphinx. Indeed, I was able to make some small changes in ablog that shaved about a third of the time off of the total build time. Not bad.

It took a lot of time to convert all the posts to the new format, but now that everything is in order and the tools are usable it is time to start writing again.

It's good to be home.

Lazy Sunday

I've had a nice quiet weekend, the first such weekend in quite a while. It's nice to be able to relax, work on projects without deadlines, and avoid all of the editing that I ought to be doing.

Some notable accomplishments, current projects, and other events in the last few weeks:

  • If you ever visit in your web browser (as opposed to by way of its aggregation,) you'll note that the design has changed somewhat.

    This is the design that I've been using for my personal wiki for months, and so I'm quite used to it, but feedback is welcome.

    The design change has inspired a bit of introspection, hence this post, and perhaps some of the posts that will follow. Please bear with me.

  • Months ago a friend of mine said "some of us might like to know how you're doing every now and then, and your blog is just stuff about obscure technology."

    Guilty as charged. Recently, I've been much more interested in using this blog as a scratch space for projects that I don't have quite enough time to pursue in appropriate depth.

    Having said that, I think (or hoped,) that I've calmed down a bit in recent months and years: My career/professional identity seems a bit more stable. I'm doing a better job at focusing big projects, which means some shorter posts and more personal posts may be in order.

  • I got a new computer last week. I'm working on a post that addresses this in a bit more depth. In short it's great. So my largely unnecessary justification is:

    • A smaller machine, which is better on my back when I am walking around.
    • Beefier system, which means I can compile things quicker (and I've been doing more of this recently.)
  • The ability to dedicate the older system to some stay at home things: having a working desk at home, playing music, running some buildbot stuff, and the like.

I've realized that even though there are little things that I might like to change about how my computer works, and things that I'd like to setup and get working for the most part, things just work. And that's really great.

  • There's a host of stuff that I'm working on that probably isn't apparent to the internet:

    • My day job. I'm doing awesome documentation things for a neat New York City database software company/open source project that you've probably heard of (if you're into this kind of thing.) It's rewarding, interesting, and it means I can spend all most of my time day making things.
    • I've been working on submitting documentation patches to a couple of open source projects: buildbot and MediaGoblin. I need to do more of this work.
    • The editing pile. Currently on tap: a mess of blog posts, the prologue of my most recently drafted novel, and some of the last little pieces of the Cyborg Institute launch. Speaking of which that should happen in the next week or so.

    Next up? More of the novel and suggestions from frist readers of the systems administration book (see next item.)

  • Never to be deterred, I'm hard at work on the outline for another novel. The plan is to have something I can start drafting in earnest by the end of the summer. I feel pretty good about the project, although as I was working on an outline last night, I changed the last third of the book. Oops.

  • The systems administration book. Available via git today, With general release following shortly. All feedback as well as pull or merge requests with comments and suggestions are all welcome. See the following for git repositories

    (Both are identical.)

    The cyborg institute listserv would be a good place for bug/issue tracking at least for now.

  • On the topic of editing, I've recently discovered the one clause per-line formatting style.

I've long attempted to keep lines short to promote cleaner diffs, but in truth, if you end up reflowing paragraphs, the resulting diffs are basically useless. I've encountered one-sentence-per-line tactics, which seems like a good idea, except that sentences often exceed 80 characters.

I'm not yet decided on the subject, especially for writing longer sections of text, but it does make editing easier.

Onward and Upward!

Task Updates

Life has been incredibly busy and full lately and that's been a great thing. I've also been focusing my time on big projects recently rather than posting updates here and updating the wiki. And then I have this day job which basically counts as a big project. While I like the opportunity to focus deeply on some subjects, I also miss the blog.

tycho is conflicted about something. Shocking.

In any case, I want to do something useful with this space more regularly. So here I am and expect me more around these parts.

I've been working on a total refresh of my Cyborg Institute project. I want it to be an umbrella for cool projects, nifty examples, great documentation, and smart people [1] working on cool projects. If that's ever going to happen, I need to get something together myself. The first release will contain:

  • A book-like object, that provides an introduction to the basic principals of Systems Administration for developers, "web people," and other people who find themselves in charge of systems, without any real introduction to systems administration. (Status: 70% finished, with a couple more sections to draft and some editing left.)
  • A Makefile based tasklist aggregator, inspired by org-mode but largely tool agnostic. (Status: 95% finished, with documentation editing and some final testing remaining.)
  • A logging system for writers. I use it daily, and I think it's a vast improvement over some previous attempts at script writing, and I did a pretty good job of documenting it, but it's virtually impossible to manage/maintain. Having said that, I always wanted to rewrite it in Python (as a learning exercise,) so that might be a cool next step (Status: Finished save editing and an eventual rewrite.)
  • Emacs and StumpWM config files, packaged as "starter-kits" for new users. I have good build processes for both of these. I don't think that I need to document them fully, but I need to write some READMEs. Since there's a lot of redistribution of others code, I need to figure out the most compatible/appropriate license. (Status: Finished except for the work of free afternoon.)

Probably, all of these Cyborg Institute projects will get released at about the same time. The blockers will be finishing/editing the book and editing everything else. I might make the release a thing, we'll see.

Other than that, I:

  • Updated /technical-writing/compilation.
  • Finished the first draft of this novel. Editing will commence in June. I've also started planning a fiction project, for a draft to begin in the fall?
  • Wrote a few paragraphs on the ISD page, but I'm starting to think that as my time becomes more limited, that the critical-futures wiki project, as such, will probably be the first thing to fall on the floor, unless someone else is really interested in making that be a thing.

Onward and Upward!

[1]My intention for the Cyborg Institute has always been (and shall remain,) as a sort of virtual think tank for cool projects put up by myself and others. You all, dearest readers, count in this group.

Science Fiction Reading Progress

I've been mentioning what I've been reading as part of my weekly "accomplishment" posts, but I wanted to take the opportunity to write a slightly longer review and reflection of some recent reading.

After delaying for far too long, I've finally gotten through the April/May issue of Asimov's. There are probably all sorts of reasons why double issues make a lot of sense for publishers, but I have to say that I find them a bit grueling to read. Maybe it was just this particular issue, but I found that the balance between novellas and short stories wasn't terribly good, but maybe it was these stories, and my own tastes rather than anything wrong with the editing itself. There were some great stories: I loved Kristen Kathryn Rusch's story, and I thought the cover story was fun but weird in that way that I don't think Steampunk always works as well as it seems like it should. Michael Swanwick's and Mike Resnick's stories were high on the poignant-factor and low on the larger meaning but they worked.

I've still not read the June or August issues, and I'm going to try and start reading Clarkesworld. Here's hoping I still have time to do other things after periodical reading obligations.

I also read (in about two weeks) Excision by Iain M. Banks. As I was moving to the east coast I made the decision to start going through all of the late 80s and 90s era space opera that I had totally missed, and I can't quite recall why I chose Banks. I think there's something about the grandiosity of The Culture that I really quite like. I found the first two really hard to grok, and now they mostly make sense. I think if I could do it again [1] I'd read Use of Weapons, maybe Excision, I'd make Player of Games optional but definitely 3rd if anything and then Consider Phlebas. I think Phlebas is among the best, but without the context of the others its a bit too odd.

I've also been listening to podcasts: The Outer Alliance Podcast, FLOSS Weekly, FaiF, and Escape Pod. Good content, great pacing for my now daily walks, and it's good to stay in touch with all of that content. Podcasts were something I'd listened to a lot when I was exercising or driving alone. I've not driven very much in the last year, and my exercise routine has only recently started to become regular. So it's nice to get back in that habit.

What are you all reading? [2]

[1]And if I weren't such an ardent traditionalist about reading series of books in the order of their publication.
[2]And, admittedly, listening to.

Lately Review

It's Friday and I have a bunch of links, notes, and accomplishments to share.

First up, jfm and I have been continuing the discussion we had about task lists in a new discussion of the /posts/mobile-productivity-challenges. I've also imported some conversation from facebook (to a discourse page, since removed) following up on the :Cyborg Analysis and Technology Policy post that I made this last week. I'm really really proud of the extent to which the comments and edits that I've gotten have made my writing and thinking clearer on these subjects.

Also, a thanks to the people who have done things like fix links and correct stupid typos. Sorry to have caused the trouble, and I'm eternally grateful for the helping hand.

Next up, I wrote a tutorial for a reader who commented in the Make Emacs Better thread. The question addressed how to load optional functionality and "contributed" lisp code in emacs, and I wrote a little tutorial on how to load .el files in emacs. I think of this as a very basic and straightforward piece of customizing emacs; but it's sufficiently complicated and counter-intuitive enough that I think a little bit of documentation is in order.

The above also marks the debut of a documentation section within the wiki, like the code section, that I hope to update every now and then as I write tutorials and reference material that I think someone may be able to use. No promises, and feel free stash content here as well. It's all gravy.

Speaking of the code section, I wrote a little script that I use as dbl, that I describe in the Epistle Linker. Basically this little function goes through a directory and creates symbolic links to that directory in a specified directory and mangles the names of the file (prepends a few charters and changes the extension.) You an read the code, but it makes it possible to use a service like Dropbox without disrupting your local git setup and file organization. There's a known issue with Dropbox that makes it slightly less than ideal, but what can you do.

When I was posting the epistle-linker, I realized that I had probably forgotten to mention the fact that I have this nifty little bit of glue that uses a procmail filter (you do use procmail, don't you?) to deposit note to a particular email address (configurable) into an org-mode file for filtering. This is ideal for emailing your brain (i.e. org-mode) an item from your phone or tablet, say.

And finally: I have an external link. I think this follows nicely from the "how to work and 'live' in the mobile world." Apparently ecl, an embeded Common Lisp implementation, has been built to run on Android and iOS. How awesome is that?

That's all I have. I (finally) finished the April/May issue of Asimov's, I subscribed to Clarkesworld, as if I needed more short fiction to read and distract me from everything else. been I've reading Iain M. Banks' Excision, which has been a great deal of fun.

Other than that. It's been a pretty quiet couple of weeks.