chipotle: (Default)

It’s been almost a month since I’ve updated my LiveJournal. I see I wrote then, “I feel like I should be taking an entirely computer-free day, but that’s hard for me to manage.” Both parts of that statement are even more true right now, but especially the first one.

It’s a kind of perverse state to be in: I’ve been working with computers almost daily since I was in elementary school, and while I’d decided I wanted to be a writer by the time I graduated high school the truth is that I’ve always made a living working with computers. I’d decided earlier this year that if I ever went back to school (God help me) it would be to backfill the foundation in computer science that I never actually had. The contract I’m on now that’s not quite keeping my head above water1 is for web development. The jobs I’m trying to get? Web development again. Hell, the main move I’d like to make is from doing PHP-based development to Python-based development…which is something I’m hoping Claw & Quill will help with, since right now I’m facing a chicken-and-egg problem (nobody will give me a job using Python/Django because I haven’t had a job using Python/Django).

And right now I am really sick of staring at computer code.

I’m dragging on the contract work because I’m having so much trouble focusing.2 I have contacts from recruiters that I’m procrasting returning. Granted, in part it’s because the contract work is, as it turns out, likely to run another month, and my assumption that I’d be able to start another job while finishing up the contract work is likely to prove false. But honestly, it’s in part because I just don’t want to deal with code.

I have a friend who’s been a freelancer for years now, doing desktop publishing work rather than coding. I’ve occasionally thought about following in his footsteps for web development/design—and in a way I’m experiencing it now. I can take two (or three or four) hour lunches. I can work at my desk or in the living room or on the balcony or at the Chili’s in San Bruno or pretty much anywhere I can set up the laptop and get email. (When I started writing this I was, in fact, at said Chili’s.)

But really, I’m always on the clock. If I decide I’m just not up to working right this moment, nobody’s going to fire me—but the work still needs to get done. I may be working on a weekend or past midnight. Stuff I need for my job may come on somebody else’s schedule, and it’s somebody who’s paying me, so I can’t just lean across the cubicle wall and say, “Hey, get off your butt.”

People will tell you that the plus of this lifestyle is that you’re doing what you love, and have freedom that you can’t match with an office job. We like to think that working on our own terms is worth nearly any reduction in salary. Well, we’d better think that. I have another friend who’s a tech consultant in Florida. Between him and the friend out here? Most years both of them could be making more money at Starbucks.3

Okay, two isn’t a huge sample size, and I know of freelance designers/developers who’ve raked in the money. But the guys who talk about making more money than they ever did at their office jobs are really good. This isn’t to say the guys I know aren’t good or that I’m not good, but we are not “being actively sought to teach at conferences” good. Being on the 10% side of the Sturgeon Line gets you enough not to be starving and homeless, but you need to be in the top half of that top 10% to keep up with the guys who stayed in the cubicles—and in the top half of that half to be doing it every year. It’s not a pleasant truth, but it’s a truth.

And the really perverse thing is? Right now I’m still in love with the idea of working on my own terms.

1. Technically, the job will have a bigger payout at its end, but the whole thing is flat rate plus potential royalties, and the checks I’m getting now are advances against the flat rate.

2. To be fair to myself, I’ve actually been averaging 40 lines of code a day the past few, which isn’t completely slouching.

3. No, I’m not kidding. According to Fortune, a “Coordinator II” at a Starbucks—an hourly, not salaried, position—averages $35K annually.

chipotle: (Default)

Do any of you, by which I mean “anyone reading this,” know Django?

This is not a trick question, by which I mean “this is a trick question.”

chipotle: (Default)

I haven’t done an update for Claw & Quill in a bit, but I did promise I’d make occasional ones. This will be the last “open” one, though—if you’re interested in seeing future highly-occasional progress reports, you’ll have to ask to be put on the filter. (Those of you who asked last time should already be on it.)

Now, on with some detail... )

chipotle: (Default)

As I’ve written before, it’s a busy time at work. I feel sheepish complaining, given how many friends I have who’ve had much tougher periods at their tech jobs. But my crunch time has been just enough to keep me off-balance. As inadvertent demonstration, I started writing this on Thursday at lunch and didn’t get back to it until Sunday afternoon. The product I’m working on had its internal demo on Friday, which was an important milestone, but there’s still a small flotilla of bugs and feature requests, and at the moment my best bug tracker is my personal copy of OmniOutliner.

On Thursday I wrote that I think I’m missing “chill time,” time to just sit around without any expectations. When I used to go out driving long distances for trivial reasons, engage in what I called (without as much facetiousness as you might think) driving Zen, that was a way to get chill time; I didn’t see any reason why I’d give that up, but I didn’t see $4.50/gallon gas getting here quite as soon as it did, either. Yesterday I set out on BART to Richmond, with the expectation of catching the Capitol Corridor train to Sacramento, but that didn’t happen; instead I ended up in Berkeley, meeting a friend who lives and works in the East Bay who I should probably see at least marginally more often.

