Simple wishes fulfilled

On my way to lunch with friends, I texted Tracy:

I want to sing loud punk songs @ karaoke.

…and right after that, 94.7 FM played The Sex Pistol’s “Anarchy in the U.K.” Awesome! I sang along, loudly.

Then I got to have lunch with my friends. Awesomer!

Then, driving back to my office, I flipped the radio over to 101.1… and they played The Dead Kennedy’s “California Über Alles” and followed it up with The Sex Pistol’s “Anarchy in the U.K.” again! Awesomest! More singing loudly in the car!

I guess things aren’t so doom-and-gloom all the time.

Broken echo

Echoing The One True b!x, I feel broken, too.

I’m paying my bills, and I’ve got a job, and my apartment may or may not be cleaner than b!x’s, I’m taking my vitamins…

…but I can’t concentrate, I can’t sleep, I have very little energy to do anything but sleep all day, everything feels like a big gray nothin’.

Maybe it’s just my brain that’s broken?

And it feels like it’s felt like this forever.

But… that can’t be true. Can it?

Five questions and five answers

Saturday night I decided to hit my favorite strip club for some late-night drinkin’ and fun. Because I was feeling generous, and because I was feeling experimental, I decided to buy (at least) one private dance from each girl dancing.

Rocket was on stage when I got there. I watched her two-song set, tipping a couple bucks per song, and when she finished I asked, “Can I get a dance?”

“Sure!” She held up a finger. “Give me a minute.” She gathered up her money and disappeared backstage, and exactly one song later, she emerged, took me by the hand and led me back to the private dance booth.

Before she began, I noticed that she had the beginning of a new sleeve tattoo. It was outlined but not filled in yet. I asked her about it. “Here, feel,” she said, “It’s brand-new. It’s still raised up.” I felt. It was.

“You heal fast,” I said.

“I do!” She began dancing as the song started, lifting her arms up in the air and turning slowly around. “I’m an alien from another planet.”

“A very sexy planet,” I said, in my best Austin Powers voice.

Technically, I didn’t ask Stormy for a dance. I spotted Stormy out on the floor, returning from the DJ booth after picking the songs for her next set. I didn’t even have to ask; as soon as she saw me she just assumed I wanted one. “Hang on, I’ve got to give this other guy a dance first, he’s been waiting a while, I’m so sorry is that OK?” The words tumbled out of her mouth, and her hand brushed my cheek.

I was amused, and a little irritated at the presumption, and I told her it was OK. Since I planned on getting dances from everyone, I wasn’t going to find myself in the “waiting for Stormy” mode I’ve found myself in on previous nights. Get immediate attention from Rocket, or wait all night for Stormy? Not a tough choice… Stormy can take her time.

Stormy apologized and asked me to wait at least twice more, while I enjoyed the stage show and drank. I flirted with Lux, the model-thin Asian dancer. I watched the crowd, and watched a group of girls in their twenties flirting with each other and the dancers on the stage. Always a co-ed crowd at Devil’s Point.

In spite of Stormy’s flakiness in the club, she gives the best private dances. Bar none. I ended up buying two private dances from her. ‘Nuff said. I staggered out of the booth afterward and bought another drink. She said over her shoulder as she rushed back to the dressing room, “Don’t forget to say ‘bye’ before you leave!”

While waiting for a chance to ask Lux (dancers at Devil’s Point don’t spend a lot of time out on the floor hustling, surprisingly enough. At least not that I notice), I sat at the stage and watched Stormy. One of the three girls I had noticed before sat down next to me, turned to me and said, “Can I have a dollar?”

“But… you’re not naked and on the stage.” I said, mock-confused.

She pointed at Stormy. “I’m just going to give it to her. Please?”

Feeling a bit like a sucker, I handed the girl a dollar. She held on to it until Stormy came by, then waved it in the air like a flag, prompting some close, personal attention from Stormy. OK, watching that was worth a dollar. Still felt like a sucker, though. After that set, I wandered back to the bar for another drink and some more ones; I was running out.

