Simple Gifts

I suppose I should apologize for the awful relationship between the title and what I’m about to write about. Titles, particularly for blog posts should be functional and descriptive: google won’t enjoy or take pleasure in your puns. Nevertheless…

I’ve been working on something of binge of blog posts to prevent this from happening again any time soon, and I’ve noticed something: my posts aren’t nearly as epic as they used to be. Nothing that I have in my drafts folder is longer than 750 words, and most of the posts are under 650.

This probably calls for some sort of celebration.

I’m notoriously long-winded, and although I’ve been a really bad practitioner of “keep your blog posts short, concise, and clear,” I really do think that there’s a sweet spot for website-based content around around 600 words that’s really easy to read and comprehend on a computer screen. Even if most of my posts are a bit over this mark.

So what gives? why have I finally been able to figure out how to say what I want to say in fewer words? Here are the current theories:

  • The writing I do for the day job is teaching me (slowly) to be a bit more concise.
  • My self imposed schedule is forcing me to be a bit more granular in the topics I choose to attack in a single blog post.
  • I’m getting to the point quicker. I don’t feel like I’m spending as much time running around my arguments attempting to explain the premise.
  • I’ve become more of a textual stylist than I ever used to be before. While I don’t think I’m a stunning prose stylist, I’m much more aware of how my paragraphs come together these days, and I think that leads to more clear prose.
  • I’m getting better at using unordered lists to organize information rather than as a rhetorical crutch. (Most reflexive bullet point ever.)

I’ve written about this before. I had a class in college, where the professor assigned these short (250 words,) “journal” entries that were due on a weekly basis. They didn’t have a topic, and most people reflected on the readings. I reflected on my other classes and how they related to the topic of the class I was taking. Half way through my roomate (who was also in the class,) commented that I hadn’t actually written about the readings for the class.

“The journal entries don’t have topics. And I’m writing about the core material of the class,” I said.

“You have to admit that it’s a bit absurd,” she said.1 She was right.

