Friday, June 30, 2006

Self propaganda

This morning I left a sticky note next to my keyboard, knowing that I would probably return pretty late:

"YOU have the power to fix your sleep schedule."

I had completely forgotten about that note. I think I'm going to try to take its implied advice.

Thursday, June 29, 2006

Thought I'd share

I had a minor accident when I was moving furniture around in my new office last Friday, and I ended up with a bruise on my upper arm. Now it's to the point where the purple part has faded away, but the creepy chartreuse skin discoloration is still quite noticeable in direct light. It's gross. Thank goodness for sleeves.

Tuesday, June 27, 2006

Rubber, spice, not everything nice

For the record, calamari does not a curry dish make. I'll stick with chicken from now on, thanks.

Monday, June 26, 2006

The Producers

I just finished watching the new version of The Producers with Louise—the movie based on the musical based on the movie. It's pretty good, though I think that the original is better. Gene Wilder was a better Leo Bloom than Matthew Broderick, though he's certainly not bad. I'm just not a big musicals guy.

Mein eyes

It's incredibly bright outside today, barely made tolerable by sunglasses. I feel like I need a welding helmet.

Really makes you appreciate those wonderful cloudy days...

Sleep

I should go to bed. As seems to be the trend, my already screwed-up sleep schedule got further out of whack over the weekend, so it's impossible to get to sleep at a reasonable time on Sunday.

I don't understand how people can manage insane work schedules like 7 to 5. I'm finding it hard enough to get to bed by three on weekends.

Thermostat

I hate my thermostat. It either overcools or overheats my apartment by five degrees... most of the time. If it always did, then it would be predictable, and I could work around it. But sometimes it gets it right on the money. Then, if the temperature goes up a degree, the A/C comes on for two minutes and fixes it. Sometimes it will overcool or overheat by ten degrees. Ten degrees! That's ridiculous. That's the difference between uncomfortably warm and uncomfortably cool, except I had to pay to get that change.

I think I've figured it out: my thermostat must be provided free by Puget Sound Energy. They've deviously crafted a device that ensures that each electric bill is as expensive as possible thanks to wildly fluctuating temperatures.

What the hell?

They reissued Shakira's latest album and added two tracks to it! You can't do that. That's just messed-up.

Mexicans and techno

I was thinking on the way home about something that interested me greatly for a brief period of time. Musical genres are kind of like races. Both are convenient but inadequate sweeping generalizations to describe something intricately complex. And, making a judgment based solely on either is a great injustice.

Of course, there are some differences. "I just don't like electronic music" is quite a bit less offensive to me than "I just don't like Mexicans." Maybe there's a principle there that can be applied to race relations. Maybe it's just as okay to be predisposed to dislike horrible, horrible Asian and Indian voices as it is to dislike by default R&B and trance. But, maybe, in the same way that one should not avoid hanging out with black people, one should not completely avoid a little country now and then. But I guess the key difference is that preconceived notions about genres of music only hurt yourself; the stakes of racism are very much higher...

Such a topic is far too big for a blog post of a few sentences. The main point is that I never really made the connection before now, and I think it's sort of valid.

Working late

I went into work tonight for an hour or two for a few reasons. First of all, it only takes a couple more minutes to actually go into work than it does to get out my tablet and set up a secure connection so I can work from home, since I live so close. Also, I wanted to set up my new speakers and make sure that I had enough audio cables, so I could bring them tomorrow. Or, maybe it was just because I don't have to pay for the drinks there.

