from the trenches

I knew I said that I’d post coda things now that I’m going to bi-weekly essays, and today would be the first day of the new order and I’ve failed. Alas. Today was spent going glaring at my outline and waiting in doctor’s waiting rooms. I did read a really great article from Kristine Kathryn Rusch about recessions, short fiction, and it was pretty inspiring. Go read, and then read some more. I’ve also had some interesting twitter and identi.ca conversations about git and emacs, which keeps me entertained at least. I’ve also been trying out new RSS readers, as I’d really like something that ran locally. Canto seems to be leading the pack, but I have so many feeds at the moment that switching seems onerous, and I need something that I can sync between multiple machines, so the whole switch process gives me shivers. Maybe tomorrow. In the mean time, I think I’m ready to get back to writing actual fiction (forward progress) in a day or two, if I can get through one or two more blasted sections of this re-outline; which despite the pain, has been really good for my thinking about the book.

If you were wondering, that really is what it’s like to be in my head. And you thought that my writing was scatter brained.

The Advertising Bubble

Before I started to write this article I heard two pieces of news. First, that the economy of Latvia had failed as part of the ongoing depression. Second, that the American Government was going to provide subsidies to hedge funds (!) to promote a revival of the financial services industry. The mind boggles, to very different degrees at both of these stories. Like this whole depression, it seems clear that the core issue is that economies based on inauthentic exchange of value are prone to failure: the act of moving money from hither to thither doesn’t create value, even though paper values rise. That’s a bubble.

There are a lot of these, of course, the bubble under my lens today is the advertising bubble.

It seems to me that advertising, is really minimally effective, or accidentally effective at any rate. Our world is submerged in advertising, and yet we spend a great deal of time ignoring it: we use DVRs to skip commercials, we install ad-blocking plug-ins on our web-browsers, we instinctively tune out advertisements and have grown so acclimated to the presence of advertising that we ignore ads. If advertising is effective it is only effective incidentally.

And yet, we’ve built (albeit faltering) economies around advertising. The first dot-com burst was due largely to the fact that advertising revenue couldn’t support dot-com business model. The Web-2.0 bubble hasn’t been entirely advertising driven, but that’s a huge part of the equation (eg. google), and particularly for content (rather than service) driven websites.

The thing is that advertising seems like a great way to support the content industry (such as it is): we have practices to separate it from editorial content, it provides a revenue stream, it’s easily integrated into our designs, we know how to buy and sell it. But because it doesn’t really work (at anything beyond generally raising the profile of a logo, possibly), and advertising money dries up when the economy dries up: so it’s not exactly a robust business model.

The problem, is that there’s not a lot of good models for content-based services to operate under. Subscriptions don’t often work because the threshold to commitment is high, and unless you already have an audience, it’s hard to convince people to pay subscription fees. Micropayments, and tip jars where you expect a lot of people to give a very little in support of your site, often suffer from the same problems as subscription models in practice.

The solution?

Well there isn’t one, exactly, so I’m really excited to see what happens in the next couple of years. My gut instinct is that the following two factors are important:

1. Content on the Internet should be a hook into some other revenue generating scheme. Consult, coach, be an academic, publish books, sell relevant stuff, and so forth. This works, it can certainly be overdone, or done poorly, but blogging is a great way to prove to the world (and yourself) that you know what you’re talking about, and that you’re an interesting, creative, and committed thinker and worker, worthy of their investment in other contexts.

2. There should be less content on the Internet. Part of the problem is that since everyone can have their own website, in most cases everyone does, and while this is great for the democracy of the web, it means that there’s way more competition (for eyeballs, for advertising money) than there needs to be. The end result is that audience is way too divided. The solution: group blogs and more curated content. It’s still possible for people to present individual streams of content, and use personal sites for profiles, but in the age of the niche and the post-advertising age, working in groups is the way. I’m convinced.

More thoughts on this, particularly the second point to follow, of course.

Onward and Outward!

Pace Changing

Dear Readers,

I’m both really excited and really scared of this change that I’m going to announce in this post. From my journal entry, you can probably tell that I’ve been busy and having something of a rough time. I’m coping, and I’m not writing this as a plea of any sort, just it’s been… interesting. I’ve been sort of distracted, and running back and forth between my home town and where my grandmother is (3.5 hours away) a lot, and a thousand other things.