I’ve written recently that I need to see friends more often in general; in a way this is unusual for me. I’ve never considered myself antisocial but I’ve never had a real desire to go out and connect. But over the last couple of months, that desire’s been strong. One might even say desperate. I hate the thought that I’m having a weirdly inverted midlife crisis, but it’s hard to escape: if my path had gone more conventionally, then about now—give or take a year—my child would be preparing to go off to college. Instead of getting a divorce and a red BMW, I’m suddenly pining for a marriage and a minivan.

Of course, as I’m writing this, I’m acutely aware that I’m also behind on personal projects, and that calls for staying at home and, well, being antisocial. That’s an interesting Catch-22, isn’t it? Recently I learned of another Quasi-Secret Project™ to make a writing archive site that sounds… well, not too far off from what I was thinking of with Claw & Quill. While part of me has a predictable competition! I must drop everything and get going on mine! reaction, the truth is that I want to do C&Q because I want a site like it myself and I just don’t think anyone else has done it right. I know other work these folks have done, though, and give them a very high Getting It Right chance. Does it make more sense for me to give them a list of demands see if I can work with them in some fashion, even if only to say, “Well, here’s what I was thinking, see if you think it makes any sense?” My gut feeling is yes; I’ll see if anything develops.

This doesn’t mean I’m out of personal projects to work on, of course, not by any stretch. I have reading to do for my writing group, writing to do for my writing group, and a couple other ideas I’m kicking around which I could actually bump up in the stack if I’m able to push C&Q off.

One minor downside if I start resuming personal projects: I’m realizing that the chair that I’m sitting in now sort of hurts. I’m going to fiddle around with the adjustments yet again, but I may end up breaking down and finally getting a Herman Miller chair. For now, though, I think my ambition’s a little more modest: an afternoon drink and a push to actually move forward on some stories again, or plot out a little more of one of those programming projects, or… something.

chipotle: (Default)

In no particular order…

  • Work is kicking my ass recently. It’s been an interesting experience, in the oh, yes, I am at a startup, aren’t I? sort of sense. It’s made writing difficult and driven out enthusiasm for personal coding, though, and also rather cut down on my time online.

  • On a not entirely unrelated note, I’m about ready to throw in the towel with the Excursion Society MUCK. I’ve had little time for it over the last year and honestly not all that much enthusiasm, even though I appreciate the diehards who’ve stuck with it; it’s mostly still around just because of them. I may think more on other systems to do in the future, like an MU* set in Ranea. (After I get my other programming projects back on track. After I’m willing to do programming on my own time again.)

  • I keep starting and stopping other blogs around the web, because I’m just like that. It occurred to me that if there’s any topic I really should be writing about somewhere, it’s not politics or programming or even fiction writing, it’s cocktails. If this thought goes anywhere, I’ll let you know.

  • I contemplated the “blog like it’s the end of the world” zombie thing that’s going on today, but ya know, it seemed like it would be too much effort for today. (And besides, I already wrote an apocalyptic plague story recently.)

  • Speaking of cocktails, I’m really tempted to go to Elixir tonight or the weekend, but probably won’t. Probably.

chipotle: (Default)

John Gruber of Daring Fireball wondered if there were any “testbed virtual hosting utilities” for OS X like Headdress and VirtualHostX. I only knew of the first, but I stopped using it when I realized how easy doing this actually was. Warning: geekery ahead. )

chipotle: (Default)

Yes, I’m still here!

Work is going reasonably well; not much to write about it. Things are likely to get busier as the project I’ve been working on starts getting actively beat on by other people. I’ve decided that the web framework I’m using really isn’t particularly testable in its stable version, and when I try to transfer it to its beta version, it segfaults Apache. Yes. But only when—wait for it—the debug mode is turned on. While I presume this is something peculiar about my code, I can’t imagine just what it is in my code that does this, and it happens on two different installations. Part of me wants to lock myself in a closet for a week, with nothing but the computer and an unlimited supply of nachos and margaritas, and rewrite the entire thing in Django or Rails. But I shall not.

Writing is also going reasonably well; I have about 9700 words written on the new “Gift of Fire.” This is remarkable, given that the old one was about 24,000 words, and I am not 40% through it, but more like 30%. (I think.) I’m writing in fits and starts rather than consistently; I tell myself I should write in the mornings, but my oft-griped-about problem with getting up early has been particularly bad the last month and the time change surely isn’t going to help. I should note that I usually wake up of my own volition by 9 a.m. so we’re not actually talking late, but since I should be leaving for work around 8:30 a.m. or so, to actually get a reasonable amount of work done I’d need to be sitting at the computer, coffee in hand and brain in gear, by 7 a.m. and this should not be as hard as it keeps being.

I have been feeling a little bit of pain in the wrists occasionally again recently, and so I have looked around for a truly ergonomic keyboard. No, no, not one of those dopey curved things. I mean one of these:

Unicomp SpaceSaver

