Novel Writing in November

When going to graduate school became “someday later” rather than “someday soon,” one of the things I promised myself that I’d do is dedicate more of my time to fiction writing, which I always seemed to cast aside in favor of more seemingly important academic goals. Well not any more. So I have this fiction blog, which I talk about (not nearly?) enough called Critical Futures which is part of my ongoing struggle/effort to write and edit my fiction. And I’m writing another novel-ish project that will probably--but no promises--end up on CF in several months.

When people ask me “what do you do,” I say “I’m a writer,” which is true, not just because I’ve got a novel going on in my head (and who doesn’t?) but because my day-job is also as a writer, so it doesn’t feel so fake, but when I say “a writer,” I almost always think of space ships and distant outposts of human civilization, and not web technology. Not that I dislike the internet or the software that makes it go, but because the space ships are probably the most important/meaningful (to me) things things that I write.

In November, answering “What do you do?” (write.) “What are you writing?” (a novel) seems much less remarkable because of NaNoWriMo.

In the past I’ve been bitter about NaNo, sometimes because I’ve not been in a place where I can get started, or because I feel like it’s teaches the wrong lesson about novel-length writing, or whatever. This year, I’m bitter. To each their own, I say. I’m not participating because I have a project at a crucial stage, I feel like the biggest objective of NaNoWriMo isn’t “get a lot of writing done,” but rather “prove that almost everyone is capable of sitting down and writing a book length thing, if they can get through the crap.” And I know this. I also know that I can write at NaNo-like speeds should I need to.

But.

I am going to, for the month of November, take a brief reprieve from my “don’t write about your writing on your blog” rule, and for the benefit of NaNoWriMo spirit write a little bit about a few writing related topics. I’ll be writing other things as well like linux and open source and knitting, but I think it’ll be cool to reflect a bit on Critical Futures and my current project, and some stuff about my writing process. Because that’s what I have.

How many of you out there are doing NaNo? For the first time? If you write novels in some other way?

Linuxing

So I’ve been switching to linux right? Right. Well the machine has arrived, and I’ve been able to get most of the required things set up the way that I need them. The awesome window manager, my ususal compliment of software, copying over config files and what not. It’s not hard, and the only thing that gave me a hickup was using Xrandr, and that was pretty quickly solved.

I wrote about my editor issues last week, which are progressing slowly. I think I need. I’ve started to use a lot of console emacs for more day-to-day stuff like writing blog posts and takin notes for work. Probably by the time this posts, I’ll have relented and started to use the GUI version for some things.

But, contrary to popular beleif, there’s more to using linux than just text editors. Though it doesn’t seem like it very much. Particularly when you write a crap ton. Let me review the kinds of things that I’ve been working on, and what I have left to do:

  • I’m using the vimperator plugin for Firefox, which makes the browser behave a lot more like vim. Which makes sense in a browser, somehow. It basically means that I don’t have to use the mouse very much, except when I want to, and that’s a good thing, given how awesome works.
  • Awesome works great with both monitors as I expected. In a way, it’s not so much that I got a new computer, as it is that I got two new computers. And they’re “both” really peppy. It does mean that my desk is way too small for everything I need to do with it. The linux, the Mac. I got a stack of paper to read yesterday, and I tried to set it on the corner of my desk and it was commical how little flexabile room I have on my desk. I’m anticipating a move pretty soon, so I don’t want to get new furnature quite yet.
  • I’ve been using the “terminator” program for terminal emulation, and it’s delightfully simple. Wheras with most terminals I think “wow this sucks,” with terminator, I’m only a little grumpy that the copy and past commands are bound to non-standard key combinations.
  • I still think pidigin stucks, and I’ve been over this before, but the more I use it, the more I can recognize flaws with Adium, so it’s very much a “you can’t go home again,” situation. Pidgin is an instant messaging client, and Adium is based on the same core software, but packaged for OS X.
  • It took me way too long to figure out how to turn on the font smoothing so that everything doesn’t look like crap. Which it did, but it meant some config file editing, because all of the gnome-settings functionality won’t work because it doesn’t like the dual monitor set up. I don’t mind, because I’m only using bits and pieces of gnome as it is, but it’s worrying. I love this computer and this interface, and I wouldn’t like to work in some other way. But I’m acutely aware that except in very controlled situations, I wouldn’t trust it to non-specialized users.

