Steven "MrXinu" Klassen

Knowledge exists to be imparted. ~ Ralph Waldo Emerson

Choices

1 comment

Bad decisions are often nothing more than a lack of consideration. If you’re not focusing on your goals and what a particular choice will mean once it’s made it’s just that much easier to make a left when you should have made a right.

Every time I sit down to order my dinner, I have a choice. When I drop into a gas station for a drink before work, I have a choice. When the customer asks me what sounds good for lunch, I have a choice. Heck, even when I don’t think I have a choice, I still have a choice.

What choices do you have? Do you carefully weigh all the options or do you listen to your body? I do a little too much of the latter. If I’ve just worked out, my body is screaming for sugar. What it might mean is that it has a secondary protein need that’s sitting directly behind the carb request, but that’s not what you’re hearing when you sit down to your very next meal.

Since it seems that too often that pause-and-consider moment isn’t happening I’ve decided to try a different approach: forced consideration.

Before I make any choices about food (or activity), I’m going to very deliberately pull out my iPhone and open up my new ‘Choices’ album. There I’m going to find inspirational pictures. Don’t laugh, seriously.

Jason Statham in The Transporter (reminder to do my back exercises)
Some Chick with Huge Guns (because mine need to be at least as awesome)
This Zumba Ad with The Future Me in the Middle
Me at the Lightest I’ve Been (300 lbs)

What inspires you?

Ambushed

No comments

I’ve talked to some of you about this, but I wanted to catch up the rest of the Internet—because they’ve been waiting for me to update my blog so they could have the low-down on my medical particulars, right?

Just before Cisco Live I got one of those dreaded summer colds. You know the ones I’m talking about. It’s hot outside and you’re sniffling like it’s the middle of winter. I wouldn’t have been so worried, but this one came with a side of laryngitis. Ordinarily that wouldn’t have been a big deal either but I was working a booth for Sigma Solutions. So, I needed a plan.

I broke down and called the doctor’s office. “We have an appointment next week at 11am.” Next week? What about today? They were able to make some room so I headed in expecting to sit there for a while. I brought my Kindle and got lost in some novel.

“Steven Klassen?”

The first stop was the scale, my favorite. I stepped up, waited for the numbers to stop moving, and shrugged off the disapproving look from the nurse as she jotted down the verdict. From there it was the usual routine. Temperature, normal. Blood pressure, 145/75.

“Your blood pressure is too high.”

No kidding. I’ve got laryngitis and I’m going to a convention where I’ll either be 2 days through 5-day antibiotic or I’ll be sucking it up and trying to talk through large quantities of Chloraseptic®. So the nurse leaves again and I drop back into my book. Before I know it the nurse practitioner arrives. With this clinic it’s a crap shoot whether you’ll get the MD or the LNP.

She asked me the usual probative questions about blood pressure – do you smoke? do you drink? do you do drugs? do you exercise? Everything was going great until she asked me the last time I’d had blood work done.

“Mmm, I’m 32 so the last time I would have been forced to part with my blood would have been, what, 14+ years ago?”

I was informed that she would give me a Z-pack for my cold but that I was going to have to give blood. “Sure, no problem,” I said. I figured that she’d send me to a lab somewhere and I’d have at least one more chance to back out. Nope, she walks me two doors down where there’s a phlebotomist pulling on plastic gloves.

Now, I have a problem with needles. When Ivy had to go to the emergency room for her pancreas pain and they pulled out the needle I nearly passed out in the chair behind the ER nurse. It was a real bad situation. I didn’t expect that this time would be much better and my body didn’t disappoint.

I sat down, rolled up my sleeve and offered the blood-sucker my veins. I thought maybe if I just kept talking and didn’t look that way I’d be alright. I was sadly mistaken. I don’t need to see the needle. I just need to know that one’s involved in my particular situation and that’s enough to send my stomach into a bad bad place. I thought I’d almost made it through when I hear “oops, the vein rolled on me – gonna have to try again.”