Yes, that’s the modern descendant of the old “Model M” IBM keyboards, the ones with the buckling spring switches and are really remarkably loud. This one is made by Unicomp, and it looks, well, pretty much like it always did—except that now it has the Windows keys and is USB. I also discovered, as a minor but pleasant surprise, that OS X Leopard has improved slightly on the modifier key remapping introduced in the previous version: now not only can I flip the Windows and Alt key mapping (Alt sends the keycode for Option and Windows for Command, but they’re in the reverse positions that they would be on a Mac), but I can do that on a per-device basis, so when I’m using the laptop’s internal keyboard or a Mac external keyboard, the remapping doesn’t happen.

Anyway, at the moment I’m just back from a trip to Forbidden Island and then Buffalo Bill’s Brewpub with [ profile] dracosphynx to meet [ profile] gatcat and a bunch of other people with him whose names I’ve already mostly forgotten because I suck. While I don’t feel tipsy, I feel tired, so maybe going to bed at a rational early time is in order.

chipotle: (Default)

I’ve let this journal get behind again, so time for an update.

This most recent round of “I should really get up earlier to do things in the morning” I’ve been through has been different from the rest in that I’m actually managing to get up earlier, and actually managing to get things done. Last week, every morning I wrote 500–1000 words on a new story, which is now finished (and even through a couple small revisions). This week, I’ve been starting work on my very belated revival of Claw & Quill, although what I have so far appears to actually be the start of my own object-oriented PHP web development framework. I hate when that happens.

And today, of course, I’m working on a journal update. This morning I didn’t get up as early as I should be, and I blame it on the weather. Well, indirectly. See, the weather patterns are shifting a bit more toward autumn’s now—a little early, based on my past shifts here—so the low’s approaching 50, instead of the mid-50s. It was cool enough I felt like putting a blanket on the bed, which was just comfortable enough this morning that I wanted to keep lying there. So I did. Even if I hit the snooze button a few times I should be able to easily pull off an hour’s worth of personal time before the commute, but I hit the snooze button… more than a few times.

I realize that when I talk about this to any friend who doesn’t live in Silicon Valley, the hours sound… odd. The before-work hour that I’m usually aiming for is 7:30–8:30, and even that gives me some room: I don’t really have to be on the road before 9:00. My alarm clock goes off at 6:30, which gives me a lot of leeway: even after snooze button abuse I have time to shower and grab coffee and still make it to the computer for the personal hour. (Then, I disconnect it and take it to work, because my laptop is my work computer.) Yet I’m generally awake before anyone else (unless Tugrik has been woken up by a work phone call, a pretty common occurrence) and generally the first or second one out the door—and when I roll into the office in the 9:30–9:45 time frame, I’m almost always the second one there after the admin assistant. The tech industry here just seems to work on a later schedule. I’m not sure how much of that is due to the night-owl hacker stereotype and how much of it is drift born of awful commute times.

Speaking of commutes, as I wrote way back in July, I do keep idly musing on the subject of moving. I may write more about this in detail in another journal entry; for now, just say I don’t have any firm plans for a housewarming (apartmentwarming?) party anytime soon.

I’ve hit my 8:30 mark, so I’m going to wrap this up and finish before-work prep.


2007-09-07 08:50
chipotle: (Default)

I’m approaching the end of my fifth year in California. It’s a few months off, but I imagine I’ll write about that more soon. It comes close to coinciding with an arbitrarily momentous birthday.

It’s been about two weeks since I updated the journal—how time flies when you’re, uh, doing stuff. Most of what I’ve been doing has been programming for work, of course, although I’m mindful of personal projects that are being continually neglected. In addition to starting to poke at Lisp again after being reminded by a friend/former boss that I haven’t been, I’ve been studying Django a bit, which is in some ways the Python equivalent to Ruby on Rails, and may be in some ways a better system. Granted, I don’t know Python, but I think I’m at that point in programming where I can pick up most languages without undue difficulty. (Lisp being a mild exception, but that’s a byproduct of my rather math-deficient educational background coming back to haunt me, I suspect.) I’ve also been grudgingly respecting PHP again, though, after making a conscious effort to write a component of the work system from scratch using fully “modern” PHP components. In some ways PHP, at least with version 5, is like Javascript: there’s a fairly powerful, well-executed language in there which is unfortunately burdened with a whole lot of crap.

I’ve been working on fiction writing again, a little, and playing around with Yet Another Strange Writing Tool: this one is Scrivener, which is sort of a mix of editor, outliner, and database. I’m going to try and draft a complete new story in it; I’ll report back on how it goes. (It’s really intended for doing drafts, and exporting those drafts to a word processor for final assembly.)

It’s about time to get to the office, so I’ll wrap this up, even though it’s a bit short. I’m going to be trying yet again to start getting up earlier to see if I can set aside a full hour every morning for writing; as anyone who’s read my journal for a while knows, my track record on this is pretty dismal. But hey, maybe twelfth time’s the charm. (I know my point of failure is not getting to bed at an early enough time to pull this off; I just don’t do well with less than seven hours of sleep.)

