mcabber and IM

I’ve always rather enjoyed this post that I wrote about instant messaging programs. My issue is that I use IM a lot. A lot. I communicate with colleagues, friends, and frankly, if you want to get a hold of me, IM is often the best way to do this, and frankly for a lot of communications I prefer it to the phone.

Nevertheless, IM clients, on the whole, are mostly pretty bad. Right? They distract, they filter information poorly, they take up a lot of room on the screen, and are as a class pretty inconsistent. This is probably because no one really expected people to use instant messaging technologies in a serious way.

But here we are.

The leading IM client, really, for people who rely on this kind of thing is Pidgin (and the other libpurple based clients), which make it possible to connect to lots of different services at the same time but only have one roster/buddy list. It’s a good solution to the “multiple networks/accounts” problem, but the truth is the quality of the implementation varies, and the user interface is… awkward and rigid1.

There is, however, this program called mcabber that provides the ability to connect to one xmpp account, in a terminal-based (ncurses?) environment. It’s not perfect, nothing is, but its a lot better than the other options.

While I’ve not been able to switch to using only it for my IMing needs for a couple of reasons, mostly related to my xmpp server/provider, but I have used it exclusively for a number of days and the experience is pretty good. Reasons I like it:

  • Everything lives in one window, and chat windows have equal footing, like buffers in emacs, say. That’s really nifty.

  • The key shortcuts are really simple, and quite intuitive. Thats key in a terminal application

  • I can run it in screen, and pull the screen over ssh to my laptop when I’m not in front of my computer. Though xmpp is generally really great about multiple connections, sometimes it’s best to not have to deal with that fussing.

  • I like that it supports PGP encryption, though I don’t have anyone with whom I can encrypt conversations with, but that always seems to be a minor detail.

    Though, this isn’t to say that it’s all good. There are some problems that I’ve had. Though to be fair, my complaints here are much fewer than with most other XMPP clients, so that’s a good thing, right? Complaints:

  • No support for service discovery. Which means you have to install psi--basically--if you’re serious about getting the most out of XMPP. This is… unfortunate.

  • It takes a lot of work to get configured and get key bindings set up. I’m mostly of the opinion that it’s always best to give users a set of key bindings to start with and then let them customize as needed, and the default screen layout isn’t particularly useful or economical (put the status window at the top, and make it smaller, for starters).

  • It doesn’t support multiple connections/user-ids. This is a biggie, and while I don’t (really) object to the fact that it doesn’t support other protocols, I think the reality is that most users probably have and need to use more than one identity at once, so that’s a noticeable hole.

  • I’d also like an easy interface for producing system notifications give me a setting option to pile messages (username, excerpt of x characters, time) to a pipe (|) and I’d be very happy indeed.

  • I couldn’t decide if the fact that there was only one “text entry field” (mini-buffer) for all outgoing message buffers. Which meant that, particularly with scroll back, that it was easy to cross contexts unintentionally.

My last complaint isn’t so much a complaint about the software itself as it is a complaint about the instant messaging space in general. Basically, I think there has to be a way to filter this kind of communication. Ways to setup client-independent rules regarding statuses, auto-responders, and notification level. I’ve said that this should be “along lines of procmail,” but I don’t quite know what, even that, would look like. But someday, it’s coming, and I for one can’t wait.

But all in all. It’s a great program and you should check mcabber out, if you’re intense about jabber/xmpp and instant messaging (and living in the console).


  1. So there was a pretty notorious fork-threat in the Pidgin project a while back over a sort of deterministic user interface decision, which I return to every now and then as an example of both intra FOSS project politics gone awry, and user interface design gone awry. I’m not dredging up the flame war, because the truth is I really hate GUI applications writ-large, so on some level its nothing specific. ↩︎

Open Source Userland

Free software and open source users/developers are a sort of evangelical bunch. I think a lot of this is because hackers what other people to use the software that they spend their time working on, and of course some of this is because of the ethical systems that pervade the free software movement. And of course we want to both expand the user base of certain pieces of software within the open source world (eg. getting vim users to use emacs) as well as getting people using proprietary systems (like Windows/OS X/Microsoft Office) to use free/open systems (like Linux/BSD/emacs).

The biggest challenge in the second project is usability, and I think both prospective users and developers (and people like me) often wonder “Is open source usable for non-technical users?” This is a question that I don’t have an answer for. On the one hand, yes, GNOME--for instance--is really usable. I don’t think it’s particularly innovative software, nor is it clever in the way that OS X sometimes is, but it is on the whole very functional.