“Bathroom, now.”

I’ll spare you the gory details, but let’s just say by the time I emerged from the facilities I was green around the gills and so pale I was see-through. The old phlebotomist was gone and my original nurse was there. A bait-and-switch! These guys are sneaky.

“We’re going to get that blood out of ya, Mr. Klassen.”

We headed back to the exam room and I laid down. I don’t even want to think about what happened next, but she got what she was after. I left the office feeling grateful to the nurse, angry with the LNP, and unhappy in general. I didn’t like being ambushed like that.

I did my work at Cisco Live and came back. I called the doctor’s office. “Hi there, I’m back. Do you have the results of my blood work?”

“Yes, but there were some strange things we need to talk to you about. You should come in.”

“Strange? What does that mean, strange?”

“Oh, nothing serious.”

Okay, that’s just not cool. I head back into the doctor’s office again and do some more waiting. The nurse takes my temperature and blood pressure. The latter was 150/75 (or something like that – higher systolic than before).

“Your blood pressure is too high.”

Yeah, and you told me to come in because of some strange in my blood work. Why don’t you try my blood pressure when I’m happy or at least not staring down the barrel of a sales gig with laryngitis or getting the results of “strange” blood work.

The punch line? Vitamin D3 deficient, overweight, and two bad blood pressure readings.

I ordered an Omron Wrist Blood Pressure Monitor that stores my readings and uploads them to my laptop. Since I started tracking it I haven’t had but a couple readings over 120/70*. The vitamin D3 I’m raising up a bit with 5000 IUs of these drops from Vitamin Shoppe. They taste terrible, but if it’ll even things out, I’m all for it.

*The 143/86 on the 12th was a customer’s reading. They wanted to try my BP cuff and I hadn’t learned how to turn off automatic saving yet. =)

When you need to run something potentially dangerous, use transactions.  For example, I’m updating the region custom property for a series of nodes whose nodeid is greater than 250.

BEGIN TRANSACTION

UPDATE nodes SET region = 'FOO' WHERE nodeid > 250

Once that query is run, you’ll see how many rows you’ve affected.  If you want to run other select commands, like:

SELECT region, count(1) AS qty FROM nodes GROUP BY region ORDER BY count(1) DESC

If you’re happy with what you see, you can commit:

COMMIT TRANSACTION

Alternatively, you can rollback and it’s as if the original UPDATE never took place:

ROLLBACK TRANSACTION

Jon Angliss drops another round on science on his blog, Net Dork. Hibernation is great if you’re talking about your home machine, but not so good if it’s your server. You thought you had problems before – try explaining to management that the same machine running the company’s critical services decided on its own to take a nap.

Read more on his article, cleverly titled: Windows 2008, and Hibernation.

Cisco Live in Vegas this year was pretty awesome. I was there to set up and work the booth for Sigma Solutions. The objective changes a little each year, but this time it was to talk about our SolarWinds appliance, STATlight. This beast is loaded with drives, memory, Windows 2008 R2, SQL Server 2008 and of course hacks by Rob Schricker to make it tastier.

On Sunday EK and Greg set up the backdrop and signs while I made sure the server arrived in one piece. I fired it up, plugged it into a switch and matched up my NIC’s addressing with the server. In a few minutes, with Rob’s masterfully-written instructions, I had netflow running to the server. With that all sorted it was time to pack up and head to dinner.

Ivy met up with us and we all headed over to the buffet at the Bellagio. If you dig seafood, this buffet is amazing. Then again, it had to be for what it cost! I didn’t partake of the crab but the stuff I did have was pretty tasty. We had cabbed it down there but the consensus after dinner was we that we could all use a little exercise. So we hit the strip and started walking.

Monday things didn’t start until 4:30pm so we all had a chance to sleep in and relax for a bit. The SolarWinds partner brunch started at 11:30am so we all headed down there. They really took care of us—a multi-course meal, presentations, and of course, schwag. The shirt was a 2X so I brought it back for Ivy. If you’re a male geek then I know you feel me when I say she’s going to look mm-mm good in this shirt. =)

