Thursday March 28, 2002

They must've coated the building with some no-stick shit 'cause today the spray-paint is gone. Taking it off didn't even hurt the mural. Whew. I was thinking about organizing a mob to get those fuckers and publicly spank them in front of thousands of onlookers.

Wednesday March 27, 2002

Every goddamn day of the past 9 years I've walked out my front door and seen old Georgia O'Keefe. There's always a bunch of people standing on the corner straining to get the whole facade to fit in their 50mm lens. I'm proud and a bit weary of it at the same time.

Here's a view of the top, which I prefer to the "celebration-of-the-handicapped-minority-aids-activist-dykes-in-wheelchairs" thing going on next to Georgia, which is now spray-painted over.

This is truly the most beautifully painted building I've ever seen. I've been on Lapidge for every day of its life. I'm not sure what they can do to restore it. Keith Sklar's "Learning Wall" used to my favorite building painting before it got fucked up. I think I heard that he destroyed it himself because it had accumulated some graffiti. Hope the same thing doesn't (I know it won't) happen here.

Now THIS motherfucker can write. I'm floored and flittering about. I skated as fast as I could down to Bi-Rite for a sandwich so I could get back and write about this writing. As I was eating my food in the 70+ degree heat on my front stoop, a mural tour operator pointed out that someone had vandalized the women’s building recently and I’ll take a photo of that after I’m done with this.

I didn’t know what it was when I followed the link from Ftrain and I’ve only read 5 posts but, damn. Damn. The Men was the first thing I read and since one of my first hobbies was cross-stitching and crocheting when I was in fifth grade I read some more. “Pet Ownership” was the tip-off that something deeper was going on:

He was really better off in a cage in the shelter than home with me. And later I realized that even when you and I were together, I still always felt like I was coming home to an empty house.

A failed relationship. In “Crocheting” it comes back, “Knots. I just sit and tie knots, over and over and over again.” And I think I’m going to like this....guy? Is it a guy? Maybe not? (I still hadn’t figured out that it was Joshua Allen writing this stuff.) The parallels are building faster than I can handle. I’m listening to “The Doctor Came at Dawn” by Smog and “Television Bingo” is basically a Smog song that’s not afraid to be funny.

So it’s on to Shinkicker and now I’m not sure if this is fiction or what. Can this kid really be real? She’s so perfect. So beautiful.  “My daughter, shinkicker is what her business cards say, so cute, made with the ditto machine on the back porch.” And he’s so proud of her. And I think of having children: can I make something that beautiful? And of Marcie and her biological clock. Sending her a link to this story is sweet punishment. “I told her she couldn’t put our phone number on the cards so she used our Thomas Guide coordinates instead.”  While I paste a url into my mail software I notice that it’s /box/000482.html and that’s got to be the cutest web address I’ve ever seen. He’s using post office box addressing. I’m crushing.

I’m starting to get giddy at this point and I try Voigt-Kampff on for size. And now we have the best yet. Maybe there’s hope around the corner for this guy. He seems to attract and appreciate fine individuals:

She returns a few hours later, somehow carrying four cocktails, each one the color and consistency of a sleet-packed cumulus cloud. She says something along the lines of: “You’re going to have to help me get my arms in the holes of that jacket,” except it sounded practically obscene the way she said it.

The guy knows what I like.

Back home, it takes three mirrors to make it out: KLondike 3-5652. Ma says I should act now before she passes out, I argue that she seems like the type of girl who would stay up late with a bottle of white wine, scrawling poems on her wallpaper with bloodied fingernails. She needs to simmer.

KLondike 3-5652 sends me running for my phone to try and figure out if I can change my number to those digits I used to find in my mother’s address book from the fifties. Hmm, AL 2-8041. Alaska 2? I was BA 6-1336 as a kid. I now have huge amounts of admiration for this writer. I don’t care if it’s true or not. Then he proceeds to have a, what should I say, “high fantasy” conversation that reminds me of Anne, who could burn up the email like this guy, and then it all comes slamming down. Like it is a fantasy dreamt up by a guy who’s relationship is described in The Gel:

Those days have been gutted and buried in burlap sacks. Those days knock on the floorboards late at night with rotting hands, bony knuckles. We can still be friends, they say in that awful zombie voice, the vowels drawn out way too long, the dry coughing spells, and I have to turn up my white noise maker so the house shudders under the weight of chirping crickets and burbling brooks.

