Two Poems for Florence

It’s Valentine’s day, and seeing as how I haven’t posted any poems on here in monthsandmonthsandmonths, I decided I’d look back and see if I ever posted any of the poems I wrote for Florence when we first met. Turns out the answer is no, I didn’t. The first of these was the first poem I wrote for her, and I’m almost embarrassed to say how early in our relationship it was. It was the first time I told her I loved her. (Although I copped out and told her about it before I actually sent her the poem.) The second is one I remember feeling particularly proud of, and it seems to stand the test of time as well… enjoy!

A Single Sticky Thought

My sleepy foggy brain is clogged with
three words so big
they won’t fit out of my mouth.

I think them as you’re touching,
kissing, me awake.
My hands discover your
still naked, freshly clean body.
My eyes too fresh in dream to open.
I tell you about the dream instead,
trying to push the words out of the way.

They bubble to the surface
again in the elevator with you.
Stopping at the main floor, my exit,
This isn’t goodbye. I think, but
my mouth is full of I love you,
and I say nothing.

Synesthesia Aphrodisia

Your touch rings in my ears, your voice
a brush on my skin, your smell so physical
it moves me, the curve of your hips
so potent I taste them with my eyes.

I sense you, a languid memory.
I absorb you, an osmosis dream.
You have invaded me, your presense
a shadow I hear in pastels.

I kneel at an alter of you, take you
whimpering and whispering into my mouth,
swimming in the quiet purr of your voice,
the beautiful pulse of your green gold eyes.

Con-damnation!

I was just reminded about Con of the North, which is a local gaming convention. I’ve been meaning to go for years, but I never really know when it is. Well, guess what, it’s this weekend.

But I’m already signed up for Frozen Perl on Saturday, so I’ll probably just pay the one-day fee, and go on Sunday or something. (I have plans Friday night to see Jumper with Florence.)

In con-pletely unrelated news, I am someone’s version of nice stuff.

BigText.org

I spent a bit of time (probably too little) one afternoon this week searching for a website that created ascii versions of text. Instead, I found a command line utility called FIGlet, and approximately 4 hours of dev time later, (including 3 hours after about 11:30pm last night), BigText.org was born onto the internets.

Feedback is welcome/desired. I’m especially curious whether anyone can break it, as obviously security is a concern.

UPDATE: There are many other web-based figlet servers out there. I’m glad I didn’t notice them until now. I probably would have given up.

Typography in Code: A Field Guide to Whitespace, Part 1

We all know what we like and what we don’t like when it comes to whitespace in programming. I can only speak for myself, but here are some elements to consider.

One of the universally accepted natures of code is to indent where appropriate, and this first installment of Typography in Code: A Field Guide to Whitespace will focus on the various incarnations of the all-important topic of (queue thundering god voice) indentation.

Topic: Tabs versus Spaces

This primordial, often invisible question is at the heart of the indentation beast. Like good and evil, right and wrong, vim and emacs — tabs and spaces are diametric opposites, warring factions facing one another across a never-ending epoch in which all our text files are smoking battlefields. One kicker is that both sides use ninja assassins. YOU CANNOT SEE THEM COMING, until… that is… you find them lurking in your legacy code, buried at the beginnings of lines near the ends of your files, like trip mines in long forgotten functions.

This is when you spend hours constructing that one perfect regex to rid your code of the enemy once and for all. (Also, unless, of course, you are one of those odd ducks who likes to see their whitespace characters. I respect you, even if you are crazy.)

Where I fall on this fence: My heart titters for tabs. But I didn’t always believe in them! I admit it, I was once an indentation swing state. But here’s why tabs are king for indenting: Tabs are like using semantic markup. We all (mostly) want code to all indent the same width (no matter what that width is), and a single tab character means that width. You can even change this width (tab stop) with a single command in any decent editor. This alone should be enough for the triumph of tabs over spaces.

Topic: How wide?

Tabs are 8 characters, and thus indentations are also 8 characters. There are heretic movements that try to make indentations 4 (or even 2!) characters deep, and that is akin to trying to define the value of PI to be 3. (Linus Torvalds, From Documentation/CodingStyle of Linux, via wikipedia)

This is a trickier beast. I believe in the power of four. It’s more legible (discernible) than two, especially across dozens of lines, and eight is just too wide a gap. With a tabstop of eight, you only get ten indentations before you’re out of 80 column width entirely! This is as opinionated as I get, since four just looks right to me, and I can’t really cite any good reasons for it. Just take it from me: you’re an IDIOT if you prefer anything else.

Yea, and the number of spaces to equal one tab shall be four. No less, and no more. The number shall not be three, and the number shall not be five. Fuck that the number shall definitely not be odd. The number shall not be two, and the number shall not be eight. The number shall be four.