When the convention hall opened it was insane. The sheer volume of folks coming through the hall was amazing. I must have talked to 150 people in the first couple hours. I compared convention work to speed dating: talk to the person, make a connection, hand ‘em your card, move on to the next person. Anyone who knows me knows that I love to meet people so this was beyond sweet. I got to talk to engineers, developers, managers, integrators, marketing, you name it. Several folks had a specific need for our services too which was very cool. Especially sweet since some of them were in far-off places like South Africa. Heck yeah, my bags are packed.

Tuesday the hall didn’t open until 11am but most of the folks who were attending went right to lunch when they arrived. I think there were more NetVets the second day. They learned from previous years to go ahead and wait until the second day to hit the convention hall when it was less crowded. The trade-off was that I got to talk to each individual longer while the flow was lighter. I also had a couple customers that I’d only gotten to talk to on the phone come by and introduce themselves.

By the time Rob came to relieve me I was ready to hit the airport. My bags were packed and ready to go. I handed off the keys to the kingdom and by 5pm Ivy and I were in a cab headed for LAS. Jumping passed a couple delays to our flight we were safe & sound at home by 1am.

All in all it was a really good experience. I walked a lot, stood for a really long time, and got a solid dose of social interaction that’ll keep me going until my job next week which is, ironically, in Vegas.

The Boy

2 comments

I mentioned a “pseudo nephew” a few weeks ago in the post entitled Launching. I’ve called him “the boy” in Twitter posts and Facebook updates and lately I’ve been getting asked about him so I wrote this entry.

Tommy (the boy) was in Ivy’s preschool class when he was a tadpole and we’ve stayed in touch with him throughout the years. He came up to visit us for a summer after we moved to Vancouver. Fast forward a bit and he’s 20 years old. I’ll spare you the preamble, but the punchline is that he was offered two choices: join the military or hit the bricks.

We offered him a third option.

He moved up with us on August 9th of last year. A semester away from graduating, we enrolled him in the local high school. He passed 5 out of 6 classes and then took another class online to square away the remaining credits. He walked with the graduating class of 2010 at Union High School last Wednesday. We got him his class ring for his graduation present–he definitely earned it.

At the moment he’s attending the School of Klassen. The curriculum includes applying for jobs, daily workouts (weights 3x week, cardio 3x week), reading every day (development & pleasure), and doing various chores around the house. Each week he holds up his end of the bargain, he gets internet access and all the trimmings for the following week. If he falls short, some privileges come off the list. It works just like a job. Do the work, get paid; don’t do the work, don’t get paid.

We sat down and talked about goals. Short-term is a job and possibly a Pell grant to take some college classes next year; mid-term is a CCNA certification and a vehicle (with insurance, of course); and long-term is his very own apartment and independence.

I never know what to call him. He’s not blood, but he’s family. It’s awkward to call him my son given we’re only 12 years apart so for simplicity’s sake, when the long version was too involved to get into, I’ve called him my nephew.

He’s a bright kid and I’m constantly amazed how quickly he picks things up when he wants to. The challenge has been getting him to want to do things. We’re winning, so far. =)

For Awesome

4 comments

It was getting late during a maintenance window with a customer and we decided it was time to get some pizza munch going. I pulled up the Dominoes website, ordered a couple large specialty “Meatza” pies and 5 bottles of Dr. Pepper.

“Gah, we forgot to get ranch,” the customer says to me after I told him the pies were in the oven – courtesy of, the website informed me, Antoinette the pizza artisan.

“There’s a number here – I can call them and have them add it to the order,” I said as I picked up my iPhone unlocking it with my super sekrit password.

“It costs extra though; they’ll have to re-run the credit card.”

“Hah, not if I get a woman on the phone,” I said, dialing the number. Suddenly I had the room’s attention. That’s right, class is in session.