Remember folks, this is only the first four posts I’ve read. He’s already mentioned dendrites and killing with coffee spoons. So finally I follow Poem Tag to its rightful end.

He put my love in clear perspective.

Just this week I had a little bit of a turnaround on the direction of my app and it might turn out to be more general purpose than I had initially planned. Just as a little background, I'm writing a blogging tool that doesn't rely on a server-side process like blogger or all the others. I'm learning to program with this app so it's gonna be a Frankenstein monster by the time I'm done. I decided to make it because I want my blogging to be integrated with all the writing that I'd do on my website. It needs to be in xml at some point so that it can be re-arranged and restructured and integrated with non-blog material. For example, for a few months I was publishing a photo a day and later I wanted to make those posts into a gallery but then I had to make all new webpages instead of just flagging the posts and changing the page template. showed me that I can extend the longevity of blog posts by making the content structure fluid. I'm not interested in feedback mechanisms right now. I don't think the kind of writing I do warrants it. It's more important for me to be able to easily insert a photo or video (that comes from a media database) than have someone be able to post a comment.

I want a tool for generating a static website on my local computer that I upload. If I could figure out WebDav, I might use that but seriously doubt I will because there's a slim chance that any webhoster will support it. If I need to travel, the damn app is coming with me. I went to India with a laptop so I don't think I need to make it harder to build and use just so it is a stupid web app. If I'm posting photos or vids I need to have Photoshop or AfterEffects installed anyways.

It started out with me trying to just export blogger posts to XML and create a scripted XSLT processing system. XSLT turned out to be ridiculously hard to use and definitely not CMS-in-a-box. And, I had no way to compose xml. I developed a system using Word and then doing XSLT on the XML that Word saves. This was still limited because I had to script the timestamping and ID'ing and categorizing with Word macros. That's when I started using Python. It was still going to be a non-gui XML, XSLT templating system but that broke down as soon as I realized that XML was a crappy storage format because parsing and writing with DOM or SAX is about 500 times more slow and complicated than a database query/update. When I gave up on xml, I said, well, might as well build a damn gui/database app and be done with it. That's where I am now. XML export will probably be the last thing I work on.

I chose Metakit because it looked really lightweight interesting and I didn't want to use one of the Unix db or MS formats. Metakit turned out to be a serious challenge because of the limited docs. I felt like I was being left in the dust by the hardcore c++ coders that primarily used it. And I was used to relational/sql and Metakit is quite different. I'm still on the fence but I'm not sure where to go. Most of the work I've done so far is write wrapper functions for Metakit. I can't seem to get my head around pickle.

I chose wxWindows and PythonCard because Tkinter just seemed clunky and unix-centric. Tkinter seemed to go against the grain. I really wish I could just use visual studio and bang out the forms with VB. But now that MS is abandoning old VB and transitioning to .NET, I didn't want to learn that stuff. Maybe .NET would be great for my app but I don't have the green for the software and it's too new. My experience in the past is that you go looking for some piece of VB code on the net, you find it, but it's a damn ActiveX control that the guy is selling for 49.95. I figure .NET's gonna be this way also.

I now have a schema for blog posts, an app that will let you create posts with titles, summary and bodytext and choose some categories. The schema is simple and blog-centric. It's not Docbook. It's not BlogML either. There's post filtering and date selection and two ways to edit. I have to hand-code if I want an image. I'm using the same plain text markup that textrouter uses (but with less features) and I also have it round-tripping the post through a Word editing session. It stores in MetaKit and the next thing is to use my hard-won XSLT experience and write some slick exporting functions to generate my blog. Right now, I'm composing with my app and pasting the posts into blogger and letting it publish.

It's going to be pretty dumb right now with no revision control but soon I'd like my app to know what to export, when. Right now I control it with a 'publish' Boolean. I want my app to integrate with a more general purpose publishing system so I really only want it to export plain xml (looks like separate files for each post unfortunately) that will get scooped up by some other CMS / template system that I write later.

Monday March 18, 2002