But one of the biggest reasons is that the custodians do their thing late at night, and I wanted to catch one who could track down a vacuum for me. After moving furniture around, I've excavated thick layers of unspeakable filth on my carpet. It's mostly dust and glitter (that's right, glitter—as in little sparkly things) from before I even started. I also found a Jolly Rancher mashed into the carpet under my desk. That was fun.

I found the person who was cleaning upstairs, and asked her for a vacuum. She just looked at me with this strange shocked expression and violently shook her head "no." I got the impression that she didn't understand anything I said, but I wasn't willing to be so demeaning as to mime using a vacuum cleaner and making vacuum noises to tell her what I wanted...

Fun fact: it's difficult to ride a Segway when one of your feet is asleep.

Sound

I'm at work right now, listening to some Conjure One and Scissor Sisters on my new office speakers, the Klipsch ProMedia 2.1. They sound very nice, but there's no time of the day or week that I can really use them to their potential, since I'm next door to a conference room, my door doesn't even fully shut and doesn't block out sound very well, and there are always people from my team here working. But, for light listening volumes, they still sound good, and it's a hundred times better than wearing the most comfortable headphones, which will hopefully now just be an unpleasant memory from my past. My ears thank me.

I find it very odd that there's no power switch except the master switch way down with the subwoofer.

Subconscious memory

I always find little things that drive me nuts that I'd never have expected to drive me nuts. One was my slightly different keyboard layouts between home and work that I complained about long ago. Another is the positioning of the buttons on my Quick Launch bar on my taskbar at work.

On the machine at work where I do all of my mail and that sort of thing, I have three buttons between Start and the main taskbar buttons:

Outlook 2007
Firefox
Windows PowerShell

I reinstall Office at work a lot; every week or two, to pick up the latest versions. When Outlook is reinstalled, the Outlook icon moves to the very right. For some reason, that's very obviously wrong to me; I see that and immediately recognize that I don't like it. But, I never remember whether I like it in the first spot or the second spot. So, I pick one at random. Half the time I pick incorrectly. For the first few minutes it doesn't bother me. But, then I get to a point where I stop looking at the icons and just click the second button to start Firefox. If I put Outlook there instead, I end up launching Outlook, and get angry. Somehow I couldn't remember which order to put my icons in when I was trying to remember, but as soon as I start trying to start that application, I instinctively know which button it's supposed to be.

One of the themes for Mac OS X had the window command buttons (close, windowshade, and maximize, I think...) all look the same, as plain grey bubbles. I always thought that was a curious design decision and I still think it is, but it's definitely sound in that I'm not actually looking at icons that I use a lot; I just remember their positions.


As a very related side note, I never actually use the PowerShell icon. I just end up starting a regular command prompt by pressing Win+R, typing "cmd," and pressing Enter. I've done it this way forever. It will take an eternity to get over that... I still close maximized windows by double-clicking the left corner, Windows 3.1-style. That ingrained behavior is the sole reason that I use a regular command prompt instead of a PowerShell prompt. I tried putting it in my Quick Launch so I'd use it more, but I don't.

Friday, June 23, 2006

Solo

Today marks my first day of having my own office. I haven't really done any work today, as it's pretty much just been meetings and arranging furniture, but it's pretty glorious. I've still got two sets of furniture in here for another week or so, so it's glorious and very cramped, but it will be
great once everything's in place.

My office hasn't been vacuumed since I started working here over two years ago. Now that the desks are in different places, this has become painfully visible. My carpet is clean like a state park outhouse.

Welcome thieves

Oops. I never closed my front door last night. I discovered this while walking naked to the shower.

Wednesday, June 21, 2006

Perfection, or some reasonable facsimile

Today I fixed the last known, active bug in any of my features. Well, actually, it wasn't even really one of my features, but I'm the one who changed it last. When you're using a page based on a template, we draw a colored translucent mask over the areas that you can't edit, so it's easy to tell where you can type and where you can't. But, some people don't like it, so I added a way to turn it off. My last bug was that my new option to turn it off worked for ASP.NET Master Pages, but not the old FrontPage 2003-style Dynamic Web Templates. They're both very similar in the goal of letting you have one template page and a lot of sub-pages based on that template, but they work in different ways. Who cares; that doesn't matter right now.

Now, in all honesty, I do have one more active bug assigned to me that hasn't been fixed. It's a bug based on an error report that someone recently sent in. You know when a Microsoft application crashes, how you get that Send Error Report / Don't Send dialog? Well, SharePoint Designer crashed, and someone sent a report, so now I have a bug on the part of the product that draws background images, as far as I can tell. All I have to work with right now is a big blob of memory from that user's computer. I don't know anything about that code, so I'll probably pass the bug off to someone who does.

So, if you don't count that bug, I'm down to zero. My features have reached perfection. Sort of.

Of course, there are any number of improvements that you can make to any product. Whether it's a mistake in the code or just some feature that nobody ever thought of, it's all pretty much the same in the end—an opportunity to make things better. Seeing as beta 2 of SharePoint Designer 2007 has already shipped, we're trying to cut down on the changes we make, because if we didn't, we'd never be finished, because there's always more things to do. So, insignificant things get "punted"—we decide that it's not worth the effort or risk (every change to the code carries some risk of breaking something else) to fix for this version. The most recent bug of mine that comes to mind that was punted is that one of the features I own is a window that flickers a little too much. It's not bad, it's just noticeable if you're detail-oriented. But, fixing the flicker could introduce some bug where the screen doesn't refresh when it should, or some other display issue, so it's not really worth spending time looking into it, fixing it, and retesting it. No matter how careful I am, I don't know every line of code in the product, so there's always the unpleasant little chance that I could screw something up. If I screw something up, chances are that any problem introduced would be at least as bad as some windows flicker, just because flicker is so insignificant in the grand scheme of things. I'd have spent time and my tester's time fixing a bug only to introduce an even worse one. Not a good tradeoff. So, we're almost certainly going to ship the product with that flicker bug.

Intentionally shipping software with bugs is something I didn't really understand when I was younger. But, it's just part of the reality of things; if you didn't do it, you'd never ship anything at all. We'd all be working on stuff from 1990, and competitors who shipped with bugs would be working on stuff from 2006 and destroying us in the marketplace. Even a piece of software with no code defects could still have design defects or subtle little things that work as intended but not as the user expected. Those are bugs too. There will always be bugs, so you have to ship with them. Famed software engineer Joel Spolsky has an excellent essay on the topic of shipping with bugs that I can't find right now.

But, as of now, my features in SharePoint Designer 2007 are about as close to perfect as they're going to get for this version. And that feels good.

Sunday, June 18, 2006

Windfall

I had another short dream last night. I got a bonus check from Microsoft for $258,000. Assuming that this was some terrible error, I didn't do anything with it, and I just sort of spent the whole dream in this paranoid state that something was going to happen to the check, and then I'd be told that it was a mistake, and then I'd have to say that I lost it.

Clay was here!

Clay was in town to visit for a couple days. I strongly dislike bars (mmmm, lots of people, loud noises, and alcohol... goody), but Clay enjoys them, so we went on the Seattle Underground tour and hung out at a pub for a long while. Always great to see old friends again.

Plus, now I can no longer say that I haven't had a waitress run over to our table to remove all flammable objects within reach of someone at the table who just realized that napkins and candles make pretty lights when put together.

Saturday, June 17, 2006

I wish I could draw

I've wished I could draw for a long time. I used to practice a lot, and I took drawing classes, and I just never really got any better at it.

Maybe I could just draw really terribly and pass it off as being quirky and creative.

So divine!
The song about George Washington is slightly NSFW for language.

Perhaps the sad thing is that I can't even draw that well.

Champion of Cyrodiil

Oblivion screenshot

Well, I've finished Oblivion. What a great game. I put about 90 hours into it overall, and while I haven't even begun to see all the world, I've finished essentially all of the main quests, and so I think I'm done for now. It's another new classic that I'm going to remember fondly for a very long time.

There's little that I can really say about the game; it's all been said already. It deserves the hype it got, and it really does seem to have something for everyone. Just about every developer on my team has picked it up now, even the non-gamers, and they're all loving it. It's just a beautiful game, in every sense of the word, and it really embodies so many of the things that I love about the genre.

It's not without faults. It's buggy at times; I mean, I had to make a mod just to continue one of the side quest lines. The leveling system can be infuriating to newcomers. And, it has very little in the way of "cool new shiny stuff" that generally makes role-playing games a lot of fun—there's little to get you to explore the many, many dungeons not relating to any particular quest, just because the treasure you find is totally insignificant.

But there's way too much to like about the game to focus on the faults for very long. It's nothing short of a masterpiece, and the sort of game that's few and far between. I enjoyed spelunking through Ayleid ruins, the majestic Cloud Ruler Temple, stealth and trickery for the Thieves' Guild, and murder and intrigue for the Dark Brotherhood.

Now I suppose it's time to focus entirely on Heroes of Might and Magic V.

Friday, June 16, 2006

Not dreamless

As I should have expected, the night after my post titled "Dreamless," I actually did have a dream. It wasn't terribly long, but it was interesting.

I was in an open-air cafeteria on a beautiful beach, right outside Lincoln, Nebraska. Now, some of my clever readers will immediately recognize one or more problems with that sentence. But, it's my dream; let's continue. You could see the beautiful Lincoln skyline in the distance, masked somewhat by a lovely blue mist. The massive capitol building towered above the other skyscrapers. It was quite a nice sight, so I took off my backpack, pulled out my camera, and started attaching the lens I wanted to use (I picked the wrong one; I pulled out the 70-200 but should have chosen the 17-40...). There was a little girl who kept digging around in my bag and moving stuff around, and it was really annoying, so I kept looking down to discourage her from doing so. I looked up, and saw a massive rock with a fiery trail heading straight for us. It looked like a meteor, except it was flying much too horizontally to be one. (It looked a lot like one of the bouncy ball people from the Futurama episode "War Is the H-Word," which I saw a few days ago.) It hit the ground and made far less of an explosion than it should have; I don't think I was even knocked off my feet.

But, all of the people there were pretty shocked, because, you know, a massive meteor just hit the earth not too far ahead of us. We stood there, too surprised to do anything else, for a couple minutes. I started getting ready to take pictures again, when suddenly the sky turned a dark, smoky grey. Then, we could see two massive tornadoes touch down right in the middle of the Lincoln skyline, and they started heading our way. We were only a couple miles away (you know, on the beautiful seaside beaches right outside Lincoln...), so this was of great concern to us.

Someone yelled "everyone in the cellar!" but it turned out that this café's cellar was at ground level. (Does that even count as a cellar?) To make things worse, there was a window, and there were glass bottles all around us. But, it seemed like the best place to be given that there was nowhere else for us to go. We could hear the tornado getting closer, and finally we knew it was going to be any minute before it hit us.

And then the dream ended, cruelly terminated by the alarm clock.

Hardcore .NET debugging

One thing that I've recently become aware of is SOS.DLL, a debugger extension that ships with the .NET framework for doing some pretty hardcore, nitpicky debugging tasks. I haven't had a reason to use it yet, but it was really helpful for a guy on my team for a problem he was looking at, so I became somewhat interested in it. With it, you can do some interesting things that you can't do with the regular Visual Studio debugger, like see which objects are holding references to a given object. That's useful for when you don't know why that object isn't getting garbage-collected. Hope you like memory addresses!

The drawback is that it's all console-based and pretty arcane. It would be great if some of these features made their way into a future version of VS's graphical debugger. But, at least you can still run the commands from within Visual Studio.



More information:
How to use SOS from Visual Studio
What you can do with SOS—talks specifically about WinDbg, a super-bare-bones console debugger, but the same commands work in Visual Studio once set up

I'm not sure if that will ever be interesting to anyone who reads this, but perhaps.

Now back to the regular insane ramblings!

Thursday, June 15, 2006

Watch your back

I'd just like to publicly state that I want the person who thought everyone should be able to have background images and textures for their emails to die.

I don't know of any other option. You've caused enough suffering.

Broken Windows Theory

A very interesting and truthful little mini-essay written by a manager over in Windows land on why Vista slipped: Broken Windows Theory. It's probably the most honest thing about a Microsoft schedule that I've read before.
Admittedly, this essay would be easier written for Slashdot, where taut lines divide the world crisply into black and white. “Vista is a bloated piece of crap,” my furry little penguin would opine, “written by the bumbling serfs of an evil capitalistic megalomaniac.” But that’d be dead wrong. The truth is far more nuanced than that. Deeper than that. More subtle than that.

Wednesday, June 14, 2006

Office

OH, and I found out yesterday that I'm getting my own office for good sometime next week. Barring unexpected hirings, that should be pretty permanent. Only two years late.

Spineless

One ability I don't have and wish I did is the ability to get someone to stop talking. I am apparently great at feigning interest, though, because I try to look extremely bored when someone is taking way too much of my time, and that never works.

Tuesday, June 13, 2006

Devouring

I've been burning through music at a pretty steady click recently, and it's been fun.

The short version, 1/10:
No Doubt—Tragic Kingdom: 5
Travis—Good Feeling: 6
Poe—Haunted: 8
Brazilian Girls—Brazilian Girls: 8


No Doubt—Tragic Kingdom: I bought this one at the same time as their debut CD, and I definitely like this one better. It's got their hit singles from the 90s Just a Girl and Don't Speak, both of which are excellent. The rest aren't really that noteworthy.

Travis—Good Feeling: The first time I heard their single Sing from their album The Invisible Band, I loved it. I still love it. I bought that CD, and it's a good CD. I bought their next CD, and it's good too. So, I picked up their older albums. They're not as good. It's not that Good Feeling is bad; it's just pretty average rock music. Their newer albums just seem more... interesting. I mean, banjos! There's something you don't hear in rock music everyday. Anyway, you can get a good feeling of what the album sounds like from the first track, All I Want to Do Is Rock.

Poe—Haunted: I liked her single Hey Pretty, though I had mostly forgotten about it, but I didn't pay too much attention to her until hearing her again as a guest vocalist for another band. But, I'm definitely glad that I picked this CD up. You'll like it if you like Garbage (Capital G; that's not meant to be an insult...); it's the same style—pop/rock with a female lead. Check out Hey Pretty, Not a Virgin, and Spanish Doll.