The phone rang twice and I was greeted by a perky female voice, “Dominoes! Delivery or carryout?”

“Hi, my name’s Steven – how are you tonight?” I said, making a point to smile and annunciate each word carefully, infusing them with just the right amount of PEQ (read: awesome).

“I’m– I’m good, how are you?” she breathed, giving up on her script entirely.

“I’m doing real good – hey, I just ordered a couple pizzas… the–”

“The two Meatzas?” she offered quickly.

“Hah, yeah – you must be Antoinette then?”

“Yeah! Who’s this?” she said, her voice kind of turning up at the end – her interest piqued.

“I’m just Steve… you don’t know me, I’m just ordering some pizza,” I replied, winging it, not really expecting her to come back with a question.

There was a short pause and then, “Do you live around here?”

“No, just visiting for a few days. Hey – after I ordered I realized I forgot to ask for ranch…”

“Oh, I’ll make sure there are some in there, no problem,” she said a little faster than I’d expected.

“I really appreciate that Antoinette,” I said, trying to match the same saccharine tone with which I’d begun the call.

“You’re welcome!”

I let the pause swell for a moment, put on my very best no-no-thank-you smile, and finally broke the silence.

“You have have a nice night.”

“You too,” she said with an discernible twinge of disappointment, hanging up.

The pizza came 45 minutes later. It had enough ranch dressing in it to feed a small army. We were just about done eating and one of the guys pipes up.

“Wouldja look at this…” he says, turning the pizza box toward his friend to his left.

“What?” I asked, walking around the table.

“She left you a message!” he said, laughing his head off.

She sure did.

2010-06-16_2101

As a good friend told me: “You must make sure to use your powers for awesome and not evil.”

Murphy

3 comments

Undo is great, right? You can do pretty much anything, hit Ctrl+Z and it’s restored to the way it was before. It would be nice if life had an undo button.

Until they come up with one, we have to create our own.

Mike Plunkett was my first professional mentor. He taught me a lot of things, but the most valuable thing I ever learned was to always leave myself an out. Before I was allowed to do anything, he would ask me, “if this doesn’t work, what are you going to do to undo what you’ve done?”

Most of the time the answer is to make a backup. Editing a text file? Make a copy. Upgrading some software? Back up your database. Getting ready to run a query against a database? Wrap it in a transaction.

It’s a good idea, right? It didn’t really hit home for me until one fateful day as a fledgling sysadmin.

I had a directory full of interface files. They were what allowed the system to dial up the modems in these little Okidata printers and print out the customer’s freshly merged credit report. I had the bright idea one afternoon of creating one big text file with all the smaller files in it. Y’know, as a backup.

The files either all started with the same string or had a common extension; I don’t remember. Let’s say they all ended with .modem. The first command seemed innocuous:

cat *.modem > all-my-modem-files.txt

Boom, I had a big text file with all my modem files in it. Wait, how do I tell where one ends and the next begins. Surely there’s something else I could do. I remember at this point I was a real big fan of using -> as a heading in my plain-text documentation.

What about putting “-> myfilename.modem” in the file just before the text itself?

***DO NOT RUN THIS***
for filename in *.modem; do echo -> $filename; cat $filename; done > all-my-modem-files.txt
***DO NOT RUN THIS***

The command ran silently (no news is good news in unix) and I was rather proud of myself. I opened the resulting file and was a perplexed when I was greeted by pages and pages of dashes, one per line. What the hell?

I listed the files in the directory:

-rw-r--r-- 1 xinu users 2 2010-06-16 00:28 atlanta.modem
-rw-r--r-- 1 xinu users 2 2010-06-16 00:28 boston.modem
-rw-r--r-- 1 xinu users 2 2010-06-16 00:28 lafayette.modem
-rw-r--r-- 1 xinu users 2 2010-06-16 00:28 miami.modem

Two bytes each? TWO BYTES? These files were easily 250Kb each and they weren’t all the same size. My heart sank into my stomach. I printed one of the files.