I wrote the professor who was apparently fine with my eclectic interpretation of the assignment. The pieces were mostly technical exercises in being clear and concise, and she thought my entries were fine, if a bit esoteric. (I think the exact words were something along the lines of “delightful and widely synthetic.") And so I kept writing those kinds of pieces.

A year later I started really getting into blogging. The rest is history. When I first started at this, I enjoyed the freedom being able to write about whatever I wanted. Now I cherish the structure more than anything.

Its funny how things change, sometimes.


  1. Apologies to H.S. for the liberties I’ve taken with her words. ↩︎

Managing Management Costs

Every system that requires your attention and responsibility comes with some sort of “management cost,” this includes servers that run websites and email, as well as the notes you take and--in my case--the novels you avoid writing.

This post, and really the last one as well, grows out of my interest and desire to stay organized, to work effectively without spending too much time and energy thinking about organization. Except of course that I write a bunch about this sort of thing on the blog, so maybe I’m a bad example of success. At the end of the day we’re all just folk', I guess.

The argument at the present moment revolves around consolidation rather than an approach to design or organization. And the basic premise is: “no matter how complex your organizational problem is, you can probably accomplish what you need to by doing less.

  • Feel like you spend too much time reading email, or have too many email inboxes to check (personal email, work email, special project email, listserv email, facebook email, etc.)? Forward your email into one box and filter the hell out of it so that you only read what you really have to and it’s manageable.
  • Feel like you have too many todo lists? Compile them into a single list and use some sort of tag system to organize it.
  • Feel like your notes and documents are scared in too many places? Combine them and use some sort of search tool to find things when you need them.

And so forth. In the analog information world (i.e. with papers, notebooks, and books) we often take the approach of sorting things into distinct piles of similar sorts of things, and arranging things physically in our worlds to reflect this basic sorting. For instance, “the science fiction books will be on the first three shelves, the 20Th century philosophy on the next three, college textbooks on the next, and […]” These habits, combined with unfortunate conventions like referring to hierarchical organizational units of a file system (e.g. directories) “folders,” encourages us to translate these real-world conventions to our digital existences. This is undoubtedly a bad idea.

The more data you pile together in one place, even dissimilar data, the more powerful it becomes. Say you have a PDF collection of articles on the anthropology of death and dying, post-colonial literature, and linguistics hanging out in different directories of your file system, and you begin to do research for a story you want to write set in the 1930s in India, where do you look? What if there are relevant articles in all three folders. What if you have a dozen or two dozen folders? What if you have a number of hierarchical organizational trees, and you store your notes, the actual text of what you’re working on, and your reference materials separately with parallel hierarchies?1 Quite suddenly you’re over-organized and disorganized all at the same time,

The more “system” you have the more difficult it is to manage. The key to success, or part of it at any rate, is being minimalist about your organization. Recognize that adding responsibilities, projects, directories, lists, email accounts, and so forth all come with a cost. And sometimes, being a little less organized means that you’re able to get more done, if that makes sense.

If your experiences reflect this (or run contrary to this logic,) I’d be very interested in hearing about how you have solved, and have continued to solve the issue.


  1. This kind of system actually makes a lot of sense in the paper world, but is borderline absurd in the digital systems. ↩︎

System Design and Organization

By day I write documentation for systems administrators, and as a result I spend a lot (perhaps too much?) time thinking about how we organize computer systems so that they can be both useful and easy to manage in the long run. “Right, so…” you say? Well indeed. Recently it’s become clear to me that there are some generalizable lessons to be learned from sys-admining that might be helpful to those of us who are less organized than they’d like to be.

Which is pretty much everyone, right?

Right. In brief:

  • Automate everything that can be automated.
  • Closely followed by don’t automate something that doesn’t need automation.
  • Prefer simplicity over complexity, and prefer systems that require you to remember fewer things.
  • Design systems to make it possible for others to easily understand what you’ve done.

To elaborate:

Automation

Computers are really good at doing what you tell them to do, and although we often like to finddle with them to make them work better, ideally the more we let systems take care of themselves. Also tasks that are automated, if the automation is designed and tested properly don’t make silly mistakes. If you’ve written systems to automate your tasks, you can understand and predict how your system is going to handle the kind of data that you throw at it.

The admonishment to “not automate” until you need something, is basically a variant on age old recommendation to “avoid premature optimization.” While automation is a good thing indeed, and if the thing you’re automating is really something that can be delegated to the machine without intervention on your part, then that may be worth your while to automate that task. By the same token, it’s easy to think “we’re going to need to do this thing a lot, I might as well automate it before hand.” Which is a reasonable thought to hand, but this puts the cart before the horse, and leads to two undesirable and possible outcomes: first the task doesn’t need to be automated because it isn’t needed very often; you misunderstand what needs to be done and automate the wrong part of the task, or your automation doesn’t cover the edge cases and will need to be rewritten later.

Conventionally, automation tends to cover “coding” or scripting of some sort of task. Outside of programming and systems development, “automating” a task could be as simple as creating some sort of editor macro, or developing some new structure in your data store (database, files, etc.) to hold or manage a particular kind of data.

Simplicity and Complexity

The basic reasoning here is that while complex solutions are often elegant and attractive, and make a lot of sense when you’re setting something up, they always make you scratch your head six months or a year later when you need to go back and find something that you did back then or make a change to the system. Be wary of solutions to any problem that require too much consistency on the part of the user. If a system only works if you must remember to follow more than a few steps in a precise order, chances are things are too complex, and you’ll end up screwing yourself over later.

Ergo: Err on the side of simplicity, you’ll thank yourself later.

The more components and connections there are in a website application or deployment server the more potential for breakage is. The more complexity there is the better chance that FurtureYou or someone working in your footsteps will be totally confused by what you have set up. The same thing holds for whatever your trying to organize and manage.

Generalizable Organizational Methods

Chances are you’re the only one who will be taking notes/organizing your work/storing information in your system. Nevertheless, I think it always helps to assume that other people are going to need to be able to make sense of your system. Be it your notes, and research or in your web-servers. Other people are sometimes our future selves.


I tend to use the word system, in a way that most people would use the word “method.” I hope that’s not too confusing or distracting. I think I’ll probably elaborate on these topics a bit more before in a later post. In a lot of ways this is part of the core of Cyborg Institute, and if you feel interested or inspired by this kind of stuff, I’d love to hear more from you. Be in touch!

Some Future in your Science Fiction

I finished reading Kim Stanley Robinson’s The Martians, on my Kindle the other day (the short review: It was great, I don’t know how I felt about the poetry at the end, but I liked the collection.) and promptly began reading this month’s Asimov’s. The first story is an alternate history/fantastic history/I-think-there’s-science-fiction-coming-but-it’s-not-here-yet, piece and I can’t bring myself to really read get into it. It’s well written, and I even find myself delighting at the text (in a technical sense.) I think the issue that I’m running into is that I don’t really get the alternate history thing.

Which is, you know, weird. I should break out and say that my fiction tends to be very historically concerned. I’m fascinated by history and there are a lot of historiographical themes and ideas in the stories I write. But they’re all set in the future, and try as I might, I don’t really have much interest in writing stories set in the past of our world. Alternate or otherwise.

Maybe it has something to do with my view of history. I tend to take a big picture approach to history and I tend to think that single events and single individuals rarely really affect history. If you called me a determinist I’d probably gnash my teeth for a few moments and then agree. Which makes constructing alternate histories sort of difficult. Add to that the fact that quasi-deterministic big pictures, though probably accurate and helpful, don’t lend themselves to good stories. When you don’t feel like your characters--any of them--have agency, it doesn’t make for terribly interesting story telling.

At least for me. I think other people can pull it off.

This whole “I want my science fiction to be set in the future,” thing isn’t something I can rationalize or support very well. Clearly I don’t find the past to be a very good “escape.” The future is fun, vast, and full of possibilities and enables the sorts of things that I enjoy most in science fiction: the ability to engage in a critique of the present, high energy stories with adventure, and for lack of a better term, stories that impart a “sense of wonder.” There’s more out there, I just can’t seem to muster the interest.

This isn’t to say that I don’t sometimes find myself enchanted by non-futuristic stories, it’s just not a terribly frequent or predictable sort of experience. I should also be clear, I’m not of the opinion that when science fiction stories talk about the future and are set in a future, that they are about anything except the present at all.

And I’m not terribly proud of this. I suppose we all have our things.

I worry that my tastes aren’t sophisticated enough, that I enjoy stories for the wrong reasons, or that I get too caught up in the scenery and forget to pay attention to what really matters. Despite this whole “writer thing,” that I have going on these days I don’t have very much formal training in literature. It’s sort of awkward to say “I feel like I’m not a very good reader,” that’s definitely something that I battle with.

For those of you who are part of the larger community of science fiction/fantasy/genre fiction readers (which I think necessarily includes writers,) I’d be very interested to learn your thoughts on this subject: how do you relate to the future in the stories that you write and read? The past? Alternate histories? Is there some connection that I’ve mostly failed to see? Am I not alone in this?

Thank you (preemptively) for your feedback.

Git Tips for Writers

The Context

git is this version control system that’s designed to be used in a distributed manner, and supports a very divers and non-linear workflow. While it’s designed to support the work of software developers--particularly in large projects like the linux kernel--at the core, git is just a file system layer that has an awareness of time and iteration. It also does its magic on any kind of text files… code or writing. I use git to manage a lot of my writing--indeed, most of my digital life, which is a bit weird admittedly; and as a result people on the Internet, not to mention my coworkers,come to me with git questions from time. This post is a response to a more recent change.

How I Work

I have two kinds of repositories: general repositories which store a bunch of different kinds of files that I need to work: the general repositories that store files that I always need to get things done, and specific project-only repositories that only have the text (and possibly notes) for a very specific project. I also have a “writing” repository where I do drafting for the blog, and start writing projects that I’d like to version, but are too small yet for their own project repositories. The brief overview:

  • garen is like my home directory within my home directory, and it has config files, scripts. and other daily essentials.
  • org stores my org-mode files.
  • fiction projects: I have five repositories in ~/ that store fiction projects, that I’m theoretically working on in some capacity, though I haven’t touched most of them regularly.
  • writing holds blog drafting, and a couple of not-exactly-fiction, projects that I’m not quite ready to admit exist.
  • website content: wikish, tychoish.com, cyborginstitute.com, the cyborg institute wiki and a few other website projects that I’m involved with have repositories to store their content.

The lesson here, about repository organization, is that git wants you to have distinct repositories for different projects. Its possible to merge repositories together (really!) and also to separate the histories of specific directories into their own repositories if you’re so inclined.

I write in emacs almost exclusively, I sometimes use magit, which is a delightful interface to git that works within emacs in a very emacs-centric way. If you use dired, magit will be familiar. Having said that, I mostly just add files, make commits and push repositories. Although I’ve been very interested in flashbake for some time, I’ve never really used it: it seems designed for people who aren’t used to version control or git, and the fact that I am means that it feels cumbersome to me. I suppose I should take this as a challenge, and attempt to hack it into something more usable from my perspective, but I’ve not felt the urge yet.

I use gitosis (but it’s in the debian repositories) on foucault (my server) to manage the publication of my git repositories. I push regularly, both to make sure that all of my machines are up to date, and also as a way of keeping my systems backed up. While I don’t take snapshots of my systems, I’ve been able to set up systems and been up and running inside of ninety minutes after reimaging a laptop without loosing a single bit. Although unorthodox, git is my backup strategy, and the restores work fine. I strongly recommend having your own git hosting set up. It’s not difficult, and while I think git hub is awesome on it’s own terms, independence and self sufficiency is really important here.

I don’t really take advantage of any branching and merging in git, though I’ve played with it enough to know how it works. I do have a branch in the repository for the novel I’m writing for an editor to be able to edit the novel as I write on it without needing to see their changes and comments until I get to that point.

And that’s sort of it. I use jekyll (or an old personal fork) and soon to be cyblog) as well as ikiwiki to publish content, but other than that, I just write stuff.