chipotle: (Default)

The weekend before this, we obtained an ice cream maker, and I’ve been engaging in the art—as yet not fine—of making ice creams. Well, four ice creams—three of them vanilla, and all different kinds!—along with an apple sorbet and a raspberry frozen yogurt. I’ve managed to botch the recipe on several of the ones I made, yet all of them have come out well in spite of me. The yogurt is extraordinary, despite needing somewhat more “punch” in its berry-ness; all of the vanilla ice creams have been good. (I have a fourth version to make soon, which requires vanilla sugar—which requires time to make!) I also made a peach ice cream, with a few fresh peaches from Andy’s Orchard; the texture didn’t strike me as quite “right,” but the flavor was fine. I’ll probably start trying stranger concoctions soon, but I figure I need to get the hang of the basics first.

Beyond that, things have been… quiet since I last wrote, albeit not in a bad way. The current iteration of the project I’m working on at the office is wrapping up, but there are future iterations already being talked about, and there’s at least one project that was put on hold for this one. So I’m not worried about the contract ending any time soon. I do have to worry about getting new medical insurance shortly, as all this time I’ve been on COBRA from my time with the Armada Group (the contract at Cisco), and those benefits end next month.

My desire to work on my own projects seems to wax and wane, and right now it’s waxing—yet for programming, I’m finding myself starting to work with PHP again rather than jumping into Ruby on Rails. I’m not entirely sure why, save the computer variant of “write what you know.” At work I’ve been using a Rails-ish framework for PHP called CakePHP, which is a mix of good ideas and frustrating implementation. What I’m poking with is taking some of the former, with a new implementation. The only drawback to this is, of course, that it’s absolutely nuts. So we’ll see.

Writing projects, you say? Well, I’m likely to end up with more writing tools—Nisus recently introduced Nisus Writer Pro, an upgrade to a word processor I already own (and reviewed a few years ago), so I’ll probably upgrade, although truth to tell I’ve found myself doing more and more of my writing in TextMate these days. I used to mock the idea of using a text editor for writing prose (“I don’t do that for the same reason you don’t write C in WordPerfect”), but there’s always been truth in the idea that editing and formatting are two vastly different functions—I don’t need what’s on the screen when I’m typing to look like a manuscript, and Markdown removes my long-standing objection that I do actually need some formatting tools (italics, at the least) when typing.

While I’ve been using an odd digital notebook program called Mori for years, I’m considering switching to VoodooPad unless Mori’s new owner shows visible signs of life development soon. I may upgrade my old copy of Dramatica Pro to one that will run on my notebook, although it’s galling that the only change between the version I have (4.0) and the current 4.1 is OS X compatibility—they haven’t even made an Intel version of the damn thing yet.

Oh, you say writing tools ≠ writing projects. Okay, you got me. I still have a few of those, too, but they’ve definitely been stalled. The tools do sometimes kick my muse in the butt to get things going, which is why I’m contemplating the Dramatica upgrade (it’s a quirky program, but muse-kicking is its entire point).

At any rate, I’ve actually been writing this fairly short entry for days, writing the second half before leaving for work this morning—without having time to post it. Now a quick post (I’m actually working, really), and off to lunch.

chipotle: (Default)

So. How’s that “being inaccessible” thing working? Well, I’m combining it with a wrist brace, and it’s helping, although I think I’m stressing myself by constantly thinking it’s been 24 hours and I’m not 100% better now!

Beyond that, it’s a bit more… peaceful. I enjoy being in touch with people, and when I’m dining alone I’ve come to think of having the IM open as a sort of companionship by proxy, but it can also be, well, very demanding. If someone is buzzing me and I’m not answering—no matter where I am, even behind the wheel—I feel guilty. This is kind of nuts, and the best solution is almost certainly to detach. Of course, even if I’m successfully catching this before it becomes true carpal tunnel syndrome, it probably means my days of constant thumb keyboarding are over. (Ironically, this removes one of my biggest objections to Apple’s iPhone, although I’m still not sold on it.)

From poking around on the web last night, I’ve become interested in learning Lisp, at least as an exercise. I may write more about that later, but it’s time to head out the door a few minutes ago, and I have actual work to do at the office. Although I may see if I can head out to work at Panera, as ironically I seem to work better there. (The work, for the moment, is report-writing rather than programming.)

chipotle: (Default)

This wins the internets: combining geek (and I mean, really geek) humor and Led Zeppelin.


*** Black Dog achieved in 36 ZepMarks ***

Naturally, someone else ported it to Python. And, because I’m just like that, I ported it to Ruby:

#!/usr/bin/env ruby

words = ['hey', 'mama', 'said', 'the', 'way', 'you',
  'move', 'gonna', 'make', 'sweat', 'groove']

success = [ 0, 0, 1, 2, 3, 4, 5, 6, 7,
  8, 5, 9, 7, 8, 5, 10]

iterations = 0
matches = 0
matched =

