ALex Hopmann     

June 2005 Archive             

Email Alex Hopmann

Home

XMLHTTP

Lancair

Art

Travel

Food

Hiking

Fast Carrot

About Alex Hopmann


Airplanes

Flying

Family

Food

Travel


February, 2005

March, 2005

April, 2005

May, 2005

June, 2005

July, 2005

August, 2005

September, 2005

October, 2005

RSS Feed

 

 

 

June 26, 2005

Movies- IMAX and Batman Begins

We went to see Batman Begins at the Pacific Science Center IMAX the other day. The Batman movie was good- not amazing, but worth seeing.

Watching it in IMAX made me think about the general situation with normal feature films shown at IMAX though. I've seen this and the 2nd Matrix at the IMAX and both times I was a bit disappointed. Part of the cool thing about IMAX is the incredible clarity of the visuals, especially the action bits but both of these films were missing that somewhat. I suspect that two things are going on- first of all "made for IMAX" films are shot at higher than the normal 24 frames per second (I thought 60 but I'm not sure). That is a pretty substantial difference and I doubt these normal films were redone at the higher framerates. 24fps is pretty good and is close to what the eye can perceive but not totally- most gamers would be horrified to play a serious action game at 24fps, yet that's what's going on with all your big films. Second, it feels like the directors of the action films are intentionally making the action be a blur to avoid having to get all the details right. The result was disappointing since instead of this super intense experience it just seems a bit more muddled (allbeit very big!).

June 23, 2005

Software- Design

KC Lemson writes a nice little bit about how hard it can be to design a feature and get it right. She writes about the type-ahead feature in the Outlook Web Access listview- this was the most visible thing they added in Exchange 2000sp2 and was a huge improvement. Of course the amusing thing about her write-up is that while a bunch of folks were stressing about all the different permutations of how to do things, a dev (I'd have to guess it was Jim but I could be wrong) just coded it up and you could feel right away that it worked great. In some ways this anecdote is almost a counter-example to her main point (and Eric Lippert's where which is where I got the link). It turns out that if you took a different approach to the problem (just prototype it, go from there) sometimes the solution can be pretty obvious.

Which isn't to say that sometimes you don't have to do things the hard way. Even with the quick-just-prototype-it approach, usability testing is vital (I'm actually sitting in a usability test right now) and for some things (core OS stuff like Eric's VBScript/JavaScript engine) pretty much everything needs to be done the hard way.

June 22, 2005

Technology- Media Center PCs

I saw this cool MCE PC from Niveus. Incredibly expensive (starts at $4800) but with 3 TV tuners including HDTV (but only for over-the-air HDTV), a design that looks more like consumer electronics (back panel with a nice layout- I think this is what Microsoft was showing at WinHEC as a target design) and n fans.

The Onion published their June 2056 issue. If only they had stock market listings...

I really need to work on some more automation for this site. So far its just a bunch of text files I edit with some custom apps that stitch some things together in a semi-consistent way. I'm thinking of transferring to individual articles as XML files and then PHP scripts to merge them together into pages. That plus maybe some database stuff. We will see.

June 21, 2005

Travel - Portland

Happy summer! As is typical here in Seattle the weather sucks for the beginning of summer. Should get nice right about July 5th...

Kat and I went to Portland last weekend. We were thinking of heading out to a national park like Glacier and then Napa but the weather in all those places was supposed to suck so we went to Portland instead. Portland is a nice city, but I don't get any wow out of it. For the first time we rented bikes which was definitely the best way to get around. When I travel I often think of myself as the advance-scouting team for Tasting Menu so we tried some new places. Higgins for dinner was very disappointing- great recommendations for it as being fresh, local ingredients, but it just wasn't that good. We started with a spinach and beets salad that somehow ended up being a strange combination- the spinach was almost-sort-of-wilted like they couldn't decide which approach to take. We also tried the asparagus gratin that also came out somewhat strange. The entrees were unnecessarily huge. The spring pea and bacon risotto was just poorly done- it was too mushy and the bacon chunks and something else had this strange vinegar flavor. When I think of pea risottos I'm looking for nice subtle flavors with a rich base and a bit of tooth on the texture. This one had none of those things. The steak at least was good, if nothing special. The one bright side was that they had a cherry clafouti for dessert which while it wasn't quite as good as the ones at Lampreia was still great.

June 20, 2005

Home network routers & Microsoft Reviews