Very often open source, in its entirety, is judged on the basis of its usability, which strikes me as pretty ironic, as I’d wager most open source projects--and without a doubt the most influential ones--are not “user applications.” In terms of importance, the kernels, the programing languages, the libraries, the servers, and the frameworks are way more successful, powerful, and robust than programs like “Open Office,” or “GNOME,” or even--frankly--“Firefox.”

I suspect this is the case because lower level stuff is either to get right, and because hackers end up working with computers on a very low level, so it makes sense that the itches they’re scratching with open source would work on a lower level. And the “cause of free software,” is more directly served by these lower level projects: open source depends on users recognizing the value of hacking on code, which is more likely to be realized in low level projects.

Which makes the project of evangelizing non-technical users more difficult, because the argument isn’t exactly “switch programs to (potentially) better ones,” but rather “become more involved the technology you use,” which is a much different argument. And I think the “usability” question often serves as point of mystification in this much different argument.


My original intent with this post to explore how some of the biggest open source user-applications were in fact sponsored by really big companies (in whole or in part). Novell puts some considerable resources into GNOME and KDE; Sun obviously backs Open Office; Firefox and Mozilla grew out of Netscape/AOL and get a lot of money from Google.

More than anything, I wonder what to make of this. Certainly there is also backing for lower level projects: Sun and Java/mySQL; countless companies and kernel development; 37 Signals and Ruby-on-Rails; and so forth, but it feels more substantial for user applications, somehow.

I wouldn’t go so far as to suggest that corporations are attempting to re-mystify technology in open source. I think it’s much more likely that business know that having viable desktop environments will be advantageous to them in the long run, and that since hackers are less likely (on the whole) to work in the user-application space key contributions of corporate-backed developers are more noticeable.

But maybe there’s something else there too. I’m not sure, isn’t the world grand?

Onward and Upward!

Half Million

So soon, probably during the end of this post or somewhere in tomorrow’s post, I’m going to pass the half-million word mark on tychoish.com. This is a bit inflated because I incorporated the posts from tealart a couple of years ago, and some of that material includes quotes and links that I don’t think should count toward the site’s word count odometer. But there you have it, and in any case this is a milestone, that’s worth commemorating.

There’s a quote out there along the lines of “everyone has a million words of crap in them before they get to the good stuff.” If we count the writing I do here, this means I’m getting close. If we count blog posts and academic writing, I think I’m probably well into the “good stuff.” I suppose some of that is up to you.

I wrote a “journal”-type post about myself and what I was up to beyond what I blog about here (and a few of my posts since then have veered in that direction, alas). While these used to be the “easy posts” that I would just sort of blather out a year ago,1 I don’t feel like I miss them.

I’m doing well. I have a lot on my plate, and a lot of “loose ends” floating around that are causing some stress, but I really can’t complain. Just for grins the things I’m working on right now:

  • Fiction Writing

  • Station Keeping, Season 2 (about 5 thousand more words to go).

  • The Novel, (half done, 4-5 more months till first draft; leaving 3 months for rewrites, and a podcast launch in August.)

  • Trailing Edge. (Hibernating. 3k more words, and then scores of edits).

  • Open Source Research

    I’m working on turning the research project that’s been sort of sputtering along into something more coherent on a number of different levels. I’m not ready to announce this exactly but it involves:

    • Writing lots of emails. Lots of emails.
    • Turn a fairly linear paper into a wiki.
    • Collect a more complete bibliography file.
    • Website things
    • Get Critical Futures back on track.
  • Tychoish.com Redesign project. Not to mention writing for the site like I do.

  • Something for the open source project described above.

  • Life things

  • I probably have half a dozen small/midsized trips this year. Knitting things, dancing things, work things, science fiction things. That’s a lot of stress there.

  • I’m going to be moving this summer.

  • For someone who views himself as being a shut-in mostly, I do a lot of stuff “out:” dancing 3 times a week, singing from time to time, and so forth.

  • Knitting things

  • The grandmother shawl, plus two other lace shawls in progress.

  • My Starmore cable sweater. I’m 20% done with it. That’s not very much.

  • The color-work sweater that just needs another sleeve.

So that’s what’s on my plate. I really need to start knocking this stuff out.

Will this blog be around in another half million words? I figure that that means that I’d have to keep up doing this for another three or three and a half years, at my current rate. It could happen. It could definitely happen.

I’ll see you on the other side.


  1. It was a dark time. I’m better now. Mostly. ↩︎

