<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>dialectical futurism</title>
 <link href="http://tychoish.com/feed/index.xml" rel="self"/>
 <link href="http://tychoish.com/"/>
 <updated>2010-07-27T13:23:26-04:00</updated>
 <id>http://tychoish.com</id>
 <author>
   <name>tycho garen</name>
   <email>garen@tychoish.com</email>
 </author>

 

 <entry>
   <title>Gear Mongering</title>
   <link href="http://www.tychoish.com/2010/07/gear-mongering"/>
   <updated>2010-07-27T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/07/gear-mongering</id>
   <content type="html">&lt;p&gt;At the end of the day (or even the beginning,) I&amp;#8217;m just another geek, and despite all of the incredibly (I&amp;#8217;d like to think at least) reasoned ways I think about the way I use technology, I occasionally get an old fashioned hankering for something new. We&amp;#8217;ve all had them. Perhaps my saving graces are that I do occasionally need new things (computers wear out, cellphones are replaced, needs change), and the fact that I&amp;#8217;m both incredibly frugal and task oriented (rational?) about the way I use technology.&lt;/p&gt;

&lt;p&gt;But I&amp;#8217;m still a geek. And gear is cool. Thoughts, in three parts.&lt;/p&gt;

&lt;h2 id='part_one_phones_and_the_htc_evo'&gt;Part One, Phones and the HTC EVO&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;ve been using a Blackberry for 18 months, and I&amp;#8217;ve come to two conclusions: blackberries are great and they have the &amp;#8220;how ot integrate messaging into a single usable interface.&amp;#8221; I was skeptical at first, and it&amp;#8217;s very simple, and I&amp;#8217;ve never quite gotten my email to function in an ideal way, largely because I think the Blackberry works really well for email. It&amp;#8217;s everything else that I might want to do with my phone that I can&amp;#8217;t, and I&amp;#8217;d probably like to: I have an SSH client and it&amp;#8217;s nearly usable. Nearly. I have IM clients, that are nearly functional. Nearly.&lt;/p&gt;

&lt;p&gt;When I got the Blackberry, is and was the most important communication I was doing. I worked for a very email-centric company, and I wanted to be able to stay in the email-loop even when I was off doing something else. These days, IRC and XMPP are a far more central feature of my digital existence, and I tend to think that it&amp;#8217;s not an Internet connection if I can&amp;#8217;t open SSH. I&amp;#8217;m also switching on a much longer public-transit focused commute in the next few week, and being able to do research for writing projects will be nice. I&amp;#8217;m not sure what the best solution is exactly, though the HTC EVO is a pretty swell phone.&lt;/p&gt;

&lt;p&gt;As the kids these days say, &amp;#8220;Do want.&amp;#8221;&lt;/p&gt;

&lt;h2 id='part_two_infrastructural_computing_and_home_servers'&gt;Part two, Infrastructural Computing and Home Servers&lt;/h2&gt;

&lt;p&gt;I&amp;#8217;ve fully adopted an &lt;a href='http://tychoish.com/archive/technology/'&gt;infrastructural approach to technology&lt;/a&gt;, at least with regards to my own personal computing. That was a mouthful. Basically, although I work locally on the machine that&amp;#8217;s in front of me (writing, email, note taking, collaboration,) much of the &amp;#8220;computing&amp;#8221; that I interact with isn&amp;#8217;t actually connected to the machine I interact with directly. In some ways, I suppose this is what they meant when they said &amp;#8220;cloud computing,&amp;#8221; but the truth is that my implementation is somewhat more&amp;#8230; archaic: I use a lot of SSH, cron, and a little bailing wire to distribute computing tasks far and wide, and the process of moving &lt;em&gt;everything&lt;/em&gt; in my digital world from a laptop that I carried around with me everywhere (college,) to a more sane state of affairs has been a long time coming.&lt;/p&gt;

&lt;p&gt;Right.&lt;/p&gt;

&lt;p&gt;The long story short is that aside from a machine (my old laptop) that&amp;#8217;s at capacity powering my &amp;#8220;stereo,&amp;#8221; I don&amp;#8217;t have any computer&amp;#8217;s at home aside from my laptop, and I tend to take it everywhere with me, which makes it unideal for some sorts of tasks. Furthermore, without an extra machine setting around, file storage, some kinds of backups, are somewhat more complicated than I&amp;#8217;d like. So, I&amp;#8217;m thinking about getting some sort of robust server-type machine to stick in a corner in my apartment.&lt;/p&gt;

&lt;p&gt;Not exactly sure what the best option is there. I&amp;#8217;m burdened by: frugality, sophisticated tastes, and the notion that having quality hardware &lt;em&gt;really does matter&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;More thinking required.&lt;/p&gt;

&lt;h2 id='part_three_more_laptops'&gt;Part three, More Laptops&lt;/h2&gt;

&lt;p&gt;So I might have a laptop related illness. Back in the day, laptops always seemed like a frivolity: underpowered, never as portable as you wanted, awkward to use, and &lt;strong&gt;incredibly expensive&lt;/strong&gt;. Now, laptops are cheap, and even the Atom-based &amp;#8220;netbooks,&amp;#8221; are functional for nearly every task. I tend to buy used Thinkpad Laptops, and as I think about it, I&amp;#8217;ve probably spent as much on the three Thinkpads, all of which are still in service, as I did on any one mac laptop.&lt;/p&gt;

&lt;p&gt;The thing about my current laptop is that when you think about it, it&amp;#8217;d make a &lt;em&gt;decent&lt;/em&gt; home server: the processor has virtualization extensions, the drive is fast (7200 rpm) and it can handle 4 gigs of ram (and maybe more.) What more could I want? And I distributed things correctly, the &amp;#8220;server&amp;#8221; laptop could be pressed into service as a backup/redundant laptop, in case something unforeseen happened.&lt;/p&gt;

&lt;p&gt;Or I could dither about it for another few months, and come to some other, better, fourth solution.&lt;/p&gt;

&lt;p&gt;Onward and Upward!&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>Creating Useful Archives</title>
   <link href="http://www.tychoish.com/2010/07/creating-useful-archives"/>
   <updated>2010-07-22T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/07/creating-useful-archives</id>
   <content type="html">&lt;p&gt;I&amp;#8217;ve done a little tweaking to the &lt;a href='http://tychoish.com/archives/'&gt;archives for dialectical futurism&lt;/a&gt; recently, including creating a new archive for &lt;a href='http://tychoish.com/archive/science-fiction'&gt;science fiction and writing&lt;/a&gt; and being who I am this has inspired a little of thought regarding the state and use of archives of blogs.&lt;/p&gt;

&lt;p&gt;The latest iteration of this blog has avoided the now common practice of having large endless lists of posts organized by publication month or by haphazardly assigned category and tag systems. While these succeed at providing a complete archive of every post written, they don&amp;#8217;t add any real value to a blog or website. I&amp;#8217;m convinced that one feature of successful blogs moving forward will be archives that are curated and convey additional value beyond the content of the site.&lt;/p&gt;

&lt;p&gt;Perhaps blogs as containers for a number of posts will end up being to ephemeral than I&amp;#8217;m inclined to think about them, and will therefore not require very much in the way of archives, Perhaps, Google&amp;#8217;s index will be sufficient for most people&amp;#8217;s uses. Maybe. I remain unconvinced.&lt;/p&gt;

&lt;p&gt;Heretofore, I have made archives for tychoish as quasi-boutique pieces: collections of the best posts that address a given topic. This is great from the perspective of thinking about blog posts as a collection of essays, but I&amp;#8217;ve started to think that this may be less less useful if we think of blogs as a collection of resources that people might want to have access to beyond it&amp;#8217;s initial ephemeral form.&lt;/p&gt;

