Wednesday, June 29, 2005

My "no interest for 250 years or whatever" loan from Levitz (for my furniture) is up to $950 in accrued interest. I can only imagine that that will be about $2000 when it's actually due a year from now. That would be an expensive payment to forget about.

I've been trying to give money to my apartment complex for a couple days now, to no avail. Monday I went in to talk to a leasing consultant to get my lease renewed. She said that she had to get the paperwork ready first, so I should come back at noon. Well, I'm not taking an hour out of the middle (well, not really the middle) of my day to sign a lease, and they close ridiculously early now, so I said I'd come back today. She said that they'd be in a staff meeting in the morning, so I could show up at 9:30. At 9:55 they were still having their meeting, so I went another day without signing my lease. I'm hoping that the third time's the charm tomorrow, because if that fails, I only have one more day to sign a new lease before my old one expires.

My rent was originally $1050 per month plus $75 a month extra for it being refurbished, minus the free month I got, and minus the $1000 rebate I got, which ended up averaging $950 a month. Now it's $1140 a month, up $15 per month from last year, with no bonuses. All things considered and spread out across the entire year, that's almost a $200 jump in effective montly rent. Now, I didn't really expect that I'd get the bonuses again, but it was kind of implied that my rent would go down to $1050 because the $75 extra was just for the first year. I'm not incredibly happy about this. But, I like the place, and in reality I'm not going to move just because they're charging me more money now. The pain and cost of moving is much higher than a few bucks a month, even if it's just being delayed until I find a condo or house.

Tuesday, June 28, 2005

I am absolutely sick of passwords. There is no good reason that I should have to enter a username and password for anything more than once anymore. I shouldn't need to do it to check webmail from my home PC. I shouldn't need to do it to play World of Warcraft. I shouldn't need to do it to log into websites. It just doesn't make any sense. How entrenched are we that we aren't making significant progress in this?

I'm not as angry that I have to use a username and password on smaller, independently-run sites... though there should be a service that provides secure authentication for a low fee. But there's no excuse that I have to use a username and password to access my work mail from my home machine; Microsoft can afford $200 for an SSL certificate. Same with Amazon and eBay.

There are people that, for some reason or another, leave their computers running and logged in and unlocked. They should still be able to set up a secondary password that protects their credentials. But I diligently lock my computer. I shouldn't be forced to deal with it.

I always loved easy classes in school. People who specifically seek out easy classes get a bad rap, especially amongst those who consider themselves particularly intelligent, and I think that's undeserved. It was so rare that I got to study things that I wanted to study in school, or that I got to work on what I wanted to at work (working the deli counter was way more fun than battering chicken). Taking easy classes or taking shortcuts on assignments allowed me to get the less interesting things out of my life as quickly as possible, and let me focus on the things that I actually cared about. Given the choice between (1) a poetry class that required a total of a couple hours' worth of effort and a class that was not painful to attend, and (2) a computer science class that was undoubtedly taught by an incompetent professor and covered topics ranging from boring to totally unengaging, I would choose the first one every time. Being almost wholly self-taught, I haven't really gained much respect for computer science professors. I'd much rather just study things that I like.

One of my best teachers, actually, was Mr. Janssen, a high school algebra teacher who I went to be with for a few hours each week in elementary school. He didn't know much about programming, but enough to teach a high school introductory class. What I liked about having him as a teacher is that I got to work on essentially whatever I wanted. He was just there to spur me on, give suggestions, bounce ideas off of, and so forth. He was also the one who inspired me to write crossword software. That was his ultimate challenge—he had never come up with a good way of having a computer build a crossword puzzle, and said that he would have respect for anyone who could do it. (The other impetus for making software to do it for me was the experience of typing up crosswords into Excel as a TA for Mr. Kingery, my history teacher.)

This is one reason why I fear that I'll never be as happy programming at work as I am just for myself. When I program for me, I work on exactly what I want to work on. When I program at work there's always someone higher up who has final say. But I like being final say. I like to eliminate things from my life that I see as low-value, because it gives me more time to work on stuff I care about, and play games. That was really easy before college. It was sometimes easy during college. It hasn't been easy since I've started working full-time.

There's nothing inherently wrong with doing things the easy way. Just because I don't want to waste time on whatever you want me to do doesn't mean I don't want to learn or grow or contribute.

Sunday, June 26, 2005

So what's Cathedral? Cathedral is a great game that I originally bought because I thought it would look good as a decoration of some sort at home, but then I decided to take it to work in case I would get to play it. I've played a little more than twenty times now, and it's excellent. There's a lot of strategy and depth and tension in each game, and it emphasizes learning how to beat your particular opponent instead of just tricks and general skill. So, each game evolves, with each player learning a little more about the other and trying out new things to win. It plays quickly enough that you can play often, and like chess, it's something that lends itself to "take a turn, come back later, take another turn," and games that span multiple days.

It's really caught on with the interns. My board now makes its way around the building with different people borrowing it. I don't even actually know where it is right now.