xinu@xv:~/tmp$ cat atlanta.modem
-
xinu@xv:~/tmp$

Time stopped. I looked at my for-loop carefully. Oh no. No no no no. I just overwrote every file in this directory (100s of them) with a single dash. The ‘-> $filename’ bit trashed them, albeit efficiently.

My phone lit up. Every branch office was getting errors back. They were getting calls from furious customers saying that they were no longer able to get their credit reports. I was never so scared in my entire life. I wish I could say that I took a deep breath, assessed the damage and worked it out. I floundered. I called the backup tape company in a panic. I worked for hours trying to find a good tape with the data I needed. It wasn’t pretty.

Every day since, I’ve never done anything unless I had thoroughly contemplated the consequences. That isn’t to say I’m a pessimist now, but I have a healthy respect for Murphy and his law. Have you given Murphy a professional nod lately?

The Geekery

1 comment

My good friend Jon Angliss writes about systems administration, programming, and whatever other tidbits he thinks might be tasty over at The Geekery. As I went through my feed today I read his latest article on maintenance windows and communicating your times.

If he’s not in your RSS feeds yet, he should be.

In my never-ending quest for new experiences I figured now was a good time to learn all the different public transit options in San Francisco.  I’m here for 2 days taping a segment that’s going to air on TV at some point.  I’ll let you know when so you can set your DVRs.

Without further ado, on to the things that I’ve learned.

BART (Bay Area Rapid Transit)

I picked this up at SFO this morning.  While I was staring at a sign trying to figure out how to get to the BART from where I got off the plane this old man came through and asked me if I needed help.  I think he was a volunteer there.

“Well, I’m trying to take the BART for the first time,” I said cheerfully, smiling like a tourist.

“Come this way,” he said pointing at the escalators that, duh, said BART above them.

He got onto this train and I’m looking around frantically, “I don’t have a ticket – don’t I need one?”

“No, this isn’t the BART,” he said.  Hah, whoops.  Okay, so the train takes you to the G terminal (international?) where the BART entrance is also located.  He pointed me the right direction and then we parted company.

I sidled up to the BART ticket machine.  Credit card, cash, okay – how much?  I hit the button for credit card, put in my CC and was offered a half dozen options – add $1, subtract $1, print $20 card, or BART Plus.  The $20 print seemed to be the path ‘o least resistance so that’s what I did.  I seemed to remember my handy-dandy iBART Live application telling me that it would be $8.10 to go from SFO to Powell station.  $20 would do the trick.

At this point I’m wearing my backpack and I’m hauling my rolling duffel behind me.  The turnstile width was just wide enough for me so I tried to put my bag through in front of me.  It fell down (away from me) so I kicked it through so I could get clear of the gate.  The last thing I needed was for my bag to be through with me still on the other side.

A train showed up and the name on the signs matched what I was looking for.  I waited at the door until one of the attendants came by and used a key down by the door that caused it to slide open.  I sat down, planted my stuff on the opposite seat (which was in my lap by the time my stop arrived).  The first few stops didn’t have any signs and I was getting really nervous.  It turned out it was just the no-name stops (intersections, etc) that seemed to be missing them.

From here I walked up the 4 blocks north on Powell and one west on Post to the JW Marriott at Union Square. Fairly wiped out (it’s uphill from Market) I checked into my room on the 13th floor and dropped all my stuff. I went up to the lounge and drank a lot of water and planned my next moves.

San Francisco Municipal Transportation (MUNI)

David at expensify.com recommended Ike’s Place for the best sandwiches in San Francisco. I mapped out my trip: walk down to Market & Powell to the MUNI. Take the (J) line outbound (away from downtown) until you get to 16th and Church. Walk 2 blocks west to Ike’s.

I’m really glad I stopped at the concierge because it turns out you need to have change in order to catch it at the station. I made sure I had enough ones and started out. It costs 2 bucks to ride in each direction. I got quarters to feed the turnstile, walked down the stairs, and caught the (J) when it came through.