I’ll probably continue to write lists like these, as much for your edification (and mine!) as for record keeping. Thanks for reading!

(I wrote this entry in emacs, and I think it has me sold, particularly if I can get all of the important modes to come on by default, which I haven’t yet. I’m also running in console mode and I’m getting this weird “echo” cursors which hang on the screen in an annoying way that I can’t predict. running “M-x redraw-screen” cleans things up, and if nothing else running that every so often in an automated way would probably clear things up, unless this sounds familiar to anyone?)

Editor Crisis

When I got the Linux rig, I was pretty sure that I was going to live in vim--probably mostly the console version--while I work on weaning myself off of my TextMate dependency. It’s not that I don’t love TextMate, or that I can’t afford it, but I think Linux/open source is where I’m headed, and in the short term I think I’d like one editor for both platforms, and that means open source. The problem? Vim is great, but I find it sort of tedious for day to day editing…

This is probably the result of the fact that most of my personal text processing (like 80%) is prose of one form or another, with the remainder being very limited code-related things. Vim is great if most of what you’re doing is jumping around in a file, re-factoring code, and hunting for little bugs to tweak. It’s not so good if you’re writing a novel or a story and you only put carriage returns after each paragraph. I like vim a lot for short editing tasks, for writing email, for proof reading a document. For heavy duty lifting? I’m not yet decided.

I should introduce another character/factor into this story: my editing habit. Basically rather than grouping similar files into one window/buffer and toggling between various files, I really like having a bunch of different windows open. A bunch might understate it. At this moment I have 4/5 TextMate windows open, and I should probably have at least 7 (if I were more on top of my tasks) and more like 10-15 wouldn’t be out of the norm.

Console vim works great with this usage paradigm, open a bunch of terminal windows, open them to the documents that they need to edit, and tag the terminals properly in Awesome, and I’m good go, except we run into problem 1 (editing prose in vim is bothersome). I’ve tried (and quite like) a GUI vim called “Cream” that totally fixes problem 1, but utterly fails at problem 2 (the usage paradigm).

So this leaves me? Using a hodge podge of solutions. I’ve taken to using gedit--of all things--for most prose writing. Gedit is the Gnome editor, and if you customize it right, it’s reasonably functional. I haven’t been able to hack Markdown support into it (and I haven’t bothered with vim, so I must not be to keen upon it), and it won’t post blog entries like TextMate, but it’s decent, and I can have a number of different container windows, so I don’t end up with a window with 20 different tabs open that I can’t find anything in, and I use vim for anything that it seems like I can get away with.

Jack has been pestering me to convert to emacs for a while now, and after all this fuss, it’s tempting. Emacs can handle blog posting, it’s fundamentally a bit more like TextMate,1 with “longlines-mode” it seems to handle prose pretty well, and the quirky things that I like about TextMate like its Screenwriting Bundle and LaTeX support seem to be handled a bit better in emacs. The multi-window usage paradigm is counter to the general emacs way of thinking, so that might be an issue. But the largest problem by far, is that to a newbie2 like me it’s like an alien world. Surprisingly enough, (e)lisp code is pretty easy to read, and the key commands are pretty easy to deal with.3 So who know, I might make the switch yet.

Stranger things have happened.


  1. It’s like we’re not so much reliving the editor wars, as seeing resonances/shockwaves from them. For instance the key bindings have a lot of emacs in them, while Google Reader definitely seems like it was made by vim users. I think we should start a game of trying to figure out which apps and environments were inspired by which editor. ↩︎

  2. I somehow manage to be both a huge advanced geek, (I live in terminals, I bought a linux desktop to run a tiling window manager, I almost live in text editors, etc.) And also I’m not a programer, and I don’t have any background in that sort of thing, so the most rudimentary of coding things can confuse me terribly. It’s a weird boundary to walk, and I should probably expand on it later. ↩︎

  3. I’ve had my caps-lock key mapped to “control” for years now. I think I should probably--for maximum emacs foo--remap my right shift key to alt, but I’m withholding judgement for the moment. ↩︎

The Big Push

I had occasion to confess my undying appreciation for xml-rpc this weekend at Drupal Camp Chicago. I might have been a little more expressive. I also might have explained this appreciation as being a product of my general disdain for web-based interfaces. Which we have to admit is kind of awkward at a conference of web-based developers.

