Wednesday, June 18, 2008

Things I want to buy

I still haven't fully recovered from that string of expenses, and I still haven't gotten my Kansas tax refund, but once I have the money, there are a number of things I want to buy. I really do want to do everything I can to help the economy.

First, I think I want to get this stringing machine: Gamma Progression II 602 Stringing Machine. The sooner I buy it, the sooner I'll be able to save ~$20 every time my string breaks. This should pay for its $339 price in a couple years...

Second, I do need a new primary computer if I am to keep up with today's gaming rigs. Since I haven't fully picked out every component, it's hard to estimate the cost of my new computer, but I'm guessing between $1500-$2000 to be safe.

Third, I plan on making my next lawn mower an electric one. I'm still hoping my current lawn mower lasts through the summer, but sometime in the relatively near future, $100-$200 will be spent on an electric lawn mower.

Fourth, I need to get my deck repainted/stained sometime in the near future. It's quite ugly, and having bare patches probably isn't very protective for the wood (or, more accurately, only having patches of paint).

Any other recommendations for things to buy? Leave a comment!

Monday, June 16, 2008


Before I left for San Diego, my fileserver's northbridge fan and heatsink became separated. It's really worse than a divorce, in many ways, because things are all fucked up, but there's still hope, which means uncertainty, lots of work, and very careful handling of electronics. OK, so I don't know much about divorces.

The lack of heat transfer away from the chip kept my fileserver from booting. Since I've already complained about my loud northbridge fan, I chose to take the opportunity to replace that noisy piece of hardware. I already had a spare fan from somewhere, so I went to the hardware store to find screws long enough to secure it. At the hardware store, I had the bright idea of comparing the screw holes of the two fans and found that they didn't line up. That's when I made the coolest discovery of the week: Krazy Glue comes in a small bottle with a tiny brush built into the lid! I glued the fan to the heatsink, and it stuck almost immediately.

When I got home, I couldn't find my isopropyl alcohol. I was able to get some last Friday night, though, and I set out to clean the bottom of the heatsink and the top of the northbridge heat spreader. I remember isopropyl alcohol working much better than it did. I had to cut the thermal paste off the heatsink, for the most part. Perhaps thermal paste is just that horrible compared to thermal grease. The important thing is that I could now keep my northbridge chip cool.

Doh! The power cord for the fan doesn't reach! I had to pry the fan off the heatsink and re-glue it, rotated ninety degrees. A little thermal grease later, and I was ready to plug my motherboard back into the rest of the computer.

Everything is working mostly. The only weird things are related to mdadm and the raid, I think. The automatic resync operation seems to fail. The first night, I had "watch -n 1 cat /proc/mdstat" running, but I woke up to stack traces being dumped to the screen every second instead of the nice md status. I tried again, but came back later to find the same stack traces showing up every once in awhile. So, I loaded the graphical interface to try and catch more information - but the error stopped. The resync also stopped at 8% and refused to go any further.

I decided that some write activity might wake it up, and started up some bittorrents. They worked well for a few tens of MB, but now my fileserver seems to have rebooted to an initramfs prompt and automatically started a resync. It's currently at 6.9%. I'll see what happens at 8% before I go to bed, and will update as things progress.

Update: 1:49 AM: resync is at 9.6% and going strong.
Update: 9:21 AM: resync is at 64.9% and going strong.
Update: 12:14 PM: resync is at 85.9% and going strong. I'm getting bored waiting for this.
Update: 3:16 PM: resync is done. Things have rebooted, and I will begin some bittorrent stress testing shortly.
Update: 10:23 AM: Fileserver is still up after a couple days of heavy I/O. I'm happy!

Microsoft Tech-Ed: Friday June 6

My last day at Tech-Ed was fairly uneventful. The morning started out well with the final Data Dude session, which included the full demo of the DB2 support that was announced. Only about ten people showed up to that presentation, but that's pretty much expected for early Friday morning. Still, it was nice to have my software displayed in it's full functionality. The keynote presentation really didn't show much.

That brings up another point. I never really thought about the personal honor in having my software in the keynote presentation of one of the biggest technology conferences, and featuring Bill Gates. I had only looked at it from a task point of view - it was something to do and something to get done. One Microsoft employee commented on how it was pretty amazing to have only been working at IBM for under 2 years and already have my software in the Tech-Ed keynote. Apparently, most Microsoft employees would kill for that. I didn't know what to say, so I made some comment about watching my back.