Brazilian Girls—Brazilian Girls: This was the most pleasant surprise of all. I had heard their song Homme thanks to Pandora, and that was enough to get me to buy the CD. It's definitely an interesting CD, with some elements of dance music, tango, pop, lounge, and who-knows-what-else. I really enjoy mixed-genre music, and this one's no exception, and it's even got mixed languages to boot. If you like Zero 7, I'm sure you'll like this. Check out Homme, Long, and Me Gustas Cuando Callas. I love the lyrics "longer than your hair in the 80s / longer than the long run / longer than the longest winter / longer than long." Anyway, great CD.

I haven't really finished with Poe or Brazilian Girls yet, but the new Zero 7 album The Garden has arrived, so that's going to get my attention next...

Dreamless

I haven't dreamed (or more specifically, remembered dreaming) anything worthwhile in what must be months now. It's kind of sad. I've had a couple of my usual ten-second mundane dreams in that time, but that's it.

That was amusing while it lasted.

Monday, June 12, 2006

Expo

One thing that sucks about having an office next to a conference room is that when you're out of the office, people come by and steal your markers and erasers.

Saturday, June 10, 2006

The odd room

My final conference experiences worth sharing, since that was really the highlight of the week (out of the events that I can share publicly)...

So, everyone who worked for Microsoft at the conference was given a ribbon to indicate their job. Developers got blue, testers got yellow, and program managers got orange. I didn't see many testers there, but I did see a lot of blue and orange. But, you didn't need to look at the ribbon color to tell them apart: the ones who were dressed stylishly or businesslike were the program managers, and the ones wearing overused tacky free T-shirts who hadn't shaved since Monday were the developers.