Tightening Outlines

I’ve always been a really big fan of outlining and structured writing, particularly for long form stuff. I suspect anyone who has ever argued with me about writing, or written in collaboration with me is probably nodding in understanding (or yelling “that’s an understatement” and flipping the bird to the monitor). This probably explains my interest in things like LaTeX and Markdown, and the reason that wiki’s have been frustrating for me, and the reason that I can pull my distractable attention span together enough to be able write long form projects. I mean, I even managed that as a teenager, which continues to impress me at least.

I like outlining because it allows me the opportunity to separate conceptual activity from implementation activity to a great extent. I can write an outline, figure out what’s going to happen, what I need to tell, where I’m headed in an argument/plot, and then when I go to write, I don’t have to figure out really core/low-level aspects of the story/essay as I’m trying to figure out how to move the characters around. Writing diologue and “people,” in their world is a very different task from, figuring out the fate of that world, and a character’s thoroughly. Or an illustrative motif in an essay. Outlining helps me to isolate and deal with these problems in different contexts, as well as provide continuity between writing sessions for particularly long work.

One of the biggest challenges (and successes) of the project that I’m working on at the moment was “making enough happen” in the story. I got an outline, that told a story that was too big for a short story, and yet didn’t provide the “body,” and rich environment that makes novels so enjoyable. So I wrote this draft of an outline, and then I spent the better part of a week thinking about “ok, now what can I add?” and “If I add this B-plot how will it triangulate and complicate the lives of the other characters.” And I kept adding scenes, details, and turns that would make life hell for the characters.

In previous attempts (to varying degree’s) I’ve said something like “I need to tell a story about “Telepaths who immigrating to Mars,” and then I write the outline, and as I wrote the stories there was never enough there, characters distraught-ness was out of phase with what was happening (my criticism, other people don’t seem to have this response, as much). So this time--so far--I’ve been really pleased with the way that the “tighter, more packed” outline has really helped the way that the writing of the story has progressed. You’ll be able to judge for yourself in time, but it’s sort of cool. What follows are a collection of the lesson’s learned from this outlining process:

  • Write a full outline, before you go back and add stuff. The initial concept, and layout of the story is valuable, even if you should probably be resistant to just “going with it.”
  • Even if you feel the “burring impulse of creation,” outline anyway. For novels and long works, sustaining that impulse over many months is difficult. There are lots of different ways to outline (free writing, various levels of structured lists, note cards, etc.) something is bound to suit your style.
  • While conventional wisdom holds that you shouldn’t edit works in process (as this breaks flow and rhythm), once you have an outline completed. Edit a lot. Not for polish, but imagine the story, and play around with the order of chapters/key scenes. Push as much of the action into the shortest amount of space you can. See what you can do to pump up the action in other parts of the book.
  • Add stuff. Add a lot of stuff. You’ll be able cut later, tighten things up later, having material of “things that could happen,” and having gone through the experience of playing with your story will help you, even if you say “nah, I don’t want to write that scene,” when you’re writing, or you feel that a scene you had in your outline won’t really work anymore. Cutting is easier later than adding more material
  • Three is a really great number for stories. We’re all used to “good guy” versus “bad guy” plot dynamics, and the “bi-polar” approach to story telling, while familiar becomes boring really quick. Adding “thirds” to stories makes things much more complex, and much more dynamic. Third plotlines, third characters, third-major settings, and so forth. Or at least play with the idea.

Onward and Upward!

Conversations

I had an odd experience as a writer a few weeks ago. I found myself writing “copy” rather than my more comfortable “blog post,” “essay,” or “fiction story” and I learned a great deal from the experience. Mostly, “never be a copy writer if you can help it,” but I learned something about my other writing in the process: basically I write conversations.

This makes sense on a number of levels. First, it explains why I enjoy blogging as much as I do, and why I write for the blog in the way I do. Blogging is a conversation, I write stuff, you think about it, you comment. Repeat. Or I read something, and I respond with my “part” of the conversation. Secondly, I’ve occasionally been told by recipients of particularly quick emails that I “write just like I talk,” which makes sense given how I type, and how “natural” that is as a communications medium for me. Third and finally, people who’ve read my fiction, routinely comment on the dialog.1

This may also be why “being a writer” (professionally, creatively) has been a struggle. On some level the writing, even the fiction, is a means to an end. Banging words out on the keyboard for the blog is a means to have a conversation with you, dearest readers; writing fiction is a means to explore ideas and conversations that I couldn’t begin to articulate except through fantasy (on some level.)