One thing, of note is that today (by your clock) is the 9th Yarzeit of my grandfather’s death, which is hitting me a bit harder than it has in years past. Yeah. Weird. I don’t know what else to say.

In any case, I’ve done some tweaking to the site including some cool JavaScript visibility toggles. I’m still using Wordpress, because I’m still making pretty heavy use of the post scheduling, and there are other projects that demand my attention. Someday soon. My intention with the design changes is to make the content a bit more prominent and minimize menus as much as possible. Because content is important and menus are boring. (Really, I get paid to help people with the internet. Amazing.)

I’m also going to change my publishing schedule.

I’m going to post essays, in the form that you’ve grown accustomed to on Tuesday’s and Thursdays, and then, try and post something to coda once or twice a day on Monday, Wednesday, and Friday’s. I’m reading a lot of other blogs, and I feel like I’ve gotten worse about referencing some of the really cool stuff I’ve been reading. And I’d like to concentrate on writing for other projects, getting Critical Futures (also redesigned) back on it’s feet. If you read the site via the feed coda posts and essay posts all look the same. Notifications for all posts make it onto twitter and identi.ca, and I bet that despite the change the amount of content in general is going to be about the same. It’s just a different mindset, and I think that’s what I need the most at the moment. We’ll see how it works.

I’ve also, in recent times taken to modifying the way the home page renders, so that there are only a few entries on the home page, and lists of “recent entries,” in both essay and coda categories. I might do a bit more tweaking here, but the general template with “less stuff on any given page” and links to other content, satisfies my desire for minimalism and a wealth of content. Note to self: write a post about the “blog” trope and the amount of content on pages.

That’s about all I have for you this time. Thanks for reading, and I’ll be back tomorrow with some sort of an essay.

Cheers, tycho

Agile Writing

Lets put this in the category of “tycho writing about software development in an attempt to draw a conclusion beyond software development.” Often I find this to be an annoying impulse as, software can be meaningful in and of itself and it’s practices aren’t always incredibly relevant. On the other hand, most of my work is (at least theoretically) not software, so I find myself doing this kind of thing more than I’d really like. So be it.

Agile Development refers to a set of practices that encourages developers to review their progress regularly, to write code in testable units, to consult with the client regularly to allow the client to lead the design process to reflect the reality that requirements, contexts, and possibilities change as a result of the ongoing development process. Extreme Programing (XP), is probably the most famous subset of Agile Development, and I think both are interesting (and popular) because they promote a kind of flexibility and respond to (and draws from) the creative impulse. XP takes the iterative/test driven Agile philosophy and does “wacky” things like “pair programming” where two developers take turns typing and monitoring the coding process. I’ve of course, not really, worked in these situations, but I am fascinated by the possibilities.

I often think about the implications of these kinds of methodologies on the work I do (writing). I have yet to be convinced that this is an entirely productive impulse, but that never stops me.

The key feature of Agile development--to my mind--is that it’s built around multiple iterations. Rather than concentrating on getting all of the details right, the goal is to get something working, and then expand/refactor/revise and get review on all these iterations, so that through successive iteration you have a solid, relevant, and sturdy result. Once you have iterations, getting customer review is easier (because there’s something to evaluate), testing is easier, collaboration is easier.