Clearly I was being a little over the top, but it’s more or less true. I’ve come to ways of using the internet and digital data that means I spend as little time in a web browser as I have to. While the obvious--and predominant--reason for this is generally that I think most browsers are utter failures, there’s another reason that I’ve not written about explicitly: browsers lead to inefficient data consumption methods.

Browsers, with the exception of some very subtle trickery are an entirely “pull” based technology. That is to say, there’s nothing in your web-browser that comes to you and says “hey there’s something new out there for you, come look.” It’s as if the entire web is out there, just waiting for us to check it out and see if something new has changed.

This is a huge issue with the internet, particularly as data begins to migrate from our own computers to the internet--by way of web-based applications. Web programmers/content creators have a couple of ways of counteracting this problem. First, they can do little programing hacks to make the content rearrange itself even if there’s little if any new content, so it looks like it changes. Adding “interesting dynamic” content is a sort of “user hack” that gets people to check back more often with a website, and is pretty low tech solution to the problem, and sites like facebook and twitter are really good at this.

The truth is, that if you have a pull technology, where users have to check to see if there’s anything new, the only way to make it work like a “push” technology (one that notifies you when there’s new content), is to check it again and again and again. If it’s automatic the frequency is high enough it almost looks like a push. This is how most twitter-apps work, for instance. This is also how most email clients work. Though email is a push (because other people push email to your server) in most cases you have to pull email yourself, but that moves us more from the “usability effects” to “technological semantics,” and I digress.

While this might seem like a really minor complaint about how we access technology it has a profound impact on the communities that we form on the internet and how we use technology on “web applications.” Here are a few of examples:

  • “Critical mass” for online communities that are push-based (twitter, IRC channels, listservs) are much smaller than for pull-based communities (web forums, blogs). An IRC channel seems active if there are 25 people in the room and 5 people really active. A listserv with 200 subscribers is lively and bustling. A blog needs thousands of regular readers before comment threads start to seem lively, and most “successful” websites have tens of thousands of regular visitors.
  • Pull based applications must be both “useful” and “compelling,” and I often find that the later interferes with the former. This is mostly a personal preference issue, but I think it’s important, and I’d like to think that my concerns are rooted in efficiency rather than curmudgeonliness.
  • Data that we have to go out and look for means that we spend our time on the computer looking for new data rather than consuming data. I, begrudgingly, spend a lot of my internet time for instance reloading my LiveJournal friends page, because there’s no way for me get that feed all rolled up and pushed to me (even semi-pushed, like RSS.) I feel the same way about twitter, frankly.

The astute among you will realize that RSS works over pull technology, and I accept this but I think that the interaction paradigm for RSS is more like push based services. Because while your RSS reader has to pull from a lot of feeds every time you check for updates, you probably only see “unread articles,” if there are new items in your feed reader. So maybe the push/pull--while rooted in a technological division--also represents an independent interaction paradigm.

Maybe it’s not that I don’t like web-technologies (because I so clearly do), but rather that I want them to suck a lot less? It’s not so much that the applications are “in the cloud,” but that the ways we interact with them (like browser based interfaces versus desktop apps built around XML-RPC) are flawed.

Onward and Upward!

Geek Camp

I went to Drupal Camp Chicago last week for work, and while a lot of what I did was work related--learning about Drupal and what the really hard core folks are doing with it--the camp was an emersive experience, and I couldn’t help but make a few casual observations about geeks in general. They’re documented and explored below, and I’ll have a more technical/theoretical reflection of the experience tomorrow or the next day.

This was my first “BarCamp”/unconference, and I really liked the way it felt. There was a lot of knowledge being shared, there was a lot of collaboration, and there was a lot of energy in the room. I go to Morris Dance Ales, and Knitting Camp for the same reason, really. Intense interest and activity around a shared sub-cultural identity/activity, is a really powerful and invigorating thing. This is probably the same reason that “(gay) men’s gatherings,” science fiction conventions, and the “Michigan Womyn’s Music Festival” are so appealing to so many people. (I dare anyone to find something else on the internet that lists all of these things in such close proximity).