In any case, if you have thoughts on the subject I’d love to see your input on the wikish git writing page.

Write on!

iPad Reactions

Ok, as a self-respecting geek, I think I have to say something about this whole “iPad” thing.

I’m not as much of an Apple geek as I used to be, that’s for sure. It’s not that I don’t think that Apple’s doing something quasi-innovative and useful in the world of technology and the business around consumer technology. I think bringing UNIX to the hands of “mass market” desktop users was a great move. Although the iTunes Store is not without it’s issues and concerns, the fact that Apple was able to create a viable environment and market that allowed people to exchange money for software and content is probably a good thing. And Apple has brought to a general public a number of hardware configuration (in recent years) that I think make a lot of sense: the mini-tablet (iPhone/iPod Touch), laptops with usable battery lives, the pocket jukebox (iPod Classic,) and so forth.

Deep breath. Having said that… I’m not terribly impressed with the iPad, or moved by it’s potential at the moment. I know Apple often takes a few generations to make something really work, and so I think it’s important to not say “this implementation sucks, and so the whole notion sucks, and is with out merit.” Of all the things that I’ve heard (or said,) in the past few weeks of the iPad the following two threads have stood out:

  • I’m really quite interested to see what other makers are going to be doing in this space. What’s the Lenovo tablet going to look like? HP? One of the leading complaints about the iPad (and iPhone) is Apple’s total-lock-down over the platform, and I think an Android tablet, or a super Nokia N900 is likely to be much more open and killer awesome.
  • I’m interested to see what the iPad platform looks like in a revision or two. Add an SD slot? Multi-tasking? Additional input methods? It could look really awesome, and while I have misgivings (see below) I don’t want to write it off entirely.