I guess I felt like I had achieved a slightly higher level of maturity, having accomplished this. I think I felt even more mature at the airport waiting for my flight back home, though. I was able to keep up a conversation with a stranger (who had Tech-Ed in common) for a full two hours. It was fairly amazing, from my perspective.

It's time for the most important part of this post: a full cataloging of what I got in Orlando:
  • 14 t-shirts
  • 1 slinky
  • 1 squishy basketball
  • 1 flying, howling monkey
  • 1 foam dart flinger
  • 1, 1GB flash drive
  • 1 medium-sized notepad/binder w/ pen
  • 1 mechanical pencil
  • 1 water bottle
  • 1 backpack
  • 1 LINQ pocket reference book
  • 1 luggage tag
  • 1 key chain compass

Friday, June 6, 2008

Microsoft Tech-Ed: Thursday June 5

Once again, we'll start with what's important. Breakfast today had nice crisp bacon, good sausage, eggs, biscuits and gravy, and bagels. I overate slightly, but that's not too much of a problem.

My early morning session involved adding indexes to objects queried through LINQ, and would be interesting and useful if I had to do that for actual applications. It's just not something that can be worked into a generic data provider, near as I can tell. It was still a good talk, if a bit light on content (there was half an hour left out of a 75 minute presentation time slot).

My next morning talk was on DataDude and the new features in the GDR release (8 weeks after SQL Server 2008 is finished, apparently). There were a lot of cool features presented in the talk. It will be interesting to learn more about DataDude's capabilities as I move forward on my work project.

Lunch was pretty standard, but wasn't my favorite. There was some good Mongolian beef dish, but I probably should have skipped the rest.

For my 1:00pm session, I attended another DataDude talk on database references. It was a bit strange just because we spent 30-40 minutes talking about a few workarounds and random other stuff, then talked about the upcoming VS2008 GDR release which will apparently remove a lot of those situations. It was unclear exactly when we'll need the information we acquired once the new release comes out, but knowledge is good for its own sake, sometimes.

The next session was also on DataDude, but was a basic overview of functionality, which I've seen before a few times. The presenter was a non-Microsoft consultant, though, and it was interesting to hear what he found to be the coolest aspects, and then hear the questions and concerns from current and potential developers and DBAs.

The main happening on Thursday was the Attendee Party, though. Everyone was bussed over to Universal Studios for a three-hour exclusive party. All food and drinks were free, and the pool of people waiting for rides was limited to just the 6,000 people attending Microsoft Tech-Ed this week. Of course, that's still a lot of people, and the wait for the new Simpson's ride was 45 minutes during the first half or more of the party. When we were leaving, we saw it had dwindled down to about 20 minutes. The wait for all the other rides, like Jaws and Men In Black, was about 10-15 minutes. E.T., being rather sucky, was a very short wait, but I knew from a previous visit to Universal Studios in L.A. that E.T. sucked, so I didn't even have to waste that amount of time. The Disaster ride apparently broke, because people were leaving the short line an hour before the party ended.

Now, when I say food and drinks were free, I mean that the were included in the conference price of ~$1995. If I had lost my wrist-band and still wanted to attend the party, I would have to pay $110. Additional guest passes for those that brought their family along were also $110 each. That's really quite a lot of money for a three-hour party. But, since I didn't have to pay, I'm glad I got to go.

I've been trying to think of the single word that best describes the combination of extravagance, phoniness, gaudiness, cheesiness, chaos, and consumerism that makes up those types of amusement parks. I think I may end up getting TiVo when I get kids just so they can skip the commercials for all the crap out there, and minimize that influence. I don't want my kids begging me to go to these places, then beg me some more to buy random souvenir crap. It's all a bit depressing, really.

But the party was fun anyway.

Wednesday, June 4, 2008

Microsoft Tech-Ed: Wednesday June 4

This morning, the bus line was extremely long - one of the cons of being the second hotel on the route. Breakfast's bacon was much better today, though, so I was quite happy with the morning.

My morning talk was on managed to native interop best practices, which turned out to be a slight waste of time. C++/CLI and COM interop don't really apply to my current programming tasks, so I plan on remembering the keywords to look up when/if I actually need them. I will continue to use PInvoke, is what it comes down to. The second talk on LINQ and VS2008 IDE tips and tricks (combined and how they relate) was an excellent session. The speaker was Amanda Silver, so if you ever have the chance to attend a presentation of hers, I highly recommend it.

Lunch was a bit on the mediocre side, but the baked macaroni and cheese was surprisingly good. The conversation was better, and just as informative for me as most of the talks here. Which brings me to a surprising fact: Attending conferences can be tiring, even when you're just sitting in rooms learning. I guess my brain is working harder than I think sometimes.