And then there was the worst session I attended all week. I thought it was going to be interesting, but the title was very misleading, and the topic was terrible, the presentation was worse, and the presenter himself was much, much worse. The guy actually showed us samples of the kinds of graphs he made for his team, and what the status emails he writes looked like. Anyway, the room had such an odd collection of people in it. So many mesh shirts! I don't know what on earth was going on, but the guy who was there to tell the presenter when he was going over, and two women in the audience, were all wearing see-through mesh shirts. It was odd, even for engineers. I don't think I'd seen another mesh shirt at work before that. Directly in front of me was the woman with loose pants and no underwear, and in the other corner of the room was a woman who looked like she was about seventy-five, asking questions about popular screen resolutions. I work with some strange people.

TGI

One interesting side effect of having Guy Who Once Modeled for Abercrombie and Fitch on your team is that when you go out to eat with your friends at Friday's, drunk girls stumble by your table to briefly flirt on their way to the women's bathroom. You can even pretend that they notice that you're at the table. The men's bathroom, however, just had Guy Who You're Pretty Sure is Sizing You Up Down There But You Can't Turn Your Head Because Then You'd Be Just as Guilty.

More than just rubber bands

Today at The Conference Where There Were Free Rubber Bands, I went to an interesting talk by Jensen Harris, the head guy in charge of the Ribbon in Office. It's always interesting the first time you see someone you've only read about, and discover how wrong you were. I kind of imagined some guy in his mid-forties, skinny, with light brown curly hair. Instead, I saw a fat bald guy who was probably in his early thirties. I was a bit off. The man seems to have an odd obsession with McDonald's, but he's a good speaker. I particularly enjoyed his montage of hideous, filthy shacks interspersed with the most awful UIs he could dig up—we're talking things worse than Lotus Notes here; printer drivers with hundreds of controls on a screen and so forth. I wish I had those screenshots to share with you.