&lt;p&gt;Right now my archives say &amp;#8220;see stuff from the past few months, and several choice topics on which I wrote vaguely connected sequences of posts.&amp;#8221; The problem with the list of posts from the last few months is that beyond date, there&amp;#8217;s not a lot of useful information beyond the title and the date. The problem with the topical archives is that they&amp;#8217;re not up to date, their not comprehensive even for recent posts, and there&amp;#8217;s little &amp;#8220;preview&amp;#8221; of a given post beyond it&amp;#8217;s title. In the end I think the possibility of visiting a topical archive looking for a specific post and &lt;em&gt;not&lt;/em&gt; finding it is pretty large.&lt;/p&gt;

&lt;p&gt;In addition to editorial collecting, I think archives, guides, or indexes of a given body of information ought to, provide some sort of comprehensive method for accessing information. There has to be some middle ground.&lt;/p&gt;

&lt;p&gt;I think the solution involves a lot of hand mangling of content, templates, and posts. I&amp;#8217;m fairly certain that &lt;a href='http://wiki.github.com/mojombo/jekyll/'&gt;my current publication system&lt;/a&gt; is probably not up for the task without a fair amount of mangling and beating. As much as I want to think that this is an problem in search of the right kind of automation, I&amp;#8217;m not sure that&amp;#8217;s really the case. I&amp;#8217;m not opposed to editing things by hand, but it would increase the amount of work in making any given post significantly.&lt;/p&gt;

&lt;p&gt;There is, I suspect, no easy solution here.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>In Favor of Simple Software</title>
   <link href="http://www.tychoish.com/2010/07/in-favor-of-simple-software"/>
   <updated>2010-07-13T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/07/in-favor-of-simple-software</id>
   <content type="html">&lt;p&gt;I&amp;#8217;ve spent a little bit of time &lt;a href='/2010/07/focus-and-context-switching'&gt;addressing some organizational and workflow angst&lt;/a&gt; in the past few weeks, and one thing I&amp;#8217;d been focusing on had been to update and fine tune my emacs (text editor) and irssi (irc/chat) configuration. Part of my goal had been to use &lt;a href='http://cybione.org/~irssi-xmpp/'&gt;irssi-xmpp&lt;/a&gt; to move all of my chat/synchronous communication into one program; unfortunately I&amp;#8217;ve not been able to get irssi-xmpp to build and function in a fully stable way. This is probably because &lt;a href='http://identi.ca/notice/39470130'&gt;I&amp;#8217;m hard on software&lt;/a&gt; and not because of anything specific to the software itself.&lt;/p&gt;

&lt;p&gt;In any case, this lead me to come to the following conclusion about these programs, as they are probably the two most central and most heavily used applications in my arsenal, and without a doubt are the applications that I enjoy using the most. I scribbled the following note a few days ago in preparation for this entry:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;In many ways the greatest advance or feature that these programs provide isn&amp;#8217;t some killer feature, it&amp;#8217;s a simple but more powerful abstraction that allows users to interact with their problem domain. Emacs is basically a text-editing application framework, and provides users with some basic fundamentals for interacting with textual information, and a design that allows users to create text editing modalities or paradigms which bridge the divide between full blown applications and custom configurations. By the same token, Irssi is really a rather simple program that&amp;#8217;s easy to script, and contains a number of metaphors that are useful for synchronous communication (chat.)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And we might be able to expand this even further: these are two applications that are not only &lt;em&gt;supremely&lt;/em&gt; functional, but are so usable because they are software projects that really only make sense in context of free software.&lt;/p&gt;

&lt;p&gt;I want to be very careful here: I don&amp;#8217;t want to make the argument that free software isn&amp;#8217;t or can&amp;#8217;t be commercial, because that&amp;#8217;s obviously not the case. At the same time, free software, like these applications needn&amp;#8217;t justify itself in terms of &amp;#8220;commercial features,&amp;#8221; or a particular target market in order to remain viable. It&amp;#8217;s not that these programs don&amp;#8217;t have features, it is that they have every feature, or the potential for every feature, and are thus hard to comprehend and hard to sell. Even if it only takes a use over a short period of time for users to find them incredibly compelling.&lt;/p&gt;

&lt;p&gt;The underlying core extensibility that both of these &amp;#8220;programs&amp;#8221; have is probably also something that is only likely to happen in the context of open source or free software. This isn&amp;#8217;t to suggest that proprietary software doesn&amp;#8217;t recognize the power or utility of extensible software, but I don&amp;#8217;t think giving users so much control over a given application makes sense from a quality control perspective. Giving users the power to modify their experience of software in an open ended fashion, also gives them the power to break things horribly, and that just doesn&amp;#8217;t make sense from a commercial perspective.&lt;/p&gt;

&lt;p&gt;There&amp;#8217;s probably also some hubris at play: free software applications, primarily these two, are written by hackers, with a target audience of other hackers. Who needs a flexible text editing application framework (e.g. emacs), but other programmers. And the primary users of IRC for the past 8-10 years have largely been hackers and developers and other &amp;#8220;geek&amp;#8221; types. irssi is very much written for these kinds of users. To a great extent, I think it&amp;#8217;s safe to suggest that when hackers write software for themselves, this is what it looks like.&lt;/p&gt;

&lt;p&gt;The questions that must linger is: why isn&amp;#8217;t other software like this? (Or is it, and I&amp;#8217;m missing it in my snobbishness,) and where is the happy medium between writing software for non-hackers and using great software (like these) to &amp;#8220;make more hackers.&amp;#8221;&lt;/p&gt;

&lt;p&gt;Onward and Upward!&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>Focus and Context Switching</title>
   <link href="http://www.tychoish.com/2010/07/focus-and-context-switching"/>
   <updated>2010-07-08T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/07/focus-and-context-switching</id>
   <content type="html">&lt;p&gt;This post is inspired by &lt;a href='http://www.locusmag.com/Perspectives/2010/07/cory-doctorow-what-i-do/'&gt;Cory Doctorow&amp;#8217;s Inventory about the technology he uses for his work&lt;/a&gt; and ongoing personal angst and &lt;a href='/2010/07/gadget-lust/'&gt;gadget lust&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;For the past six months or so I collapsed my entire computing existence into one, single, computer. It&amp;#8217;s a nifty Thinkpad x200, a small laptop with just the right balance of usable screen space, sufficient computing power, and great build quality. And when I say &amp;#8220;everything,&amp;#8221; I mean it. I hook it up to a monitor and keyboard at the office and do my day-job (technical writing/sys admin stuff) on this system, I have a similar &amp;#8220;desktop&amp;#8221; situation at home, and I write fiction, do all of my email, write and blog posts, off of this system. I even have development web servers running here.&lt;/p&gt;

&lt;p&gt;In a number of ways it&amp;#8217;s great, and I wouldn&amp;#8217;t trade this for the world. Everything just works the way I want it to, and I never have to worry that I&amp;#8217;ve left some important edits to a file on a system elsewhere. Everything is always with me.&lt;/p&gt;

&lt;p&gt;Now to be fair, I have additional computers. My old(der) desktop at home keeps backups of files, plays music, and does a number of other tasks. I have (and use) the server that this and other websites run on for some tasks, and I have another instance at the office that manages some work functions, but despite their varying physical distance from me at any given point, my interactions with these computers is always as if they&amp;#8217;re remote. When I use a computer, it&amp;#8217;s this one.&lt;/p&gt;