I did some experiments this morning with some of the router stability issues I'd been having and reported about the Belkin router below. I replaced the Belkin with a Linksys WRT54G and what do you know, the same problem persisted. So my first conclusion was that my review below of the Belkin was totally wrong and there must be some other problem with my network.

An hour+ of debugging yielded the answer- I'd been playing with some torrent stuff lately and those applications by default can create 100s of incoming connections through the router's port forwarding. It looks like many of the consumer-grade routers don't have good scalability in this respect- the total bandwidth of the incoming traffic was well under reasonable levels - <50kbits per second. But the volume of connections was busting the router. I'm interested in checking out whether the DLink "gaming" router does a better job. In the meantime I throttled back my torrent client and things stabilized (but I haven't tried it with the Belkin yet). So my conclusion so far is that the router is at fault, but possibly they all have the same issue. Look for more reports in the coming days as I try the Belkin again and maybe some specialized tools to measure performance of the Linksys.

Interesting post from mini-msft on the Microsoft review curve. This type of thing is super-important and figuring out how to do these sort of things right at Pure is really important to me. The Microsoft system started out as something I really believed in, but it just seemed like over the years it became more and more bureaucratic and started reinforcing really bad things. Having a problem making your curve and rewarding your top performers? Whatever you do, don't manage out those low performers, especially the ones who are just coasting- you need someone to give the 3.0s. Also the yearly system (+ the fact that it takes about 2-3 months between when people start doing scores until they come back from the management roll-ups) makes the whole system so remote and distant. It means getting a poor review is an almost insurmountable barrier since its a whole year away (if not 2) from being back on track. Plus the way the curve system work inevitably leads to managers rewarding short-term results over long-term investment. If I need to worry about two people either of whom might leave the team, do I reward the guy who is delivering the stuff I need right now, or the stuff I'm going to need a year or two from now?

 

June 17, 2005

Home network routers

Since I've been working at Pure Networks I'd had the opportunity to play with lots of routers so I figured it would make sense to write up some comments about specific models I've been playing with. I'll admit that I've got some second thoughts about writing about my experiences with the routers since the manufacturers are often our partners and let's just say that I'm often going to have some rough comments.

I've been running the Belkin Wireless Pre-N Router at home for the past couple of weeks. My comparison is the D-Link DI-724 router which had been reliably serving my network for the past couple of years. I bought it because I was hoping to avoid interference by using the 5.4ghz band. Unfortunately that didn't work out too well since 5.4ghz doesn't go through walls as well as 2.4ghz and the signal strength downstairs was too low. Overall my main complaint with the DI-724 is just the strength of the single- even using 802.11g I don't get reliable connections downstairs at the main places where I care about it.

Several people at work recommended trying out one of the newer routers- 802.11N is this new way to use the 2.4ghz spectrum by transmitting on multiple channels at the same time to get better signal strength and performance. The 802.11N standard isn't finished yet but there are already many pre-standard product on the marketplace. While you need Pre-N/MIMO receivers to really take advantage of it, the basic radios in the newer equipment have improved enough over the years that I was told to expect better range with a newer product.

I took home the Belkin and hooked it up and did the basic configuration. Overall their web-interface is nice although its a bit strange that it defaults to a subnet of 192.168.2. instead of the more common 1. Also their authentication thing is based on some weird session concept so that if I've logged into the admin pages from one machine I can't log on from another machine until the first one's session times out. That can be a real pain.

Overall the improvements in signal strength are real- my downstairs machines went from 2/5 bar connections to 4 and often 5/5 bar connections and I can now reliably stream music (but not quite video) from my server without the constant glitching from the older router.

BUT, now that I've got a couple of weeks experience with it, I'd have to say its reliability is very disappointing. I tend to run a lot of traffic and do some port forwarding so maybe I'm pushing it harder than normal, but certainly not beyond spec. Part of the cool thing about Network Magic is that it makes the state of your network very visible- if I wasn't running Network Magic I'd probably have thought that the Internet was just being flaky or something, but it was very clear that the router itself was cutting in and out. The stranger thing was that after being on for a longer period of time it somehow gets into a state where normal traffic is working fine, but HTTP used to access the web was just not going through the router. I could ping and do other kinds of internet connections but any web site I tried to go to (with the exception of ones inside my network that I was able to use to confirm the issue) would fail. Rebooting the router would solve the problem (temporarily) so it seems pretty clear the issue was the router.

I should add that I've installed the latest firmware available on the Belkin site and that I've got machines that are outside the router that I can use to isolate issues.

June 16, 2005

Blogs

Thought I'd link to a few other Pure-related blogs today-

Tim Dowling (CEO)

Steve Bush (CTO)

John Ludwig (board of directors)

Also by way of Scoble and Joel on Software I ran into an interesting review of Bob Herbold's new book "The Fiefdom Syndrome". I'm not sure I agree with all of the reviewers points but its an interesting discussion.

There are two key observations from the minimsft post that really strike a chord with me-

1) Star people sometimes get in a rut and need to get out of it. For a long time I was hoping that some VP would just swap some of the key developers between Office and Windows. Too many of them were using their expertise in the specific area to get comfortable and too many discussions just got settled by "because that's the way we always do it" by someone who has been working on the same thing for 10+ years.