If you’ve ever walked down the street with me while I tried to convince you that it was ok to pop a top and have a little drinky-poo on the street, well, you coulda laughed and pointed at me as you drove by 19th and Mission today at about 5. I was standing there, with half a Newcastle Brown Ale splashed all over my Vans. It was poured out onto the sidewalk by one officer Baretto.

I was having a pretty good day. Got up early as the sun was making my apartment glow, and I had Swiffer’ed the whole place by ten, singin’ like I was Julie Andrews. By noon I had all the bottle caps and gum wrappers off the coffee table and was crankin drum ‘n’ bass. Maltz picked me and Marcie up and we went to Café Lola and saw Joanna and then we visited Rebecca in her big new warehouse down by the water. It was a beautiful day and it was all going swimmingly. Dave dropped me off at SF General for my appointment where I got various excess skin growths blasted with a liquid nitrogen torch. It started to get even better when I talked to Jason at Chalk as I sauntered home and he said things were moving forward with my little employment proposal and he’d be able to do something in a couple of weeks. Well, what else to do as I was about to cross South Van Ness but stop in and get something to drink? I was thirsty, the sun was setting in my eyes, I was on a walk across my beloved neighborhood. I settled on the most tastiest of beverages I could imagine. Newcastle Brown Ale. The liquor store clerk congratulated me on my selection and bagged it up in its own individual brown paper bag. I twisted and cranked that sucker down on my bottle and headed across Capp St.

The smell of roasting chickens pouring out of Pete’s BBQ was almost driving me crazy but I took a big pull off my beer, holding proudly aloft and rounded the corner onto Mission. I saw the old Mission Thrift sign and I hadn’t been in there in a while. I figured they’d let me bring a beverage in while shopped. I headed across the street.

Then I saw them. Big, thick cops. I palmed my beer in my opposite hand but I’m sure it did no good. They saw me crossing the street and just stopped and waited for me to get to the other side. The guy on the right held out his hand and said, “Hmm, whaddaya think, what got you caught? Which was easier for me to spot, you stashing your beer or you J-walking across the street?” He gave me the usual, “You’re pretty goddamn stupid. Just like everyfuckingbody else I have to deal with on this piece of shit street.” As he splashed my new Vans he said, “You know the main reason why they got us walkin’ up and down this street? The businesses pay us to keep people from drinking on the street. I could give you a ticket for J-walking and for public drinking and the J-walking one is a big one, but I’m only giving you the drinking ticket. You ever been arrested, Mr. Primmer?”

As I go through this story, the humiliation is starting to wear off. I think I have a Newcastle in my fridge. I’m starting to get my thirst back.

Saturday March 16, 2002

With all my ranting lately about character encoding and programming you’d think all the joy had drained out of my life. Well, here’s a bit of joy and humor that fits squarely in my present consumption of all things programmatical:

Answers for a Canadian 6th-Grader is 82 year-old Bob Bemer’s response to a young boy’s questions about the technologies he’s responsible for: namely character encoding in computers. His style is cute and wholesome and he’s my kind of computer geek. He’s got a no-nonsense, hardcore approach to tech and a keen understanding of the soft tissue (humans) that beat on them. I love reading his "Computer History Vignettes". It’s amazing to me that everything we know of relating to digital computers has been created in one man’s lifetime.

Tuesday March 12, 2002

Wow, it fuckin worked. I just solved another character encoding problem. Now I can type in my blog. .decode(‘utf-8’) is to thank for me bringing you another installment of “rave about the Mountain Goats”. You’ve heard it all before but it hit me again tonight and in solemn deference to the laws of energy, I must pass it on to you. This one includes a sound bite. Choosing among the first (rock, peacock) or the second, (rock, crow) was my only dilemma.

I thought “Fall of the Star High School Running Back” was all there was to the new album. But it has been growing into a young, healthy monster here in my living room. As I demonstrated by making a fool of my self in mp3, I think “Pink and Blue” kills.

“Balance” drags, and I mean by the hair, with shorts on over the hot asphalt, an unfortunate couple’s demise before us. The balance in this case stands for what’s left to withdrawal from the lovebank. “Two tall glasses of sweet ice tea, underneath that sweet young tree and the love we once nurtured you and me, disintegrating violently.” But I’m not here to write about that.

