Is Somebody Having a Holiday on My Day Off?

I hear that some of you are celebrating today. If that’s the case, good holiday to you, dear readers. If that’s not the case, I hope you’re not too befuddled by this very strange Thursday we seem to be having.

I guess in some respects I’m celebrating. Though I often leave, the fact that no one else is working changes the way the day feels. And I’m writing today’s blog post/letter this morning after having a nice fish-brunch (it’s a family ritual/jewish thing) with the family. We’re going to go get food at an Indian buffet that’s near by. I’m looking forward to it. But other than that it’ll probably be a normal day. I’ll be writing, and maybe doing some work. But for now I’m just going to write a letter to you all.

Lets see, there have been a lot of little projects that have taken up a lot of my time and brain power. I’ll outline them to show what I’ve been working on and to see if anyone has suggestions:

  • I’ve been working on switching to a different terminal emulator (urxvt from gnome-terminal) and I have yet to get the colors right, which is a barrier. A terminal with hard to read colors is totally useful. Also, I haven’t quite figured out how to get copying and pasting from other apps to uxrvt to work, but I figure I can just read the documentation again, and that should be apparent. The reason for doing this? Gnome-terminal, though easy to configure, is pretty heavy weight, when there’s no real reason for that. If I were running one or two instances, that’d be fine, but I need to have at least 4 instances (mail, irc, IM, actual terminal things) and sometimes that grows to even larger numbers. So lightweightness is desirable.
  • I’m starting to switch to using jabber/XMPP for all of my IM needs. The good news is that this attempt works way better than my previous attempts. The AIM transport (which seems to be the de facto IM standard in my network) works like a charm most of the time. I’m not deleting pidgin for emergencies, but I’m pleased. The client that I’m using, mcabber works quite well. I’m having two odd problems. First, I find that I’m having trouble adding Google Gtalk users to my roster. It seems like it might be a DNS glitch with dreamhost, but I can’t get it nailed out. Secondly, I seem to have done something so that I can only connect to my account using mcabber, which isn’t a problem in the short term, but it could be annoying/deal breaking in the long term. At some point I’ll probably switch to running my own XMPP server (when I move off of dreamhost) but in the mean time it would be nice to have this fixed.
  • I’m thinking of switching away from Wordpress to a blogging platform called Jekyll. This tool would conform more to my workflow (easier posting), it would be fun to have a blogging platform that I could conceptually hack on myself. While I’ve been using Wordpress in its current iteration for three or four years, I’ve used a lot of different CMSs to power the Teal Art/tychoish website. Greymatter (back in the day), b2 (the predecessor for wordpress), and a custom CMS that a friend wrote in 2001-2002. And I’ve toyed with Drupal and Moveable Type, of course. While the current setup works--I think it’s not entirely ideal. I’ll need to blog about this a bit more before. And the conversion process promises to be somewhat complex. There’s always something interesting going on.
  • I’m thinking of using bootcamp and installing Linux on my mac-book, and going back to using that hardware more full time. It’s good hardware, I already have it, and it might be fun to use another installation opportunity to play with Arch Linux (though I’ll probably wimp out and install ubuntu again). What I’ve discovered, I think, is that while I have a lot of respect for and history with Macs and OS X, a linux/awesome platform is--at the moment the system that I feel most comfortable “living in,” and most productive working in.

Anyway, I’ll get back to my day, and enjoy yours too. Remember today means, 10.5 months without Christmas Music in public. That’s something I think we can all celebrate.

The Cathedral and the Bazaar Today