while matches < 16
  iterations += 1
  print "[#{iterations}] "

  0.upto(15) do |i|
    if matched[i]
      print words[success[i]], ' '
      r = rand(11)
      print words[r], ' '
      if r == success[i]
        matches += 1
        matched[i] = true

  print "\n"

puts "*** Black Dog achieved in #{iterations} ZepMarks ***"

(Oh, c’mon, it was only 604 bytes — don’t whine about it needing an LJ cut!)

chipotle: (Default)

So I’ve been back at work and starting on a new project—actually, a re-implementation of an old one—for which I’m exploring CakePHP, a “rapid development framework” which is, shall we say, heavily inspired by Rails. Why not just use Rails, you may ask? Well, mostly because I’m the only person at the company who knows Ruby and I don’t know it all that well. (On the flip side, CakePHP’s documentation isn’t as good as Rails’ is.) Also, as many Hipster Points as Rails garners, it is neither easy to deploy nor lightweight when it’s running. (The currently-preferred method of running it is with a hybrid mostly-Ruby web server called “Mongrel,” which in practice tends to run in addition to a standard web server on a box. [ profile] bigtig asked the reasonable question the other day of why it isn’t deployed with Apache and mod_ruby; AFAIK, it’s because mod_ruby used to have performance problems and a tendency to lose its brain if you ran more than one Rails application at a time with it, but I think those have been solved now.)

Cake does look like a well-designed system, although it’s occasionally an inadvertent demonstration that Ruby really is a more elegant language. (A language more elegant than PHP? Say it isn’t so!) To try to make sure what Ruby I’ve learned doesn’t get too fallow, I’m writing the script to convert from the old database format to the new one in Ruby; it’s not a straight one-for-one mapping, since I’m not only using column names Cake (or Rails) will like, I’m doing a bit of database normalization along the way, giving some data fields their own tables and index keys. So the script will have to build those tables and the relations. Not a huge thing, of course—just enough to remind me how much Ruby I’ve forgotten.

Also on the geek front, I’m taking Tuesday off next week to go to MacWorld, even though just to the exhibition hall, not the keynote. (I have a free floor pass.) In theory after that I’ll be trying to get to the Apple Store in San Francisco for a taping of MacBreak Weekly, hosted by former TechTV guy Leo Laporte and former friendly college acquaintance of mine Merlin Mann, who is one of the only people I’m aware of who seem to have made a career out of being an internet personality.

Meanwhile, Panera Bread marches ever closer to the house—they’ve opened a new location just across from the closest Fry’s Electronics, so I’m sitting here with a cup of coffee on their free wi-fi. In theory, though, I’ve come here to see if I can get some writing done on things other than journals (and Ruby code for work).

chipotle: (Default)

It’s been several weeks since I’ve updated my journal, so this entry will be something of a hodgepodge. And, since it's a bit long... click through to read of work, living arrangements, and plane trips. )

chipotle: (Default)

I’ve met people who navigate by way of pop culture landmarks: they know where every Starbucks is, or every McDonald’s, or every Kinko’s. I think I’m starting to navigate by way of Panera Bread.

They’re great for digital nomads: for a chain restaurant, the food’s good and reasonably priced; they’re usually pleasantly decorated, clean, and have unobtrusive music (neither attention-demanding rock nor intelligence-draining Muzak); and they have free wifi with respectable bandwidth. Lately, of course, the $1.39 oatmeal cookie seems like a splurge—I’m going to have to look up good oatmeal cookie recipes.

On the job front, I know I’m being more lackadaisical than the situation warrants—I’m not pursuing “gigs” from Craigslist that I potentially could be, nor am I putting together the PHP web portfolio that I probably should be. I don’t have any outside URLs I can point to anymore; the last visible web site I did for a client that’s still my work is broken, and it didn’t do anything very spiffy anyway. I’m plodding through my Ruby on Rails book but know I should really be sitting down with a notepad (of the physical kind, not the computer analogue) and doodling out ideas.

This doesn’t mean I’ve been a complete café bum today, however—I did send out writing samples to a recruiter who’s trying to get me into a contract position with a Big Name Company™ at a more-than-respectable pay rate. As I previously wrote, a high wage contract would be a swell thing on many levels, so I really shouldn’t let ones that get dangled in front of me go by without investigation.

I’m just about finished with a glass of my most recent mai-tai tweak, which is pretty good—two ounces of aged rum, and a half-ounce each of orange curacao, orgeat syrup, fresh lime juice, and lemon-infused sugar syrup. Dinner? Either simple pasta and jarred sauce or a frozen entree; I’m not feeling very ambitious, not even enough to make my own pasta sauce, given both the hour and the pretty good store-bought marinara I already have.

The rest of the evening will probably consist of goofing around/talking online and reading more of the Rails book. Life may currently be income-free, but it’s not all bad, definitely.

chipotle: (Default)