&lt;p&gt;Now there isn&amp;#8217;t a &lt;em&gt;real&lt;/em&gt; problem here, except that from a workspace and mindspace perspective the context switching can be somewhat complicated and frustrating. While I&amp;#8217;ve got most of the kinks worked out of the docking (monitors and keyboards) process figured out, it takes me a few moments to settle into or out of &amp;#8220;laptop-mode&amp;#8221; or &amp;#8220;workdesk-mode&amp;#8221; or &amp;#8220;homedesk-mode.&amp;#8221; While not having to worry if my files are all up to date, it&amp;#8217;s also somewhat distracting for all my different projects to be open all the time. The article I&amp;#8217;m working on for work is always open and a few key presses away from the novel I&amp;#8217;m working on or the latest in-progress blog post.&lt;/p&gt;

&lt;p&gt;Again, this isn&amp;#8217;t a really huge issue, but it means that when I get somewhere and want to begin working I have to take a deep breath, and spend a moment or two getting going again. These do fit into the category of &amp;#8220;first world problems,&amp;#8221; and I&amp;#8217;m not sure if there&amp;#8217;s a really easy solution. I&amp;#8217;ve toyed with a number of resolutions to this angst:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Distribute my existing machines such that I have a machine that lives at work and a machine that lives at home so that I can just sit down at a desk and start working without shenanigans. Given the available hardware, this might mean that I&amp;#8217;d spend most of my time using systems that I&amp;#8217;m not particularly fond of.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I&amp;#8217;ve toyed with having a &amp;#8220;tycho writing laptop&amp;#8221; that wouldn&amp;#8217;t have a web browser installed, for more distraction free writing. I&amp;#8217;ve got my old laptop set up to do this, but I&amp;#8217;m not likely to take it anywhere (i.e. for the commute,) so it might make sense to get a little netbook for the train for this function, but that seems like overkill.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I might redistribute more of my workload to servers rather than doing everything on the laptop. I&amp;#8217;m thinking about having the terminal sessions that I use for email &lt;em&gt;primarily&lt;/em&gt; live in screen sessions elsewhere.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I&amp;#8217;ve thought about getting a second laptop, (like my main system at the moment,) both for redundancy and to help reduce the cost of switching between various contexts.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As I&amp;#8217;ve been toying with this, I&amp;#8217;ve been making a number of tweaks to my work flow to help address the pain of context switching, most of which are too trivial and too specific to outline here. Mostly I&amp;#8217;ve been tweaking some customizations, improving how I use virtual desktops. While these tweaks have improved things greatly, better internal system management doesn&amp;#8217;t solve the underlying issues: it takes time to reconnect to networks, to close tabs in the web browser, to get to the relevant files open in emacs, and navigate to the proper desktop. All the while &lt;em&gt;other contexts&lt;/em&gt; (other files, other virtual desktops,) lurk nearby.&lt;/p&gt;

&lt;p&gt;And figuring out how to solve this problem involves a certain amount of &amp;#8220;head game&amp;#8221; for me: avoiding having &amp;#8220;the old laptop&amp;#8221; be the primary computer for a given task, making sure that I don&amp;#8217;t need a network connection for essential tasks. Assorted other weirdnesses.&lt;/p&gt;

&lt;p&gt;If anyone recognizes features of this angst that in their own work they&amp;#8217;ve managed to resolve, I&amp;#8217;d love to hear about your setup.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>Fan Fiction is Criticism</title>
   <link href="http://www.tychoish.com/2010/07/fan-fiction-is-criticism"/>
   <updated>2010-07-06T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/07/fan-fiction-is-criticism</id>
   <content type="html">&lt;p&gt;&lt;em&gt;Thanks to &lt;a href='http://skiffyandfanty.wordpress.com'&gt;Shaun Duke&lt;/a&gt; for inspiring this little rant.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I must confess that I&amp;#8217;m mostly uninvolved in the world of fan fiction these days, though I have traveled in &amp;#8220;fanish&amp;#8221; circles at various points in my past. It&amp;#8217;s not because I don&amp;#8217;t think fans have interesting things to say about literature and media, or that I don&amp;#8217;t think what&amp;#8217;s happening in fandom important and fascinating. No, I&amp;#8217;m mostly withdrawn because I have too much on my plate and participating in fandom doesn&amp;#8217;t really contribute to the specific goals I have at this moment. But I sometimes feel that way about social science.&lt;/p&gt;

&lt;p&gt;In any case, I&amp;#8217;d like to put forth the following arguments for viewing fan fiction as a form a literary criticism rather than a literary attempt in it&amp;#8217;s own right:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Fan fiction is a form of literary criticism. Sure it&amp;#8217;s casual, sure it&amp;#8217;s written in the forum of a story, but the fan fictioner and the critic both write from the same core interest in interpreting texts and using varying readings of texts to create larger understandings of our world.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;The fact that fan fiction looks like a story, is mostly distracting to what&amp;#8217;s happening in these texts. Fan fiction, has always been written in communities. The people who read fan fiction are largely the people who write fan fiction. Fan fiction inspires&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;The quality of fan fiction is also largely irrelevant to the point of whether fan fiction is worthwhile. More so than other forms of writing, fan fiction is less about the technical merits of the text, and more about the discursive process under which the texts are created. Better quality writing makes better fan fiction, certainly but I don&amp;#8217;t think fan fiction &lt;em&gt;centers&lt;/em&gt; on those kinds of values.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Copyright, and the &amp;#8220;intellectual property&amp;#8221; status of fan fiction is also sort of moot. It&amp;#8217;s true that if we&amp;#8217;re being honest fan fiction impinges upon the copyright of the original author. At the same time, fan fiction doesn&amp;#8217;t really hurt creators: people aren&amp;#8217;t confused that fan fiction is &amp;#8220;real fiction,&amp;#8221; fan fiction by and large doesn&amp;#8217;t divert sales from &amp;#8220;real fiction,&amp;#8221; and so forth. Sure, it&amp;#8217;s a bit weird for some others to find other people playing in their sand boxes, but the truth is that authors have never had a great deal of control over what happens to their work post-publication, so it&amp;#8217;s fair.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Additionally, I think that fan fiction accomplishes something that are incredibly powerful and worthwhile that &amp;#8220;normal&amp;#8221; fiction cannot accomplish. Writing fan fiction can be, I&amp;#8217;d wager, an incredibly effective educational experience for new writers, particularly genre fiction writers. By providing a very fast feedback loop with an audience of readers and writers (and lovers of literature and story telling.) Not to mention the fact that because fan fiction tends to be somewhat ephemeral and there&amp;#8217;s a wealth of inspiration and impetus for fiction, fan writers can write &lt;em&gt;a lot&lt;/em&gt;, and if they choose in a very productive sort of way.&lt;/p&gt;

&lt;p&gt;And that is almost certainly a good thing.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>The Overhead of Management</title>
   <link href="http://www.tychoish.com/2010/07/the-overhead-of-management"/>
   <updated>2010-07-01T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/07/the-overhead-of-management</id>
   <content type="html">&lt;p&gt;Every resource, every person, every project, every machine you have to manage comes with an ongoing cost. This is just as true of servers as is it is of people who work on projects that you&amp;#8217;re in charge of or have some responsibility for, and while servers and teammates present very different &lt;em&gt;kinds&lt;/em&gt; of management challenges, working effectively and managing management costs across contexts is (I would propose) similar. Or at least similar enough to merit some synthetic discussion.&lt;/p&gt;