Friday, June 9, 2006

Clear

One feature about Word 2007 that I really like is the improved text rendering. Take a look at this picture:

Text in Word 2007 versus standard ClearType text

The text on the left is in Word 2007. The text on the right is standard ClearType text, in WordPad. Now, the small text (Calibri 11pt) looks great in both apps. The spacing is a little different, but both look fine. (Word is optimized for both on-screen and print views, and WordPad is solely meant for on-screen reading.) But, the big text looks much better in Word. The reason is that Word turns off ClearType (subpixel antialiasing) for big text. I don't know the exact criteria, and it may differ by font, but the difference is obvious. (You thought I was going to say "clear"...) The text in Word looks much nicer and smoother, and the text in WordPad looks clunky and barely antialiased at all. I love it.

Gee, thanks

I was at a conference today, and all over the place they had these ceramic urns with signs that said "free, take one!" I finally decided to look inside before leaving, and what was inside? Rubber bands.

I have no idea what the rubber bands were for.

Life in mirror may be more interesting than it appears

Sorry for not posting too much recently. (Well, I'm not that sorry.) I'm trying to juggle rewatching Futurama and playing Oblivion, Heroes of Might and Magic V, and a little bit of World of Warcraft, and those activities take up just about all of my spare time, no matter how fragmented it may be. Back when I was doing fewer entertainment activities at once, there would be gaps in free time, and I'd often post during those. But now, Futurama takes 22 minutes, Oblivion can be played for as little as about 45 minutes, and Heroes can be enjoyed in 90 minutes or more. (World of Warcraft I only play with Marc, so I don't really control that schedule.) That covers just about any length of time, especially since a campaign mission in Heroes can take many hours, and I can of course mix and match those. The end result is that I don't really have gaps in my time that aren't covered by entertainment right now. That's a pretty nice problem to have.