It’s been over a week since the last update, but I haven’t had much that’s really new to say. The training at the office continues; I’m feeling both more settled in and simultaneously still a bit lost. Tomorrow there should be (more) training on the in-house mission control software. The web development software has also been installed on my PC finally—Dreamweaver MX 2004 and Fireworks MX 2004. I use Fireworks MX myself at home for graphics—I think it’s the best web graphics program out there. (Photoshop addicts are running for their mouses to contradict me, I’m sure, but neener neener.) Dreamweaver never really turned my crank, though, despite being leagues ahead of all of its competition. Since there’s no Windows version of TextMate, I’ve already surreptitiously installed Emacs.

I’ve gotten more done on the Excursion Society—yes, really—despite not doing much on weekday evenings anymore. Expect an announcement of sorts here very shortly.

What’s been holding my attention recently out of the office has been Inform 7, a new release of a interactive fiction development system. “Interactive fiction” is a fancy way of saying “text adventures,” although in the past decade or so the IF community has definitely been pushing the form well beyond Zork and grues.

Interactive fiction is a literary form which involves programming a computer so that it presents a reader with a text which can be explored. Inform aims to make the burden of learning to program such texts as light as possible. It is a tool for writers intrigued by computing, and computer programmers intrigued by writing.

What’s so fascinating about it is that it’s a new design paradigm—for once, the word is appropriate—for writing adventures. The development environment is based on a book, with two facing pages (“for the most part,” the documentation says, “we write on the left-hand page and see responses appear on the right”), and contains tools very specific for IF. But it’s the source code that’s most radical. It’s based on sentences, which describe the world at the start of play, and rules on how the player and objects in the world interact with one another. Doesn’t sound too different than before? Well, here’s how you could create a few locations from the Original Adventure, with objects that can be picked up and moved.

The Cobble Crawl is a room. “You are crawling over cobbles in a low passage. There is a dim light at the east end of the passage.”

A wicker cage is here. “There is a small wicker cage discarded nearby.”

The Debris Room is west of the Crawl. “You are in a debris room filled with stuff washed in from the surface. A low wide passage with cobbles becomes plugged with mud and debris here, but an awkward canyon leads upward and west. A note on the wall says, ‘Magic word XYZZY’.”

The black rod is here. “A three foot black rod with a rusty star on one end lies nearby.”

Above the Debris Room is the Sloping E/W Canyon. West of the Canyon is the Orange River Chamber.

To make it clear, that is not the description the game prints. That’s the source code.

And, how about:

The description of the brass compass is “The dial points quiveringly to [best route from the location to the Lodestone Room].”


Heat is a kind of value. The heats are luke-warm, cold, and scalding. Everything has a heat. Understand the heat property as describing a thing.

After putting a scalding thing on a cold thing:

say “[The noun] meets [the second noun]; both shriek in pain. But the necessary heat transfer occurs.”; change the heat of the noun to luke-warm; change the heat of the second noun to luke-warm.

After taking a scalding thing:

say “‘Right,’ you say. ‘I’ll just hold onto [the noun], shall I? Because that won’t be in the least uncomfortable for me.’”

I’m still trying to wrap my head around this approach, but it’s fascinating on the semantic analysis basis alone. Inform 7 is doing some pretty heady stuff behind the scenes.

chipotle: (Default)

It’s been an unproductive but relaxing weekend, in classic wandering-coyote fashion. Yesterday I drove around part of the East Bay, driving to—and briefly stopping in—the Morgan Territory park and, later, Black Diamond Mines park near Antioch. I got a few pictures, but I haven’t checked them to see if they’re any good yet; I only got a little hiking done, as Black Diamond was overrun with Cub Scouts, and I really don’t enjoy wandering nature trails when there’s a lot of conversation from other hikers all around me.

As seems usual for me, there was a stop in the Panera at Antioch, too. I can’t help it. From there, it was a drive down to Dublin to the Red Tractor Cafe, a place I’ve been meaning to get to—it’s the last remaining branch of a failed regional chain of midwestern farm food restaurants. Pretty good for what it is (which I’d describe as “Boston Market, done better”).

Today I woke up relatively early and headed up Skyline Boulevard (Route 35, through the Santa Cruz Mountains) to Burlingame, where I wandered around their almost alarmingly quaint downtown area for a while and then went to lunch at Steelhead Brewery, which I’ve decided may be one of the best brewpubs I’ve been to. Not the cheapest, mind you, but the beer I tried (a cask-conditioned “Anniversary Ale”) was great—as was the root beer—and while the Rueben I got was hardly haute cuisine, it was one of the best variations on it I’ve had, with housemade sauerkraut and a sweet-spicy beer mustard. I need to get my root beer drinkin’ friends up there sometime, as it’s the only brewpub I’ve been to that has two house-brewed root beers.

I’ve been working on the Excursion Society’s web site, now that the central area is almost complete; the main thing left to do is to make the character request system work. I’m considering something a little more ambitious than Bandari’s system, to have the character registration form enter something in a database and let wizards log on to an “admin page” and review it, adding notes and approving it if appropriate (with the web site actually generating the character on the MUCK). I’m working in PHP, which feels very retro after dabbling with Ruby on Rails, but I’m not comfortable enough in Rails yet—and also don’t feel like trying to force [ profile] dracomistle to set up his machine for Rails, which is comparatively non-trivial.