Just about everyone who spends any time studying open source is familiar with Eric S. Raymond’s “[The Cathedral and the Bazaar] (http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html#catbmain).” So familiar that both are generally known by abbreviations: esr and CatB respectively.

To recap, it was a ground breaking essay written in the mid nineties that really drew attention to how novel the development of the Linux Kernel really was, and outlined a number of powerful “open” development practices that--because of the Internet--changed the way that the open source was able to function. It’s a powerful essay, and my own interest in the direction that open source takes, stems directly from the ideas that esr presents here.

The biggest problem with the CatB argument is that it’s wrong.

Strictly speaking, not wrong, so much as a bit logically fuzzy. What I mean, is that the argument tends to be a bit too idealistic and a bit too broad. So that, when working in its legacy it becomes (more) difficult to reject some of the assumptions that esr takes for granted.

This isn’t really a fatal problem: movements need documents and essays that are powerful and idealistic, and I think insofar as CatB encouraged the free software and open source movement to adopt more distributed and “open” practices, it was wildly successful.

As the foundation of an intellectual study… it’s less good. I do think that it would be useful--for me, for other people--to think about the nuisances that esr avoided, and thinking about ways that we can build upon those arguments.

1. Examine the role of “commiter” rights, or “core” teams on the development process. While these “institutions” might not have the same sort of effect that outright “cathedral building,” has on an open source project, but all projects have this sort of top-down organizing influence, and it’s important to consider.

2. Consider “distribution,” and “federation,” of both ownership and process, in open source. This means think about source management strategies (I think git is really important here) and the role of having a code base that’s owned by one person/company/institution (a la GNU, Mozilla, and so forth) and the effect that having ownership be distributed (like the Kernel and many smaller projects.)

3. Think about modular design and extensibility. I had a conversation with Dan in the comments of my essay on innovation, and he brought up extensibility, which is worth bringing up again in a new context. Though its not a new idea, it’s possible to write software so that nearly all of the customizations that a user might want to do are possible through an add-on system. Emacs has emacs-lisp, TextMate exposes the shell in the editor (and the bundles make TextMate very open-source like), firefox has extensions, Drupal has modules. I think these kinds of designs have a big impact on the kind of involvement an open source community is likely to develop.

Have I missed anything?

Onward and Upward!

A Cowl--(Knittting)

So rather than approach my knitting posts for tychoish like a guilty journal (eg. I haven’t knit in a week, but I did yesterday and it’s cool, here’s my progress,) I’m going to just talk about projects that I’m working on and knitting ideas that I have. Because I have a lot of them, and I think maybe approaching knitting topics in a more granular way might be fun. And it’ll give all the techie folks a sense of how all my--rapidly decreasing--knitting readership feel most of the time.

Lets start with the yarn. I went to the loopy ewe last Friday. Actually, I went out to the same building that the Loopy Ewe is in to help my mother buy a file cabinet that she found on craig’s list that a collapsing financial services agency was selling. So we stopped by and saw Sheri and Donna and Stacy, and I bought some fiber and a skein of yarn. The fiber is squirreled away in the fiber stash, but I have a picture to show you:

It’s Noro Silk Garden Sock yarn. Sorry for the blury picture, I took it with my new phone. There’ll be more pictures in the future, because the phone can upload things right to flickr. That’s a killer feature. Anyway, knitting…

A word first about the color. There’s green in this ball, but its hidden in the middle. This means that its almost exactly the same color as the last Noro that I knit with (also silk garden). R got/gave me two skeins of the worsted variant (when that’s all there was) and I made a scarf that I still have and wear. Anyway, I am nothing if not consistent and predictable.

So it’s sock yarn, which is to say, that unlike most Noro it’s pretty fine and manageable. At some point in the past few years I’ve gotten to a point where I don’t really like to knit with thick yarn. My loss I suppose.

Anyway, while some people, including Joe have reported that it makes passable socks, I don’t think that I’m going to make socks with this. For starters I don’t really like to wear thin wool socks, let alone make them. And what’s more I’m unconvinced that the singles structure of this yarn would hold up for socks. You may have had different experiences, but I’ve made up my mind.

I’m thinking that I’m going to make a cowl with this. My mother has made a couple of these this winter so far, and I really like what she’s done, so I’m going to attempt to replicate what she’s done in a way that is a bit more boy-like. Or at least, isn’t lacy. I can deal with something that’s not very boy-like if I’m warm, but the lace thing never really appealed. Also I remember really liking the shape of the Ice Queen from last years knitty. It’s a cowl (which is to say a tube) but it flares out at one end to cover the back of the neck a bit better particularly if it’s also pulled over the ears. Brilliant if you ask me. Also, even if you omit the beads and the lace (or just minimize the lace) I don’t think that it would be good for me. Even if I like the idea.

The specifics? Nothing too concrete, but I’m thinking entrelac, with the same sort of tappered look. I’d start at the small end and work better near the end. Thats probably not the best way to make use of the yarn, but I think figuring out the pattern will be easier if it grows rather than shrinks.

I’ll start with a few rows of rolled reverse stocking stitch and then just play it by ear. Probably just knit 10-13ish inches at the smaller size (21/22 inches around) and then increase over several “courses” of enterlac slowly so that it flares just right. Actually as I write this, I’ve convinced myself that starting at the small end is very much the wrong way todo this.

Am I crazy? Probably. I’m going to try and get a few other projects more underway and finished before I give this a go. Knitters, you have any thoughts on this? Talk to you soon!

Keeping Time with tycho

Ok, so I haven’t done a journal upate in a long time, and I think it’s high time that I posted an update about my projects and stuff. It’s my blog after all.

I’ve been working a lot, which is a good thing. Also I think some pretty cool things are happening with my job. While work can be stressful by virtue of shear volume, I’m pretty excited about how things are going. I’m also getting better at managing the “working for a virtual company,” thing: it’s taken me a while to figure out the right way to manage things so that it doesn’t feel like I’m working constantly, or conversely feel like I’m never getting anything done. I don’t know that I have the answer, but I’ve started to figure out ways of both working, and making progress on projects that are important to me. Evidence of this: I’ve gotten knitting and writing done recently.

I’ve been working on an academic project--some of the conceptual “thinking” work for this has appeared on the blog in the past few months. I’m laying the groundwork for an application to history/anthropology/library school to study free software/open source development mythologies and communities. The project will wrap up in the next couple of weeks, and then I’m going to spend a couple of months preparing and launching a website/wiki on the subject and initiating correspondences with a few key people in the field. I haven’t totally ruled out applying for a couple Ph.D. programs in Fall 09/Winter 10 to begin in Fall ‘10 as a trial run, but I’m thinking waiting another year is more likely. By then, I think I’ll be ready.

I’ve been doing some knitting. Small stuff, socks and hats and stuff, just because I need something with that kind of pace. Also, while I’ve never been a big yarn buyer, my off an on break from knitting hasn’t entirely put and end to my yarn buying. Also I might have bought a skein of Noro Silk Garden sock yarn that I really want to make into a neck cowl/covering/tube. There will probably some enterlac involved as well. I’ll get back to sweaters soon. But I’m not in a rush.

My technological purchases acquisitions over the past few months (the new laptop, the linux desktop, the fancy cellphone) are continuing to serve me quite well. I miss the amazing battery life and sleep/wake features of the macbook (which my father has taken as his own), I have to say that I think I work much better on the linux machines. I can focus more easily, because there’s less operational overhead (fancy graphics etc.) even the older hardware really keeps up with what I want to do. I’ve thought about selling/trading the macbook away for something like a dell m1330 (or cash to buy another thinkpad)--for the father, as a way of ameliorating my losses. But other than that I’m pretty pleased with the way my stable of technology has improved the way I work.

In a similar vein, my switch to emacs from vim (and TextMate on the Mac) continues to do well. I’m doing much of my writing in emacs, though there are things that I do in other editors. I edit email vim, because that makes sense, and it works well, though I imagine that I’d switch to emacs for that at some point in the future. There are some things where I’ll confess to really liking Gedit’s tabbed interface (mostly for instances where I need to copy and paste a lot of content from an editor into a web browser. The right tool for the right job, and all that. I’ve never thought of myself as a multi-editor kind of guy--and emacs doesn’t seem to provoke this kind of response--but it’s not a bad thing.

I’m not sure how much holiday-related time off I’m going to take this week. Being neither Christian, nor a particularly observant Jew, I don’t expect that I’ll make any formal blog vacation. At the same time, I’m well aware that with a great number of you all in blog land on “holiday schedule,” it doesn’t make a lot of sense for me to slavishly stick to my blog schedule. Also, I need a bit of a break for Critical Futures, to recharge and reevaluate so that I can make the best of the new year over there. So, stay tuned and have a good holiday.

A Day's Work

I did some blog writing for the upcoming week today. It was good, I managed to pull off nearly two weeks the last time I sat down and seriously wrote for the blog, so I haven’t had the chance to really sort through thoughts like this in a long time. It’s amazing how much writing blog posts provides me the space to work through things that I’m thinking about. It’s also amazing to me how much I’ve grown to depend and expect this space as part of my life, and how scattered my thinking is without this blog. It’ll be interesting in another ten years to see how this changes. In any case the real point of this little post is to say that I ran a word count of my efforts today and came up with a total around 3,800 words (turns out, this weeks is a light week). I remember in high school and college thinking that this was a lot of words. And it is, and indeed it’s easier to write things conversationally for the blog than it is to write logically structured essays or fiction. But still. Evidence, I’m convinced that writing effectively is more about establishing habits rather than anything mystical.

New Geeks

I’ve for some number of months started to recognize a division between what I’ve been thinking of as “new” and “old” guard geeks in the open source world. The old guard have been the linux and hardware hacker-type people who are prone to say “GNU/Linux” and “free software” or conversely be interested in BSD. These are people who care about plain text files and get really invested text editors and data formats and stuff like that. Think sys-admin. The new guard, by contrast, are web programmer types. The Rails and Drupal folks, the web 2.0 crowd. More jokingly, I might call this the “Perl versus PHP” dynamic, but that’s not a particularly productive comparison or breakdown.

Like all false dichotomies this one has limited descriptive power as everyone, even the old school geeks use the Internet. Linux exists today because of the way that Internet supported its development. None the less I think that thinking about these new and old world geeks (as it were) as having different interests is productive insofar as it allows us to better understand the way that the open source is changing in the coming years.

Part of me thinks that this has something to do with the effects of “open source” versus “free software” debate. I’ve noticed that Drupal developers almost never say “free software,” even though it’s a GPLv2/3 project. I say open source rather than free software, even though I’m generally a proponent of copyleft. I’ve outlined my thoughts on the subject before in an essay on software freedom, but I’m pretty sure that people have different reasons for this. In any case, judging by the prevalence of Apple laptops, it seems like the whole “we need an open source/free software stack from top to bottom,” impulse isn’t as strong that underlies a lot of the free software argument.

Another part of this shift might be the fact that proprietary operating systems are much better today than they were twenty years ago. OS X is really stable (thanks to open source) and works great (of course) with Apple hardware,1 and despite the vast unpopularity of Windows Vista and my general disdain of the OS, technologically the NT kernel OSes starting with version 5 (so windows 2000 and XP and even Vista) have probably been pretty good. Or good enough at any rate.

And there’s, of course, the whole web 2.0 ‘thing. In a lot of ways the operating system question becomes less relevant as everything becomes cloud-based anyway, and “freedom” or “openness” is always difficult to judge in terms of network-based services and applications. There’s the AGPL, but that not withstanding I’m not sure there’s a good one size fits all (hell, I’d even take 2-3 sizes fits all) solution to software freedom, user rights, and privacy and security for network services.

Like I said at the beginning, I don’t think the new geek/old geek (particularly with regard to open source) is totally productive, but it’s a useful starting place for a conversation that I’m very interested in. If you have feedback, of course…

Onward and Upward!


  1. This might seem obvious, but I think one of the reasons that Apple’s laptops are so successful is that by controlling the hardware as they can, they can get great battery performance and the best sleep/wake functionality around. ↩︎

Where Innovation Happens, Part One

Two of the most interesting/innovating/exciting open source projects that I’ve watched in the last little while are “git,” the distributed source control management tool, and “Awesome,” a very… niche window management program for Linux. When most people think about open source they probably think about something like the GNOME, or Firefox, or to a lesser extent Pidgin. These second group of programs are the big projects that lots of people pat attention to, projects that are targeted at non-developer users.

They also kind of suck.

I mean, I use parts of all of these programs, and I don’t mean to diminish what exceptional accomplishments these projects represent, but they’re all boring and stale, and I don’t think that they’re particularly innovative. Read the bottom post on this page for more on this. Has GNOME ever developed a feature that Apple and Microsoft has rushed to catch up with? Has Firefox, (since tabbed browsing) done anything other than play catch-up with Opera and WebKit/Safari/Chrome? And Pidgin is designed to be a copycat.

When I said, “they suck” I guess what I meant is that they’re not particularly innovative, they’re great pieces of software, but they’re not game changing. Now before anyone says, “ha! that’s the downfall of open source, lets dig a little deeper into Awesome and git,” which I think are different.

While I’d used SCMs before git, and was already a pretty big open source advocate, when I learned about git, and started to really “grok” the program, I said to myself, “this is something that’s really revolutionary.” Git is a program which stores changes (“revisions”) of a group of files (a directory “tree”); the revolutionary part is that it makes merging different and divergent “change histories” almost trivial. With merging histories easy, it becomes easy to have many different development branches. This makes it easy to have people working in parallel on a project, and for developers to experiment without fear of ruining things. Because you can always revert to a previous revision. It also helps that the system is designed to allow people to work offline, and give everyone a full history of the revision. Also it’s fast so all of these operations, which can be rather complex, are blindingly fast.

Maybe there’s nothing stunningly original in git, but pragmatically git can and has made a huge impact on work-flows, and I think could really impact the way people work--not just programmers but anyone whose doing something in a plain-text format. It’s already change the way I write and work, and I’m just using a fraction of what it can do.

And awesome? Again, the idea of a tiling window manager isn’t particularly new, there are even a number of different contemporary options, but I can’t help but think that given some recent trends among so called “power users” (hot key usage, a renewed interest in command line interfaces,) that there’s something sort of innovative and different about Awesome.

What strikes me a innovative about these two programs is that unlike the first group they’re all written explicitly for other programmers and ubergeeks, whereas GNOME and Firefox and Pidgin are written for “entry-level users.” I’m not discouraging the production of open source software targeted at less technical users, but I think that heretofore no one has been really clear about what “usability” really means. What we’ve gotten has been software that’s designed to operate “as expected,” which while often sufficient for usable, is never sufficient for innovative.

So where does innovation happen? In projects that people do for fun and for themselves, because if you write a program, like Awesome, mostly for yourself and if you’re friends you don’t have to worry about having a UI or configuration interface that’s “easy to understand,” you’re more free to develop innovative features. Also I think innovation can also happen in projects where developers have a budget to be able to afford a close working relationship with usability labs so that the developers and designers can innovate and still end up with an easy/intuitive interface.

Also, I think the web provides the option for some innovation as web-based software is easier to develop rapidly than desktop software, so interface and feature changes are “less expensive” comparatively.

In any case, I think it’s important to think about where innovation happens and what in open source serves to encourage or discourage innovation. Thoughts are, as always, very welcome.

Onward and Upward!

Productivity Blogging and Effectiveness

For the past few years I’ve had a productivity tag to organize/centralize all of the thinking and writing I’ve been doing on topics related to how we work. User experience stuff and technology, work-flow management and design, “life hacks,” stuff about the processes of writing, and so forth.

The truth is that the “productivity” blogging niche is pretty big. LifeHacker, 43Folders, and many other smaller blogs seem to address these issues with a greater attention to detail than I am able to muster. Also while I think it’s interesting, and useful to deliberate on these issues, there’s little--if any--intrinsic interest in this kind of thing. Outside of the human factors engineering aspects, which I think I’m probably the only one who geeks out on that stuff.

My other issue with doing “productivity” blogging, is that I don’t really feel like we need to be any more productive. This article about the relationship between productivity and standards of living, has weighed on my mind a lot in the past couple of months. The challenge shouldn’t be how we can be “more productive,” because we’re already pretty damn productive, but rather how can we be more effective at accomplishing the things that we want to do.

This is a problem that writers or “wanna be writers” seem to have most often. After a certain point the issue isn’t that we don’t have time (a problem that can be solved with priorities and being more productive in our other tasks), or skill based (writing is tough, but it’s also a learning process and after a while one starts to get it) but rather how to use the time that we have to write effectively on the projects that are important to us. I suspect other types of creative folk experience this in different ways.

Where as productivity seems to focus around the conversion from raw time to whatever the output is, I think effectivity is more about how enviroment, stress management, sleep management, and project planning combine and interact to make it easier for creative types to “do their work.” A lot of the lifehacks that are popular these days, focus on how to get more functionality out of your computer, or how to multi-task more efficently, or organize your todo lists better. And so forth.

In contrast, I think “Effectivness-based lifehacks,” would revolve around how to manage your sleep more effectively, or how to order your routine so that you have enough “down time” to recharge so that you can be effective durring your “up time.”

I’m not proposing anything new that I don’t think happens already, but I think there’s a big distinction between these approaches to personal organization and workflow, and I’m throwing my hat in the pile behind a focus on effective rather than productive behaviors.

So there.