When I tried to write knitting patterns, I wrote these essays that were basically me standing up with a finished sweater saying “so if you want to make this, start here, and then do this …” and so forth through the entire sweater. On one hand they were stories, on another it was just me talking.

I don’t know what this means about me, what I write, or how I write. Frankly, I’m not sure I’d like to know much more, but you can draw your own conclusions.

Onward and Upward!


  1. I suppose the lingering forth item would be that my first attempt at graduate school was methodologically focused on narratives and “small stories,” in conversations as a means to understand “the individual in context” as it were. But that’s neither here nor there. ↩︎

The Future of Critical Futures

When I took a break from Critical Futures near the end of last year, I had intended to begin with the new year with renewed energy and vigor, but when the new year rolled around, I found myself somewhat lacking in vigor. So I’ve waited, and I kept waiting. And now, its the end of January, and I still haven’t restarted, and I think it’ll be good to talk for a moment about that.

A big part of this is the fact that holiday vacations (such as they are post school) are never quite as long as you ever expect them to be. So I didn’t get that massive fiction writing binge that I was expecting and hoping for. And I also didn’t get that website redesign binge that I was hoping for. Alas. So I’ve needed more time, if not to do things, then to let projects breath. So my one or two week vacation turned into a month or more.

Secondly, my “write more resolution” (such as it is) that I talked about in this post, is a practice that’s a little more than a week old at this point. that’s not a problem, but preparing content for posting when I’m not actively writing on a project very much feels draining. Also, I’m aware that my “supply” of fiction is going to run out, well. Sooner than I’ll be ready to resupply it, particularly since the novel I’m working on now, isn’t really a Critical Futures project. Well, it is, kind of.

So with that in mind, what lies in wait for Critical Futures?

Well…

Recently I’ve started working more on the ending to Station Keeping’s second “season” I’m not keeping a special eye on it, but I’m probably half way done with the second season (which is all new). That’s helped my morale a good deal. Also, I’m beginning to see some real progress on the new novel project (yay for being less stuck), which is a help. While it’s a long way off still, knowing that this is going to end up as a podcast (and that this podcast will be a part of Critical Futures) that’s been inspiring for my feelings of writerliness. Putting my “job” as a writer above my “job” as an editor/publisher was something that I really had to do in order to make it worthwhile.

So the plan? I’m going to post fiction less regularly. The pieces might be slightly longer (but probably not much). I’ll probably alternate Tuesday/Thursday weeks with Monday/Wednesday weeks. When the podcast starts, I’ll probably do a pod-cast episode and a piece of fiction a week. I’m not going to change the design of the site, much, but I think some tweaks are in order, and I need to add/update some of the static pages on the site.

If anyone has suggestions, quirky science fiction that they’d like to submit to Critical Futures, or wants to help out (with designs or the like), I’d love to hear from you.

Onward and Upward!

Blog Redesign

I’ve mentioned that I’m in the process of doing a somewhat lengthy “blog redesign” project of tychoish.com. The astute among you, who don’t visit via RSS, will probably notice at least a little bit of a change recently, but I think there’s more in mind. While I resist the temptation to write lists in my posts, I think I’m going to give in just this once. ;)

What I hope to accomplish in this redesign.

I want to have a home page that’s more dynamic. I think the fact that the landing page looks the same as every other page on the site is a sore spot for me. I want to go for a site that has:

  • A list of recent essays
  • The most recent essay
  • Excerpts from a couple (2) other recent entries
  • Links to other Blogs
  • Several (3-5) recent coda posts.

In general, I think that the landing page should provide a good gateway to what’s happening on the site, it should be dynamic and simple. It should load fast, and it should be more “clean.” I’m also considering digging up some AJAX bits so that I can have a couple of design widths (so that I can avoid variable width designs) and also have a dynamic browser for, say the excerpts of recent posts, and the coda posts.

I also want tychoish to be less of a blog, and more of a host to different/additional kinds of activity. Like I’ll probably host a wiki here for the research I’m working on with open source, and I think it would be fun to make some conceptual space on the site for something other than just another blog, and see what happens. Given the shape that my “career” is headed, I think this has some pretty interesting possibilities.

How I plan to accomplish this redesign.

Slowly.

The first order of business, is to start to play with the templates and design before I switch to some new system. I think trying to juggle a smooth transition with two balls in the air is just an invitation for me to screw things up royally.

The basic template for blog pages, will probably linger for a while longer than the front page, and that’s fine. I’m kind of fond of the site. It’s functional, it’s simplistic and very “old school,” which suits me just fine.