&lt;p&gt;There&amp;#8217;s basically only one approach to managing &amp;#8220;systems administration costs,&amp;#8221; and that&amp;#8217;s to avoid it as much as possible. This isn&amp;#8217;t to say that sys admins avoid admining, but rather we work very hard to ensure that systems don&amp;#8217;t &lt;em&gt;need&lt;/em&gt; administration. We write &lt;a href='http://www.debian.org/'&gt;operating systems&lt;/a&gt; that administer themselves, we script procedures to automate most tasks as much as possible (the Perl programing language was developed and popularized for use of easing the administration of UNIX systems,) and we use &lt;a href='http://www.puppetlabs.com/'&gt;tools&lt;/a&gt; manage larger systems more effectively.&lt;/p&gt;

&lt;p&gt;People, time, and other resources cannot be so easily automated, and I think in response there are two major approaches (if we can create a somewhat false dichotomy for a moment:)&lt;/p&gt;

&lt;p&gt;On the one hand there&amp;#8217;s the school of thought that says &amp;#8220;admit and assess management costs early, and pay them up front.&amp;#8221; This is the corporate model in many ways. Have (layers upon layers of) resources dedicated to &lt;a href='http://www.tychoish.com/2010/02/managing-management-costs/'&gt;managing management costs&lt;/a&gt;, and then let this &amp;#8220;middle management&amp;#8221; make sure that things get done in spite of the management burden. On servers this is spending a lot of time choosing tools, configuring the base system, organizing the file system proactively, and constructing a healthy collection of &amp;#8220;best practices.&amp;#8221;&lt;/p&gt;

&lt;p&gt;By contrast, the other perspective suggests that management costs should only be paid &lt;em&gt;when absolutely necessary&lt;/em&gt;. make things, get something working and extant and then if something needs to be managed later, do it then and only as you need. On some level this is inspiring philsophy behind the frequent value of favoring &amp;#8220;working code&amp;#8221; over &amp;#8220;great ideas&amp;#8221; in the open source world.&lt;sup id='fnref:1'&gt;&lt;a href='#fn:1' rel='footnote'&gt;1&lt;/a&gt;&lt;/sup&gt; Though I think they phrase it differently, this is the basic approach that many hacker-oriented start ups have taken, and it seems to work for them. On the server, this approach is the &amp;#8220;get it working,&amp;#8221; approach, and these administrators aren&amp;#8217;t bothered by having to go in every so often to &amp;#8220;redo&amp;#8221; how things are configured, and I think on some level this kind of approach to &amp;#8220;management overhead&amp;#8221; grows out of the &lt;a href='http://agilemanifesto.org/'&gt;agile&lt;/a&gt; world and the avoidance of &amp;#8220;premature optimizations.&amp;#8221;&lt;/p&gt;

&lt;p&gt;But like all &amp;#8220;somewhat false dichotomies,&amp;#8221; there are flaws in the above formulation. Mostly the &amp;#8220;late management&amp;#8221; camp is able to delay management most effectively by anticipating their future needs (either by smarts or by dumb luck) early and planning around that. And the &amp;#8220;early management&amp;#8221; camp has to delay &lt;em&gt;some&lt;/em&gt; management needs or else you&amp;#8217;d be drowned in overhead before you started: and besides, the MBA union isn&amp;#8217;t that strong.&lt;/p&gt;

&lt;p&gt;We might even cast the &amp;#8220;early management&amp;#8221; approach as being &amp;#8220;top down,&amp;#8221; and the &amp;#8220;late management&amp;#8221; camp as being &amp;#8220;bottom up.&amp;#8221; If you know, we were into that kind of thing. It&amp;#8217;s always, particularly in the contemporary moment to look at the bottom-up approach and say &amp;#8220;that&amp;#8217;s really innovative and awesome, that&amp;#8217;s better,&amp;#8221; and view &amp;#8220;top-down&amp;#8221; organizations as &amp;#8220;stodgy and old world,&amp;#8221; when neither does a very good job of explaining what&amp;#8217;s going on and there isn&amp;#8217;t inherent radicalism or stodginess in either organization. But it is interesting. At least mildly.&lt;/p&gt;

&lt;p&gt;Thoughts? Onward and Upward!&lt;/p&gt;
&lt;div class='footnotes'&gt;&lt;hr /&gt;&lt;ol&gt;&lt;li id='fn:1'&gt;
&lt;p&gt;Alan Cox&amp;#8217;s &lt;a href='http://slashdot.org/features/98/10/13/1423253.shtml'&gt;Cathedrals, Bazaars and the Town Council&lt;/a&gt;&lt;/p&gt;
&lt;a href='#fnref:1' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</content>
 </entry>



 <entry>
   <title>Jekyll Publishing</title>
   <link href="http://www.tychoish.com/2010/06/jekyll-publishing"/>
   <updated>2010-06-29T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/06/jekyll-publishing</id>
   <content type="html">&lt;p&gt;I wrote about my efforts to &lt;a href='http://www.tychoish.com/2010/06/jekyll-and-automation/'&gt;automate my publishing workflow&lt;/a&gt; a couple of weeks ago, (egad!) and I wanted to follow that up with a somewhat more useful elucidation of how all of the gears work around here.&lt;/p&gt;

&lt;p&gt;At first I had this horrible scheme setup that dependent on regular builds triggered by cron, which is a functional, if inelegant solution. There&amp;#8217;s a lot of tasks that you can give the appearance of &amp;#8220;real time,&amp;#8221; responsiveness by scheduling more brute tasks regularly enough. The truth is, however, that its not quite the same, and I knew that there was a better way.&lt;/p&gt;

&lt;p&gt;Basically the &amp;#8220;right way&amp;#8221; to solve this problem is to use the &amp;#8220;hooks&amp;#8221; provided by the &lt;a href='http://git.cyborginstitute.com/?p=tychoish.com.git;a=summary'&gt;git repositories&lt;/a&gt; that I use to store the source of the website. Hooks, in this context refer to a number of scripts which are optionally run before or after various operations in the repositories that allow you to attach actions to the operations you perform on your git repositories. In effect, you can say &amp;#8220;when I &lt;code&gt;git push&lt;/code&gt; do these other things&amp;#8221; or &amp;#8220;before I &lt;code&gt;git commit&lt;/code&gt; check for these conditions, and if they&amp;#8217;re not met, reject the commit&amp;#8221; and so forth. The possibilities can be a bit staggering.&lt;/p&gt;