The game is simple: don't be the one who can't place all of his pieces. Each player takes turns placing their Tetris-esque pieces (buildings) on the board, anywhere they want. The only catch is that if a player completely walls in an area with their buildings and that area is empty or contains exactly one piece that isn't theirs, they claim that area: from now on, only they may place pieces in that area, and if there was already a piece there, it's returned to its owner. It sounds boring, but it's quite exciting in practice. You have to balance your own play style with what you know of your opponent, guess how likely they are to spot the particularly excellent move that you want to make next turn, and make sure that you don't use up your most useful pieces all at the beginning or save up the hard-to-fit ones until the end. It's basically everything I like about chess without the annoying parts. It's much easier to survey your position and your opponent's position on the board, so it plays quickly even when there's a long delay between turns (like if you're just doing a couple turns a day). There's still the element of understanding how your opponent plays and using that against him or her. And, unlike chess, it's very easy to explain to others, and you can play very well right from the start, without studying the game.

It's been one of the best blind purchases I've made. I figured that even if the game were stupid, the pieces still look cool, and it would look nice sitting out. Now everyone's borrowing it.

One of the interns on our team had a bag of Oreos sitting out when I walked toward the table she was sitting at playing Cathedral with another intern. I immediately noticed two things about the packaging: an asterisk appeared after "Oreo" instead of ®, and the the weight was given in grams only, instead of ounces (grams). Clearly these Oreos are from Canada. She seemed surprised when I mentioned that , and replied something to the effect of, "oh, I didn't even notice... I just noticed that the package is a lot smaller." And, it was. The package was a much more convenient size and shape than a normal American package of Oreos. I seem to often catch stupid little details upon first glance instead of the obvious things.

Thursday, June 23, 2005

It's not for(;;), it's while(true). It's sad that you even need the (true) on there in C. Next, write your if conditions like you would speak them; you don't ask someone, "hey, is empty that box?" Finally, your keyboard has a shift key. Learn how it works.

Wednesday, June 22, 2005

I tried the other Battleground in World of Warcraft: Warsong Gulch, the capture-the-flag Battleground. I have to say that I was much less impressed than with Alterac Valley. Warsong just didn't have the magic of Alterac for me, and I'm not convinced that CTF really translates to the World of Warcraft gameplay, but it's hard to pass judgment after a couple hours. Whereas in Alterac, the distinctiveness of the different classes makes it all so great, in Warsong, I found the differences between the classes annoying. CTF is an easy one to visualize; let's start with CTF in Unreal Tournament. Now say that 20% of the players (rogue) can be invisible, and sit down next to the flag, just camping until someone gets nearby. That player has a special ability that lets them stun someone for about fifteen seconds. They can also, a few times per game, run about 75% faster than other players for ten seconds. Another player (paladin) can not only heal himself, but can make himself invulnerable for a ten-second period once per match or so. (Those two come first because I hate playing against them in PvP.) Then there are those who can shapeshift once they have the flag and run 30% (shamen) up to 50% (druids with talents in speed) faster than the other players. There are just so many annoying things that players can do. The map didn't seem that well-designed for CTF play either; there are several entrances to each base, which was nice, but the layout just kinda sucked.

The upside is that it's still somewhat fun; it just feels really chaotic and silly; almost a cruel mockery of CTF in UT. There are also some nice things that World of Warcraft brings to CTF. Half of the map is outdoors, so players not carrying the flag can mount up and close the distance between them and the enemy holding their flag. It's also a smaller game (10-man teams vs. Alterac's 40), so games end sooner and wait times are smaller. It's just not nearly as fun as Alterac.

Well, it's supposed to be roughly 10 vs. 10. A lot of my games were 7 vs. 10, our side always getting the sharp end of the axe. The game allows 10 per side, but only requires about 7 to start a round.

Nox was a fantasy game that had a decent sports-type mode: NoxBall, which was like Bombing Run in UT. In NoxBall, the classes were strictly limited to a subset of their normal abilities that were more balanced in that mode. I never really played online much, so I have little right to comment, but maybe something like that would be more enjoyable. I'm pretty sure that invisibility and invulnerability and shapeshifting wouldn't make the cut. But, as it stands, I think that Warsong Gulch will be where I spend my time when I can't get into Alterac Valley but I really want to get some Honor Points before Tuesday's rankings.

I find myself supporting each one at different times and in different circumstances. I don't think that statements that broad really have a place in software engineering. If scientists can't tell me if eggs are good for me, then software engineers can't tell me to or not to write throwaway code. Sometimes it's a great idea, and sometimes it's a terrible idea.

I think that, assuming an eventual goal of quality software, the key is to make throwaway code obviously hacky. Fill it to the brim with asterisks and the word "HACK." Give it an ugly red button that doesn't match anything else in the UI. This will give you constant reminders that it's crap, and make it much harder down the line to say that it's good enough. IvoryTower is just chock-full of throwaway code... I moved into the dorms one year, sat down, and said, "oh crap, it's not even close to finished." So, I hacked things together. But, I'm kind of anal, and I like coding, and I had some spare time, so I hacked things together pretty well. Pretty soon, I stopped caring that it was throwaway code.

I wrote a small portion of a feature I built at work as throwaway code, because we hadn't decided exactly how something was going to work yet. I allocated strings like I was getting a 15% commission on all memory allocated. When it went through code review, everyone who looked at it raised their eyebrows to me in email. It doesn't matter, because it's going to be changed in a month or so anyway... but maybe it would have been better to have made it extremely obvious that it was getting replaced in a matter of weeks.

I think that people who say that throwaway code is universally bad are just narrow-minded. There's a place for everything. I can say with relative certainty that what I did at work will result in higher-quality code in the end, and require less rewriting. Sometimes you depend on events that are out of control, and sometimes you have to write something quick and crappy to take the place of things that are coming in a little late. Throwaway code is great for this; you get to start testing your system early, and it takes schedule pressure off. Just do what you can to make sure that throwaway code doesn't get a promotion.

Sometimes people fill out my tech support form and only give their email address. I have a saved-up response for these people along the lines of "Hi! It looks like you (or someone using your email address) started filling out our contact form, but didn't leave a message..." for these people. Only once have I ever gotten a response ("Nope, but thanks!") to this. I guess I may stop responding to these people. But why would you willingly give your email address to a random form on the internet? They must think they're signing up for a mailing list so they can find out about exciting new EclipseCrossword releases. Yes, that's it... that strokes my ego just the right way.

There are two new kinds of Diet Coke in my area now: Coca-Cola Zero, and Diet Coke with Splenda. I've tried the former but not yet the latter. Zero is interesting... it seems to be quite a bit closer to regular Coke in flavor to Diet Coke, but it shares a lot of characteristics. Upon first drink it seems like it would be worth picking up a case... if cases of it existed.

I'm always finding tiny little pieces of tan plastic around my apartment, and they often look like they're something else at first glance. Sometimes it's a shadow, sometimes a carpet stain, sometimes a spill in the kitchen, but it's always really just a piece of a Safeway bag (you know, the part at the top where they hang up on the rack) that's been floating around. They're just everywhere... I think they might be multiplying.

Tuesday, June 21, 2005

I got another Safeway order tonight at about 7:45, and it was back to the weird sorta-creepy guy I've mentioned before. This is a rough transcription of how our conversation started:

Safeway: Wow, I can't believe how late it is already... past 9:30!Me: Really? I thought it was like 8.Safeway: Nope, it's about 9:30. (winks as he hands me the clipboard)Me: Hmm. (I sign)Safeway: Not gonna do that for me, huh? That's fine.Me: Did... you want me to write 9:30 on the form?Safeway: Sure, why not. It looks like they gave me way too many orders tonight; I was half an hour late! (My timeslot was 7:00-9:00) Ah, thanks, you're a good guy.

So, he was happy with my falsified delivery time. I guess that means that if he gets enough faked times through the night, he can take a nap in the truck and get paid for it or something like that. Anyway, when he left to get the second load of my groceries, I checked a clock (I didn't realize he was having me lie when I signed), and sure enough, it wasn't even 8 yet. The only instance where any of the drivers has ever asked me to put down the time was when one was five minutes late, so I wrote "about 9" on the form for him.

When he brought the second batch of groceries from the van, we had another interesting conversation. Last time he was here, he mentioned me that my upstairs-and-across-the-hall neighbors are a group of hot girls. This time:

Safeway: You ever take advantage of that? (Gestures to their door)Me: Oh, no. I've never actually even met them.Safeway: Oh, man. There's a party train you're letting slip through your fingers.Me: Hmmm.Safeway: You should go up sometime and ask if you can borrow a... (looks at my order) can of Coke.

Yes, there's a well-thought-out pickup line. "Excuse me, miss, do you have a can of Diet Coke that I can borrow?" What, I need it for a casserole I'm baking? Why would I... oh, never mind.

Party train... letting slip through my fingers. That phrase is more mixed-up than a cracked bowl full of melted tigers.

Monday, June 20, 2005

I have a particular strategy when I eat certain candies. I realized a few nights ago that I hadn't had Skittles in about half a year, so I ordered a bag along with my grocery order. When I eat Skittles, I always eat all of the grape ones first, because they're significantly less pleasant than the other flavors, and I don't want that taste to be the last one in my mouth. Then, I grab two or three at a time, all different flavors, and eat them that way. This is different from how I eat M&Ms and Reese's Pieces. For those candies, I first start eating normally. When the first two-thirds are done, I begin to eat the colors and flavors that are most prevalent, until I eventually have an equal number of each type. Sometimes I lay them out on a table or piece of paper to see how many of each kind are left. I don't always even realize that I'm doing it until I already have them lined up in rows. Then, I eat the rest in handfuls consisting of one of each flavor.

When I'm at home, I sometimes log into the corporate network using the Remote Access Services feature of Windows Server. I slide my smart card into my tablet's reader, enter my PIN, and suddenly it's as if the tablet's plugged in next to my desk PC at work. (I only connect from my tablet, because I'm a bit wary of the corporate security policy that says "we get to scan your machine for stuff we don't want on our network," and MS controls enough of my life already; they're not getting a peek at my home PC.) This is a really cool feature; I use it to Remote Desktop into my main development machine so I can fix bugs or check in or whatever without going in to work... eight minutes each way on the Segway is still sixteen minutes that I'm not doing something else. But, there's one problem: at random times, when I use Remote Desktop on either of my two identical work machines, random characters are "typed." I'll just be typing, and an extra period or two will magically appear. Or, I'll scroll through a document, and Backspace will be "pressed," and so I'll go back to the previous page I was looking at. Selecting text in Visual Studio is particularly annoying, because at any time it could all get replaced by a dot or a slash. About a third of the time when I compile FrontPage, I'll get an error saying that I misspelled something, and it was because of that error.

Now, the weird part: according to a coworker of mine, it's a bug in the nVidia display drivers in conjunction with the particular video card I have in both of those machines (some kind of piece-of-crap card that just has basic functionality). I replaced my drivers, and it went away for weeks, but now the problem is back, and it's annoying enough that I just don't work from home anymore. It's effort that Microsoft no longer gets out of me. Whether it's a bug in Remote Desktop or the nVidia drivers is irrelevant. I suppose I could call the help desk sometime, but I have a feeling that that would not be very productive.

I'll still occasionally do a quick checkin on Sunday night to get code in for Monday's build, but I no longer code from home.

I've grown up with a healthy tolerance for insects. I have no problems with letting caterpillars or beetles or butterflies crawl all over me. This is no coincidence when considering that my father is an entomologist (that's "bug scientist" for those not in the know). My parents have two freezers at home, and at any given time, about half a freezer is full of dead insects in envelopes and Tupperware containers. Butterflies, beetles, whatever; it's all in there. (The other half is probably full of dead fish or game birds.) Our basement has a few massive eight-foot-tall vaults filled with drawers of insects. There's another table covered in stacked boxes of insects near those vaults. It's really quite a sight.

On vacations, my dad would spend a significant portion of the time with his net and equipment, catching butterflies and moths, trapping caterpillars and beetles, and otherwise capturing insects to do his evil bidding. Sometimes we'd be driving along, and he'd suddenly slam on the brakes, pull over, grab his stuff as quickly as he could, and go chasing after a butterfly and be gone for 90 minutes, while we waited in the inevitably hot car. But, hey, you gotta be passionate about something. My mom finally made him stop smuggling insects out of US and Canadian parks a long time ago; now he gets all sorts of permits before he travels anywhere. That's right, they have permits that let you take insects. I guess that there is high enough demand to warrant this.

So, I never grew up really understanding why people tend to find insects and spiders so gross. There are a few things that I do really hate, though: earthworms, cockroaches, and mosquitos come to mind. Mosquitos are obvious. Earthworms are nasty because they're often slimy; I don't mind them if they're dry. Cockroaches are just intolerable; they smell unpleasant, and they just take over if you don't get rid of them ASAP. When I was little, our family lived in my great-grandparents' basement because we couldn't really afford anything else, and their house often had roach problems. I think my dad almost enjoyed bringing home canisters of poison gas from work and fumigating the house. But, seriously, though, roaches creep me out. I hate them. There was nothing more unpleasant than going to put a plate in the sink and seeing a cockroach scurry across the dishes that you eat from.

It was kind of cool living with my great-grandparents, though. I'd see them at some point almost every day, and even though they were too old to really do anything with my brother and I outside, it was good having them around. I always found it weird how some of my friends wouldn't see their grandparents more than once a year, yet I'd see my great-grandparents each day, and my mom's parents at least once a week.

I don't know if I've explicitly mentioned it (though you may have figured it out on your own), but I grew up in a very weird household. One thing that both of my parents love is collecting bizarre junk, and I have to say that some of this has rubbed off on me, though I can usually keep it in check. The mantel (not to be confused with the less correct spelling "mantle") over my never-used fireplace has only a few strange things on it...

Two photo frames, currently depicting my grandmother and my cousin (sorry, Matthew; you were taken down a month ago)

A bendable Bender figurine from Futurama

A model of Shandris Feathermoon from Warcraft III

As many DVDs as will fit

In contrast, the fireplace at home is surrounded by dozens of pictures, paintings, knickknacks, candles, candle holders, old Christmas cards, bags of newspaper, a wreath, and I'm sure a variety of new things that I haven't seen yet. The house is absolutely packed with junk. My mom took over my bedroom after high school, and until it was time for me to come home for winter or summer break, you couldn't even get to the other side without doing your best Moses impression to part the sea of garbage.

You don't even want to see the basement.

For Mother's Day, I got my mom a gift certificate to a regional chain of gardening stores... my dad likes to hint that she doesn't need any more lotions; what she really needs is something that will get her some exercise. (Hope neither of them read this...) For Father's Day, though, I was a bit stumped. Gift certificates and Magic: The Gathering cards are the easy way out, and for his recent fiftieth birthday I sent him all of the spells that I could scrounge up that have to deal with old age and death, so Magic is straight out. Then it hit me: something collectible. They both love collectible things. I spent a few hours, and I found the perfect gift: a to-scale, posable model of the Cigarette-Smoking Man from The X-Files. It even comes with a miniature pack of Morley cigarettes and a sniper rifle with a tripod. And, I was right. He loved it... or so I heard from him and Mom. I have one of those rare mothers who can email me the line, "It's just what our house needed, a sniper rifle," and I know she isn't being sarcastic.

So, a success. Our family has a convenient tradition in which the children don't really seem to give much in the way of gifts to their parents until they're about my age, so I haven't had a lot of gift-giving practice before the past few years. But, I'm enjoying finding random, unexpected stuff that people will like—that I definitely get from my grandmother on my mom's side. I've actually bought a few gifts for people that I've decided not to give them: I have a framed photo from despair.com that I got for my manager but never gave him because I didn't want to give the impression of sucking up. Maybe if I do it right before review time (again, performance reviews!) he'll think it's funny. But, I mean, I bought Tracy a kangaroo scrotum. Maybe a framed photo with a funny tagline isn't so bad.

Sunday, June 19, 2005

I've got this system that helps me remember things. I put unusual objects—often objects I do not normally interact with—next to objects that I use a lot. For example, when I need to start the dishwasher, and it's 10:00 at night already, I put the box of detergent next to my wallet. Sometimes I don't even need to use a relevant object. If I want to make sure that I wake up at a certain time and don't shut off my alarm clock, I can put something like a business card or sticky note in my phone and set an alarm on my phone. The phone itself may not always be enough to wake me up, but I'll always notice that weird object in the phone, and that will keep me awake long enough to not fall back asleep. I seem to tend to sleepwalk to turn off alarm clocks, but if I do something like this to make things unusual, I'll wake up. Unfortunately, I have to keep thinking of new, creative things to wake myself. It used to be that all I had to do was put the alarm clock where it couldn't be reached from bed. Now I've actually put my alarm with a sticky note over the off switch, and I'll still turn it off without being fully conscious. I've had to start using my alarm clock and my phone in another room to wake up sometimes. Of course, this would probably be less of an issue if I got an appropriate amount of sleep.

I got a haircut last Saturday, removing the last remnants of my highlights. A dozen people must have commented on this on Monday and Tuesday... the fact that my hair was no longer highlighted. Strange, because when I bleached my whole head, basically nobody commented.

If something that relates to me fails but it's not under my control, I don't usually feel bad about it. Sometimes this takes effort. If I say that something will take two weeks, and management says that I've got one week to get it done, and it gets cut, I don't feel bad. I feel like I'm the only person on my team like this. Everyone seems to take things so personally. Part of this is their passion for the product, but I think another part is just a failure to take the situation objectively. The product schedule is not my decision. The bugs assigned to me are out of my control. I spent the entire week fixing bugs, and I've still got more now than I had on Monday. I got one null check bug that was my fault; I had no idea that the variable in question could ever be null. That's about five minutes out of five days. The rest were completely not my fault. But, I'm the one most qualified to investigate, so they're mine. I'm not going to get even that close to the bug goal I was required to set. It doesn't bother me. I'm a little bothered that it looks kinda bad, but not bad enough to obsess about it. Just about anyone else on the team would work through the weekend until they hit that arbitrary number, regardless of how ridiculous that is, or how little control they have over their own bug count. I think that's absolutely nuts.

I've heard a certain type of mental disorder described as the inability to cope with things that are not under one's control. That sounds awfully familiar. I mean, from a technical angle, my bug count is sort of under my control... I could theoretically cancel all of my plans, spend an entire weekend fixing bugs, and be miserable. It's hard to really consider that "under my control," though. I do fear that what I consider a realistic outlook and a healthy grasp of the situation will be perceived as either laziness or a lack of passion. We'll see.

Either people are starting to take the whole Leeroy Jenkins thing to heart, or it's based on a true story. Neither one is a particularly enticing prospect. All I know is that the warrior in our party tonight was basically the non-staged version of Leeroy Jenkins. He kept running into enemies without everyone else, jumped off a ledge, and somehow managed to aggro two or three groups of enemies without actually holding any of that aggro himself. Quality player. He was nice enough to spare us the second half of Blackrock Depths with him, though, because he ditched us without warning halfway through.

Thursday, June 16, 2005

I read today that Microsoft has a name for people like me who have a (bad?) habit of buying more than what they really need because they are very adverse to upgrading and buying something similar later down the road: the habitual "futureproofer." One example of this person is someone who chooses Office Professional over Office Standard not because they think that they'll need Access or Publisher (I think Publisher is the other difference...?), but because they're worried that there's a chance they might need to someday, and want to make sure that they have everything they need right from the start. I wonder... if Microsoft were to specifically make the decision to offer high-end suites specifically targeting this paranoid consumer, would that be borderline exploitation, or just offering the product that these people want?

A couple examples of how I fit this persona: buying TV on DVD that I haven't watched yet because I didn't want to have to worry about availability or ending up with an incomplete collection... buying way more poker chips than I need just in case I ever needed to supply them for a larger number of people... buying things like shampoo in twos or threes... buying high-end lenses in fear of getting cheaper ones and then wanting the more expensive ones... and so forth. I do it in games, too. I'm not sure that it's always a good idea, but it's the way I think. I have to make a conscious effort to not do it.

I saw constant-flush pee man again just now! This time, I entered the bathroom while he was washing his hands. I then proceeded to do my business, wash my hands, dry my hands, and leave, all while he was still washing his hands. I then went to the kitchen to pick up another can of Diet Coke before heading back to my office, from which I can see the entrance to the restrooms. Intrigued, I kept looking over my shoulder on the trip back. Just as I was turning to enter my office, he left. Total time, probably three minutes. Somebody's a little obsessive-compulsive, and for once it isn't me.

One of the tires on my Segway can't hold pressure anymore as of this evening. There's no visible damage, and it looks normal... until you get on it. Maybe I'll get lucky and it's something that can be fixed; the manual mentions checking the flow valve to see if it's come loose; it's very similar to when you get a flat in a car, except you're not depending on the car for balance. I'd kinda figure that if there were a hole in the tire, it would just be flat by now. But, with my luck, it's gone, and I need to shell out a hundred bucks for a new tire, and I'll also need to pick up a torque wrench.

On another transportation-related note, I got my Swift Blue Raptor tonight, Alamar. (My old Violet Raptor was Xeen. If you know why Alamar should follow Xeen, I probably love you.) Let's all welcome Alamar to the family. /golfclap.

Monday, June 13, 2005

I feel like usability and UI design is an area in which I could contribute, but it's not something I'm using, something I'd have to really go out of my way to use more than trivially at work, and not something I've used at home recently since I haven't done a lot of development at home since starting. It's certainly an interest that I'm not really taking advantage of.

I wonder if our opinions of peoples' attractiveness are based in part simply on comparisons to people we've thought were attractive in the past and not simply an evaluation of their characteristics and how they look together... if, perhaps, we make a chain of associations between someone new we see and that other person from the past, and then the characteristics they share, concluding that they must be attractive too. Maybe that even explains why, as they say, people keep making the same mistakes over and over with who they date. (The stereotype woman who keeps dating the kind of men who will cheat on her, for example.) This kinda seems to fit the "learning by assocation" model.

At the most simplistic level, this seems to break down for me, though. Karen, a girl from elementary school who was the first girl I ever remembered thinking was attractive, was a lot of things that I don't find attractive right now: she had pretty standard European skin, but I like dark skin and very light skin; she had curly hair, but I don't like curly hair on young women*; she was short, but I like women of average height. Perhaps my tastes have just changed a lot since then.(* It looks fine on older women, and certain types of curly hair look fine on guys. If you're a young woman, curly hair may count for "cute" points, but not for "attractive" points.)

I'm very annoyed that there's no way for me to have a consistent set of basic shell settings on all machines I'm logged into. This is what roaming profiles are supposed to do, and they worked in the CS lab at UNL, but for some reason or another they aren't used here... perhaps they don't work so well for developers and people who have admin rights on dozens of different boxes and regularly need to flush out their user profiles or replace OS components or silly things like that. It still greatly annoys me. I think that there's a lot of room for Microsoft to improve in this area. Just for Explorer changes, every time I log into a new computer I have to (1) switch to List mode, (2) turn on the status bar, (3) turn off the horrid Common Tasks pane, (4) turn off file extensions, (5) turn off showing the full path in the title bar, (6) turn off small icons, and (7) arrange the toolbars to waste less space. I've got those things down to a science by now, I guess, but I'd still love to not have to do them. It's better than dealing with defaults. I guess the challenge for dealing with the kind of configuration I'm working under is knowing which settings to roam and which ones to keep constant. In an ideal world, I could even have access to programs not installed with Windows like Winamp, Firefox, and Metapad/EmEditor, but having those things installed automatically just for me is a bit further down the road from just remembering my damned Explorer settings.

I have my hair cut at Great Clips. My hair is simple, and I know exactly what I want. Normally I get exactly what I'm looking for... with one exception. About half the time, the person fails to understand that I do NOT want a hard line at the bottom of the hair on the back of my head. This is stupid; I am not in the military, and I am not six years old. Therefore, I do not want a hard-shaved line on the back of my head. Simple! The problem is that the same trimmers are used to "clean up" the spare hairs back there and actually do the deed, so they're just trimming, trimming, and BAM, now you've got the starts of a line. It grows out after a week for the most part, but it still annoys me. Not enough to spend twice as much or more going to someone for whom English is a first language, though.

Apparently Sundays are not popular days for Battlegrounds. I had a few quest items to turn in, so I tried going in a couple times this afternoon and got in right away. And, just now, I just waited 90 minutes, and not enough people ever even showed up to even start a game. Luckily, I had a tablet with which to do other things once I bored of killing off the elite Crushridge Ogres. At least I raised my Staff skill by 65 points.

Sunday, June 12, 2005

I spent about five hours in Alterac Valley (World of Warcraft... turn back now before it's too late) yesterday, and it was fantastic. Some of the biggest gripes about fighting at Tarren Mill are gone, and what's left is just more refined excitement. First of all, there were no more "you were unlucky enough to get killed twice in rapid succession so now you have to wait two minutes before you can play again," one of the primary reasons that Counter-Strike sucks beyond all recognition. Now the worst you get stuck with is a 29-second rez time. Basically what Blizzard has done with Alterac Valley is combine some of the best elements of World of Warcraft and Unreal II XMP (a form of multiplayer that I never got a chance to play in a large group), and add in the big events that you can trigger by finishing quests for your side. Twice in that time I had the pleasure of bringing back enough vials of Alliance blood to Primalist Thurloga in our base to provide her with enough components for her spell, then riding out to the center of the battlefield, and yelling to my teammates to help us complete the incantation, culminating in the summoning of an epic, hundred-foot-tall ice elemental to rain death upon our enemies. Then there are the things that reminded me greatly of U2XMP—the capturable graveyards just like the capturable spawn points in XMP, and the little side skirmishes away from the primary battle front that can have a quick and impactful sway on the tide of battle. And then there are the things that no FPS has that made the whole experience so awesome, like seeing a row of our archers and gunmen lined up on a hill protecting our camp from the onslaught of humans and night elves approaching, and me behind them, prepared for the imminent melee clash when they got tired of being pelted from a distance.

Besides the coolness of the massive creatures you can summon to your side upon killing enough of your enemies, Battlegrounds has two very basic things that makes it considerably more fun than PVP at Tarren Mill and Southshore: the sides are always roughly balanced, which is never the case outside of Battlegrounds, and the map is designed for battle—there are many strategic points on the map, instead of just a couple, so fronts form, tactical retreats are effective, and the battles are more interesting and dynamic.

It's no wonder that you have to wait 45 minutes before you can play. (Oh, and for everyone else's reference, if your spot in line comes up when you're off doing laundry, not only are you not allowed in, but you are completely ejected from the queue and have to return to the entrance to start waiting anew...)

Blizzard has done something very awesome here. I can imagine playing in Alterac Valley for quite some time before it becomes old hat, and I haven't tried Warsong Gulch (CTF) yet. What they've done is create what is probably the most exciting multiplayer experience I've come across based on the first play. I've had a lot of fun playing Red Alert 2, the Unreal Tournament series, Generals, and Diablo I/II over the network, but Alterac Valley was such an awesome combination of things that I like about other multiplayer games and new concepts. And, unlike those other games, I have to pay Blizzard fifty cents a day and wait in line to play. Brilliant.

I haven't really played Guild Wars yet; my character is level 2. So far I've just played a little bit to try it out. I hear that guild PVP can be pretty cool. Now I'm doubtful. PVP in World of Warcraft before Battlegrounds was amusing, but nothing special; now my standards have been set very high. I have a feeling that my to-do list is going to grow unbounded for a while, and I might as well not have even installed the Doom 3 expansion.

Good Lord. I get so many things mailed to me from Fidelity, even though all of my account statements and such come through email. I just received my third piece of mail about how one of the funds I'm investing in is closing to new investors. I don't care in the slightest. I'm already bombarded with about ten times the information that I care about at this point, and far more than I'm actually equipped or qualified to react to even if I did care. I know it's all legal crap and they have to send it to me, but I'd still rather just have them save the paper and the postage if I'm not going to read it anyway. Then they'd know that I didn't read it, instead of just having a decent guess.

Friday, June 10, 2005

People with large inboxes baffle me. I don't know how they can deal with it. I have one email in my personal inbox right now, and two in my work inbox. Those three things are outstanding issues that I need to deal with, and once I do, my inboxes will be empty, or filled with new issues. You want to know the last time I needed to search for a file on my computer? I have no clue. I think that the last three times that I used the Search function in Windows were each to find out the value of a constant in the Windows Platform SDK. I probably haven't needed to look for a file even once this year. I just know where all of my files are. I have a little more than 320,000 files on my computer right now, and I never have to guess where any of them are. And yet I still don't remember birthdays or phone numbers.

Thursday, June 9, 2005

Well, as of this week, I've worked at Microsoft for a year. I've been a professional engineer for a year. It's been fun... fun, and hard. I guess I find out how "fun" it really was in a couple months when review time comes around.

Employees are required to write down their "commitments" for the next year. These can be modified as the situation changes, but ceteris paribus, a chunk of your review is determined by how well you met these goals. Not to go into too much detail, some of my commitments were to learn the team and the process and what it's like to be a developer, which I feel I've done. Others were simple, to build features that I have indeed built. One was to learn Managed C++, which was suggested to me by my manager but hasn't actually come up as being something useful, so I guess I should learn at least the basics over the coming weeks so I can check that one off too.

I had a few personal goals too. Despite not finding goals inherently motivating, I do still aspire to things like any other human. Some of them included:

Learning to cook. This one most certainly did not happen. I decided about half a year ago that this was a lost cause. I'm not nearly interested enough in this to waste time on it. I can follow recipes and instructions, and that's all I care about. It's not generally worth food preparation time when it's just me around. If I had a roommate, things would be different, but packaged and partially prepared foods like Hamburger Helper and dinner kits and the like are just too tasty and easy to prepare to make me want to spend more time creating something myself that probably wouldn't taste as good. Like any engineer, I do still occasionally enjoy experimenting, and I have put together an incredible cookie recipe and some tasty (if a bit weird) biscuits. But Bacon Cheeseburger Hamburger Helper? Tuna casserole? I think I've had one of those things every week that I've been out here, and I haven't gotten tired of them yet.

Meeting new friends that I don't directly work with. Well, I've met a few. Mostly they're people from Thursday board game night... basically just the subset of people there approximately thirty or older. Them, and Marc, with whom I estimate I've spent a good 15% of my waking hours playing Warcraft. Besides coworkers and board game people, I've really only become friends with one other person, a girl who has dated a couple guys on the FrontPage team and frequently hangs out with us on weekends. It would be hard to imagine what it would have been like out here without Marc and Kristen and Phil and Peter[0] and Joe and Jim and Peter[1]. Probably pretty boring.

So, I guess that goal was partially met... I kinda half-assed that one. I went to no lengths whatsoever to meet new people out of my daily routine, and I don't really feel bad about it. I don't know if I have a best friend out here yet. Where that probably breaks down is reciprocation... I don't think that someone can really count as your best friend if you're not also their best friend, or at least in their top few. In the past, I was always pretty sure, but out here, I don't think I'm anyone's candidate for best friend. That's too bad.

Managing my money at least moderately intelligently was another one. I guess I did okay there. I have a 401(k), I have some stock in a personal account, I haven't missed any bills, I have insurance, and I have a small cash reserve building. Buying the Segway was slightly practical but mostly just for my own entertainment, and it has served that purpose admirably. I've hired a financial advisor; whether or not that was actually an intelligent use of my $400 is still up in the air.

Meditating more on spiritual matters has been a more long-term goal. I've started to really think about what I believe about certain issues, but I'm far from done. This one's "in progress." I kind of expect to blog a lot more about this in the coming year, as I think things through.

Discovering a lot of new music and nurturing my musical side in general was another goal. I've definitely achieved this, growing my music collection significantly over the past year. This has been very pleasurable for me, and I'm sure that I'll continue to spend an insane amount of money this next year on music... perhaps a little less this time. Segwaying to and from work has put me in much more of a singing mood, which is good for me and probably bad for anyone else within earshot. I lost my first-soprano singing voice back around the time that I got hair in my special places. I spent $3,500 on speakers, which I suppose counts in this area.

Losing some weight and becoming healthier was another one. This one varies. I actually eat healthier than I have in a while; I probably manage my full allowance of fruit in a day, and at least get some vegetables in. (Why do vegetables have to suck so much? I like corn, potatoes, and waxy-fresh beans, and that's about it.) My weight has gone up since the beginning of the year... I've gone up 15-20 pounds since then, after losing some last year. My weight seems to always reflect how busy I am, increasing when I'm busy and decreasing when I'm relaxed. The funny (and annoying) thing is that ever since I started eating fruits and vegetables, my weight has been increasing; back when I never bothered with them, I was actually losing weight.

I wanted to go home for Thanksgiving. I did this, and it was a great time. I got to see my old friends from college, and most of my family. I also took some great photos.

And, finally, taking more photos. I've mostly failed on this one too. I've purchased a lot of camera equipment, and I think that I've increased my skill at both photography and at photo manipulation. But, I just haven't taken enough pictures. I really like photography; there just doesn't seem to be much to photograph around here. I just need to go out of my way to find interesting things to photograph, which means that I need weekends or to use some vacation time. I need to just go to more central Redmond and walk around and explore a bit. I enjoy photographing people the most, so maybe I'll just have to overcome my inherent shyness and ask people if they mind having their picture taken.

So, it looks like I mostly didn't meet my goals. And yet... I don't care, any more than I don't care that I've never been drunk or high, or been to half of the states in the US, or been to that many other countries, or seen that many of the classic movies, or dated, or had any kind of sex that involves another person in the same room. I've enjoyed the past year... quite a lot. There are a lot of interesting things left to do, and I don't mind that at all. I'm slowly moving forward, slowly trying new things, slowly figuring out who I am and what the world is, slowly building experience as an engineer. If these next 12 months turn out just like the last 12 months, I'd still consider them a success, goals or no goals.

Wow, I just thought of something... what if some World of Warcraft expansion allowed you to visit Pandaria? That would be awesome. So many pandas. This thought was stirred by my Pandaren wallpaper, currently on my blue/green wallpaper machine...

How are WoW expansions going to work, anyway? You have the expansion, but the other person in your party does. You get to a new area in the game, and the other person just hits some invisible forcefield that you pass right through... that would be kind of silly. There are a lot of unfinished areas on the two current continents; I wonder how many of them will become free content (like the two new Battlegrounds zones) or if some of them will become expansion-only areas.

I can't believe that Hollaback Girl is a single now. I just got email from Cingular commanding me to buy a Hollaback Girl ringtone. Who is demanding this? Its horrible spectre haunts my memory; I haven't heard it in months and I still can't make it go away...

Sunday, June 5, 2005

I'm just sitting here thinking about how bad the Doom movie starring The Rock is going to be. Seriously, it's going to be awful. I guess we're going to find out in a couple months. But, I mean, Doom doesn't have a lot of storyline to get in the way, and this script still manages to mess it up.

And, remember kids, the BFG 9000 is not a "Bio-Force Gun," no matter what Hollywood tries to tell you.

I'm there... I have reached the elusive maximum level in World of Warcraft: level 60. Marc and I hit 60 within a few minutes of each other. There were dangerous fireworks from Scarlet Monastery. There was mead. There was a /flirt and a /hug. It was... anticlimactic, to tell you the truth. Just the same level-up we'd seen 58 other times. Then the realization set in just a little bit further, at least for me, that I have put a lot of time into this game. And I'm still pretty excited about it.

I've put about 350 hours into Vger, my level 60 troll shaman. That's to say nothing of my level 51 night elf druid that I started first and have nearly abandoned. Probably another 250 there. That time has been worth it. (Not that many things have I spent 600 hours on.) The game's not over, though. There is still a surprising amount of content that I have yet to discover, even though I won't continue to accrue XP. Also, I'd still like to try out a few other classes, too, though I don't have any intention of playing most of them for all that long; I just want to get a feel for them. But, there's more to do than World of Warcraft... I have a backlog of other games that I'd really like to play, and I've already sort of started the Doom 3 expansion.

Saturday, June 4, 2005

I was eating carrots yesterday, and everything was fine, until I bit into one perfectly normal-looking carrot that tasted like rum. I don't know what processes a carrot goes through to taste like rum, but this one had been through those processes. It was horribly unexpected. I couldn't eat any more after that.

Internet Explorer 4 was the first popular browser that let you build really dynamic HTML pages, which I thought was just jaw-dropping at the time. Netscape had some extremely limited support with replacing images, but that was about it, and Netscape 4 didn't do enough to catch up. Internet Explorer was also the first popular browser to support XML RPCs (as seen in Google Suggest and Gmail), as far as I can remember. Now, nearly a decade later (!), people are finally starting to take advantage of these things. I wonder how things would have been different if Microsoft would have shown people what sorts of cool things they could have done to combine these technologies. Some really awesome sample app, instead of a dozens of little silly things that change the colors of boxes. Maybe if they would have done that, the idea would have caught on much sooner, and the internet would be a very different place by now. Maybe we'd have better ways of doing these sorts of things instead of writing it all by hand like you generally have to now. I'm starting to see products show up on the market that make working with RPCs easier, but it's ridiculously late for these thigns to just be showing up, it seems. Maybe the hip, new name "AJaX" that it has gotten recently would have already become passé, just like "dHTML" did many years ago.

Friday, June 3, 2005

I wrote not too long ago how this concept of regularly-occurring fun was pretty new to my life. While that's true, I've also decided that one of the things I like the most about my week is how flexible my schedule is. With the exception of my early childhood, this is about the most flexible my schedule has ever been. I can take a couple hours off from work basically whenever I want with no notice, which makes my days flexible, and I rarely have any commitments in the evenings or on the weekends. So, I still get to plan out the next day each night if I have things to do, which I find appealing since I'm rather anal, but I also have the ability to change things at the last minute if I feel like it, allowing me to do what I want when I feel like it, for the most part. I rarely have to commit to dates and times of things ahead of time, it seems, which I like a lot. I like having my own schedule, but I usually dislike it when I have to tell other people my schedule and then stick to it, because I lose that ability to switch things around. I think I've gained a little appreciation of why people are often reluctant to commit to a time for anything and why it's always so hard to set up social things; perhaps they don't want to lose the same flexibility. (Of course, some people like to schedule everything, but I believe that the majority of people don't.)

Thursday, June 2, 2005

I can't quite put my finger on why I like some rap music but dislike the genre in general. It would be helpful for me to analyze what I like about each of the various rap groups that I do like to listen to, such as Jurassic 5 and the Roots. What is it about these particular groups that I find appealing that Ludacris and Busta Rhymes lack?

Perhaps All Music Guide is my friend here—a lot of classifications exist already for rap music. "Rap" is too broad of a category to help me decide what I like in the same way that "rock" is too broad. At first I thought that I liked hip-hop music and disliked rap, and thought of "hip-hop" as sort of just "semi-melodic rap." But that doesn't appear to be accurate. Most definitions I could find either said that hip-hop music was synonymous with rap, or that rap was a part of a broader culture known as "hip-hop," so it seems that the distinction I was using is flawed. I don't need names, but understanding existing classifications can be helpful in the same way that understanding known design patterns can be helpful to a software engineer even if they don't really present any new or outstanding ideas.

Of course, I don't like genres of music; I like pieces of music and individual artists: I don't necessarily like "classical music"; I like Beethoven and John Williams and Hans Zimmer. The same will be true for rap, and I think that this is going to make it harder to classify what I like about it, because the amount of rap that I like is so small compared to other genres. The argument can be made that it's irrelevant; that all that matters is whether or not the music is good, and that has merit. But, it would be nice to be able to better understand my own musical tastes.

In a few months, I will have responded to 4,000 peoples' requests for technical support over the last 11 years. (Though... the first three years, I don't think I really got any to respond to; I started using the name "Green Eclipse" before I ever distributed any software.) A very rough estimate would put just responding to emails at two months of full-time work. That, of course, doesn't take into account any of the time writing the software, maintaining my websites, and writing the occasional article.

I must have a misshapen left eye. When one of my contacts feels like it isn't on correctly, or its edge is scratching my eye, or an eye just feels uncomfortable, it's my left eye. It's not the kind of discomfort that I might get if my prescription were wrong; it's the kind of discomfort that I'd expect if the contact didn't really fit correctly. I'm going to get an eye appointment sometime soon, and maybe I'll find something out. Ideally, I'd like to find out that my vision hasn't changed in the past year, and thus I could get surgery. As much as the idea scares me, the promise of at least being able to see something without corrective lenses is too delicious to ignore.

It would be sweet if I had cubic eyes and I could remove them at will. Sometimes I would enjoy replacing my real eyes with dice, then slapping myself on the back of the head, causing the dice eyes to pop out. I think that people in Vegas would like that.

Sometimes it would be nice to have a living room with a coffee table. Then I'd have a good place to put the various art and cartoon books that currently kind of rotate between my dresser and my dining table, never enjoyed by anyone. Of course, even if I had a coffee table, I rarely have anyone over anyway, so they still wouldn't get much use, but I could pretend that they were.

Wednesday, June 1, 2005

Yesterday on the way to work, I passed an old woman with a big, fat, droopy, moist cigar in her mouth, something that I don't see particularly often. In fact, it reminded me of the movie Pete's Dragon, which I think is the last time I saw that sight.