I finally got a Nintendo Wii this weekend. Wii’s are in fairly short supply
right now, so I couldn’t find one at a reasonable price on-line. If you live
in the Seattle area, here’s my Wii-finding tip: Fred Meyer stores get
deliveries on Wednesdays, Fridays, and Sundays, meaning that calling a Fred
Meyer store at 7am on Sunday morning to check if they received a new shipment
is a good way to find a Wii.
The total cost, with tax, an extra controller,
and a component video cable was around $350.
I’ve got Wii Sports, Wii Play,
and will be picking up Mario Galaxy this week. The primary users will probably
be my kids, although I am very interested in trying out Mario Galaxy.
former Xbox 360 developer, I couldn’t help comparing the Wii to the Xbox 360.
So far I give the Wii high marks for:
- It’s small and quiet.
- It starts up quickly.
- The dashboard UI is very clean and pleasant.
- The low-res (480p component) graphics are quite good. I did occasionally see jaggies, for example on the edges of the bowling pins during close-ups in Wii bowling. But the Wii encourages you to play fairly far away from the screen, which masks the lower resolution.
- The Wii remotes are great! I love the new gesture “verbs” that are available for game play, and I found it much easier to enter text with the Wii than with an Xbox controller.
- The TV station metaphor for the top-level UI is a good metaphor. It makes it easy to take in the available options at a glance. And the Wii remote makes it low-effort to pick the channel you want.
- Having built-in wireless was a nice touch.
- The Mii avatars are pure genius. Both the fun of designing them and then having them appear in the sports-style games. This is something that the other consoles should copy, and I’m surprised they haven’t. Maybe it’s patented in some way that makes it difficult to copy.
- I thought it was a nice touch that I could name my console, but I didn’t see the name used anywhere.
- My two three-year-old daughters were strongly attracted to the Wii dashboard and games’ graphics and sounds, saying things like “pretty!” and “I like it!” They never said this about the Xbox 360 dashboard or games.
- My five-year-old son really got into acting out the moves in the baseball game. And he has not yet played real-world baseball. It will be interesting to see how he does when he starts playing real-world baseball next spring.
- The UI of the Wii online store is very good. The Mario themed downloading bar is pure genius – you know you have a good UI when people enjoy watching the download progress bar.
Some things I didn’t like about the Wii:
- The UI for pairing a second wireless controller to the console was hard to discover. (I will give Nintendo big props for pre-pairing the in-the-box controller with the console. I’m sure that adds cost to manufacturing, but it makes for a great out-of-box experience.)
- The network connection UI gave very little feedback on why the network connection failed. When you test network connectivity you get a 20 second “testing” animation, followed by a cryptic five-digit error code. I had to make two changes to my router configuration to get networking to work. I would have preferred the Xbox 360’s UI, that gives more step-by-step information about network connectivity issues.
- My three-year-olds can’t handle the Wii controller very well. There are too many buttons to accidentally press, and the required gestures are too complicated for them.
- No downloadable games demos. And very few downloadable games at all.
- The walled-garden Internet channels are pretty weak, especially the Everybody Votes channel.
- Not many current or upcoming games that I want to play. After Mario Galaxy, I don’t know what my next purchase will be. Luckily, the current games should keep my kids happy for quite a while. (My son’s been working his way through Cloning Clyde on Xbox 360 for the past year, I can only imagine how much fun he’s going to have with Mario Galaxy!)
In conclusion, I’d have to rate the Wii as a much better “family” console than
either the Xbox 360 or the PS3. And by family I mean “small children”. I’m
lucky that I like the Wii’s UI and game style, because I have a feeling I’ll
be hearing and seeing a lot of it over the next few years. As for my trusty
360, I suspect it will be mostly relegated to “Media Center Extender” status.
(Although I am definitely looking forward to Alan Wake and I have high hopes
for the next Banjo game. And I might get “The Orange Box” – Portal and Team
Fortress 2 look like a lot of fun.)
Well, for what it’s worth, I’ve switched my MacBook from Ubuntu Linux back to
OS X. Ubuntu Linux worked, but had lots of little problems:
- The wireless driver worked, but it’s range and speed was much less than under OS X. For example, sitting on the couch in my living room I got 4 bars with OS X but just two bars with Ubuntu. (Now, of course, the two operating systems could be reporting the same information in different ways. But actual network activities OS X seems faster and more reliable.)
- The connectivity to Windows file shares is much more reliable. With Ubuntu I could not reliably use VLC to play AVI movies off of a Windows Vista file share. The AVI movies would always timeout sometime in the first few minutes of play. With OS X I have no problem.
- I couldn’t figure out how to get suspend and resume to work right in Ubuntu. As a result, battery life was not as good.
- The trackpad never felt good. And a single-button computer will always be a second-class citizen in Linux.
- The Linux UI experience wasn’t as solid. (The fit and finish, and how much flickering went on.)
- The UI quality of add-on applications was somewhat lacking. And the use of three or four different UI widget sets was downright confusing. To be fair, OS X and Vista have issues with this as well, but in OS X and Vista the issue is a generational one, while in Linux the issue is a civil war: there are three competing UI widget sets.
So it’s back to OS X for me, for now.
I am disappointed by the new version of Apple OS X that was released this
weekend. The UI has gone backwards in several areas. In particular, the
translucent menus are hard to read, and the default “space theme” wall paper
is ugly. So far it feels like a service pack with a bonus backup program.
I suspect that Apple is suffering from the same problem that Microsoft was
with Vista, namely ”How do you improve on a very good existing product?” In
addition, I suspect the company’s attention over the past year was focused on
developing the iPhone, and perhaps not enough attention was paid to Leopard.
Still, I’m not sure what they could have done better – Desktop OSs are pretty
much of a solved problem. But I suspect that as the hype wears off people
will start to question whether Leopard is a significant improvement.
Ubuntu Studio is a nice idea in theory, but the
execution is lacking. The goal is to create a version of Ubuntu optimized for
media creation by:
- Bundling the best available open-source media creation tools.
- Using the real-time Linux kernel, for reduced latency when mixing audio.
- Using a desktop color scheme that doesn’t make artistic people ill.
The problem is that there are a lot of rough edges:
- By using a non-standard kernel, the release has problems supporting wireless hardware, such as the wireless hardware present on my first-gen Intel Macbook.
- By using a cool-but-low-contrast color scheme, the UI is difficult to read on a screen-dimmed laptop.
- Some of the bundled free content creation tools are pretty weak compared to the commercial equivalents. (I’m thinking of GIMP and Blender in particular.)
The wireless hardware support issues make this a non-starter release for me,
but I enjoyed giving it a whirl.
I recently read a positive review of Linux by a man who said he was a doctor,
not a programmer, and that he found Linux very easy to set up and use.
That’s great, but you have to take recommendations like that with a grain of salt.
I’m not a doctor, but three of my siblings-in-law are doctors, and a fourth is
a nurse, and one thing I’ve noticed is that medical professionals are
extremely good at following technical directions. I think it’s a skill that
comes from how medicine is practiced – you diagnose the patient, then apply a
recommended treatment. Just like debugging a computer problem!
Linux, like maintaining a patient’s health, requires researching a scattered
body of knowledge and deciding how to apply a mass of conflicting advice. Both
tasks reward careful study, and exact replication of the recommended
treatment. For doctors this way of working is second nature, but I don’t think
laymen will find it so easy.
I’ve been tearing down and reinstalling Ubuntu 7.10 all weekend, trying to get
wireless video playback to work well. Here’s my list of tweaks, all of which
are unrelated to wireless video playback:
- I personally like the Edubuntu 7.10 distribution more than the stock Ubuntu distribution. Edubuntu has a nicer default visual theme and some nice educational games.
- Apply customizations from the MacBook Ubuntu Forum
- I just set up my keyboard so that the lower Enter button acts as the right mouse button.
- Make text better:
- System:Preferences:Appearence:Fonts:Subpixel Smoothing
- The Google Toolbar for Firefox has a bug where bookmarks won’t load. A work-around is to use the Synaptic Package Manager to install libstdc++5 and its dependencies.
- In order to get the keyboard “Mute” button to work, open System:Preferences:Sound and select all the channels in the “Default Mixer Tracks” list. (Hold down the Control key while clicking on each channel.)
I was up early this morning to get the Ubuntu 7.10 final release. I used the
Ubuntu torrent (1700 downloaders) to download the file, and had the ISO image
within an hour. Pretty neat!
In theory I didn’t actually need to install
Ubuntu 7.10 final. In theory it would be just as good to start with a late
release candidate and apply patches. But I wanted a clean start.
I did run
into an odd glitch during the install: the Macbook LCD display was corrupted
when I first booted up off the LiveCD. I did a cold reboot and all was well.
About six months ago I left Microsoft for Google. One of the big differences
between the two companies is the tool chains that they use. Microsoft mostly
uses its own tools, many of which they also offer to sale to third parties,
while Google uses mostly open-source tools. I thought people might be
interested in seeing the differences.
Note that my experience may not be
representative of most Microsoft or Google employees, because I was not
working in the main-line part of Microsoft (I was in the Xbox team), and I am
not currently working in the main-line part of Google. So in both cases I am
not familiar with the specialized tools that each company has developed for
doing its mainline work.
Here’s a comparison of the tools I used at each company:
Visual Studio vs. Eclipse 3.3
I give Visual Studio the edge on debugging UI and IntelliSense. But Eclipse has some nice features, such as showing errors in the scroll bar
C++, C# vs. C/C++, Java
Microsoft C++ is better than Gnu C++, and C# is better than Java. But it’s a 10% difference, not a 100% difference.
NMAKE vs. GNU make
GNU make’s better – at least it seems to take less code to implement fancy build rules.
Source Code Control System
Internal tool (similar to perforce) vs perforce
It’s a wash - they’re both very similar to each other.
Internal tool “Project Studio” vs. Internal tool “Buganizer”
Google’s system has more integration into email. For example, if a bug is opened against you, you get an email, and if you reply to the email your reply is automatically appended to the bug report. Also, Google’s system is web- based, which makes it more convenient to use.
Outlook 2007 vs. gmail
Overall I like gmail, but Outlook does have one feature I really miss: I set up a special folder for all the “checkin mails”,
that was sorted by name. This made it very easy to scan through people’s checkins. gmail only allows mail to be sorted by
time, which is less convenient for scanning checkin mails. I’m pretty sure that Google gives employees more email storage
space than Microsoft does, but I don’t remember the exact numbers at Microsoft. I do know that after 6 months at Google I’m
at 1% of my quota, whereas at Microsoft, after 10 years, I was always bumping up against my quota limit.
Internet Explorer vs. Firefox
Firefox has some great plug-ins, such as Ad Blocker Plus. but IE had the edge on printing and stability.
Office 2007 vs. Google Docs
Office 2007 has a superior UI and far more features. Google Docs is “good enough” for programming docs, and I like the web integration very much.
Vista Ultimate vs. Mac OS / Ubuntu Linux
I like Ubuntu a lot more than I thought I would. I like Mac OS a lot less than I thought I would. And Vista is fine, too.
Dual-Proc Xeon x 2, no laptop vs. Quad-Proc Xeon, Dual Proc Xeon, Macbook Pro laptop
Google is more generous with hardware, especially in giving most employees their own laptops. And of course Microsoft only
gives Mac hardware to people who write Mac apps.
Dual 1280x1024 21” CRTs vs. Single 30 inch 2560 x 1600 LCD or two 24-inch 1920 x 1200 LCDs
I love the large LCD screen. Actually I disliked the Microsoft CRTs so much that I went out and bought a 20 inch 1600x1200
LCD with my own money. For $800 (that was a few years ago, when they first came out.)
Large private office with a window vs. Small desk in shared 8-person interior office. No window.
Having a private office is nice, but there are advantages to sharing an office with people who work on the same project.
Google issues noise-canceling headphones to help reduce distractions. I’d have to say that Microsoft has the edge here, but
Google is not nearly as bad as I thought it would be.
Overall I’d say the two tool chains are roughly equivalent. I found it pretty
easy to transition. I was productive at Google after just a few days of
training. By far the biggest qualitative difference is due to the giant HP
2560 x 1600 LCD monitor I’m using now. It’s wonderful to have so much
contiguous desk space. To be fair to Microsoft, I believe that new employees
at Microsoft are now being issued 20” 1600 x 1200 LCDs, and many programmers
manage to scrounge a second LCD. But Google’s much more generous at outfitting
programmers with hardware than Microsoft.
A friend recently asked me for advice on buying a laptop for a college
student. Here’s the advice I gave them: These days laptops from different
companies are all pretty similar. They use roughly the same parts, and are
built in exactly the same Chinese factories. So I would try to figure out
roughly what configuration you wanted, and then shop for the best deal, pretty
much ignoring the manufacturer.
Macintosh vs. Others
The first decision, and the only one where the manufacturer matters, is whether
you want a Macintosh or a non-Macintosh. The benefits of a Mac are:
- Great support if you happen to live near an Apple Store.
- Check if you do by looking here: http://www.apple.com/retail/
- Macs are fashionable.
- Macs can run Apple software in addition to regular Windows software.
- Macs have good resale value. (Although laptops in general are very fragile, so it’s likely that your
laptop will break before you resell it.)
The disadvantages of a Macintosh are:
- About 30% more expensive than other brands, especially if you get the other brands on sale. Macs never go on sale.
- It is more awkward to use a Mac for Windows software than other laptops. This is due to
- The Mac not having a built-in right mouse button.
- You have to go through extra steps to buy and install the Windows operating system.
I currently own a MacBook and I also use a MacBook Pro laptop at work. I
bought the MacBook because I thought it was pretty, and I wanted to experiment
with using Apple software. I like it – it is a good compromise on size,
performance, cost, and so on. I especially like the service I get from the
Apple Store. I live about 2 miles away from the Bellevue Apple Store. I have
had two problems with my Macbook since I bought it:
My kids pulled off several of the keys, and even lost three. The Apple Store gave me replacement keys for free, and even put them on the keyboard for me, also for free.
The laptop battery stopped working. In this case the Apple Store gave me a new battery ($100 value) free, no questions asked.
I also use a Macbook Pro loaned to me by my work. They give people a choice
between a Macbook Pro and a Leonovo Thinkpad T60. I’d say the split is about
50/50 on which notebook people choose. The Leonovo Thinkpad line, formerly
made by IBM is one of the best “no nonsense business computer” laptop lines.
They have especially good keyboards. The Macbook Pro is much larger than the
Macbook. It is also much heavier. I find both notebooks are good, and I don’t
think the Macbook Pro, at around $2500, is 2.5 times better than the Macbook,
at around $1000. If it were my own money, I would buy the Macbook rather than
the Macbook Pro. As for non-Macintosh laptops, I would look for a laptop with
A good keyboard
Built in wireless networking
1 GB of RAM
A good screen (bright and easy to read.)
40 GB hard disk
Weight around 4 to 5 pounds.
Doesn’t get too hot in use, has a quiet fan.
Price around $800 to $1200
If given a choice between several models with different speeds of CPU, I would
choose the cheapest/slowest, because all of the CPUs are really fast these
days. And I would be happy to buy a slightly older laptop model on sale.
Laptops typically are only sold for 6 months, they are then replaced by a
slightly better model. When a model is replaced, it often goes on sale at a
good price. I would consider laptops by pretty much any brand. And I think I
would try to see the laptops in person before buying, as that’s the best way
to judge whether the screen looks good, or the keyboard is comfortable to type
on. One frustrating thing about laptops is that the build quality varies
greatly from model to model, even within the same company. So just because one
model is reliable, doesn’t mean another similar model from the same company
will be reliable. A good web site for laptop review information is
Lately I’ve been learning the git source code control system. It’s a
distributed version control system, which means there is no central
repository. It’s especially good for working on multiple branches.
Everyday GIT with 20 Commands
Alas, currently git doesn’t work well on Windows. (Due to many of its utilities being written in a hodge-podge of Unix shell scripts. Pretty lame. If they’d
just used C, Perl, or Python it would have been very easy to port.)