Gaining ground and closing with force is “Fault Lines”. I’m not sure if it’s the same couple, different day but the results are not much better: ”I got sugar in the fuel lines, both of us do. Yeah the fights and the lines that we both love to tell, failed to send our love to its reward down in hell. I’ve got pudding for backbone, but so do YOU!”

“The Mess Inside” is slaying me at this moment, and at many moments I’ve felt the same as the couple that is on a habitual “relationship saving vacation”: weekend in Provo, week in the Bahamas, New Orleans in spring, New York City in September. “Took the train out of Manhattan, to the Grand Army stop. Found that bench we’d sat together on a thousand years ago, when I’d felt such love for you I thought my heart was gonna POP. I wanted to you, to love me like you used to do.”

Are you crying yet? My right eye is a little wet.

But the whole reason I’m not finishing off that big block of If...Else statements in is that “Distant Stations” are playing. This song is like the Bill Murray of songs. The one and only. You know, when you’re watching some Bill Murray and suddenly you think, “God, I’m so happy I’m here to witness this. He’s not a comedian. He is my mother and my father and all my brothers and sisters and he is every wink from a cute girl I’ve ever gotten. All here, goofin for my benefit.”

You taught me how to listen to these distant stations.

I thought “Distant Stations” had a cool guitar hook. I thought it was a fine MG’s ditty, heavy on the wheel grind, but it wasn’t until I started to listen to it critically, to try to hear the chords, thinking that I’d try to play it, that I heard the lyrics and saw the scene laid out before me and witnessed the brilliance of the phrasing and structure. Immediately you notice the Raymond Carver-like pointillistic detail. Sure. Sounds like a bitter lover (again?) stalking his teacher and nemesis.

But then, on the 15th listen or so, I hear what he is saying. Sometimes I don’t hear what John is trying to do when he paints an atmospheric detail that is supposed to signify what is going on in his characters. I never got “symbols” when I was in English class. John uses a lot of symbols. He uses them so much -- the sun: rising, falling, hanging raining, drinking: together, alone, again, trips: ending, starting, remembered, -- they’re hammered-on icons at this point. Many times I don’t understand what working in a bakery has to do with how a man feels when he gets home and sees his wife’s keys on the kitchen table. I don’t know what I’m supposed to think of “Distant Stations”.

You see, “I found and old rock in the dry dirt outside the door of my motel room. It was triangle with soft rounded edges and a slit down the middle of one corner. It was darker than English moss. Green like the soft frills of a peacock’s plume I waited for you. But I never told you where I was. It was you who taught me how to write this kind of equation. I waited on the steps for you and I hid in the bushes whenever a car pulled into the parking lot. You taught me how to listen to these Distant Stations.” This guy waits for someone who doesn’t know how to find him. Ok, he doesn’t want to be found. But maybe he wants to be found more than anything. Or maybe he is unsure if he’s lost or even knows where he is. These could all be correct guesses because he seems to be at home in this koan-like nonsense. After all, the person who he’s waiting for has taught him “how to write these kind of equations”. He throws a rock at a crow that was playing in the roses by the motel office and misses him by a good yard or two. You all know what that means. Don’t you? Listen. He’s teaching me to write his wicked-ass equations.

Saturday March 9, 2002

This page has a rather fascinating story of the development of the game Adventure. It was written by Will Crowther (who was at BBN writing the code for some of the first routers on the ARPAnet at the time) and then picked up and embellished by Don Woods. As the story goes, Woods sent a spam mail to to try and find Crowther. Not bad. It worked in those days. (unix geek aside: a “wall” in Unix is short for Write All. Send a message to everyone on the system.)

I don’t know if you’ve played Adventure but if you can get this java applet to load, you can play it in a web browser. It’s pretty authentic, with Courier monospace type and everything. A while ago I wrote about how nuts I was about the game Wizardry. Well, I suppose if I’d been around a computer a little earlier I woulda gone crazy on this game. As it was, Defender and Donkey Kong made it look pretty boring.

Do de dooo. I made my little posterchild app load, write, and parse .ini configuration files today. Now I have state!

Thursday March 7, 2002

I'm shutting off autoplay on that damn Aphex Twin sample. It's driving me nuts.

