The Leaving-for-Work Song, Improved

Most of us who grew up in these United States are familiar with the song, “Head, Shoulders, Knees and Toes”.

The Official Sweetie of MR&HBI and I have a version of the song we sing when I’m on my way out the door to go to work:

Keys, wallet, badge and phone (badge and phone),
Keys, wallet, badge and phone (badge and phone),
Lunch and computer and sunglasses and hat,
Keys, wallet, badge and phone! (badge and phone)

Rather than do the calisthenics of the original tune, I pat each pocket or gesture to the location of each item. It’s a good system for the memory-impaired. After a recent bike commute, as I changed into my work clothes at the office, the song was modified slightly:

Keys, wallet, badge and phone (and underwear),
Keys, wallet, badge and phone (and underwear),
Lunch and computer and sunglasses and hat,
Keys, wallet, badge and phone! (and underweeeeeeaaaar)

Jazz hands are optional for the last phrase.

2

Help Wanted

Anybody know a kickass Web engineer looking for work? I’m happy to discuss specific technologies and whatnot with anyone who might be interested.

I’m back!

Well, more or less. The months-long grind at work is over, culminating with a swift kick to the professional groin as I missed my deadline despite working every waking hour (after a while I enforced a five-hours-of-sleep rule) for a couple of months, and even before that at least ten hours a day, weekends included, since January.

My apologies to those I’ve snubbed in the last while, especially those passing birthday wishes my direction. What I had planned as a glorious celebration of my half-century on this planet turned out to be a really shitty day.

I’ve taken a little time off from work since then, to get my feet under me, to get my health habits restored, and to generally feel human again. I still dream about the project, and find myself lying in the early mornings going through the solutions to some of the pending tasks on a project that no longer exists. It was so very close to being so very very cool.

The last few days I’ve managed to get a little bit of creative juice flowing, and perhaps soon I’ll be ready to write that retrospective on the last fifty years. April 2th (rhymes with ‘tooth’) has come and gone, but still deserves some observation. In the meantime I’ve got The Monster Within, which by God I’m going to see in book form this year if I have to publish it myself.

Next week I might be ready for human interaction again, so those I’ve been ignoring should be hearing from me soon. Thanks for your patience!

Parking Postits

I’d like to have a set of post-it-style notes printed up, with a variety of messages for a variety of parking situations. Some of the messages might include:

  • By what definition could this vehicle possibly be considered a compact?
  • This is a nice car! It would be a shame if it was damaged because you never learned to park. Just sayin’.
  • One slot per car, asshole.
  • I don’t care if the Amazon Kindle team is packed into way too small a space. That doesn’t mean you can use our parking garage.

The last one is fairly specific; and honestly if I were in charge I’d cut a deal with Amazon and lease them bottom level of our garage. The others, though, I think you can appreciate.

2

It’s Beer-Blogging Thursday, Dammit!

I try to set aside an evening each week to go to a bar, relax, and write up a couple of blog episodes. Thing is, I’ve been completely crushed at work (it’s the end of the fiscal year, and I work in the finance department). Finding time to sleep has been a challenge for a couple of stretches lately.

Yesterday my team released not one, but two software tools. A big day! One of those tools is perennially caught in the confusion of fiscal-year shifts, and so today was about last-minute fixes.

Still, I got out of work at a reasonable time, and drove through unreasonable traffic to reach one of my chosen beer-blogging havens. (They’re playing AmeriFootball on a Thursday. Huh.) Anyway, I carved out some space and set up the ol’ bloggin’ box… and proceeded to extend the custom-search feature in one of my work projects. It’s an elegant solution to a problem that had been haunting me, so it’s by no means time wasted.

But holy heck, here I am, at a time I’ve designated for doing pretty much anything but work, and I’m doing work. My head is completely over on the analytical side of my cranium, to the point that I’ve been dreaming about database queries. I’ve gotta unshackle the creative neurons, the ones that never fire the same way twice. Get out the heart-shock paddles! I need to reset my brain!

2

My New Cube

Welp, it’s official, I’m a salaried employee of Apple. It’s not that big a change from being a contractor; I’ll be doing the same work as before.

While I was traveling my department moved to a new building, so when I got to my new cube for the first time, this is what I saw:

Balloons!

And yes, I do get a discount on stuff, and yes, they assume I’ll be buying for friends and family as well. So if you need a Mac system or an iPod (no iPads at this time), let me know.

3

Working With a Screen-Toucher

Yes, It’s true. One of the people I work with touches his computer monitor with his fingers. I never suspected that a place like Apple could harbor such people.