At the same time, I don’t really feel like there’s an in-between device that I don’t currently have that I’d like to have. In a lot of ways, even I feel like I have too many devices, too many inboxes (of one sort or another), and too much technology to manage. I’m not complaining. The truth of the matter is that my laptop gets great battery life, isn’t very big at all, and does everything I need of a computer, and almost everything I need of technology in general. iPods are better for playing music if I’m moving around or in the car, and the Kindle is great for what it is, and I do sort of have a Blackberry habit.. but…

My technological challenge at the moment is that I don’t have enough time to get done that which I would like to get done, not that I have a situation where I could be more productive if I only I had a device that would do something more." That’s not something that seems to cross my mind very much. It might be nice to have a slightly more accessible emacs instance that I could use to enter snippets of text and work on things in the kinds of moment. I’m thinking a Nokia N900 might fit that bill pretty well, but I’m not sure.

If you’re thinking about getting an iPad, what’s the niche that you see it filing? Do you have a niche that seems like it might be iPad sized?

Status Update

Ok, a confession: I totally ran out of my usual backlog of blog posts, that keeps these pages humming with the signs of life despite the fact that I don’t have time to write a post every day, and often don’t have reliable weekend time to write blog posts. This hasn’t happened in a few months, so it’s sort of disconcerting. One of the reasons why I ran out, is that I’ve been busy doing non-writing things for a few weekends, but a third (or forth?) weekend away from home was too much for my backlog to bear, so here we are.

