Saturday, November 21, 2009

Lady GaGa vs Depeche Mode

My pop fascination with Lady Gaga has now been justified by a remix of Lady Gaga's Paparazzi with Depeche Mode's Just Can't Get Enough. DJs From Mars, I thank you.

p.s. DJs From Mars MySpace page has links to more videos for similar remixes.

Wednesday, October 07, 2009

New Toy = NetBook EeePc 1005HA

Just got a new toy for our upcoming travels. I wanted something small to dump pictures onto, so I can label them while I still remember the details. I used to have a Fujitsu P2000 series that I used for this, but that poor Transmeta chip wasn't really holding up very well. So I bought a Asus EeePC 1005HA. The first one arrived with a busted wireless. Sent that back and am writing this post on its replacement.

Aside from spending all last night installing all the necessary updates (See previous post) I am rather liking the little blue beast. The keyboard is small, but usable. The screen is also small but usable. Google's Chrome browser appears to be a particularly good fit, at least with just a few tabs open.

I'm curious to try it out more. I've got a 2GB DIMM to install, which should help things. I've also tried Moblin a tiny bit. I'll report back more when I've had more time to play with the machine. I'm really rather excited about a machine that has enough batter for me to play around most of the evening without running out of juice. I just wish someone shipped a 10" screen with more pixels. 600 pixels tall is pretty damn small, especially if you are used to a laptop 900 pixels tall. Everything appears freakishly big on the netbook at first.

If only it supported the two-finger up/down scroll like my MacBook... I miss that every time I use a Windows laptop....

Dangerous Data Structures

We have been working on a particular component at work recently. The origins of this code go back to some of the very origins of the product. The code was written assuming a set of facts that no longer really holds true. My team has been patching it, trying to make it work with our new realities. We have come up with some pretty impressive hacks, but each fix has exposed new limitations of the code which we then need to try and patch.

What went wrong? Why was it so hard to fix the old code?

The problem was that the original code was using data-structures that didn't align with the new goals for the code. The core data-structure was of a rather neat design, but was also rather complicated. Both aspects deterred people from replacing it with something different. If the existing code was so complicated, the replacement (which must support more scenarios) must be more complicated, right?

I've seen this happen many times. Someone writes a neat bit of code, and later developers are nervous to replace it. Even though trying to retrofit new ideas on the old code is obviously painful, they would rather layer hack upon hack than rethink the original. This may not actually be true.

The worst cruft I have seen accumulate in 'legacy' code, happens when the original implementation used an inappropriate data-structure. Layer after layer of hack tries to pretend that the data is structured differently than it really is. This is one of those things that I think of when people talk about 'code smells'. This is one of the few times that a (partial) rewrite is in order.

It is critical that the data structures used are appropriate for the task at hand. Pick the wrong representation and now your code has to jump through hoops to do simple tasks. Pick the right data-structures and the code is clearer, and thus less buggy. With the right data-structure choice it is also easier to evolve the code, to add new features.

Just watch out for the day when those new features indicate that maybe you need to rethink your data-structures.

Tuesday, October 06, 2009

If Microsoft cared about Customer Experience

I'm planning some upcoming travel, so I thought I'd try out a netbook. The first think I do on a new computer is download the latest patches. There is something seriously wrong with the fact that it is taking ~1hr to download and update a brand new computer. I realize that means my experience is about a fresh XP install, but since netbooks account for a significant percentage of laptops purchased today, I think my argument still holds. If so many people are buying these machines, doesn't Microsoft want a good customer experience? Instead, I get an insane list of updates. Why can't they ship a version of the OS that includes all these updates? That I need to waste hours updating, just so that I don't get a virus the first time I navigate to a random site with unscrupulous advertisers, is crazy. It just makes me want to try Linux. Have you seen the latest Moblin release? Apple understands this. When I bought a new MacBook latop last fall, I was up and running with the latest updates in minutes. The few updates I had to install were fast to download and quick to install.

Microsoft really doesn't seem to act like a company that cares about the customer experience. They care about the corporate experience... maybe. Amazon only just started delivering new laptops with Vista this summer! They are not the only company that kept away from Vista until they had no choice.