When I returned, all the seats at the stage were full, so I took a table with a view of the stage. I’d get up and toss a couple bills per dancer, waiting to catch Lux off-stage. Finally she walked by.

“Hi!” I said. “Are you up next?”

She nodded.

“Can I get a dance after?”

She nodded again. “Sure!” She curtsied.

After her dance, in the booth, she asked me my name. She’s asked me before. I reminded her of that, smiling, and told her again. “I’m Brian.”

“I’ll remember this time!” she said. “It’ll be easy. You’re like Brian, the dog on ‘Family Guy’!

“Well,” I said, “I am incredibly intelligent. But I’m not covered in hair all over my body.”

Lux bent down, and carefully lifted the hem of my shirt just an inch or two exposing my stomach. She let it fall, stood back to up face me, smirking. “I don’t believe you.”

“Fine, dammit. You caught me!” We laughed.

Last girl working that night was Aris. I waited for the end of her stage set and asked her, as she was collecting her money, “Do you do dances?”

She shook her head. “No.” I’ve never seen her dance, though I have heard the DJ implore the crowd to ask her for one. “But the other girls do,” she said.

I laughed. “But I’ve already had dances with the other girls. I wanted one from you.”

She gave me a mysterious look and, saying nothing more, went backstage. Had I crossed a boundary by asking everyone? Had I acquired a reputation? If so… what kind? Or was it simply that Aris did not, in fact, give private dances?

I had done what I wanted. And closing time was approaching.

I waited a bit to say goodnight to Stormy, who ignored me the one time I saw her out on the floor again. Then I went home.

Accidents happen

I accidentally didn’t run my planned 9-mile run tonight.

I accidentally didn’t eat dinner, either.

And all because I accidentally took a nap.

Now it’s almost 7 PM and I’m just awake enough to realize how tired I still am.

Oops.

launchd & me

This is a really technical, geek-y post and is probably of interest to very few of my readers, but over the weekend I finally figured out how to use Apple’s launchd to run my web stats program on a nightly basis.

Up to this point I’ve been ssh-ing into my server and running it manually. Kind of a pain. I’m more like a power user than a full-fledged server admin, though, and I hadn’t sat down and taken the time to figure out what needs to go where to get the process to run automagically on its own.

There are plenty of tutorials out there for using cron to run something. But I knew a couple of things:

  1. I was going to be using Mac OS X to run my server,
  2. Apple had come up with a nifty, Mac OS X-based tool called launchd,
  3. launchd was the primary method for scheduling, starting, and maintaining ongoing processes in Mac OS X Leopard (10.5)

…so it was a good thing to learn how to use the tool I was given, rather than rely on older tools.

Here’s a quick summary of the steps to take:

  1. Set up the script or program you want to run – I wrote a simple shell script to run webalizer.
  2. Write a text file in XML format that:
    • names the process;
    • gives the command for running the script (with the full path to the script);
    • names the time and frequency of when it should run.
  3. Save the XML file as a .plist into the proper directory – I put mine in /Library/LaunchDaemons/;
  4. use launchctl to load the plist as a process.

If you’re scared or unfamiliar with the command line, there are some GUI tools that help with this. The biggest help to me in getting started is a free program called Lingon. Lingon may be all that most users need; I needed to use the command line on my webserver, but I’m now also using Lingon on my laptop and home Mac.

Hmmm… I really meant this originally as a “yay, me!” post but I can see me turning this into a “How-to” post for anyone out there who might want to learn this, too. I’ll do that later, maybe. This is not a How-to.

For now, I’ve got the key to running programs on a regular basis on any Mac running 10.4 or newer… like finally automating that backup process I use from time to time. Or emailing my servers’ logs to me. Or… well, the sky’s the limit. launchd not only is able to run something on a periodic basis, it can watch a directory/folder and take action when the directory changes, or watch a continuously-running process and keep it up and running if it stops or crashes (lots of people use it to keep Quicksilver running).

G’night

Sleep. Sleep is much like not being. Oh, except for the dreams.

I sleep and might not wake up until I must – which means either work on Monday morning or ahem hydraulic pressure.