Truthfully, I don’t care what your tabstop is set to, as long as these things are true:

  1. I can set my tabstop to something different and the code doesn’t look all fucked up. This means, yes, tabs.
  2. Never use a combination of tabs and spaces. (Fuck you, default dreamweaver settings.)
  3. Tabs should never be used anywhere but at the beginnings of lines. (This violates #1, but is also a really bad practice for other reasons that maybe I’ll get into in a later article.)
  4. Consistency, consistency, consistency. (WTF BSD, WTF!?)

Extra Credit: Read (and care about) the wikipedia article on Indent Style.

Next topic: How many line breaks look the best: Between Function Definitions, In Functions, Around Comments, and more!

TypeSites

I love typography.

It’s true. I always have. I think think that, in the same way that most writers love words, for some of us, it just keeps cascading down. A love for prose and poetry leads to a love of words, which leads to a love of letters, which leads to a love of the shapes of letters… and then the spaces between letters… etc… etc…

Today my friend (and co-worker) Kyle launched http://www.typesites.com/, “a biweekly showcase of websites with interesting typographic design”. There’s just one review there… (for now), but it’s getting some attention already.

There was a brief time when I thought I would become a designer. But really I just wanted to shape letters on a page. I think this is part of the reason I ended up designing everything in black and white. For example, my brother Dan’s website, which I designed for him back in something like 2000, basically just uses his old email signature’s ascii art as navigation and design element. (I spent part of this last weekend re-vamping that site so he could use wordpress to manage his pages.)

In my present occupation, programming does actually fill some of these same needs. (I’m a bit of a syntax fascist, enforcing strict whitespace rules whenever I can.) Which leads me to an article on the typography of code, which another co-worker sent around the office today. I liked the article, but think it spent all its efforts on the fonts the author uses (or has used) to write code, which is really only one aspect of typography. I’m contemplating writing my own article, about the arrangement of code independent of font, a sort of field guide to whitespace in fixed width font environments. Then again, I’m lazy, so don’t expect it any time soon…

Song titles that are girls’ names

I was particularly proud of this song queue I created this morning:

Kathleen, Josh Ritter
Evangeline, Matthew Sweet
Gracie, Ben Folds
Jolene, Cake
Allison, Pixies
Gloria, Them
Maybellene, Chuck Berry
Layla, Derek And The Dominos
Billie Jean, Michael Jackson
Peggy Sue, Buddy Holly
Lola, The Kinks
Roxanne, The Police
Alison, Elvis Costello
Jezebel, Iron & Wine
Julianne, Ben Folds Five
Kate, Ben Folds Five
Mary, Joe Purdy
Laura, Charlie Parker

I’m sure there are tons more, but these are the ones I thought of / found on our tunez server this morning.

Go Tetris! presentation

I gave a presentation tonight for the local twin cities chapter of the International Game Developers Association. I think it went well. There were somewhere between ten and twenty people in the audience, and they seemed genuinely engaged and interested.

The presentation can be found here:
http://docs.google.com/Presentation?id=dg2n4s6k_19dcdkm5gp

After me, another guy, Darrell Hardy presented about board games and the industry in general. I guess he worked at fantasy flight for years… he seemed like a really nice guy, and had several interesting things to say.

Florence tagged along, and she even said afterward that she’d had a good time. She’s been showing more and more interest in games lately. I’ve even got her playing an x-box game (Samurai Warriors 2) with me semi-regularly (the latest in the Dynasty Warriors… er, dynasty, it’s a great one for co-op). My crowning achievement: She admitted to me tonight that she closed her eyes and saw guys running around with little red bars above their heads.

There is no spoon. :(

I’ve never before understood how powerful and devastating it can be to lose a truly beloved pet.

On Tuesday night of this week, Florence and I arrived home, and as we walked in the door, we watched our cat Spoon start convulsing and die, right before our eyes. It happened extremely suddenly, and I cannot really express the sadness and helplessness that we both felt watching his last agonizing breaths wheeze out of him.

This post is one I’ve been composing in my head and meaning to write since that night, but (so far) this is only a fraction of what I meant to say. So maybe this is more of a placeholder. One thing I really want to do this weekend is post all my best pictures of Spoon to flickr, in a special commemorative set.

Rest in peace Spoon, you were loved. And you will be missed.

Portal Preaching

OK, I know I’m late to the game on this one, but I just finished playing through Portal (rented the Orange Box for my 360 this weekend), and… damn. So fun! Everyone and their mother has already ranted about how great this game is, and I have mostly been trying not to pay attention, so I never heard anything about how great the song in the end credits was. I also seemed to miss any mention of how funny the game is. The end boss fight was especially hysterical, and I totally didn’t expect a boss fight at the end of the puzzle game, but it really worked! There were several points at which Florence, who was mostly sitting next to me but not paying attention, giggled right along with me at the robot’s hysterical quips.

literary social networking roundup

My friend Sara just got me to sign up for GoodReads, a social networking site where you keep track of your books… a lot like LibraryThing, but a little more review-focused (from what I’ve seen so far). I was able to import my booklist from an exported CSV from librarything. Now I just wish the sites talked to each other so I didn’t have to manage both lists. (Because I’m guessing I won’t do a good job of either.) I do sort of think that, on first impression, it’s a little more fun to surf around GoodReads, mostly because of all the reviews. Next to each book listing (review) are links to rate the book, so I’m finding it as gratifying as when I used to surf around netflix to rate movies.

Just for fun, here are the links to my profiles (add me!): GoodReads, LibraryThing