Le téléphone est mort, vive le téléphone

My phone must be on its last leg. Even with a new battery, it can't even keep its charge while it's being charged. I plugged it in at two bars out of three this evening, and now it's down to no bars of charge. It's too bad. I liked that phone.

Since I'll have to get a new phone anyway, I think that it may be time to switch to somebody other than Cingular. I get great reception just about everywhere except my apartment and my office. Other peoples' apartments half a mile away? Just fine. The Microsoft building between the two? No problem. But, of course, my phone spends 99% of its life in one of those two places, and it's annoying to not get reception in either one. Other people get reception in my apartment and my office. Time to find out who they pay way too much a month for service.

Thursday, June 8, 2006

Mystery and Harlun's Watch

If anyone else playing the PC version of Oblivion was unable to complete one of the Fighter's Guild quests because of a bug that was fixed in 1.1 but doesn't retroactively correct peoples' save games, I put together a mod that lets you continue the game. It changes the win conditions for the quest to "pick up a lockpick anywhere in the world" instead of "go find the dead body that never spawned in the cave and is therefore impossible to ever find."

1. Follow the instructions on this tutorial page to create a quest script, attach it to a lockpick, and save your changes as a mod.
2. Instead of the suggested Message command, enter this command instead:

SetStage FGC10Swamp 100