Today we were in a meeting discussing our project. He’s doing the database stuff; I’m concentrating on the presentation layer (see my previous rants about HTML). We were sitting side-by-side, each with his laptop open. On his screen was a dump of the data structure he was sending over to my code. “Here is the list of …”

Actually, I’m not sure what he said after that. I was staring in horror at the end of his finger, where it was pressed firmly against the surface of his screen. “Data list value array,” my co-worker said. I heard none of it. Here’s what I was thinking: Fingerprints. Photons baffled and confused. Acidic oils burning through the surface. Pixels, suffocating, twisting in agony. His screen was covered in fingerprints, the oils from countless screen-touchings built up into a layer that my eyes could no longer focus past.

“Will that work?” he asked.

“Um…” I replied. I wondered what it was that he was talking about. I wondered how he could work when his screen was—

His hand shot out, left index finger extended, directly at my screen. My lovely, lovely, screen, only three weeks out of the box — pristine, innocent of the bruising touch of errant digits. Nooooooooooo!

Perhaps it was my sharp intake of breath that interrupted the course of his rampaging digit. Perhaps he’s already aware that while touching one’s own screen is one thing, touching the screen of another is quite something else. The tip of his finger stopped just above the surface of my virgin monitor and hovered there, twitching, as he described something about something. There was a corner of my mind sending up a flare that perhaps the actual words that my co-worker spoke might be important. The signal was lost among the klaxons and Emergency Broadcast System alerts that demanded that every neuron be devoted to ongoing analysis of the motion of The Finger. The Homeland Security lobe of my brain was altering the threat level meter a dozen times per second, adjusting duct tape and adrenaline with every minute vibration of the chemical-weapon-bearing heathen on the doorstep. The threat level never dipped below ‘orange’.

After two draining seconds the threat receded. My screen, even now, does not understand the horror that nearly came to pass. (Or does it? My laptop shares an intimate network with thousands of others. Perhaps there are legends and stories that pass between them. Perhaps those other computers smile to themselves at the excited puppylike banter of my computer — “Wow! I’m running MySQL server!” — while the grizzled veterans roll their eyes. Meanwhile, the old-timers quietly admire the stoicism of my co-worker’s laptop. “Someone did that to me, I’d just kernel panic,” the headless X-serve in its air-conditioned enclosure says.)

Meanwhile, my co-worker thinks he’s told me stuff. I was sitting right there and looking where he pointed, so I must have been paying attention. I’m reasonably confident that he was speaking, I think I would have noticed if his voice stopped. Probably. He isn’t talking now, however, so he must be waiting for me to say something.

“I’ll be working on that next,” I say. “Can you send me a summary in an email?”

3

The Nerf of These People!

On my second day of work, at 3:38 pm, the first shot was fired. Within moments my co-workers were bristling with sophisticated foam-dart-launching technology, and my first Nerf battle was underway. Someone loaned me a long, bolt-action sniper “rifle” with a magazine that held about ten darts. I didn’t dive into the thick of the conflict, but I did take opportune shots when targets presented themselves. I also experimented with bouncing shots off the ceiling, trying to hit my coworkers from above. That wasn’t very successful.

One thing was clear: If I intend to survive among Apple’s finance help line employees, I’d better start packing heat. Plastic-tipped foam heat, to be precise.

Toward that end the light of my life visited our local Target, where she discovered just how elaborate the Nerf arsenal has become. Not knowing what my co-workers were packing, she didn’t want me to have some completely over-the-top weapon if no one else was that crazy. So, she bought a pistol that fired suction-cup darts (which I have dubbed “hollow points”) and had a cool little laser-like sight mechanism.

My sweetie brought it home and, much like a ten-year-old on Christmas morning, I liberated the weapon from the confines of its packaging and checked it out.

The gun used a pneumatic plunger driven by a spring to propel the darts. Unfortunately, the plunger was not very good a plunging, and the darts barely made it out the end of the gun. I was thwarted by plastic/pneumatic impotence. Sad times.

My ever-supportive sweetie has made another trip to Target to trade in The Little Pistol that Couldn’t for another model. I have assured her that it will not be possible to upstage my co-workers. “Large magazine, short barrel,” I have told her.

When I get home this evening my new cubicle warfare equipment might be waiting for me. What will it be like? I can’t wait!

2

First Day of Work

I went to bed last night almost-employed, knowing that my start date would be soon. This morning I was awakened by the phone ringing, and learned that today was my first day. I got my act together, shoveled down a bowl of cereal, brushed my teeth and off I went.