&lt;p&gt;In this case what happen is: I commit to the &lt;a href='http://git.cyborginstitute.com/?p=tychoish.com.git;a=summary'&gt;tychoish.com repositories&lt;/a&gt; a script that synchronizes the appropriate local packages runs and publishes changes to the server. It then sends me an xmpp message saying that this operation is in progress. This runs as the &lt;code&gt;post-commit&lt;/code&gt; hook, and for smaller sites could simply be &amp;#8221;&lt;code&gt;git push
origin master&lt;/code&gt;&amp;#8221;. Because tychoish is a large site, and I don&amp;#8217;t want to be rebuilding it constantly, I do the following:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; #!/bin/bash 

 # This script is meant to be run in a cron job to perform a rebuilding
 # of the slim contents of a jekyll site. 
 #
 # This script can be run several times an hour to greatly simplify the
 # publishing routine of a jekyll site.

 cd ~/sites/tychoish.com/

 # Saving and Fetching Remote Updates from tychoish.com
 git pull &amp;gt;/dev/null &amp;amp;&amp;amp; 

 # Local Adding and Committing
 git checkout master &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
 git add .
 git commit -a -q -m &amp;quot;$HOSTNAME: changes prior to an  slim rebuild&amp;quot;  &amp;gt;/dev/null 2&amp;gt;

 # Local &amp;quot;full-build&amp;quot; Branch Mangling
 git checkout full-build &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp;
 git merge master &amp;amp;&amp;amp; 

 # Local &amp;quot;slim-bild&amp;quot; Branch Magling and Publishing
 git checkout slim-build &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;&amp;amp;
 git merge master &amp;amp;&amp;amp; 
 git checkout master &amp;gt;/dev/null 2&amp;gt;&amp;amp;1 &amp;amp;
 git push --all

 # echo done&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then on the server, once the copy of the repo on the server is current with the changes published to it (i.e. the &lt;code&gt;post-update&lt;/code&gt; hook), the following code is run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; #!/bin/bash
 #
 # An example hook script to prepare a packed repository for use over
 # dumb transports.
 #
 # To enable this hook, make this file executable by &amp;quot;chmod +x post-update&amp;quot;.

 unset GIT_DIR
 unset GIT_WORKING_TREE

 export GIT_DIR
 export GIT_WORKING_TREE

 cd /path/to/build/tychoish.com
 git pull origin; 

 /path/to/scripts/jekyll-rebuild-tychoish-auto-slim &amp;amp; 

 exit&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;When the &lt;code&gt;post-update&lt;/code&gt; hook runs, in runs in the context of the repository that you just pushed to, and unless you do the magic (technical term, it seems) the &lt;code&gt;GIT_DIR&lt;/code&gt; and &lt;code&gt;GIT_WORKING_TREE&lt;/code&gt; variables are stuck in the environment and the commands you run fail. So basically this is a fancy &lt;code&gt;git pull&lt;/code&gt;, in a third repository (the one that the site is built from.) The script &lt;code&gt;jekyll-rebuild-tychoish-auto-slim&lt;/code&gt; looks like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; #!/bin/bash
 # to be run on the server

 # setting the variables
 SRCDIR=/path/to/build/tychoish.com/ 
 DSTDIR=/path/to/public/tychoish/
 SITENAME=tychoish
 BUILDTYPE=slim
 DEFAULTBUILD=slim

 build-site(){
      cd ${SRCDIR}
      git checkout ${BUILDTYPE}-build &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
      git pull source &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
      
      /var/lib/gems/1.8/bin/jekyll ${SRCDIR} ${DSTDIR} &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
      echo \&amp;lt;jekyll\&amp;gt; completed \*${BUILDTYPE}\* build of ${SITENAME} | xmppipe garen@tychoish.com

      git checkout ${DEFAULTBUILD}-build &amp;gt;/dev/null 2&amp;gt;&amp;amp;1
 }

 build-site; &lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This sends me an xmpp message when the build has completed. And does the needful site rebuilding. The &lt;code&gt;xmppipe&lt;/code&gt; command I use is really the following script:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; #!/usr/bin/perl
 # pipes standard in to an xmpp message, sent to the JIDs on the commandline
 #
 # usage: bash$ `echo &amp;quot;message body&amp;quot; | xmppipe garen@tychoish.com
 #
 # code shamelessly stolen from:
 # http://stackoverflow.com/questions/170503/commandline-jabber-client/170564#170564

 use strict;
 use warnings;

 use Net::Jabber qw(Client);

 my $server = &amp;quot;tychoish.com&amp;quot;;
 my $port = &amp;quot;5222&amp;quot;;
 my $username = &amp;quot;bot&amp;quot;;
 my $password = &amp;quot;&amp;quot;;
 my $resource = &amp;quot;xmppipe&amp;quot;;
 my @recipients = @ARGV;

 my $clnt = new Net::Jabber::Client;

 my $status = $clnt-&amp;gt;Connect(hostname=&amp;gt;$server, port=&amp;gt;$port);

 if (!defined($status)) {
    die &amp;quot;Jabber connect error ($!)\n&amp;quot;;
 }
 my @result = $clnt-&amp;gt;AuthSend(username=&amp;gt;$username,
    password=&amp;gt;$password,
    resource=&amp;gt;$resource);

 if ($result[0] ne &amp;quot;ok&amp;quot;) {
    die &amp;quot;Jabber auth error: @result\n&amp;quot;;
 }

 my $body = &amp;#39;&amp;#39;;
 while (&amp;lt;STDIN&amp;gt;) {
    $body .= $_;
 }
 chomp($body);

 foreach my $to (@recipients) {
     $clnt-&amp;gt;MessageSend(to=&amp;gt;$to,
             subject=&amp;gt;&amp;quot;&amp;quot;,
             body=&amp;gt;$body,
             type=&amp;gt;&amp;quot;chat&amp;quot;,
             priority=&amp;gt;10);
 }

 $clnt-&amp;gt;Disconnect();&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Mark the above as executable and put it in your path somewhere. You&amp;#8217;ll want to install the &lt;code&gt;Net::Jabber&lt;/code&gt; Perl module, if you haven&amp;#8217;t already.&lt;/p&gt;

&lt;p&gt;The one final note. If you&amp;#8217;re using a tool like &lt;a href='http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way'&gt;gitosis&lt;/a&gt; to manage your git repositories, all of the hooks will be executed by the gitosis user. This means that this user will need to have write access the &amp;#8220;build&amp;#8221; copy of the repository and the public directory as well. You may be able to finesse this with the +s &amp;#8220;switch uid&amp;#8221; bit, or some clever use of the gitosis user group.&lt;/p&gt;

&lt;p&gt;The End.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>The Meaning of Work</title>
   <link href="http://www.tychoish.com/2010/06/the-meaning-of-work"/>
   <updated>2010-06-22T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/06/the-meaning-of-work</id>
   <content type="html">&lt;p&gt;I&amp;#8217;ve started to realize that, fundamentally, the questions I&amp;#8217;m asking of the world and that I&amp;#8217;m trying to address by learning more about technology, center on work and the meaning and process of working. Work lies at the intersection of the all the things that I seem to revisit endlessly: interfaces, collaboration technology, cooperatives and economics institutions, and open source software development. I&amp;#8217;m not sure if I&amp;#8217;m interested in work because it&amp;#8217;s the unifying theme of a bunch of different interests, or this is the base from which other interests spring.&lt;/p&gt;

&lt;p&gt;I realize that this makes me an incredibly weird geek.&lt;/p&gt;