3. On the Oblivion launcher window, click Data Files and activate your mod.
4. Start the game.
5. Drop a lockpick and pick it up. Tada! You've finished the quest. Save your game. You can now deactivate the mod next time you play.


Amazing what a nerd is willing to do to continue playing a game...

Contract work

Well, I've now had a couple days to get used to my new officemate, who is a contractor working for our team for the next six months. He seems like a nice enough guy. He does, however, seem to only breathe through his mouth while chewing Extra gum. Thanks goodness for headphones.

Monday, June 5, 2006

Just in time

On the last workday before my officemate moves out to get his own office:

Him: Look at that! Not my fault.
Me: Giggity.
Him: Giggity.
Unison: Giggity indeed.

He's leaving just in time, it seems.

Savvy investment in three easy steps

Here's how Travis decides how to invest the contents of his IRA:

1. Look at the list of Fidelity funds with no transaction fees.
2. Pick one basically at random.
3. Invest!

In all honesty, there was a step 0 in there: "Discover that buying the originally-randomly-chosen mutual fund would involve a $75 fee."

Not like I answer it anyway

My phone crashed twice over the weekend. No, it does not run Windows Mobile.

Sunday, June 4, 2006

Useful additional coverage

My bill from State Farm came, and my policy is listed as:

HO - RENTERS

Hmmm, I suppose that extra coverage could come in handy some day.

Saturday, June 3, 2006

Variety pack

What have I been listening to recently?

The short version, 1-10:
Jeremy Soule—Guild Wars: Factions: 8
Jeremy Soule—Oblivion: 6
No Doubt—No Doubt: 3
The Avalanches—At Last Alone: 7
Snow Patrol—Eyes Open: 8


Well, to start, a bunch of Jeremy Soule. Jeremy Soule is probably the best-known game music composer, and I like his work a lot. I've been listening to the Guild Wars: Factions and Oblivion soundtracks (only in-game for the latter). His Morrowind and Oblivion soundtracks are really understated for the most part, and work better in-game than they do for standalone music, but if you just want something to go on in the background, they're great. The work he's done for Guild Wars: Factions is more animated, and there are some really great tracks on the Factions soundtrack, available at DirectSong. (Click Guild Wars: Factions and then Listen at the top.) It's got a great Asian theme. Check out the Factions theme, Assassin's theme, and Day of the Jade Wind, all of which have sound clips available. Day of the Jade Wind reminds me a lot of the music from the Battlestar Galactica miniseries and first season, with percussion in front and everything else in back.

I also checked out the self-titled No Doubt CD. I don't really like it, and there aren't any tracks that I recommend. It's from back when they were trying to be a full-on ska band. Anyway, pass. Not worth the six bucks or whatever I paid for it.