I am now an Apple employee. Well, a contract employee working at Apple. I have my own cubicle, a phone (hooked up tomorrow), a laptop and big monitor, and a badge that gets me into buildings I couldn’t get into before. I’ll be putting together tools to help their Finance department to finance stuff more easily. On the side I’ll throw the WebKit team some code now and then.

I am told that tomorrow afternoon I may regret not having a nerf gun.

5

Birds, Hands, and Bushes

Less than a week ago I was uncertain where I might be picking up enough work to pay rent. I wasn’t too worried, to be honest, but there was a lot of unknown. Monday I was contacted by my good friends at TEK Systems, a contract placement firm, wondering if I would be interested in a job at Apple. I responded with an enthusiastic affirmative. From all I’ve heard, Apple is a great place to work.

Karen and Brian at TEK Systems set up an interview for me on Tuesday. Brian met me outside the building, took care of introductions, and I met with the woman who could potentially become my manager. The job was interesting; doing rapid development of Web-based tools for Apple’s financial group. I kicked butt in that interview, and left feeling that I’d probably landed myself a job in the land of Jobs. I got home and kicked off my shoes and called my TEK pals and told them I thought it had gone well, and that if Apple offered the position TEK Systems could accept on my behalf.

Later that evening, I checked my email. There was a message there from a recruiter at Apple, saying that the WebKit group had seen this page and wondered if I’d be interested in a full-time position as a WebKit developer. Cool! I’d be doing what I’d already been doing only now getting paid for it.

If only one of the jobs had been at Apple, my decision would have been easy. I mean, what are the odds of getting interest from another group at the same company on the same day, anyway?

So then I had a bit of a dilemma. On the one hand I had hit it off really well with the boss in the first interview, on the other hand the second opportunity was doing something I feel passionate about in an environment where I could grow a lot more personally. I haven’t had anyone to review my code in a long time. I wrote back to the Apple recruiter that I would be interested and quickly contacted TEK Systems to tell them of the wrinkle.

Wednesday I spoke to one of the WebKit guys, who asked me a few programming questions but mainly just wanted to get a feel for whether he thought I would fit. I passed that hurdle, the next step was another more technical phone meeting with another member of the team, on Thursday. I told everyone involved that time was critical.

