Tuesday, August 28, 2007

rude people and life lately

This morning was like almost every other morning - I hit the snooze button on my alarm for about an hour (when will I learn? Either wake up or set your alarm for an hour later - sleeping in a 9-minute cycle benefits nobody!), showered, got on the subway, and went to the Starbucks for my wakeup. The Starbucks right by my work is pretty good - they know their client base is working fools like me who need a wakeup and not hipsters who want to hang out, so it's efficient. Even so, the line can sometimes get really long, and as an additional speedup measure they will occasionally ask you what you want while you're still about 6 people away from the register - they get started on the drink, you pay, you pick up the drink, you leave - everyone's happy.
So, this morning was busy - I'm still waking up, I've got my mp3 player going full blast and I'm reaching for it to turn it off. I see a Starbucks employee talk to a woman, then she casually wanders off to the pickup area (in the opposite direction from the registers).
I thought to myself "did she just do what I thought she just did?" Meaning, did she just ask for her drink, then walk to pick it up without paying for it? She was really attractive and very well dressed - she didn't look like she couldn't afford a cup of coffee. I really wanted to yell at her and make a scene, but I just wasn't _completely_ sure that she had just done what I thought she had done. She picked up her coffee drink and walked off like nothing was the matter.
I suppose that some people would have made a scene anyway - after all, I'm pretty sure, just not 100% sure. Maybe I would have under different circumstances, but two times in recent memory, someone has made a scene about my doing something that I didn't do (and I'm not counting the American Airlines horror story). A few months ago at the gym a woman misinterpreted the timer on my cardio machine and told me I had to get off - I told her I'd get off when my time was up and then her boyfriend started yelling at me. I quickly told him my time was up and ignored him afterwardf - he kept yelling until the woman next to me started screaming at him about she had only been there twenty minutes and I started after her, and eventually the guy shut up.
Recently at the Oakland airport, I was in line for the security check - at some point the line forked into two lines (to show boarding pass and ID, not for the X-ray machine), with one line having about 10 people in it and the other one empty. I opted for the empty line, and later on a woman tapped me and started yelling about how rude I was to cut in front of people. Her husband (or whatever he was) spent the entire time apologizing for her. Boy, did I feel for that guy, but I don't know how he hasn't learned the important lesson by now: when your S.O. makes a scene, you always have her back, even when she's wrong.
But I digress - the point being that I won't make a scene unless I'm 100% sure that the person has done wrong, and I wasn't 100% sure. But you can bet that if I see that woman at Starbuck's again I'll be watching her like a hawk.

So, news in our lives - I've been working like crazy but the light is there at the end of the tunnel. Clau's been traveling for her job a lot, and unfortunately her travel started right after mine finished, so we haven't been able to spend much time together. She just got back from Memphis last Thursday and had her impacted wisdom tooth taken out on Friday, so we spent the entire weekend being painfully bored in the apartment. Last weekend also happened to be the first really beautiful weekend weather-wise in a long time, and we were shuttered in the apartment. Hopefully she'll be up and running by next weekend and we can have some fun.

In work news, I've been poking at a whole bunch of things - my bosses recently put me on a task to take a tab-delimited text file, a csv, and a series of XML files and do some tasks with the information therein. Obviously this is a job for Perl, and it pains me how much my skills have deteriorated. I was never a l33t Perl hacker but my current lack of ability makes me sad. Hopefully this task will sharpen me up a bit.
Also, the new company I've been helping out will soon have a name - I can't say I'm crazy about it, but in the words of the folks who gave me the name "it grows on you". It has yet to grow on me but time will tell. Soon enough I'll be able to talk about what I'm working on, which will also be nice...

--Nate

Thursday, August 16, 2007

Books

It's been a good week for books - read the last Harry Potter book, and I have pretty much the same opinion as everyone else - I really liked it but I thought the ending was a cop-out.
Just finished a book called the Kite Runner last night. That is one fucked-up story, but it's beautifully written; I'm really looking forward to reading his next one.
Work is, as usual, very busy, but I can see the light at the far end of the tunnel...

Monday, August 13, 2007

The vi editor

Matt's getting into using the vi editor and it got me reminiscing. Honestly it's my unix editor of choice. Back in the good old days of QAD I had to work on every mainstream Unix flavor, and vi was the one editor that would be installed on all of them. Even now that I only tend to work on Linux it remains my editor of choice. And I have confidence that if I ever have to dig into an ancient HP-UX system I'll know exactly how to edit stuff. It's also handy if you have to work on a very strange keyboard, since you can do everything with only the a-z keys (plus escape).
Besides being ubiuitous, vi is so feature-packed that I doubt that any single person knows every single feature. I'm still learning stuff by watching colleagues - they'll do something cool and then I'll ask "whoa - how did you do that?'. A couple of fun examples:
1) substitution - just like sed - something like ':s/foo/bar' will replace the first instance of 'foo' on the current line with 'bar'. ':/foo/bar/g' will replace all instances on the current line, and ':%s/foo/bar/g' will replace within the whole file.
2) You can break into a shell w/ vi and do cool stuff with it - so for example if you are writing a message and want to give your network info, just do ':r !ifconfig' or ':r !ipconfig' if you're in windows. Voila, the output appears. Awesome. Note: the shell ability is just one reason why vi should _not_ be a sudo command - it's far too powerful in the wrong hands.
3) The period - repeats the last thing you did. Handy if I'm commenting two or three lines.
4) All kinds of little features - for example, the tilde will change the case of the highlighted character from upper to lower and vice-versa. Handy if you realize you mistyped the variable or were typing head-down with the caps lock on.

I've been using the vi editor for about 10 years now (wow!) and I'm still basically using the same functionality it's had the whole time - I'm not even getting into anything fancy yet, and at this rate I never will.

--Nate