Here’s a brief overview of what I’ve been up to and the kinds of projects I’m working on, and what the near future holds:

  • I’m going to Dance Flury in a couple of weeks. I’ve not done the usual dance weekend thing before, aside from the Morris Dance gathering I’ve been going to for years. I’m really looking forward to it.
  • I’m trying to get a better handle on the blog. I do this binge cycle thing with my blog posts, that leads to situations like the one that I’m currently experiencing, but also doesn’t actually mean that I have spare time to write fiction in a way that I might like.
  • I’m working a bunch, and while every day is some kind of learning experience, I think I’ve figured out (largely) how to do what I do in a way that doesn’t have me leaving every night feeling like a fraud. There will be more learning curves, for sure, but it’s nice to not feel like I know what I’m doing.
  • I’ve been throwing around the idea of writing poetry (hynms) vaguely in the tradition of the sacred harp. I’m not much of a poet, and the project I have in mind is a little bit peculiar (but then, this is me we’re talking about, so lets not be too surprised.) At the same time I’m irrationally interested in this project, and we’ll see how it goes.
  • I switched to using Chromium as my primary browser. There are still a few plug-ins that I really liked on Firefox that aren’t quite as awesome or comfortable in their Chrome-equivalents, but it’s close and I’m sure it’ll get there. I’ve been looking for a viable non-Mac WebKit browser for a while, and am pretty happy with the Chrome.
  • Check out git for writers, wiki page that I’ve been working on over at wikish to try and explore how writers use and might use the git version control system to manage their writing. Contribute if you like.
  • This weekend (yay! snowpocolypse) I hooked up my laptop to my desktop rig, and have basically abandoned my desktop as a machine that I will interact with directly. (I’m a server guy, so it’ll get used.) This means I’m using xrandr with StumpWM (pretty swank,) and I must say that I love it. While I adore my laptop, and I really like only having to manage one computer, having this “desktop” setup makes it really perfect: I’m often most comfortable in desk chairs and I like the bigger screen and a real keyboard. So it works well. At some point I’ll write up a more thorough account of how I hacked this together.

Ok, this document has been open on my desktop for a few day and I don’t have anything new to add to it, so lets call it done.

Onward and Upward!

Putting the Wires in the Cloud

I’m thinking of canceling my home data connectivity and going with a 3G/4G wireless data connection from Sprint.

Here’s the argument for it:

  • I’m not home very much. I work a lot (and there is plenty of internet there), and I spend about two thirds of my weekends away from home. This is something that I expect will become more--rather than less--intense as time goes on. It doesn’t make sense to pay for a full Internet connection here that I barely use.
  • My bandwidth utilization is, I think, relatively low. I’ve turned on some monitoring tools, so I’ll know a bit more later, but in general, most of my actual use of the data connection is in keeping an SSH connection with my server alive. I download email, refresh a few websites more obsessively than I’d like (but I’m getting better with that), and that’s sort of it. I’ve also started running a reverse proxy because that makes some measure of sense.
  • I find it difficult to use the data package on my cellphone. The fact that I get notified of all important emails on my phone, has disincentivized me from actually attending to my email in a useful way, and other than the occasional use of googlemaps (and I really should get an actual GPS to replace that…) If I get the right Wireless modem, however, it would be quasi-feasible to pipe my phone through the wireless Internet connection, so this might be a useful clarification.

The arguments against it are typical:

  • The technology isn’t terribly mature, or particularly well deployed.
  • Metered bandwidth is undesirable.
  • Sprint sucks, or has in my experience, and the other providers are worse.

The questions that remain in my mind are:

  • How well do these services work in moving vehicles? Cars? Trains?
  • How much bandwidth do I actually use?
  • Is this practical?

Feedback is, as always, very much welcomed here. I’m not in a huge rush to act, but I think it makes sense to feel things out. It also, I think posses an interesting question about how I (and we) use the Internet. Is the minimalist thing I do more idealistic than actual? I know that we have a pretty hard time conceptualizing how big a gigabyte of data actually is in practical usage. Further research is, clearly, indicated.


Edit: This plan would have to rely on the fact that I might be spending a large amount of time in a city with unmetered 4G access with sprint. I’ve used a gig and a half of transfer to my laptop’s wireless interface in 5 days. I think that would coincide with when I would be doing the heaviest traffic anyway. I wonder how unlimited the unlimited is…