Microsoft is seriously at risk of loosing market share if they don't give customers a reason to want their products. I don't want Windows; I use it because it is the only OS with the apps I need. Meaning, Windows is the only platform with a good Exchange client, aka Outlook... If OSX really does get a good port of Outlook, I'd prefer that in a heart-beat. For home computing I use a Mac. I bought my parents a Mac. I think Microsoft is a lot closer to loosing a chunk of consumer market than they realize. I think Windows 7 is the last gasp before the consumer marked becomes fully commodetized. Soon after that the OS will stop really mattering.

Microsoft is dangerously like the steel-mills and mini-computer manufacturers profiled in Innovator's Dilemma, yet Balmer pretends that it is 1999. Sigh.

Monday, July 20, 2009

Wind Surfing

For many years I've been interested in learning to Wind Surf, but never had anyone to go with me. The topic came up recently and Natascha showed some interest, so last weekend we took a Saturday afternoon class up at Green Lake. They have decent gear including some comfortably small sails, which make it much easier to start into the sport. Natascha and I both had a ton of fun. The weather around here has been perfect for learning; warm, sunny, with a light breeze. Yesterday we went back up and rented 2 boards for a few more hours of practice. I still spend more time in the water than I'd like, but am definitely getting better. Natascha picked a large sail than last week and got a serious work-out, but we both finished feeling like we are starting to get the hang of it. Now we just need to find some used gear so we can head out whenever we want!

Thursday, December 18, 2008

Duckfeet in the snow

I wish I had thought to bring a camera on my morning walk with the pup. Walking through Gasworks Park I noticed some odd prints in the snow. It took me a bit to realize I was looking at duck footprints.

Sunday, November 30, 2008

Seattle Half-Marathon 2008

Seeing Doug's post about running the Seattle half-marathon reminded me that I should mention that I also ran the half-marathon this year. Not nearly as good a time as my Vancouver half-marathon. I didn't train as hard, got sick 2 weeks before the race, and don't think I ate enough the day before. I managed ~1:50, despite having to walk a bit, for fear of passing out. Next year, I'll train for those damn hills better, and try and find a better pace person... Running the first 1/2 of the race at a 7:30 pace was not a good idea. Felt great at the time, but not sustainable.

Running 13 miles is an excellent excuse for some pints of Porter and a proper hamburger, and thus so did I indulge myself.

New toy

Friday I picked up a new MacBook. (I almost bought a Samsung NC10 instead, but wanted a machine powerful enough to run Eclipse/etc.)


So far I have mostly been installing all my favorite Mac apps (Quicksilver, AquaEmacs, Fluid) plus a few developer tools (NetBeans, Eclipse, XCode) plus the usual (OpenOffice, Firefox). Given that my last Mac is an old PPC 12" MacBook Pro, this is a significant step forward. Everything is so snappy, and the bigger screen is a great. I've also moved over from my old Password Safe password archive to KeePassX and a DropBox account to share the password amongst my machines.

I've adjusted to the new trackpad surprisingly quickly. I love the new multi-finger scroll. One of the main uses of this machine will be browsing the web, and one of my biggest complaints about using my girlfriend's MacBook, is the lack of page-down key. The two-finger scroll is a great compromise.

I'm looking forward to getting some time to play with XCode an Objective-C. I started toying around with that on my old machine, but got distracted. Now that my household is mostly Mac (2 MacBooks + 1 Mini + 1 Work PC Laptop + 1 PC Desktop I never use), Mac tools are much more useful.

Been a long time

I've been quite busy with work but unfortunately, the nature of what I do means that I can't really blog about it.  Or at least, I have yet to figure out how to appropriately blog about it.

That said... it is the most interesting job I have had since when we were first working on XML support in Internet Explorer 5. (Back then I was helping define the XML DOM, XPath, and tons of other amazing things that people take for granted now.)  Working on S3 has taught me more about the reality of building and running distributed systems, than I can even imagine fitting in one book.  Working on hard problems with a great team, makes this one of my favorite jobs of all time.  (p.s. we are hiring...)

Labels:

Sunday, May 04, 2008

Vancouver Half-Marathon

Natascha and I spent the morning running around Vancouver, BC. 13 Miles of scenic vistas. Lovely day for a run. I'd forgotten how much I like Vancouver. The city is beautiful, and manages to have a bit more international feel than Seattle. The Half-Marathon was a very pleasant tour through a few parts of the city center. I'm not entirely sure what my time was, because we started late, but we think I managed just over an 8 minute mile. Better than I expected.