I’m still fuzzy on the whole stop thing, though. I can’t tell if we stopped at 16th and Church because it was a stop or because someone requested it. I think it was a stop because I was able to catch it there on the way back, but I’m not certain he would have stopped unless someone was standing there. The punchline is you have to really be aware of your surroundings. If you miss your stop, you’re either walking back or you have to catch one in the other direction which would be miserable.

Cable Car Powell-Mason

I didn’t expect to take this up from Market, but I figured I’d give it a try. I stopped at the Sketchers store, got some new shoes, and then walked across the street to the H&M to wait for it. This time I used Routesy app on my iPhone to figure out when the cable car would be at Powell & O’Farrell again. It dutifully reported 5 more minutes.

Behind me and to the right there were two older ladies. One of them was a seasoned cable car rider and was explaining to the other how the stops worked. Evidently the double X’s on the ground in front of us mean a mandatory stop for the cable car. Sure enough, in just a few minutes the cable car was there.

I also learned that not all of the little running board areas are created equal. The 3 on the left & right toward the front are fair game – two people per running board. The one toward the middle is the entrance to the interior of the car. After I was told to get out of the entrance and was shuffled into the center of the car we jerked forward and I’m pretty sure I squished the foot of the lady behind me. I apologized profusely but she seemed to be okay.

By the time I realized how far we’d gone we had overshot my hotel by 3 blocks. I pulled on the cord, shuffled passed the other folks on the train and got off. Then began the super steep walk back down to Post & Mason. I couldn’t imagine walking on these streets in the rain. They would be way too treacherous for me.

Good Old Fashioned Busses

No tour of public transportation would be complete without a trip on a good old fashioned numbered bus line from X to Y with stops in between. I decided to take a trip from the hotel to where the shoot will be tomorrow (more on this later). I googled, it told me that I could catch the 30 bus south toward Townsend & 4th which was a hop, skip, and a jump from where I needed to go.

I made sure I had enough cash ($2 per ride) and cut through Union Square to the bus stop. The bus wasn’t too crowded, but I wound up standing for most of the trip anyway. We headed south and then all of a sudden the bus driver decides it’ll be faster to dodge west a bit and then head south again. I looked at the route and this wasn’t it. I guess the bus driver is allowed to get creative with his route whenever traffic acts up?

I hoped I wouldn’t miss my stop and I surely didn’t. We got to Townsend & 4th right outside the Caltrain Station and I walked down to King and over to the building I wanted. So far so good. Now to get back.

I checked out the path back up and initially my iPhone wanted me to take a light rail train ALL the way around to Market & Powell. Uhh, no. I walked away from the light rail and tried again. This time it said I could catch the eastbound 45 bus that would take me within a couple blocks of the hotel. Bingo.

Unfortunately it was leaving in less than a minute. =) I looked right and, sure enough, there was the 45 bus. I got ready to cross the street in front of it and the light turned green for me. Sweet! I got across in just enough time to see it sail up behind me.

I got on the bus, paid my $2 fare and sat down. The next stop more folks got on. The next stop even more got on. I gave up my seat, I moved over, I squeezed in, and I got stepped on. By the time we got to Sutter & Stockton I couldn’t move. There was a woman behind me getting awfully friendly and my belly was mere inches from this older fellow who didn’t seem to notice. They stopped, I got off, and walked back toward my hotel.

On the way I saw a hot dog vendor. I’m a sucker for a hot dog, especially an all-beef one so I patronized his sidewalk establishment. A few onions and a whole lot of mustard later I was on my way with some grain-fed all natural hot dog goodness.

Summary

That concludes my tour of the San Francisco public transit system. So, BART good, light rail good, cable car still needs some work, and the bus is a last resort unless you can be reasonably sure it won’t be crowded. I don’t get claustrophobic, but I was double checking my pockets to make sure no one came up at my expense.