&lt;p&gt;I was talking to &lt;a href='http://twitter.com/aetataureate'&gt;caroline&lt;/a&gt; about our respective work environments, specifically about how we (and our coworkers) relocated (or didn&amp;#8217;t) for our jobs, and I was chagrined to realize that this novel that I&amp;#8217;ve been working at (or not,) for way too long at this point spends some time revolving around these questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;How does being stuck in a single place and time constrain one agency to effect the world around them?&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;What does labor look like in a mostly/quasi post-scarcity world?&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Perhaps the most worrying thing about this project is that I started writing this story in late August of 2008. This was of course before the American/Financial Services economic crash that got me blogging and really thinking about issues outside of technology.&lt;/p&gt;

&lt;p&gt;It&amp;#8217;s interesting, and perhaps outside the scope of this post, but I think it&amp;#8217;s interesting how since graduating from college, my &amp;#8220;research&amp;#8221; interests as they were, all work them into fiction (intentionally or otherwise.) I suppose I haven&amp;#8217;t written fiction about Free Software/open source, exactly, but I think there&amp;#8217;s a good enough reason for that.&lt;sup id='fnref:1'&gt;&lt;a href='#fn:1' rel='footnote'&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m left with two realizations. First, that this novel has been sitting on my plate for far too long, and there&amp;#8217;s &lt;strong&gt;no&lt;/strong&gt; reason why I can&amp;#8217;t write the last 10/20 thousand words in the next few months and be done with the sucker. Second, I&amp;#8217;m interested in thinking about how &amp;#8220;being an academic&amp;#8221; (or not) affects the way I (we?) approach learning more about the world and the process/rigor that I bring to those projects.&lt;/p&gt;

&lt;p&gt;But we&amp;#8217;ll get to that later, I have writing to do.&lt;/p&gt;
&lt;div class='footnotes'&gt;&lt;hr /&gt;&lt;ol&gt;&lt;li id='fn:1'&gt;
&lt;p&gt;I write fiction &lt;em&gt;as&lt;/em&gt; open source, in a lot of ways, so it doesn&amp;#8217;t seem too important to put it &lt;em&gt;in&lt;/em&gt; the story as well.&lt;/p&gt;
&lt;a href='#fnref:1' rev='footnote'&gt;&amp;#8617;&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;</content>
 </entry>



 <entry>
   <title>There's Always Something New to Learn</title>
   <link href="http://www.tychoish.com/2010/06/theres-always-something-new-to-learn"/>
   <updated>2010-06-17T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/06/theres-always-something-new-to-learn</id>
   <content type="html">&lt;p&gt;Now that I&amp;#8217;m fairly confident in my ability to do basic Linux systems administration tasks: manage web and email servers, maintain most Linux systems, convince desktop systems that they really &lt;em&gt;do&lt;/em&gt; want to work the way they&amp;#8217;re supposed to, I&amp;#8217;m embarking on a new learning process. I&amp;#8217;ve been playing around with &amp;#8220;real&amp;#8221; virtualization on my desktop, and I&amp;#8217;ve been reading a bunch about systems administration topics that are generally beyond the scope of what I&amp;#8217;ve dealt with until now. Here is a selection of the projects I&amp;#8217;m playing with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Getting a working xen setup at home. This requires, learning a bit more about building working operating systems, and also in the not to distant future buying a new (server) computer.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Installing xen on the laptop, because it&amp;#8217;ll support it, I have the resources to make it go, and it&amp;#8217;ll be awesome.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Learning everything I can about LVM, which is a new (to me) way of managing partitions and disk images, that makes backups, disk snapshots, and other awesomeness much easier. It means, some system migration stuff that I have yet to tinker with, as none of my systems currently support LVM.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Doing package development for Arch Linux, because I think that&amp;#8217;s probably within the scope of my ability, because I think it would add to my skill set, and because I appreciate the community, and I want to be able to give back. Also I should spend some time editing the wiki, because I&amp;#8217;m really lazy with that.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I guess the overriding lesson of all these projects is a more firm grasp of how incredibly awesome, powerful, and frankly &lt;em&gt;stable&lt;/em&gt; Arch Linux is (or can be.) I mean there are flaws of course, but given how I use systems, I&amp;#8217;ve yet to run into something show stopping. That&amp;#8217;s pretty cool.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>The Old Projects Project</title>
   <link href="http://www.tychoish.com/2010/06/the-old-projects-project"/>
   <updated>2010-06-16T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/06/the-old-projects-project</id>
   <content type="html">&lt;p&gt;Before a road trip a, by now, a couple of months ago, I installed a copy of &lt;a href='http://www.nginx.org'&gt;nginx&lt;/a&gt; on my laptop on the hope of doing some web development and working on other projects when I was in the car. For the uninitiated (you mean you don&amp;#8217;t &lt;em&gt;all&lt;/em&gt; write technical documentation for web developers and systems administrators?!?) nginx is an incredibly powerful web server. As of June 11th, &lt;code&gt;foucualt&lt;/code&gt; the server that hosts the &lt;a href='http://www.cyborginstitute.com'&gt;Cyborg Institute&lt;/a&gt; and &lt;a href='http://www.tychoish.com'&gt;tychoish&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is, almost always, I think, a loosing proposition.&lt;/p&gt;

&lt;p&gt;I never get any sort of substantial (or insubstantial) work done during my road trips up-and-down the north east corridor. Not that that&amp;#8217;s a bad thing, but I also expect that there&amp;#8217;ll be more awake-time when I&amp;#8217;m not driving or gossiping.&lt;/p&gt;

&lt;p&gt;And there never is.&lt;/p&gt;

&lt;p&gt;So the web server sat unused for a long time on my laptop, but recently I&amp;#8217;ve been playing with it a bit and I&amp;#8217;ve finally gotten a number of cool things set up. I have a local &amp;#8220;git web&amp;#8221; instance which makes it easier to track progress on local and private projects that are stored in git. Perhaps more importantly, I have set up quick local &lt;a href='http://ikiwiki.info/'&gt;ikiwiki&lt;/a&gt; instances for a number of projects. They&amp;#8217;re easy to configure, quick to setup, and while I suppose I could hack something together in nifty for myself, there&amp;#8217;s something nifty about being able to take an alternate view of some content and also being able to &lt;em&gt;really&lt;/em&gt; preview changes to you work before publishing them.&lt;/p&gt;

&lt;p&gt;Also, and the real reason for this post, is that by virtue of this development, I have revisited a few projects that had been lingering in the home directory of my computer for &lt;em&gt;far too long&lt;/em&gt;. Which has been a powerful and useful exercise.&lt;/p&gt;

&lt;p&gt;By which I mean, it&amp;#8217;s been painful.&lt;/p&gt;

&lt;p&gt;Besides &amp;#8220;the novel,&amp;#8221; which has been the lingering and dragging front burner project for a year, there are a number of quasi-serial stories that have lingered in some state of incompleteness for a couple of years now. I&amp;#8217;m kind of amazed both at how foreign these stories seem to me both in terms of the style (good to know that I&amp;#8217;m a better writer than I was a few years ago,) and also how quickly I can fall right back into the story and tell you every little thing about the world, situation, and moment where I left off.&lt;/p&gt;

&lt;p&gt;The mind is, indeed, an amazing thing.&lt;/p&gt;

&lt;p&gt;Where my strategy for the past year has been to &amp;#8220;plow through and finish the novel,&amp;#8221; I think my tactic this summer will be to move all of my projects forward in some way. Small daily writing goals for the novel, combined with somewhat less regular (but more specific) goals with regards to other projects. In the next two months I want to have a fairly active and varied writing schedule worked out that isn&amp;#8217;t based around the monthly (or so) weekend binges that I&amp;#8217;ve been using for most of the last year.&lt;/p&gt;

&lt;p&gt;That&amp;#8217;s the plan at any rate.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>Jekyll and Automation</title>
   <link href="http://www.tychoish.com/2010/06/jekyll-and-automation"/>
   <updated>2010-06-08T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/06/jekyll-and-automation</id>
   <content type="html">&lt;p&gt;As this blog ambles forward, &lt;a href='http://tychoish.com/2010/05/the-schedule/'&gt;albeit haltingly&lt;/a&gt;, I find that the process of generating the site has become a much more complicated proposition. I suppose that&amp;#8217;s the price of success, or at least the price of verbosity.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s the problem: I really cannot abide by dynamically generated publication systems: there are more things that can go wrong, they can be somewhat inflexible, they don&amp;#8217;t always scale very well, and it seems like horrible overkill for what I do. At the same time, I have a huge quantity of static content in this site, and it needs to be generated and managed in some way. It&amp;#8217;s an evolving problem, and perhaps one that isn&amp;#8217;t of great specific interest to the blog, but I&amp;#8217;ve learned some things in the process, and I think it&amp;#8217;s worthwhile to do a little bit of rehashing and extrapolating.&lt;/p&gt;

&lt;p&gt;The fundamental problem is that the rebuilding-tychoish.com-job takes a long time to rebuild. This is mostly a result of the time it takes to convert the Markdown text to HTML. It&amp;#8217;s a couple of minutes for the full build. There are a couple of solutions. The first would be to pass the build script some information about when files were modified and then have it only rebuild those files. This is effective but ends up being complicated: version control systems don&amp;#8217;t tend to version &lt;code&gt;mtime&lt;/code&gt; and importantly there are pages in the site&amp;#8211;like archives&amp;#8211;which can become unstuck without some sort of metadata cache between builds. The second solution is to provide very limited automatically generated archives and only regenerate the last 100 or so posts, and supplement the limited archive with more manual archives. That&amp;#8217;s what I&amp;#8217;ve chosen to do.&lt;/p&gt;

&lt;p&gt;The problem is that even the last 100 or so entries takes a dozen seconds or more to regenerate. This might not seem like a lot to you, but the truth that at an interactive terminal, 10-20 seconds feels interminable. So while I&amp;#8217;ve spent a lot of time recently trying to fix the underlying problem&amp;#8211;the time that it took to regenerate the html&amp;#8211;when I realized that the problem wasn&amp;#8217;t &lt;em&gt;really&lt;/em&gt; that the rebuilds took forever, it was that I had to &lt;em&gt;wait&lt;/em&gt; for them to finish. The solution: background the task and send messages to my IM client when the rebuild completed.&lt;/p&gt;

&lt;p&gt;The lesson: don&amp;#8217;t optimize anything that you don&amp;#8217;t &lt;em&gt;have&lt;/em&gt; to optimize, and if it annoys you, find a better way to ignore it.&lt;/p&gt;

&lt;p&gt;At the same time I&amp;#8217;ve purchased a new domain, and I would kind of like to be able to publish something more or less instantly, without hacking on it like crazy. But I&amp;#8217;m an edge case. I wish there were a static site generator, like my beloved &lt;a href='http://wiki.github.com/mojombo/jekyll/'&gt;jekyll&lt;/a&gt; that provided great flexibility, and generated static content, in a smart and efficient manner. Most of these site compilers, however, are crude tools with very little logic for smart rebuilding: and really, given the profiles of most sites that they are used to build: this makes total sense.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I realize that this post comes off as pretty complaining, and even so, I&amp;#8217;m firmly of the opinion that this way of producing content for the web is the most sane method that exists. I&amp;#8217;ve been talking with &lt;a href='http://christopherjacoby.com/'&gt;a friend&lt;/a&gt; for a little while about developing a way to build websites and we&amp;#8217;ve more or less come upon a similar model. Even my day job project uses a system that runs on the same premise.&lt;/p&gt;

&lt;p&gt;Since I started writing this post, I&amp;#8217;ve even taken this one step further. In the beginning I had to watch the process build. Then I basically kicked off the build process and sent it to the background and had it send me a message when it was done. Now, I have rebuilds scheduled in cron, so that the site does an automatic rebuild (the long process) a few times a day, and quick rebuilds a few times an hour.&lt;/p&gt;

&lt;p&gt;Is this less efficient in the long run? Without a doubt. But processors cycles are cheap, and the builds are only long in the subjective sense. In the end I&amp;#8217;d rather not even think that builds are going on, and let the software do all of the thinking and worrying.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>Organize Your Thoughts More Betterly</title>
   <link href="http://www.tychoish.com/2010/06/organize-your-thoughts-more-betterly"/>
   <updated>2010-06-02T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/06/organize-your-thoughts-more-betterly</id>
   <content type="html">&lt;p&gt;I&amp;#8217;ve been &lt;a href='http://wiki.cyborginstitute.com/people/madalu/information-repository-systems/'&gt;working with a reader and friend on a project to build a tool for managing information for humanities scholars and others who deal with textual data&lt;/a&gt;, and I&amp;#8217;ve been thinking about the problem of information management a bit more seriously. Unlike numerical, or more easily categorized information data, how to take a bunch of textual information&amp;#8211;either of your own production or a library of your own collection&amp;#8211;is far from a solved problem.&lt;/p&gt;

&lt;p&gt;The technical limitation&amp;#8211;from a pragmatic perspective&amp;#8211;is that you need to have an understanding not only of the specific tasks in front of you, but a grasp of the entire &lt;em&gt;collection&lt;/em&gt; of information you work with in order to effectively organize, manage, and use the texts as an aggregate.&lt;/p&gt;

&lt;p&gt;&amp;#8220;But wait,&amp;#8221; you say. &amp;#8220;Google solved this problem a long time ago, you don&amp;#8217;t need a deterministic information management tool, you need to brute force the problem with enough raw data, some clever algorithms, and search tools,&amp;#8221; you explain. And on some level you&amp;#8217;d be right. The problem is of course, you can&amp;#8217;t create knowledge with Google.&lt;/p&gt;

&lt;p&gt;Google doesn&amp;#8217;t give us the ability to discover information that&amp;#8217;s new, or powerful. Google works best when we know &lt;em&gt;exactly&lt;/em&gt; what we&amp;#8217;re looking for, the top results in Google are most likely to be the resources that the &lt;em&gt;most&lt;/em&gt; people know and are familiar. Google&amp;#8217;s good, and useful and a wonderful tool that &lt;a href='http://lmgtfy.com/'&gt;more people should probably use&lt;/a&gt; but Google cannot lead you into novel territory.&lt;/p&gt;

&lt;p&gt;Which brings us back to local information management tools. When you can collect, organize, and manipulate data in your own library you can draw novel conclusions, When the information is well organized, and you can survey a collection in useful and meaningful ways, you can see holes and collect more, you can search tactically, and within subsets of articles to provide. I&amp;#8217;ve been talking for more than a year about &lt;a href='http://www.tychoish.com/2009/04/curation-and-content-overload/'&gt;the utility of curation in the creation of value on-line&lt;/a&gt;. and fundamentally I think the same holds true for personal information collections.&lt;/p&gt;

&lt;p&gt;Which brings us back to the ways we organize information. And my firm conclusion that we don&amp;#8217;t have a really good way of organizing information. Everything that I&amp;#8217;m aware of either relies on search, and therefore only allows us to find what we already know we&amp;#8217;re looking for, or requires us to understand our final conclusions during the preliminary phase of our investigations.&lt;/p&gt;

&lt;p&gt;The solution to this problem is thus two fold: First, we need tools that allow us to work with and organize the data for our projects, full stop. Wiki&amp;#8217;s, never ending text files, don&amp;#8217;t really address all of the different ways we need to work with and organize information. Secondly we need tool tools that are tailored to the way researchers who deal in text work with information from collection and processing to quoting and citation, rather than focusing on the end stage of this process. These tools should allow our conceptual framework for organizing information to evolve as the project evolves.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m not sure what that looks like for sure, but I&amp;#8217;d like to find out. &lt;a href='http://wiki.cyborginstitute.com/'&gt;If you&amp;#8217;re interested, do help us think about this&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;(&lt;em&gt;Also, see this post &lt;a href='http://www.cyborginstitute.com/2010/06/a-report-from-the-institute/'&gt;regarding the current state of the Cyborg Institute&lt;/a&gt;.&lt;/em&gt;)&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>The Schedule</title>
   <link href="http://www.tychoish.com/2010/05/the-schedule"/>
   <updated>2010-05-26T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/05/the-schedule</id>
   <content type="html">&lt;p&gt;Wow. Hello blog.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m pretty busy. It even seems sort of cliche to complain about such things on ones blog, but I think being busy has coincided with a somewhat larger reevaluation of nearly everything.&lt;/p&gt;

&lt;p&gt;Wait, no. I&amp;#8217;m not quitting blogging.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m actually really proud of the &lt;a href='http://tychogaren.com/mars/'&gt;Knowing Mars&lt;/a&gt; launch, and it feels really good to have that project &amp;#8220;done,&amp;#8221; even if I think it needs a major revision, and I have a lot more fiction on my plate that I don&amp;#8217;t want to just &amp;#8220;let go&amp;#8221; like that.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m also somewhat displeased with the kind of blog posts that I&amp;#8217;ve been writing recently. It seems that I&amp;#8217;ve been writing about some basic ideas: my disdain for the way the web functions as a user interface, some general work flow topics, some basic cyber-culture topics, and half way through most of these blog posts I mostly loose interest, and I suspect you have as well.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve had a post in my &amp;#8220;write this soon list,&amp;#8221; about digging in deeper and striving for a more rich engagement with the topics I try and cover here, and I&amp;#8217;ve pretty much failed with that. In any case, this post was supposed to be more about the things that are on my schedule:&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve been doing a lot offline these past few weeks. It&amp;#8217;s May and that means it&amp;#8217;s Morris Dancing season. I seem to have joined an interesting phenomena called &amp;#8220;Maple Morris,&amp;#8221; (more reflection on that when I&amp;#8217;ve processed a bit more,) the usual Mayday festivities, Midwest Morris Ale. And then there are a bunch of singing conventions, which are a great deal of fun and fulfilling, and then there are contra dancing &lt;em&gt;things&lt;/em&gt;, but none of these things transmit to quiet weekends alone writing. Or even quiet evening around writing. At least very often. Some highlights of the recent past and near future:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Maple Morris; A my-generation Morris dancing event, last weekend in Boston. A bunch of Morris dancers in my general age rage got together to dance some really challenging dances and to sing great songs. I was totally overwhelmed.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;The Midwest Morris Ale; My regular annual Morris dancing ale. This is my 9th consecutive ale (and my 10th anniversary of dancing Morris.)&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;Since last September, I&amp;#8217;ve gone to an all- or mulit- day Sacred Harp singing convention most months, since last September, and there&amp;#8217;s one on my calender every month between now and this September.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I&amp;#8217;m going to &amp;#8221;&lt;a href='http://youthdanceweekend.org/'&gt;Youth Dance Weekend&lt;/a&gt;&amp;#8221; in Vermont in September, which I&amp;#8217;ve never been to, but I think it&amp;#8217;ll be a a great deal of fun, and I&amp;#8217;m very much looking forward to it. I&amp;#8217;ve not been contra dancing as much, but that&amp;#8217;s not a huge problem for me.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I&amp;#8217;m moving to Philadelphia in the summer, which means a drastically longer commute, but an easier to orchestrate social life, and a better work/life balance. This means apartment hunting and all that jazz.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While this means less writing time and time for taking care of my own projects, it doesn&amp;#8217;t mean that I don&amp;#8217;t have any writing time. Sure writing takes time, but the largest challenge as a writer is in using the time I/we already have effectively, and getting the most out of those opportunities.&lt;/p&gt;

&lt;p&gt;It also, I think, means finding a way to develop a writing (and blogging) habit that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Doesn&amp;#8217;t revolve around a fixed daily publication schedule. I still want to write essays, but I need to write essays when I have a compelling argument for an essay, rather than around the same core of ideas that I&amp;#8217;ve been running around for the last year.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I need to be able to put the blog on the back burner while I focus on things like writing fiction, or hacking projects, or Cyborg Institute stuff. The blog is great, and I love writing the blog, but It&amp;#8217;s far to easy for me to fall into a pattern where the blog becomes &lt;strong&gt;the&lt;/strong&gt; project, rather than the journal in support of the project.&lt;/p&gt;
&lt;/li&gt;

&lt;li&gt;
&lt;p&gt;I need to organize my projects and tasks into clumps of work that are easier to manage in shorter periods of time. This is probably a reorganization problem that needs to mostly occur within my head.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So where does that leave us? I have a few posts piled up that I&amp;#8217;ll parcel out over the next few weeks, though on the whole there will probably be less posting by me around here. I&amp;#8217;m probably going to do more posts along the lines of &amp;#8220;here&amp;#8217;s what I&amp;#8217;ve been up to, go read my work elsewhere.&amp;#8221; There will be some guest posts and I&amp;#8217;ve already begun working with some writers for that. Beyond that, I guess we&amp;#8217;ll both be able to be surprised.&lt;/p&gt;</content>
 </entry>



 <entry>
   <title>Knowing Mars, a Novella</title>
   <link href="http://www.tychoish.com/2010/05/knowing-mars-a-novella"/>
   <updated>2010-05-19T00:00:00-04:00</updated>
   <id>http://www.tychoish.com/2010/05/knowing-mars-a-novella</id>
   <content type="html">&lt;p&gt;I don&amp;#8217;t know about this. But here it goes, anyway.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I&amp;#8217;m pleased to announce the complete publication of my novella &amp;#8221;&lt;a href='http://tychogaren.com/mars/'&gt;Knowing Mars&lt;/a&gt;&amp;#8221; on &lt;a href='http://tychogaren.com/'&gt;tychogaren.com&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&amp;#8220;Knowing Mars&amp;#8221; is an important story for me. I wrote it after I graduated from college, after I didn&amp;#8217;t go to graduate school the first time, and in a lot of ways it was the project that got me started down the path of being a &amp;#8220;real writer,&amp;#8221; post-graduation. I&amp;#8217;d written fiction before college, and mostly avoided writing fiction in college, and then right as I was finishing college I started writing stories again. It was strange for a while, but it was delightful to be able to tell stories and be so much better at it than I was the first time.&lt;/p&gt;

&lt;p&gt;I find that this is fundamentally a recurring issue. When I started writing &amp;#8220;Knowing Mars,&amp;#8221; I felt like I was starting out light years ahead of what I had written four or five years before. Now, I feel like the stuff I&amp;#8217;m working on now is light years ahead of &amp;#8220;Knowing Mars.&amp;#8221; This is probably an encouraging sign.&lt;/p&gt;

&lt;p&gt;I suppose you&amp;#8217;d like to know a bit more about the story. I&amp;#8217;ll leave most of the details to the reading, but basically it&amp;#8217;s a sort of superhero/cyberpunk story that explores themes related to diaspora, political organization, historical narrative, and gender. I don&amp;#8217;t know if I&amp;#8217;ve ever described it as such before.&lt;/p&gt;

&lt;p&gt;The story is available in multiple formats. Each chapter is available in full HTML as part of tychogaren.com and in a plan &lt;a href='http://daringfireball.net/projects/markdown/'&gt;Markdown&lt;/a&gt; formatted plain text. Furthermore the complete text of the novella is available in both of these formats, and a simple un-styled HTML version that should be ideal for conversion to various electronic reading platforms. If you want to read the novella but would find another format easier to process, talk to me about it and I&amp;#8217;ll get something pulled together for you.&lt;/p&gt;

&lt;p&gt;All &amp;#8220;full html&amp;#8221; versions of the text have comments enabled using the same system as the blog. I look forward to your comments. Thanks for reading, and stay tuned for more fiction.&lt;/p&gt;

&lt;p&gt;Onward and Upward!&lt;/p&gt;</content>
 </entry>



 
</feed>