One thing that the conference had that I think made it particularly interesting is that there was always a “back channel” on an IRC network for the whole conference. While there were downsides to this (correlating peoples handles with their faces was difficult), this was incredibly fascinating. It also made the sessions go off better: people who were confused were able to ask questions of the room, it kept the background noise down which was better for participants, and since there was only one room for the whole conference it gave me a sense of what was going on at the conference as a whole.

Someone pretty early on said something like “this is literally the subtext of the room,” and they were right. I’m a fan of creating/organizing IRC/Jabber (XMPP) MUCs back channels for various conversations. We use one at work during conference calls to pass links/notes between our side (to keep down the number of voices/unmuted lines), and we had one for the Open Microbloging Meeting which made that really productive. It’s a cool idea.

The other great thing is that I got to watch other really geeky people use their computers. While I’m not a UI (user interface) designer, UI/UE (experience) is something that I’m very interested in and have an opinion or two about. One thing I noticed was that there were more Macs in the room than you might expect. Part of this has to do with the fact that the market share for non-enterprise laptops is something that Apple has basically clobbered, I’m sure. Mac laptops are also more popular among the young hacker crowd (which drupal developers are.) There were some PCs, and more than a few people running ubuntu on laptops, which I don’t have the guts for right now, thats for sure.

In terms of actual usage, there actually wasn’t as much of the “hardcore hacker” stuff that you’d expect. I didn’t see a lot of terminal usage (except for the woman who had tsch visors and wrote a pretty complex SQL query by hand on the projector. to answer a question after her talk.) I saw a lot of people who used the gmail web app. Virtually all of the non-mac people used Zend Studio or Eclipse, though I know I wasn’t the only TextMate user in the room. The most surprising thing, was the shear number of people who I saw using gmail and Firefox. Gmail is ok I guess, but it isn’t brilliant and it isn’t mutt, and surely I’m not the only one with a gripe about firefox.

Sorry for such an odd analysis of Drupal Camp Chicago 2008. I’m going to be working on some more… Drupalish for work, but while I’m a huge geek--no surprise there--I always seem to be more interested in watching the room than in watching the speaker.

Onward and Upward!

Sleeve Hell

So this is a knitting blog?1 Right! A knitting blog. And I’ve been knitting some interesting things. In my last post about knitting, I mentioned getting unstuck. Though I’m entering a slow patch, it’s clear to me that this is just a time management issue (and sleeve island issue) and not a real block. Here’s where I am:

I knit the collar and started the first sleeve for the Latvian Dreaming sweater. I’m a that point about 4 inches into a sleeve where time seems like it stops. For the non knitters, allow me to describe the anatomy of the process of knitting a sleeve for a sweater.

The top of the sleeve where it hits the shoulder goes very quickly. This is ironic because the sleeve is it’s largest at this point. I think it goes quickly because you are either near the beginning (if you start at the shoulders,) and anything new seems to go just a little faster. Conversely if you start at the cuff. the top of the sleeve goes fast because it means that you are almost done.

The cuff of the sleeve and the last 4-6 inches go reasonably quickly. For the opposite reasons as the top of the sleeve, but the ideas the same. It’s either near the end or the beginning which equals a larger compulsion or interest in the knitting.

There are about 4 inches near the top of the sleeve which take forever, because the knitting never seems to grow no matter how much you knit and or measure. This is, I think a product of the fact that sleeves are a much larger proposition than anyone expects and there’s a lot of knitting to be done in a sleeve. I think this feeling is properly thought of as “sleeve hell,” but you can call it whatever you want.

The remaining 6-8 or so inches go slowly, but not too slowly and in that can be pretty therapeutic, once you realize that you are making progress and that you may actually like the sweater you’re knitting.

So that’s where I am, anyone have any other theories?


  1. The truth is that I think more knitters comment on my geeky posts than comment on my knitting posts. I’m--perhaps improperly--taking this as encouragement to keep doing what I’m doing, but I’m going to write about my knitting, for my own record keeping. ↩︎

Mozilla of All Trades

In my post about calendar programs a number of great readers suggested that I should try “Lightning” or “Sunbird” which are part of the Mozilla Calendar Project. Calendars from the people who bring us Firefox and Thunderbird.

I didn’t include these programs in my initial review for a couple of reasons. The first, is that I downloaded an early beta of Sunbird, and was (unsurprisingly) rough, and I didn’t see that there was anything particularly earth-shattering. The second is that I find the Mozilla applications to be remarkably awkward and borderline unusable.