Writers already have a sense of drafts, and as such this is the way we always work. In another sense, we don’t seek feedback on most drafts, and so while we might revise in a couple of “lumps” we editorial collaboration is pretty minimal during the writing process. That’s not a bad thing, just a commentary on the analogy. Writing collaboratively is also damned hard, and so collaborations are more often based on structural divisions (eg. “you write parts one, four, five, and seven; and I’ll write two, three, six, and eight,") or in larger groups, require dedicated editorial nodes/contributors to organize logistics.

True story: I wrote an academic paper with someones (we lived next door to each other at the time) and as I remember, we tended to do something very much like “pair programming,” I’d drive (type) and she’d navigate (read over my shoulder,) or she’d type and I’d pace, though I think I tended toward the typing roll for any number of reasons. It worked, but we had (and have) such different approaches to writing, thinking about that sort of boggles.

In another sense, posting rough drafts of works on the Internet (critical futures; Cory Doctorow’s Podcast; sam starbuck’s projects; etc.) is another way to get the kind of on going feedback that features so prominently in the Agile/XP methodologies.


The truth is that I had expected to talk about how programming and writing are fundamentally different, and how while Agile and XP are really powerful ways to think about the creation of programs, the creation of novels, stories, and essays can’t work that way.

While I was able to find some parallels, and examples to the contrary, there are so many features of the way that I write, the way that I create, that run quite counter to the “agile way:”

  • I don’t do iterative drafting very well. I write something, I run through it twice, someone else gives feedback, I run through it once more, and it’s either good enough to do something with at that point, or I abandon it.
  • We mysticsize the creative process, particularly for “artistic” creation. I don’t particularly think of myself as an artist, but I think regardless, because we’re not very good at articulating our creative process (and generally unwilling to change the way we work, much), there isn’t a lot of willingness to change how we write.
  • Collaboration is a challenge because of the aforementioned mysticism, and because individuals are capable of (in most cases) writing the long-forms by themselves (novels, screenplays) collaboration isn’t a vital necessity. The counter-example would be what happens in the writing rooms of television shows, I suppose, though I haven’t worked in these situations. Not that I’d be opposed, if someone wanted to hire me to do that ;).
  • Writers make their money (at least as we’re taught to think) by selling publication rights. Iterative work requires frequent publication, which discourages working in this way. Obviously there are some other business models, and other kinds of writing, but generally speaking…

Writing this has inspired me to move more in the direction of posting to Critical Futures again, and to work harder on collaboration projects. I’ve been stuck in my own writing, as life and an iterative hump have combined to really take me out of the game for a while. While I doubt any change in methodology could really make me slightly less linear, it is helpful to think about process in new and different ways. In point of fact, everyone works eclectically anyway, but just thinking about how we/I work has some worth. That much I’m sure.

Onward and Upward!

The Emacs Alert

So I get a Google alert in my RSS reader for “emacs,” this way when anyone mentions that operating system text editor on the Internet, I know.

I did it, initially, as a gimmick. The interesting thing, is that it’s been really interesting. In the grand scheme of things, I’m pretty new to emacs so I’m like a sponge for new information. I’ve learned, chiefly, about emacs-fu, which is a delightful little blog.

Perhaps more interesting is the fact that fully half of the sites that pop up on the emacs alert are sites that I’m already familiar with, or worse (better?) things that I’ve written. This leads me to think that the active discussion/community regarding emacs is actually pretty small, in a day to day sort of way.

It’s possible that most people who use emacs don’t feel the need to really talk about it, but given how vehemently many people feel about emacs that doesn’t seem terribly likely. It’s also possible that emacs' niche is shrinking in the face of competition from the Java IDEs, TextMate, and Firefox.

Another theory is that most of the conversation regarding emacs happens on the emacswiki, and that the sort of “here’s a protip, about emacs,” is too much of a niche, and not the kind of thing that’s really appreciated, so the blogging happens here and there. Or… no one’s doing search engine gaming/hacking (SEG? SEH?) on emacs, so the alert isn’t clogged up with crap from dweebs and industry.

In whatever case, it’s interesting. Or interesting enough.

Onward and Upward!

(ps. sorry for the short post and the weird schedule this week. Next week should be better. --ty)

Scripting on the Internet

I recently read the anti-web manifesto, which I found refreshing. If you haven’t read it, go do so. If your too lazy to read it, the gist is that we’re trying to get the web to do too much (ie. run applications, pixel-perfect layouts) and that quality browsers can’t exist, because what we use the web for these days is beyond the scope of what the web was intended to do. The document is also refreshingly snarky, in the long tradition of both hacker writing and the genre of manifestos in general, but don’t let that offend.

I’ve been known to say, “I hate the web,” which is an ironic thing to say given my line of work, but I think it’s mostly true. To be fair, I don’t hate the web, I just hate what it’s become: the only way to access what happens on the Internet. It’s great for publishing and accessing content, but for applications? Somewhat less great.