I missed the afternoon sessions in order to prepare a virtual machine for a DataDude talk on Friday morning. It is nice to see all my work over the past few months start to come together for something practical, even if it's just a presentation, rather than a functional product. But, at one point, the press releases seemed to indicate that I need to have something done by the end of the year, so we'll have to see what happens. My busy work schedule may continue for awhile...

Dinner this evening was at SeaWorld in one of the pavilions. It was a bit awkward at first, because there was a live band for background music and very few people. The food was nothing to write home about, but I guess I'm doing that anyway, in a way. We left dinner on the earlier side in order to enter the rest of the park. We saw the Shamu Rocks show, and a ski show, then walked around until the 10:00pm fireworks Mystify show. The word cheesy comes to mind. I was only there for a couple of hours, and I'm just glad that I didn't have to pay, and that I didn't have to be there longer. If there's one thing recently that would keep me from having kids, it's attending this amusement park. I do not look forward to having to be at one again, and keeping track of kids in that chaos can only make such an experience even more taxing. And you all should know by now how much I hate taxes.

Needless to say, I'm going straight to bed tonight.

Tuesday, June 3, 2008

Microsoft Tech-Ed: Tuesday June 3

The keynote presentation was fairly enjoyable. Bill Gates had a "last full day at Microsoft" video which had some funny appearances from multiple celebrities. The demonstrations were interesting enough, too. IBM made an appearance in one, and that can be read about on an MSDN blog: DataDude goes multi-platform. It was nice to see some of my work make an appearance in front of thousands of people, but even better was that the demonstration worked!

Anyway, breakfast was pretty decent. The bacon needed to be crisper in order to be really enjoyable, but luckily, I only grabbed 7 pieces. I spent the rest of the day attending talks on LINQ, data binding in Windows Presentation Framework, DataDude, and parallel programming.

Probably the coolest part of the day was the dinner/party thing for the various sponsors. There was good food all around the booths and most booths were giving away some cool stuff. I got 6 new t-shirts, so I don't have to go shopping for shirts this year, plus a key chain compass, a squishy basketball, a noisy monkey toy, a LINQ pocket reference book, and a slinky! Free stuff rocks!

Monday, June 2, 2008

Microsoft Tech-Ed: Monday June 2

I woke up at 4am in order to get cleaned, packed, and off to Orlando by 7am. I arrived at the gate as they called for final boarding - just in time! 2.5 hours later, I was in Orlando with a stiff neck. Despite the stiff neck, I still think Midwest might be my favorite airline to fly. Although...I'm not sure if I slept through the fresh-baked cookies, or if they don't serve them on early morning flights. I wanted cookies!

As long as I'm reviewing things, I might as well talk about Enterprise car rentals. So far, I've been fairly happy with my two rentals with them. The cars have been clean and functional, the staff has been courteous, and their shuttles to/from the airport have been frequent and pleasant. This week, I'm stuck in a Chevy Cobalt. I cannot give that a positive review. There is no way to lock/unlock all the doors at once. Even my powerless locks in the Altima could be unlocked with a double turn of the key. The window reel thing is also placed too near to part of the door, and so I scraped my hand at the TWO toll booths (in under 10 miles - inefficient!) I had to go through to get to my hotel. Perhaps most annoying, between the front seats is an empty space. There's no arm rest, and it's very unbalancing. The only positive thing about it is it's phenomenally small turning radius, which came in handy a few times, unfortunately.

I got to the hotel and checked in about noon, but my room wasn't ready. I caught the shuttle to the Orange County Convention Center (OCCC) and registered for Tech-Ed. It was a painless process, and they gave me a backpack with water bottle and a t-shirt. Free stuff! I'll have two carry-on pieces on the return flight, though, which I dislike. That's another good thing about Midwest: Their large seats reduce the number of people on the flight which leaves plenty of overhead bin space.

I still had 3 hours to kill, so I went to Subway. Based on that experience, I can't recommend Orlando Subways. It just didn't taste right. I then headed over to Wallgreen's to pick up fingernail clippers and a small tube of toothpaste. I still had a couple hours to kill, though. I went back to the hotel to look through the packet of stuff inside the backpack.

That was a boring 15 minutes finding out it was all stuff like MSDN Magazine, sample software from random companies, and a few advertisements. Perhaps if I worked more with Microsoft technologies as a developer, instead of as a partner, I'd be more excited about the sample packs of grid forms and whatnot. Still, I'm definitely looking forward to the conference stuff. It should be a lot of fun and hopefully a bit educational, too.