I got The Avalanches—At Last Alone from eBay, and after waiting for it to arrive for two months and many emails with the seller, it's finally in my hands. It's a B-sides and remix album from a group that makes music entirely from random samples of sounds to begin with. Bizarre but entertaining stuff. Electricity (Dr. Rockit's Dirty Kiss), Since I Left You (Cornelius remix), and Everyday are all excellent. That Electricity remix is incredibly catchy. The full versions of those songs are hard to track down if you don't want to put down way too much money for an EP, but don't miss the Frontier Psychiatrist video if you haven't seen it. That's a pretty good example of their music; if you like that, you'll like their easier-to-find full CD, Since I Left You.

And then, of course, the new Snow Patrol album, Eyes Open. It's good, but I definitely liked their most recent album, Final Straw, better... this one is definitely better than their first two. Eyes Open is slower than their previous albums, and exudes less raw excitement. But, there's plenty of rock amusement to be had. Check out Make This Go On Forever, Set the Fire to the Third Bar, and You're All I Have. I think that most people reading this would probably enjoy at least one of those.

Also, on occasion, Nelly Furtado's single Promiscuous. Timbaland and Nelly are okay rappers, but I'd rather hear her singing. The music is entrancing, though.

Hooray money

Few events are as fun as realizing that your electronic statements from your bank stopped working a while back, and you actually have two more paychecks in your checking account than you expected.

My savings account rates have doubled since I opened my account three years ago. I guess I should put some funds back into the account that's been dry since graduation, though realistically, it's just a couple dollars a month for every $1000 I put in, which is barely worth the effort. I could also also try gambling it away on the stock market...

Ancient Indian wisdom

I was talking to a human female I know for quite a while before I headed home tonight at 11, and one of the last things she did before leaving was to share something that her mother told her. It went something like this:
I don't know what a raise is like for you. Maybe four or five thousand. But if you have to choose between working forty hours and being happy, and working fifty hours, making five thousand dollars more, and not being happy, be sure to make the right decision. You can't buy that year back.
I agree completely, and I think that sums up how I feel quite well.


Then we discussed who was going to leave the team next so we could get our own offices.

Forgiveness a day late

From: Travis Spomer
To: Steve Spomer

Crap! Sorry. Happy birthday! I've been confused about what day it is all week...

From: Steve Spomer
To: Travis Spomer

S'ok. My other son forgot too. If it wasn't for your Mom, I wouldn't remember very many birthdays either.

Promiscuous

The Flash video at the top of Nelly Furtado's site right now is oh-so-hypnotic. It helps that the new single is pretty catchy.

All that for only half my CPU!

Friday, June 2, 2006

Assertions

I worked on a horrible, interesting bug today. But first, some background: assertions. If you're a coder, assertions are probably the best thing that you've probably done in your code before you even knew they were called assertions, and something that they should teach in CS classes. (I didn't learn the proper term for them until I started here.) Simply put, they're this:

Assert(everythingIsOkay, "Crap! Something's broken!");

The macro Assert would then expand to something like this in a debug-only build:

if (!(everythingIsOkay)) Output("Crap! Something's broken!");

So, you litter your code, especially at the beginnings and ends of methods, with these assertions to say that you're sure that when you get to that point, something will be true. This object will never be null. This counter will always be at least 1. The user is currently logged in. Stuff like that. They let you know immediately if some other part of the program is broken. They don't affect the performance of final versions of your program, because final versions that ship to customers aren't built in debug mode, and assertions disappear automatically in final builds.

Anyway, we use those all over the place in SharePoint Designer. When you're using a debug version of SPD (customers never see debug versions), you get a message box popping up telling you what went wrong. But today, I worked on a bug that's like a bad time travel episode of Star Trek: the reason that we crashed was because we asserted that something bad was going to happen. The very act of showing that warning dialog is what caused the actual crash to happen. (I won't get into the details of how exactly that is possible because they're pretty arcane...)

Sure enough, if I get rid of that dialog, everything is peachy-keen. So, there's no actual bug that will affect a user, because only people on my team will ever be using these debug builds of the product.

Ah, that was amusing. Amusing and frustrating, because I spent so much time looking at it. But, I'd been looking for an excuse to talk about assertions for quite some time, seeing as I have all sorts of readers who write code only occasionally, probably haven't thought of them, and can probably get some use out of the idea.

Thursday, June 1, 2006

Clock

My internal clock needs its overpriced little button battery replaced. On Tuesday, I thought it was Monday. Nothing odd there. Yesterday, I thought it was Tuesday. Today, I keep thinking it's Friday—thinking of what I need to get done "today," the meetings I have "today," and starting to plan out my weekend. All through the long weekend, which seemed like about one day, I was looking forward to Thursday, which apparently disappeared from the map. (You know, a temporal map, or "calendar.")