The Manifesto centers on the notion that the perfect web-browser is impossible to implement: Browsers have to implement inefficient scripting languages, and multiple implementations of the various web standards (because you have to implements both “how it should be done,” and “how the old, broken implementations that everyone wrote pages to, did it,” with the end result being that browsers themselves suck. And it’s not a case of just writing the perfect browser because, current expectations of the technology is flawed.

The course of action (theses?) are to:

  • Eliminate CSS; use a little basic HTML formatting instead. Let the text stay in its natural format.
  • Only basic font faces ([sans]serif, monospace), relative sizes to be supported.
  • Eliminate scripting.
  • Separate information from empty multimedia content: use Flash for the latter.

I’m not sure that I agree with this solution. I think HTML 5 will take care of the multimedia content, and I think flash should be avoided. I think scripting should be the first causality of the post-web Internet. I don’t see CSS as a problem, (the author sees it as a symptom of design orientation in website creation), though I’d concede that it’s used improperly most of the time.


Given this, I think four bullet points from tycho regarding “The ‘Post-Web’ Web” are in order:

  • Eliminate JavaScript and all scripting in web-environments. JavaScript is the table of the ‘aughts and ‘teens.
  • Develop/concentrate efforts on alternate (ie. non HTTP) protocols to facilitate the movement of dynamic information across the Internet, including well implemented clients.
  • Develop robust/lightweight cross platform frameworks for developing applications on the desktop. Where’s GTK-on-Rails?
  • Write a HTTP server that provides navigational meta-data automatically with pages, and a browser with the ability to construct site navigation based on this information. This way the architecture of the site depends on the file layout and a configured file, but is generated locally. Basically gopher, except designed in the casual manner of the ‘aughts.

Any takers?

Journal Entry

Ok, I’ve not done a “journal” post n a while, and I think one is long due. It’s been a wild week (or two) in the life of tycho, and I think without the opportunity to parse through some recent events:

1. I’ve been ferrying back between home and my grandmother’s about twice a week for, what seems like a few weeks. Everything is fine, and she’s doing very well (and reading the blog again! everyone say hi!), but it’s jarring if nothing else. I think I’m home for the better part of a week this time, and I’m slipping back into getting things done. Though, being home (and ready to leave) isn’t exactly restful, particularly when so many things need doing at home. So many things.

2. I’ve not been writing very much. All the unsettledness seems to mean that I’m a total mess. I’ve written (and semi-abandoned) lots of blog posts, which never take that much concentration usually. I’m in the middle of reoutlining the novel project and have been on hiatus with that as a result. I’m convinced that a couple of hours should be able to get me back on to track with that, and jump starting that project will help revive my flagging conentration/focus.

3. I finished the shawl for my grandmother (I might have mentioned that) and have started working on another shawl. There’s a lot of lace in my future, but I do want to knit sweaters more/again. The good news is that I’m actually knitting stuff. So “woot!” for a project that isn’t really going by the wayside.

4. I’m not, as I thought, going to Drupal Con. Given all of my travels and responsibilities here, it just wasn’t feasible. I’m disappointed, but I’m sure it was the right thing, as taking one of the balls out of the air lead to no small amount of relief.

5. I’m finally reading at a pace that I find acceptable. I’ll write a post about this at some point, but I’ve finally managed to figure out a way to prioritize reading in a way that lets me get it done. My pile hasn’t started to dwindle very much, but I can imagine that I’ll be able to make progress. I’m also finally into new territory with the Robinson “Mars books” and am enjoying it. There’s something very similar about the way we approach a story that I really like, and a lot of things that he (not surprisingly) pulls off much more effectively than I am. It’s good stuff.

6. While I switched to brewing tea loosely many months ago, these days I’m not using any fancy brew pots, opting for more traditional infusers and strainers, which seem easier to manage. I’ve discovered that I need some sort of thermos (as my 16 oz. travel mug isn’t enough for a morning out.) and I’d like to get a 40 oz tea pot with a built in strainer/doodad, but I’m good for now unless I see a deal that can’t be missed.

7. Battlestar Galactica continues to boggle my mind in a good way. I continue to be really impressed with how the story progresses, the kind of science fiction that they’re doing, and the quality of everything. I’m, typically, a bit sad about the end, and I’ve been hording and watching in 2-3 episode chunks, but I think in the long run it’s a good thing that the show is going out on such a good note, and I think seeing (parts?) of the production team go in to do different things will be much more powerful than getting another couple of seasons of BSG as we know it now. As much as I hate to admit that.

8. I did some things along the lines of reconfiguring my blackberry, to reprogram some of the buttons along the side, and I’ve started to use a private emaill address that I set up to take notes on the fly. I should probably begin to figure out how to do some sort of procmail filtering something or other to get these notes into something in my org-mode files. Later. In general, I’m really pleased with how the phone is working out, even if I still need to get the music/ring tone situation sorted out, but I’m lazy.

9. I’ve been, as I can, going for long-ish walks every day. I’ll write about this, eventually, but I think it’s been really good for clearing my mind and working. It’ll also be nice to be in a little better shape before the dancing season really picks up: stamina and all. If I can convince myself that this is a habit worth keeping, and I buy tennis shoes (for the first time in… ten or 12 years, yay for boots and clogs.) I’m considering joining a gym, in hopes of being able to do weight stuff and being able to do lower impact aerobic stuff. As a skinny geek, whose been moderately active (dancing) heretofore, this whole exercise thing is quite strange and intimidating. There’s all kind of stuff that I don’t know at all. Very strange.

10. I’m rejigging my family’s computers this week. I tried to explain what needs to be done, but failed. Basically what I need to do centers around: copying a lot of stuff off of a computer, getting ipod syncing working with linux, and then figuring out a creative solution for getting either getting the audio signal from the office, to the living room without wires, or getting the network to a computer that doesn’t have wireless. Additional challenges include: remote control of the jukebox machine player using laptops/cellphones (proto home automation), and possibilities for podcast fetching that don’t necessarily involve the ipod software (thinking about using my phone for this). Thoughts on any of these issues would be great.

Sorry for the eccentricity of this post, and my posting this week, I’m almost back on track.

Outward and Onward!

Wordpress Limitations

Wordpress is great software, and I’ve been a user for many years. Many years. It used to be called “b2” and I used it then as well. There are a lot of more powerful content management systems, a lot of systems that are much more flexible than wordpress these days, and often I get the feeling that other platforms attempt to define themselves in contrast to wordpress. In the larger sense, this post is an attempt to resist this temptation while also exploring the limitations of wordpress.

Wordpress is a pure blogging engine: it provides interfaces for writers to publish weblogs (blogs), manage content (to some degree) and generate pages based on templates. Before wordpress, blogging was done either by hand edited text files, or by systems that complied static HTML from some sort of database.1 Wordpress is an improvement because it’s easy to install, it’s reliable, and pages generate dynamically on viewing, rather than just when the site owner hits “save” or “rebuild.” In the end, we discovered that systems where managing “websites” was divorced from (even simple) server management had a great democratizing effect on content, and that’s sort of the core of wordpress.

Because wordpress is designed to be a blogging platform, it doesn’t need to be as flexible as other generalized content management systems. Flexibility comes at the cost of complexity, and developers decided that in some cases, less was, in fact, more. There are a lot of things that you could do with b2 (albeit with some hacking) because the site generation/templating system was much less rigid, at the same time, it was much easier to get sites with broken links, and bad pages, particularly as you changed from theme to theme. That’s bad, and it seems pretty reasonable to me to want to avoid that.

The end result is a program that does almost everything you could want it to do as long as you only want a blog, if you try and stretch it too far it simply won’t work. Well it will work, but the advantage of using Wordpress to manage a website that isn’t a blog (or very similar to one) disappears quickly when you have to impose informal limitations on how you enter content in the system to generate well formated pages. It’s a slippery slope, and you’d be surprised how quickly a site goes from being a standard Wordpress site, to requiring customized themes, specialized content entry patterns. And pretty soon, a lot of the things that make Wordpress “simple” and “essay,” aren’t really available to your new site. That’s the limitation of Wordpress.

Knowing where the line is, is often the largest challenge in Wordpress development, and being able to say, “you know, this is the kind of site that you really want to be building with Django, or Drupal, or Rails, or Expression Engine,” Or even saying “you know this is the kind of site that we could probably do more effectively using flat files and PHP includes. Wordpress is great, and in the cases where it’s well suited to the task at hand, it’s the ideal solution. In other situations? Less so.

Onward and Upward!


  1. Interestingly, this whole “static site compiling” is making a come back, because it turns out that dynamic page generation doesn’t scale as well as we thought it would five or six years ago. So we have static site compilers and complex caching tools. What comes around, goes around I guess. ↩︎