Now, it’s time to think about dinner. After I got back from lunch I unexcitingly napped, and while [ profile] tugrik and [ profile] revar were around watching the Superbowl earlier, I think they’ve headed out on their own. It’s remarkable at times how much we don’t connect on little things like this, but we’ve evolved rather different schedules.

chipotle: (Default)

On Saturday, [ profile] dracomistle and I went to the de Young Museum in San Francisco, which had a “grand re-opening” in October. It’s a big museum, bigger than you think when you enter it; we were there nearly five hours, and it felt like something of a whirlwind tour nonetheless. It’s a neat place, ranging the gamut from native art thousands of years old to contemporary abstract art. The building itself is pretty striking, too—an aggressively modernist design that I imagine gets pretty polarized reactions, although I rather like it. It’s industrial without being brutal.

I’d intended for us to go to dinner at Tres Agaves, a new Mexican restaurant and tequila bar near SBC Park, but apparently there was a motocross event going on at the stadium and the cheapest parking there was $20. I think next time I go into SF, I’m going to really strongly suggest we just drive somewhere close to the city and take public transit the rest of the way in.

Instead, we ended up at Consuelo in Santana Row, a neat tapas-style Mexican place that also has a terrific tequila selection. This is both good and bad, good in that I had what was probably the best margarita I’ve tried—bad in that it’s encouraging me to think about how to make my margarita recipe better. I had a good pork dish, although [ profile] dracomistle was put off by the restaurant being loud and seemed to have a general mood crash. (This may have really been the onset of a cold he has now.)

Yesterday was the day I’d planned to spend on personal projects, although of course that didn’t go quite as intended. I set out for Panera but detoured to Sweet Tomatoes, and spent something like two hours there puttering around with story notes and a bit of web design work. Later that evening I got the “first draft” of the ESM web site up for testing, which looks fine in everything but—naturally—Windows Internet Explorer, which screws things up in both subtle and unsubtle ways. CSS positioning is off by a few pixels, dotted borders become dashed borders, some borders just go away, and to add a bit of insult to injury, IE can’t handle Unicode dingbats: I was using the ❦ character for section separation. On any platform with a dingbat font available, that will (should) be an ivy leaf, except WinIE, which will present a glorious empty box.

chipotle: (Default)

So. I have this web domain…

The original idea of Claw & Quill was to be an edited magazine, but it ran into two long-standing bugs in my personal software: one, I’m more interested in being a builder than a maintainer; two, I don’t delegate well enough to make sure that balls I set in motion keep rolling if I’m not behind them pushing. I’m working on ways to address the second one in the Excursion Society MUCK: simply, there are 3-4 other people I’d like to approach as wizards, and the goal is to set up a system that keeps any of us from being “blocking points” on outstanding tasks. While I had ideas on how to do that with C&Q, too—the biggest idea one being bringing on one or two other editors!—I deliberately pushed it to the wayside this year. (One of my other long-standing bugs is taking on too many projects simultaneously, so one of my resolutions earlier this year was to start serializing them. I’m also starting to learn how to serialize the projects into discrete actions a la Getting Things Done, but that’s a subject for another message.)

While ESM remains my main delayed project for the moment, I’m hoping to give it a “soft opening” in January, which means it’s going to be time to start thinking about C&Q some more. The big thought is: what is it going to be?

The two obvious choices are another run at an edited magazine, or some kind of fiction archive, perhaps to supercede the Belfry Archive that [ profile] revar started years ago. (Since I think the only thing Revar put in there are stories I wrote, I don’t feel too bad suggesting a theoretical replacement.) However, I’ve joked that I have a good habit of recognizing niches that should be filled but a bad habit of trying to fill said niches myself, rather than getting somebody else to do it. Hence, things like Mythagoras, furry fandom’s first “semi-prozine,” which was pretty damn cool if I do say so myself and established several other firsts: first furry zine to have newsstand distribution, first furry zine to publish a Hugo-winning author, first furry zine to be penalized by the tax board. Go us! But if this didn’t lay groundwork, maybe it at least inspired people, like Sofawolf Press, for instance—what they’re doing is what Mythagoras could have done with people running it who were serious about, well, running it.

And on that front, 2005 has seen two interesting things… namely, somebody else doing an edited magazine, and somebody else doing a fiction archive. The former is Quentin Long’s Anthro, a cousin of his bi-monthly TSAT transformation fiction zine. The latter is FurRag, Osfer’s ambitious project to develop an archive site with extensive user-driven filtering capability:

Rather than having a different archive for every set of preferences, there ought to be one single collection which can easily be filtered down to the stories that interest any particular user. As FurRag’s technologies are rolled out, it will come ever closer to achieving that goal, allowing all stories a place in one massive archive whil [sic] allowing readers to easily filter away what doesn’t interest them to get at what does.