So far on my programming project, (I'm calling it 'posterchild') I spend most of my time worrying about the codepages and escaping of specialized markup or punctuation characters. Separating content from design - or designing the separation of the separation. This is disappointing. I wish I was designing new ways to structure my content and narratives. To provide interesting context for the reader. To make recycling the garbage I've already written easier for anyone. As I tried to mention last week, this is the fault of the current crop of X related technologies. XML etc force me to process textual information with tools the equivalent of assembly language programming.

Unicode is a pretty dry subject and it's something that software engineers in charge of localization have only been forced to deal with. But I, as a not-so-humble writer, if I want to do something as simple as have curly quotes in my writing, or make sure a tool I was using to compose a piece wasn't inserting characters in my writing that would not display on someone else's computer, have to wallow in the details of Unicode or XSLT syntax.

Do you think this is a common thing for writers to deal with? Hell no. Most of them don't even have the most recent copy of Word. In the old days you had grunts to rework and misinterpret your type and/or handwriting before publishing. Think about what happened to James Joyce: fuckups who can't grok some cutting-edge shit creating entire industries of critical analysis bent on figuring out the real intentions of the writer.

I don't care about internationalization of my writing. Maybe that will matter some day but not now. I'm just doing it for the punctuation and IN-LINE MARKUP. Oh, the place that "standardization" has got us to in regard to in-line markup is one of the best yet! Most XML proponents claim that I, as a writer, (because of some 9 year-old girl that's reading my shit in Braille by the fire in a cabin in the woods), don't really want *bold* text, I want <strong> text. They say that bold is just plain wrong. It has no semantics. What bullshit. They say, "It is the job of the author to indicate the meaning and let the rendering device determine the best way to communicate the meaning of the words." That makes sense on some levels but I just want my texts to be text. If you know how to use it, text is rich enough. I'm a professional after all and I put a lot of time into rearranging words.

They (and I mean the SGML and W3C nerds that spec'd this shit out) build the tools assuming I'm some stupid "knowledge worker" writing a software manual who tries to use Word like it's a typewriter. These standards are reactionary. Because, I admit it, there are a lot of dumb people out there, bastardizing poor little web standards. But have you looked at their web pages? They suck. I can immediately spot your basic weak-ass CSS-driven box-model crap. This is the hand-me-down toolset that the poor artist gets from the business world. Some of it is genuinely soul-sucking and evil. Well, I won't give up just because it's hard. Now that I know how much a computer mangles type and that text files have a codec the same way computer video and audio have codecs, I can't ignore it. Encoding schemes are central tools to a digital artist.

I thought XML was the magic high level text encoding scheme I was waiting for. It does allow a writer to boost the meaning in their words, layering meta information over a narrative, placing hooks into the stream of words that can used later for undiscovered purposes. Its descriptive power is one level higher than HTML, and I don't have to litter my writing with programming calls to a web browser. (What a revolution!!) Everybody seems to be considering it the preferred archival format because it is text-based and human readable. But XML was the asshole that drug Unicode, and XSLT (the most fucked-up code I've seen since my attempts at 16-bit Windows GUI programming in C) in front of my face. I know of no way to work with Unicode except through programming languages. I suppose you could script a text editor to open all your files and then convert the codepages and re-save them as UTF-whatever the hell. But I doubt it would work.

XML has its own encoding problems that are !< Unicode, but the Unicode thing was something that I'd never anticipated. Now I have to escape Unicode strings into browser understandable general entities and I have to escape HTML markup inside of XML markup and I have to escape XML markup inside of XSTL markup and I have to escape XSLT markup inside of Python code. That's all so I can print the apostrophe in the first word of this sentence. There is no intelligence built into the layers. (I should mention that in the present entry, this is not exactly the case: I've decided to do this entry in UTF-8 but only utilizing "lower 128 ASCII" punctuation marks so one level of those escape sequences is reduced. Whew!) In networking these things take care of themselves: Ethernet and IP and Winsock and HTML use trUE layer abstraction. The hard stuff is done by driver programmers who manage the transition between layers. But now I'm that driver programmer.

>>> print 'I’ve had it'.encode("html-utf-8")

I&#226;&#128;&#153;ve had it

In text processing, the distinctions I make go from the categorical difference between this being a rant and a review, the semantic difference of a summary paragraph and a body paragraph, down to the difference between how many bytes of computer memory are allocated to represent the RIGHT SINGLE QUOTATION MARK. That html-utf-8 codec listed above is obviously doing some bad byte allocation. It should have been I&#8217;ve had it. But what are you going to do? I downloaded it off some ftp server at Xerox PARC and there was NO documentation and this is the only method I've found for escaping Unicode characters into HTML entities that are above ASCII 127.

I guarantee you that nobody is going to do this for me. I don't want to count how many times I've had to remove hard line-breaks from a piece of text because it went through email or some text editor. I don't think most people know that you can do a search and replace on a piece of formatting like an end-of-line in Word but you can. Not to mention the difference between Unix and Windows line breaks.

On a previous attempt at redesigning my website I ran into Cascading Style Sheets and Netscape 4.x and it sent me reeling. I vowed to never go near HTML again and never to trust "rendering devices". Maybe this is why there are no abstraction layers between my rants and memory registers. If I trusted the next level down or up it would be fine but when you've got shit like HTML and Netscape to work with....well, fuck that. I trust Ethernet. The guys who designed that (my man Richard Johnson!) made it so what you put in one end of the pipe came out the other. Wow, how novel.

Wednesday March 6, 2002

I’ve had this new Mountain Goats song blowing wind into my wings for the last few days and I haven’t learned or played a song on guitar for a while so today I sat down and did it. But first I played no. 8 “Drain You” and no. 9 “Lounge Act” off _Nevermind_ to get warmed up. (them songs are 2 of my top 5 Nirvana songs but they don’t get much credit so I want to say now that if you haven’t listened to that Butch Viggered wall of screeching bliss in a while, you will find that these two in particular (I got this friend you see..) impart a nice affect to your demeanor)

So after fully rockin I sat down with a sweet new number off _All Hail West Texas_ (recently discussed in the local paper) called “Pink and Blue”. I think it’s the standout on the record. I want everyone to hear it. I put the phone up to my laptop speaker so my friend Rose could be summarily melted by its story of a man and his newborn twins. John does the song in standard MG’s style, on his ten year-old Panasonic RX–FT500 boombox with its patented massive wheel grind in the cassette transport mechanism. He makes a lengthy point of its importance to his method and details its resurrection in the liner notes.

The microphone on my laptop is right above the cooling fan which spins up while the hard drive clicks away when I try to record but in the spirit of that old Panasonic, I figured I’d bellow into the slit on top of my Dell and post a rendition of “Pink and Blue”. I wanted everybody to hear John’s version of course, and even though you can probably find it on the internet in about 30 seconds, I didn’t want to just rip and post it here, on my legitimate, honest, website. a mulitmedia powerhouse.

So here’s it is “with fan noise included”. I guess you'll have to stop the Aphex Twin sample from playing in order to hear it. Writing that, and suddenly becoming aware of the context into which I'm posting this is more than a little scary.

I have no idea what kind of tree he’s referring to in the first stanza, that’s a guess. And I don’t know what “reception sticks” are either but that’s what I heard.

E  D         A   B            E   D
Wind out of Oklahoma this morning
              A       B        E  D
Smelled like blood an smoke
                   A        B
And the crows discuss their future in the
F#                  A         B        E
branches of their Louisiana ?Lybrook?
     D        A          B
The limbs are strong and heavy and it’s
E      D           A    B    E
Leaves are all aglow
D                  A            B
And the branches brush the upper air
        F#                           A        B
But the roots reach down to were the bad people go

    A                   B                  E
And what will I do with you, pink and blue
F#    A
True gold.
B          E    D  A  B....
Nine days old.

E D               A   B
Nice new clothes on you
        E      D             A          B
And an old cardboard produce box for a cradle
   E       D               A    B
I mash some bananas in a coffee cup
         F#                 A        B
And I fed you there at the kitchen table
E    D               A      B
Crows outside complaining about the
E     D               A  B       E
Finer points of local politics
       D          A          B
Strange wind all full of new smells
F#                 A       B
Rust and fur and reception sticks

And what will I do with you, pink and blue
True gold.
Nine days old.

Sunday March 3, 2002

Background sounds are usually hideous and annoying. If you've got the right shit, you're listening to "4" by Aphex Twin. Right now I'm drunk and I feel strongly enough about this piece of music to break the golden rule and shove http audio down your throat.