Somewhere in there — Wednesday evening, maybe? — the first Apple group formally said they wanted me to work for them, and they want to get started as soon as possible. (Although my potential future boss was totally cool about me talking to another part of Apple. She’s a believer, and will be happy for me no matter where I end up — as long as it’s at Apple.

Wednesday night I didn’t sleep much. I had an offer for a good job with some cool people. They wouldn’t wait forever for me to decide. “I could just take the job,” I thought. “I’ll have my foot in the door at Apple and the flexibility that contract employment allows. Plus, I can keep working on WebKit in my free time.” That last thought made up my mind. WebKit is where I want to be, but I’ll be plenty happy with either.

So, Thursday I cleared the second hurdle for getting a full-time WebKit job. After the technical phone interview the Apple recruiter called me and asked if I still wanted to move forward. “Yes,” I said, but told him that I had a standing offer elsewhere at Apple and I didn’t want to jerk them around too long. He understood, and thus there was Friday.

Friday. Wow. The interview process for a permanent job at Apple is not trivial. Eight meetings, two interviewers per meeting. Many of the sessions involved solving coding problems on a whiteboard, which can be stressful to say the least. Because the whole thing was put together on zero notice, there were no breaks between interviews. I sat in the conference room (other meetings were moved to accommodate this process), and they came at me two by two (although they were all very friendly about it).

How did I do? I’m not sure. There are certainly places I could have done better. My C++ skills are atrophied. But I’m pretty good at problem-solving and eventually I came up with good solutions to the problems they threw at me, which is the main thing they were testing me for. Ultimately, however, any programmer should be able to solve those problems. Did I distinguish myself enough from the pack to make them choose me?

The one meeting they couldn’t schedule on Friday was the one where all those people get together and decide wether to hire me. Monday morning, they tell me. Meanwhile I haven’t had direct contact with the other Manager who already offered me a job. She’s been waiting a few days now for my answer, and she needs someone in there quickly. How long will she wait? Hopefully at least until noon tomorrow.

Brief coda: TEK Systems has been great for me, and even though they don’t make any money if I take the full-time job they have been very supportive. I can strongly recommend the company, especially Karen Do, who is my primary contact there. She has been terrific.

1

A Job I’m Glad I Don’t Have

As you might be able to tell from the paucity of episodes here at MR&HBI, I’ve rejoined the ranks of the employed. My writing has taken a real beating, so today I’m going to spend some time writing about work. You don’t have to thank me, it’s what I do.

I don’t mind writing software; I’m pretty good at it and I can make pretty decent money doing it. I would much rather write code than dig ditches, for instance, and luckily for me the world has decided that making Web sites is worth more than roadside drainage. (Before you go and say, “that’s because it takes skill and training to make a Web site, but anyone could dig a ditch’, ask yourself – could you dig ditches for a living? If the economy were turned upside-down, that ditch-digger living in his nice house would say, ‘anyone can make a living sitting on their ass in front of a computer, but I dig ditches. I’m glad things are the way they are, is all I’m saying.)

My current job sends me dangerously into territory I don’t much like, however, and that’s the area known as Information Technology. It’s not really a good name for the job, which is about setting up computers and keeping them running. It’s less about making things and more about making things work.

Last night, for instance, I moved the Web product I’m working on to a different server and it didn’t work. Naturally I assumed the problem was in my code (it had worked on that server in the past), so it was several hours later that I discovered that for reasons I still don’t know, the server failed when it tried to compress very large messages. Just *poof* no response beyond the number 500 (something went wrong). To make things more fun the server was specifically set up to not write out a lot of error messages to its log. I turned off the compression feature (with a hammer) and things worked again. Five hours or so spent to add seven characters to a PHP file, to make things work the same way they already did on other servers. Welcome to the world of IT.

I think the original intention of the phrase information technology referred to the the information that would be stored, manipulated, and distributed by machines. What the I really stands for is the vast store of arcane crap you have to know to do that job well. What line of the php.ini file to modify if you want zlib output buffering and utf-8 character encoding. How to set up all the computers in an office to use a local domain name server first. That’s the information in IT.

The worst thing about having an IT job is this, however: When you’re doing a good job, no one notices. When a company is running smoothly, that’s a sign that the IT department can be downsized. There are no problems! What are those guys doing all day? Having things not happen as part of your job description makes for tricky times when you do your job well. Of course, when something does go wrong people know just where to find you.

So if you work in a company that has people on payroll working to keep your technology humming along, cut them a little slack. Someone’s got to do that stuff; be glad it’s not you. I do enough IT now to know that I’d rather let someone else have the pleasure.

Employed!

Well, now I’ve gone and done it! I have a short-term job, helping to program up a fancy Web-based learning management system for a couple of companies in the medical industry. I didn’t really look for the job, but it found me anyway.

This month is going to be pretty crazy; and I won’t have nearly the time to get ready for the World Fantasy Convention now. On the other hand, I’ll be able to pay rent. That’s pretty important, what with this being the rainy season and all. Don’t know what’s going to happen to the ol’ blog here; I was a little bit employed at the start of my homeless tour and still managed to keep things alive, so let’s hope.

Long ago, when I was dabbling in radio, a mentor told me “if you have a safety net, you will fall into it.” I had a safety net, a job programming computers. I fell into it. I’m going to have to be very, very careful that I don’t allow that to happen again.

1

And so it ends

The project is finished at last. Kids will be able to learn the alphabet now, thanks to me and dozens of other dedicated people, even in Canada where they say ‘zed’ instead of ‘zee’. I’m no longer tied to high-speed Internet and expensive hotels. I can go where I want and do what I want. I can devote myself to Jer’s Software Hut and to writing novels.

I had been looking forward to seeing the message all day. There were a couple of last-second crises and some fine-tuning of the product that forced me to extend my stay here another day. That was not unexpected; that’s been the way this project has gone.

I read the message. I sighed in relief. It was over at last. We had made something. I read the message again. I wanted to write everyone on the project and tell them how much I had enjoyed working with them, but I didn’t know what to say. I read the message again. It was very short. I did not feel the rush of joy I had expected. In fact, I felt much like I had driving away from my house for the last time, when I first took to the road.

The project had been an anchor for me both figuratively and literally. It had limited my movement when my life is supposed to be all about movement. It also provided stability, and regular contact with other people. It was my last anchor. Now, if I don’t keep my sail up I will drift. I still have stars to guide me, and ports to pull into, but I blow where the wind takes me and I could easily get lost.

Maybe the rush of joy will be all the stronger later, when the freedom sinks in. I don’t know. When I read that message today the world got bigger. Scary bigger.

Haiku for You

Haiku for You

rise from blow-up bed
rub eyes, stretch, scratch, yawn, make tea
and get back to work