So I’ve begun to to download and test Sunbird, in an attempt to be complete and because I suspect that the quality of the application has improved in the past couple of years. I don’t use Thunderbird because of my aversion to Mozilla and XUL (and mutt sucks less), which nixed the lightening option.

And now on to the interesting part, why I hate Mozilla apps. They all suck. Which is to say that they all look the same, and have this shrink-wrap feel that feels awkward in almost every operating system/environment. This means that everything looks ugly and functionality is never where you’d expect it to be. This might be a good thing if you use a bunch of different operating systems, and want your apps to be consistent cross-platform, but generally I think this is heavy handed and it means that your “cross platform” apps don’t work like any of the other “platform apps.”

Now of course web browsers and email clients are pretty straightforward and there isn’t a lot learning curve, but I think usability and ergonomics in contemporary desktop computing comes down to seconds of frustration and confusion, and not upfront learning curves. At least for me.

To be fair I use Firefox without complaint on my linux environments and I think they work great for that, and I think the real test of Sunbird will be how well the experience is on a linux system. I’m not sure if this is a product of the fact that everything seems a little disjointed about user interface on linux. In this direction I find it particularly annoying that Mozilla apps don’t work with the “Services” menu on OS X.

I’ve found this annoyance factor with any Mozilla product I’ve used in recent years. I’ve always blamed it on XUL (the Mozilla interface design methodology), and the idea that Mozilla seems to place a greater emphasis quantity of users than specific quality. Am I the only one who feels this way? Do other people really like the Mozilla apps' user interface? Why?/Why not?

Cheers!

Awesome Projects

This is part three, in my ongoing series on the Awesome window manager. For an introduction to what Awesome is, read part one, and for some of my complaints/gripes about Awesome. This post is more a collection of “things that should be done about awesome.”

In a lot of ways this post brings up a number of points that aren’t necessarily specific to Awesome, but rather provide a good (start) to and an idea of what people who aren’t programers can contribute to open source projects.

User Guides/Documentation Most open source projects need help

writing documentation, so anyone whose good at understanding technical concepts (or figuring them out, which is, I think a good chunk of my remaining readership,) can probably write pretty good documentation. Perhaps most difficult in open source projects is editing old documentation to reflect changes and revisions/expansion. If you’re interested in doing this, you can basically take your pick of any open source project and go to town. Everyone needs help with documentation just about, and to publish a GNU GFDL/BSD-Style manual isn’t the kind of thing you need to get approval for.

The truth is that programs like Awesome don’t need formal documentation. The man pages are pretty complete with all the formal functions/features pretty well documented. The problem is that the initial learning curve is pretty tough, and the man pages can be pretty unsympathetic. The truth of the matter is that a lot of times what isn’t needed as much as formal documentation, but rather shorter more accessible documents that explain key features and help new users get acclimated to the system. Let’s call them “user guides,” and Awesome needs them.

More Configuration Files Configuration files in unix/linux programs

are almost always these really simple, straightforward lists of various settings and key-bindings. In awesome, you have to describe and create the interface in the configuration file, so configuration is non-trivial. While I think there are various merits to this kind of setup, like it allows more flexibility and the user base is pretty high level so super-usability isn’t a big concern, the down side is that it’s hard to know where to start.

To this end, I think it would be really great if there were (even more) different and well commented example configuration files so that interested users could “try out” a number of different settings, and have a basis for starting to modify their own config files. I proposed in a previous entry that I thought a more modular/segmented approach to the config file might be good to separate widgets, key bindings, and hooks/etc. into separate files, and while this might be a good idea, I think having examples around would make this easier.

Special Use Case Reports Aside from the initial learning curve, I’d

say the biggest problem with Awesome is the name. Odd complaint you say? Well it makes it really hard for google to index information about Awesome. So it’s hard for users like you and me to find blog posts about how to do cool things with awesome. Outside of the Awesome Wiki, its hard to figure out what cool things folks are doing with Awesome, or even how most awesome users are overcoming every-day-use challenges.

I’m calling these sorts of things “special use case reports,” but it’s really just blogging. I’d love to hear and be able to collect discussions and blog posts from other Awesome users about what they’re doing with the software. I think the collection of this knowledge would be a great resource.


Thoughts?