2) fiefdom's are really bad, although I'm not sure I agree that it always hurts the strong performers, at least in terms of financial compensation. I knew of a few fiefdoms and their managers ran them with a set of their "key folks" that just got lavished all the goodies. The downside is that those orgs tended to need to build up plenty of extra-weak people to keep the review models working out the right way and those otherwise strong performers were stuck in that they wouldn't be able to move jobs and keep all their goodies.

The thread also heads over to "jobsblog" over on MSDN which is written by Gretchen a recruiter at Microsoft. She recently posted some comments directed at hiring managers who seem to think that great technical recruits grow on trees. This is a great point, although I don't think I saw that kind of attitude while I was there. The thing that I did see about a year ago was that they laid off about 2/3rds of the recruiters. Now, it is possible to make the argument that this was clearing out some dead wood, but if that were really true they would have re-staffed. Instead they told us that we were now down to one recruiter for a team of about 1000 people with hundreds of open heads to fill and that given the overload they would need to prioritize to the degree that whole areas wouldn't really get active attention from any professional recruiter.

One of the fundamentals of "The Microsoft way" as I learned it 8 years ago (although its by no means unique to Microsoft now) is that recruiting the best people is critical, possibly the most critical thing in a business like this. While I was there I'm sure I did well over 100 interviews and while I wasn't perfect, interviewing and sending the feedback was always something I treated as a higher priority than just about any other activity including exec reviews.

Consider then the message it sends when one of the key cost cutting measures was cutting back on the ability to support this process and make sure that only the best people were coming in. When recruiting was not overwhelmed the best recruiters were able to track candidates, develop them, put together an interview loop making sure that enough senior people with experience were involved, all that stuff. Instead over the past year interview loops became haphazard and it seemed like the recruiters rarely had time to follow up on issues with a candidate. Go figure its hard to fill those spots.