So, I suppose the questions for me are:

  1. Is there a third way to present furry/sci-fi stories that isn’t either of those two models?
  2. Is there a way to make a hybrid of the two approaches? If so, what would it entail?
  3. Is there a slant I could take that would differentiate Claw & Quill from either of those attempts (or others that may be out there already)?
  4. Can I come up with a good justification for “competing” with either of those sites? What would it mean to be substantially better in this context?

To share my sketchy bullet points:

  • The “furry but not in a way that scares non-furries” approach I’ve tried to take in the past
  • A site that would be a “moderated archive,” like Yerf! was for art
  • Featured stories that would be put on the front page like a magazine, possibly with illustrations (and possibly with payment!)
  • A user interface I haven’t defined yet, but whose ideal is what Apple mostly gets right: visually pleasing, intuitive, and with “scalable power,” i.e., new users can figure out what to do immediately but advanced users don’t feel patronized
  • Ruby on Rails Ajax tags Web 2.0 blah blah blah
  • The other editors I’d thought of for C&Q version 1 might not be off the hook, depending on their interest next year

While I’ll be chewing on this for a while, I’d like to get other input on this from folks. Critiques on my ideas, critiques on other people’s ideas, answers to my questions, all those things that will intimidate me when I try to get going on this in a few months.

Addenda, 8pm: One of the future plans for FurRag is to have “reviewer” roles, where users can follow lists of stories a reviewer thinks are worthy. I presume this will be something like iTunes’ mixes or Amazon’s lists. It’s possible for C&Q to be a FurRag list, in effect combining forces rather than having two separate sites. Good, bad or neutral? I have my opinion on this and my reasons, but want to hear others!

chipotle: (Default)

Have you ever had one of those days where objectively things have been pretty quiet, but you’ve felt like you’ve been doing the headless chicken dance the whole time? I’ve been having a day like that a lot of this year. I won’t rehash the I am restless and want to spend a few months wandering aimlessly thing, though. Maybe this will be taken care of to some degree by a fast-approaching trip to Seattle for Conifur–which will be too short a trip, and somewhat hastily organized (I have yet to make hotel reservations, although I may take advantage of [ profile] shaterri’s offer of space for a night or two).

Yesterday I picked up my Ruby LiveJournal tools to start beating on them again, in part just to get back into a Ruby frame of mind. I need to get the rest of the MUCK’s central island built, at least to a point where I can invite the prospective wizards and builders over and get them going. Which, of course, doesn’t have anything to do with Ruby directly, but I may end up writing a quick hack of a Rails-based trouble ticket system for management purposes. And the prospective revival of Claw & Quill will also be Rails-based, although it’s a project I’m likely pushing the start date back to January for peace of mind’s sake. I need to stick to one major project at a time, and that major project for October needs to be the Excursion Society. (Long-time webzine editor–and C&Q contributor–Quentin Long has picked up my considerable slack with Anthro, his own webzine. Which is good because the concept keeps going on with someone who’s quite honestly better at keeping going, and my own tentative revival plans are sufficiently different that it won’t be direct competition anyway.)

This obliquely brings up the idea of a project for November, namely, NaNoWriMo, National Novel Writing Month. Last year I started a novel, referred to as “The Untitled Novel About Dragons,” and got about 23,000 words done. While that was far short of the 50,000-word goal, it wasn’t a true failure in my eyes; it broke a bit of a writers’ block that I’d had and forced me to write in a different, non-linear fashion. TUNAD was, in characteristic coyote style, pretty ambitious, and it’s something I’d like to get back to eventually. I dusted it off recently–virtually speaking–and have been rereading it, although I haven’t gone back through all my notes to see where it was going. (Where it was going was more in the 100,000-word range, I’d say, not 50,000.)

And, really, that was the value of something as nuts as this for me. I’m not under any illusion that this is a good way to produce saleable fiction, but it may be a good way to break the habit of polishing your rough draft as you write it. As an aside, if you’re an aspiring writer who talks to other aspiring writers, it’s easy to imagine that all of NaNoWriMo’s participants are; they’re not. If you go to a NaNoWriMo group, you’ll probably find most participants don’t have any interest in being novelists at all–they’re looking at the thing more as mental tai-chi, a lesson in working under pressure. It’s a good skill for everyone, and one I’m clearly overdue in re-learning myself.

NaNoWriMo rules dictate that you don’t go back to a project. You can pick up something that exists only in notes (which TUNAD had for a couple years before that), and I suppose you could start rewriting something completely from scratch. But, it’s better to do something completely different. I’m considering dusting off one of several older but undeveloped ideas, which would be completely different for me on several levels.

More later. I’ve been writing this on lunchtime, but I should really go out and, oh, get lunch.


chipotle: (Default)

April 2017

234567 8
232425 2627 2829


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated 2017-06-26 01:50
Powered by Dreamwidth Studios