Steps towards implementation:

1. Write additional CSS classes to describe a new layout. Including rounded corners. (Grrr.) 2. Create JavaScript enhancements that make the site pop a bit, while also making the vast quantity of text more digestible. 3. Create template files for wordpress to facilitate the export to the new system. 4. Create staging area(s). For testing purposes. 5. Move to a host that gives more administrative rights. 6. Profit?

Why this is a good thing.

My hope is to make my blogging system/environment much more modular, so that I can add and modify it more easily. The CMS’s I was using 5 years ago where much more along these lines, and while I didn’t know what I was doing very much I did appreciate that level of control.

To say “I want a more modular and dynamic” website sounds a bit trite, but I think it’s the most true. If the site’s more modular, that is, if template organization and content display (which are the same thing with WordPress) are less connected, I think I’ll be able to have all the benefits of “dynamically generated pages” without the overhead of the database system. And if that’s the case, then my relationship to the content of the site isn’t via a constrained text field in one system, which I think will be a good thing, indeed.

Or I hope, at least.

Ethics of Free Software

Last week as I was wrapping up a project, I found myself reading an article by Gabriella Coleman1 about ethical systems and free software/open source development communities (pdf link). It’s a great article that helped me connect a few desperate projects, and I think it also provides a very useful foothold into talking about the ideologies of free software without getting encumbered by free software’s internal ideological “drama.” In turn:

Before I got absorbed into open source and free software stuff, I was interested in issues around the construction of individual’s identity in reference to group-based cultural scripts about identity. For example how “gay men” think of themselves in relation to gender/sexuality/race, and how they made sense of the social constructed-ness of these categories. But the underlying structural question applies to all sorts of people and groups (“people who knit” and “communities of knitters;” immigrants/refugees and “Americans”/national identities; etc). There were a lot of reasons why that didn’t work out (on top of some stuff about my background): the biggest one is that there isn’t a good field2 to do this kind of work. In retrospect, It’s a good thing that it didn’t work out for these and many other reasons.

Nevertheless, even as I’ve been “reinventing” myself and my interests in the last year I’ve discovered that my interests in open source development and free software, have a strong parallel, as I’m interested in collaboration and shared creation in the context of open source projects. This time I have a bit more going for me, of course.

So how does this connect? Well, I read a bunch of literature the first time around on “moral development,” and it turns out (I would have never guessed this before) that there’s a lot of very cool recent work on how social factors (like communities and group membership) contribute to the development of moral systems, that isn’t “Kohlberg-esque” (and thus decontextualized in harmful ways). Before someone pushed me to read these articles, I don’t know that I would have sought out the connection between “ethics” (moral systems) and group identities, but it’s there. Reading this article addressed ethics of free software communities strengthen these connection for me, and I think is a great starting point for thinking about free software projects as a entities onto themselves. I have some more thinking to do here, of course, but there are some cool possibilities.

So about ethics and software freedom, anyway.

The article explores the ways that the Debian Project is not only rooted in a strong “software freedom” ethical tradition (the DFSG, the close alliance with the FSF3) but also--as the article explores--promotes and develops this ethic in amongst its many developers. That while Debian attracts a certain predisposition toward free software and open source, participation in this project reinforces a shared set of ethical perspectives. We talk about “copyleft” licenses in free software as being “viral” because the mandate that derivative works be distributed under their terms (and thus spread in “viral ways,) but really they’re also viral in the way that they shape the ethical systems of developers who use them.

That’s kind of awesome. It’s also, I suppose not ground breaking (I think you can see echos of this in some of rms' essays, for instance) but it does let you (or me) talk about the ideologies of free software without participating in the (different, but connected) ideological debates of free software. Which is a good thing indeed.

Onward and Upward!


  1. I have a somewhat sorted history of linking to people and then musing on whatever it is they wrote on this blog, only to discover a comment the next day from the original authors. So as a somewhat preemptive measure: Hello, and I think I’ll write a somewhat less public letter of introduction soon. Thanks for reading. ↩︎

  2. My background has been in (developmental) psychology, and while this is a lovely field that I have a lot of fondness and respect for, the study of individual/cultural boundary pushes on an interdisciplinary space, or null void really. ↩︎

  3. Debian Free Software Guidelines (the code by which software licenses are deemed “appropriate” for inclusion in the Debian project) and the Free Software Foundation (originators of the GNU GPL, and a great many other things) in turn. ↩︎