Did you see..?

Sorry for the late-afternoon edition. Been out running around ‘n’ stuff.

  • These are perfect pearls of story.
  • I’ve got an interest (obsession?) with the Moon. These high-def pictures of the Earth from the Moon, from a Japanese moon probe, are amazing, and are now part of my wallpaper rotation. (Via Boing Boing)
  • Yes, please. Please shorten your voice mail greeting as much as possible. Anymore, I don’t even leave a message. I figure that anyone I’m calling will have Caller ID, see that I called, and will call me back if they want to know why I called in the first place.
  • Who knew memory was so widely variable and unreliable? Try to tell that to anyone, though. Our brains trick us into feeling/thinking things for which we have no basis. I could tell ya stories…
  • A “Ghostbusters” sequel that includes all the original cast members and is written by Dan Ackroyd and Harold Ramis? Wait, it’s gonna be a videogame? Oh, pleasedon’t suck! I want this to be good. Even if I have to buy a freakin’ XBox to see it.
  • Is it just me, or do Hayden Pepperspray and Kristin Bell look terrified beyond belief?
  • Wow, Multnomah County managers making financial decisions based on personal relationships (allegedly)? That’s… that’s just nuts. Oh, sidenote: I need to ask my bosses about all that CA-supplied ITIL training they’ve been taking for the past year or so.
  • Somehow, somewhere, someone will make the argument that this proves God exists. Sure. Have it both ways! Why not?
  • Speaking of creationism, John Scalzi toured the Creation Museum and was unimpressed. It was a scathingly funny read to me. And then it made me sad because there’s folks out there who buy into this. People I love. But, I’m heartened by the knowledge that there’s a difference between Christians and Creationists; one doesn’t have to mean the other.

    “Will these folks find the arguments they find at the Creation Museum convincing? Again, you got me. I certainly hope not, but more to the point I would hope that these folks don’t come away feeling that their love of Christ obliges them to swallow heaping mounds of horseshit from people who are phobic about metaphor. I really don’t think Jesus would care if you think that you and a monkey have a common ancestor; I think he would care more that you think you and your neighbor have a common weal.”

    And many folks chime in on the comments to echo the sentiments. Yes, please. More like this.

  • Lastly, via the kids at the Mercury, this slow-starting but entertaining Duran Duran video that answers the question of what happened to all those Girls on Film, anyway?
    [youtube=http://www.youtube.com/watch?v=3LPiPOm-Xdw&rel=1&border=0]

Hardcore

It’s been a rough week at work. So busy, so stressful. Today went by fast, but not without its own level of stress.

So I was looking forward to my run tonight. I didn’t care if it was raining. I didn’t care if it was cold. I didn’t care if it was dark.

I was going to run 5 miles no matter what.

Sure, at the beginning, as I was just warming up, and getting used to avoiding puddles, and starting to feel the wind in my lungs, the voice in the back of my head started trying to negotiate a shorter run. It reminded me of my planned 9 mile run this Sunday, and warned that I might be overdoing it tonight.

I shot back with the fact that my two-week average from last week to this week would still only be 16 miles per week, well within my abilities.

It tried to tell me that I could run a shorter distance faster, be out of the rain and cold, and burn more calories.

I countered by pointing out that longer, slower runs burn more calories than short fast ones.

At the decision point, where I have to turn one way to run my 3 mile loop, or another way to run my 4 mile loop, or continue onto my 5 mile loop… I made the right choice. Actually, thinking back, I think that decision was made just after one mile, as I was powering up the long hill in Sellwood Park, and feeling great.

Running my 5 mile loop backwards, though, is a little harder because I don’t do it very often, and the turning point isn’t obvious the way it is when I run it the other direction. So I actually ran farther than I planned.

But the rain actually kept me from overheating. I dressed appropriately (long-sleeved shirt to keep my upper body warm, shorts to keep my legs nice and cool, gloves and a hat for my extremities, and goofy reflective gear and lights for visibility). And after I stepped in the first puddle, I didn’t even notice that my feet were soaking wet.

I just kept running. In the rain.