Deep Sea Fishing

I've also never been a huge fan of fishing. Unlike my day at the beach, my day fishing didn't really change that. We got up and were on the road by 4am. We arrived at the check-in building at 4:45, left dock at 5:30, left the bait barge by 6, and were on our way. It was cold. I was cold. But the sun was coming up, and by the time we started fishing at about 7, I wasn't too cold anymore. The first place we stopped, my older brother, Brian, and I dropped our bait fish into the water and they were almost immediately snatched up. I found myself wrestling a yellow-tail tuna, and he struggled with a barracuda. We reeled them in and each thought to ourselves (at this rate, we'll each catch like 10 fish!).

I didn't catch anything else worth keeping, but Brian caught one other fish, I think. Aimee, Brian's fiancée (congratulations!), caught a bass near the end. My little brother, Jake, was the big winner, catching a tuna, two barracuda, and a bass.

Overall, I was a bit bored moving from location to location, hooking bait fish after bait fish, throwing back 8-inch mackerels, and in general just standing around. Perhaps it would have been better if there was a nice sink that I could wash my hands in, so I could cleanly eat my lunch and snack food. Or if I used a lure instead of having to sacrifice tens of tiny sardines and anchovies. It was slimy, wet, hot, and boring. But I'm glad I went.

One lesson learned was to fish early in the week, rather than at the very end. Having caught so many fish (and I have the feeling the average day probably results in a better haul), Friday was spent eating fish. Fish for lunch, fish for dinner, and Brian even ate fish for breakfast on Saturday morning. Now, I've never been a huge fan of eating fish, but this was downright tasty. Perhaps it was the freshness, perhaps it was the bread crumbs and frying, perhaps it was just my taste buds changing since childhood, but I like fish! Not enough to go out and buy it on my own, but enough so that I won't be upset when I have to eat it.

Not a bad trip, all in all.

The Beach

I've never been a huge fan of the beach. It's sandy, hot, the water is salty and cold, and there's sharp things to cut your feet. Wednesday's trip to the beach, however, was thoroughly enjoyable. We hiked from our car up some trails and then back down to the beach, where we made our way back to the car. The sand was very fine, the sharp things were easily avoidable, the water wasn't too cold, and since I only went in up to my calves, for the most part, the saltiness didn't matter. Except for the cuts on my legs - saltwater is not comfortable on cuts. Luckily, I have nothing against pain and even enjoyed trudging along through it.

We had some fairly decent Mexican food for dinner, and then made our way home for a quiet evening. It was by far the most relaxing day of the vacation. I'd be up for another beach excursion, so long as I wasn't expected to swim. Fun times.

Climbing a mountain (and golf)

Tuesday morning, my little brother, Jake, and I went to an hour-long golf lesson on the full swing. I got to touch a 3-iron, but no golf balls, and no full swings were taken. It was just a guy talking about golf grips and hip movement. Not very exciting.

To liven up the day, Jake and I decided to climb the mountain behind our resort. I didn't have a whole lot to wear with me, so I chose shorts and a short sleeve shirt. It was a bit hot out, so I thought I was well prepared. The movies never prepared me for climbing a real southern-California mountain, though. The steepness, the rocks, the loose dirt, those aren't the problem. The problem is plants. Burrs. Pokey things. Thorns. Surprisingly, even though there was always a bee within a couple feet of me, I wasn't stung at all. But, I was still left with plenty of cuts and scrapes.

Getting up the mountain took about 2.5 hours and was a lot of fun. I'm a little bit afraid of heights, but I found that I could control that - sometimes with an effort of will (DC 10). Often, I would be in an uncomfortable position with one foot tenuously perched on a small toehold a few feet away from my other foot. I wouldn't be at all comfortable with staying still or moving forward, but invariably, once I threw my weight toward that foot, it supported me and launching up to the next resting point was easy. I'm sure there's a life lesson in there somewhere, but at the moment, I'm just happy to know that I can climb a mountain as long as it's not too steep or too tall.

There was a road to the left of the mountain as we climbed up. It was our plan to take that back down. Unfortunately, getting from the very top back to the road (maybe 100 vertical feet down after ~1000 feet up) took a full 2 hours. There was a solid covering of thick bushes on that side and we had to tear them apart with our feet and hands. It was very slow going, not at all helped by our encounter with a rattlesnake and what Jake said was a sand boa. We got down without getting bitten, and without too much other trouble. It was just slow going - and after we were already tired and thirsty from our climb.

Even including all that, I had fun that day and would recommend climbing a mountain at some point. I suppose it gave me a bit of confidence or something.