Not that its the fault of the recruiters- its hardly fair to blame them for having their ranks decimated and being overworked. Ironically enough on my "exit interview", this was one of the few gripes I had to share with HR (how ironic that as I'm quitting I tell HR it sucks that they got laid off). In any case if Gretchen is seeing grumpy hiring managers, this could go a long way to explain it. I DO blame the culture that crept in that involved cost-cutting without any apparently analysis of the impact on the business.

 

June 15, 2005

XMLHTTP + Misc

Just spotted a wikipedia article on xmlhttp. Cool!

Also looks like we are giving away some free copies of Network Magic with some 65meg USB-keys over on ehomeupgrade. I'm just curious how we found a 65meg key, or is that the usual drive-size inflation where they count the number of decimal millions? (I checked one of the keys, and they are actually 65,240,046 bytes or 62.2 MB the way computers count them in base-2).

And here is a Slate article on home cellular repeaters. I need to check this out, I want to ditch my land-line but getting good cellular signals at home is still a problem.

June 14, 2005

Books- PHP

Back a few weeks ago I bought a bunch of PHP books and I thought it was time to write some thoughts about them. One isn't technically about PHP, but its about SQLite which is often used with PHP and is very related (and also very cool..)

I'm interested in PHP because we are using it a bunch here at Pure Networks. At Microsoft the tools to use were pretty straight-forward. "real" client apps were in C++ or maybe lately in C#. If they were in the browser you use JavaScript. Server side you used C# with ASP.net. And the cost of the Windows Servers was easy to ignore since you had the flexibility of effectively free licenses. Here not only would we have to pay for Windows server licenses, but installing IIS is a pain on the client and we need to work with the skill-set of our server developers which leans towards linux/apache/php/java. Not that those are bad things, its just the reality of our situation here.

In any case one of the things that is pretty cool about PHP is that you can run it anywhere. I installed it on my home servers (the machine that is serving this page) so I can prototype stuff in the environment that I'm used to and we can easily deploy it on the linux/apache boxes in our data center. Plus its got a syntax that feels very familiar to an old C/C++ guy, yet it has the easy-to-develop aspects of a scripting environment. I do have to admit though that I'm at the stage still where some things that are normally a pain are very easy but when I get stuck I can get totally lost- I haven't figured out how to really debug in this environment yet.

I can't wait to write a bit more about what I've been actually doing with this stuff...

Overall I found this book to be very useful. The big caveat on this book is that it covers the older 2.8 version of sqlite rather than the latest 3.0 fork. Since I've been using 2.8 anyway (because there are available .net wrappers for it so I can write my prototypes in C#) that isn't that big a deal for me, but this might be a big problem for some people.

Sqlite is feels pretty different from other databases and it really hits a nice sweet-spot for some of the stuff I'm looking at. It supports basic SQL, but has pretty flexible concepts of schema- any column can really be any data type so there isn't any hard validation, but if you are doing all updates through a consistent middle-ware layer this isn't a big deal. There are pretty-much never any column-size limits and the whole thing is really small, fast and light.

Even better (and this is probably half of this book) there are tons of interfaces for hooking Sqlite into all kinds of things. So for example PHP has built-in support so unless you configure it out any PHP site can easily talk to these databases.

This book turned out to be not exactly what I expected but I can't fault them for an inaccurate description. I think I was thinking of it as "Advanced PHP5". Instead it dives into professional programming concepts that many people who come out of the web-development / scripting background might not be familiar with. It opens with chapters on object oriented programming and UML (which I don't get - it just seems like a waste of time).

I wonder if some of the techniques in this book are at the expense of performance. For example they show creating a separate file that acts as an interface validation layer. This makes sense in a traditional compiled programming language where an interface is something encountered by the compiler and that never impacts the runtime, but its not clear that is the case in the PHP environment. The book talks about performance tuning later but never mentions it in the context of the specific object oriented approaches they advocate.

The other general strange thing about it is that the book is all about the basics of pro software development including design patterns, generic collections, iterators, etc. But applied to a weakly-typed scripting language. Is this really the right fit? On the one hand, just because its a scripting language doesn't mean that you shouldn't take your craft seriously. On the other hand if you apply that much formalism, you might as well be doing it in something like Java or C# that really supports that kind of rigor.

In the end this seems like a fine book to teach professional development practices with a PHP slant, but it wasn't what I was looking for.

Before I sign-off for today I wanted to share a thought on comments. My blog doesn't support comments right now. I'm thinking about adding them, but its not an obvious thing for me. To me the cool thing about blogs is that everyone can have one and it can be their voice on the internet. Want to leave me a comment, post it on your blog and put a link to my site? Still it can be difficult to know when you are here that another blog has a reference to this one, so maybe the right thing is to focus on letting people put in a link associated with an article. Any ideas?

Having said that I occasionally have left comments on other people's blogs rather than just posting them here, so maybe I'm being a hypocrite?

June 13, 2005

Cooking

I did a bunch of fun cooking yesterday. For breakfast we made Eggs Benedict which meant I got to make a hollandaise sauce. I'd never made this classic before but it turned out great (although I did leave it on a burner a bit long after it was done to keep it warm- should have figured out a better system for the bain marie). We didn't have real Canadian bacon so I made some normal bacon and then friend up some ham in the grease- I thought that part worked out great. Finally following the recipe in the pro cook book I had (from a class a long time ago) I finished with some shavings of black truffles. The truffles were a waste, they didn't have any noticeable flavor.

For dinner we made some grill-pizzas. I threw the pizza stone on the grill and fired it up very hot. Kat got some pizza dough from Delaurenti's and we took some old BBQ chicken and mixed it up with some BBQ sauce, a little onion and some mozzarella. I thought these turned out great- best home pizza I've ever had. The only catch was it was almost impossible to transfer the pizza from the tray we prepared the toppings on onto the grill. We tried lots of corn-meal, but I'm looking for suggestions for how to do it right.

 

 

000000

 

 

The fine print- Not much fine print for this website.