Wednesday, May 20, 2009

Typo occurred, too

Typo occurred, too
Originally uploaded by fullerbecker
Can you be a little more specific?

Saturday, May 16, 2009

This Old Space Telescope

Watching the Hubble repairs live is at once fascinating, restful, and inspiring.  And boring. But great to be watching with a quiet house and a cuppa coffee to wake up gently on a beautiful Saturday before starting a day that promises to end in happy exhaustion.

(I'm watching on UW2.TV as I write this, it's one of my favorite TV stations and it carries lots of NASA.TV.  There are a gazillion places to see it - just search for STS-125 spacewalk - I'm watching the third one right now)

From the mission description:
...pieces of those instruments have failed in past years – not the entire instrument, but specific pieces inside of them. The crew will replace only the pieces that have failed.

But those instruments were never designed to be repaired in space. In fact, they were specifically designed not to come apart.

“When we first looked at it, we were going ‘well, maybe, maybe not,’” Ceccacci said.
Since then, the team has come up with a plan for the work that Ceccacci believes will be very successful. But it won’t be easy – the repair of the spectrograph, for instance, requires the spacewalkers to remove more than 100 screws to access a computer card they will pull out and replace.

The Hubble Space Telescope The Hubble Space Telescope is seen in March 2002 with its new solar arrays after the completion of STS-109, the third Hubble servicing mission. Image: NASA
Hubble is going to be replaced, and this is the last maintenance Hubble will receive. Scott Berkun perceptively describes the importance of giving up the old to make way for the new.
They know that in order to build whatever will replace the Hubble, they have to let go of Hubble, even if that means letting it die, so they can have the funds and resources to invest in the next thing (It’s called the Webb telescope and it’s made from Beryllium - sounds like Star Trek).
More on the Webb Telescope's mirror from Technology Review. NASA's James Webb Space Telescope site is authoritative.

Friday, May 15, 2009

Great software writing can be Mercurial

Cross-pollination works. For example, I think infrastructure groups can usefully adopt several developer tools and mindsets. (I've talked about this before.) One of these is automated build & test systems. Another one - and the necessary foundation for automated builds - is revision/version control.

And I'm usually interested in comparing different approaches to solving a problem I'm familiar with. I find seeing the differences in the approaches gives me a better understanding of the underlying problem; it helps to abstract what is perhaps an implementation artifact and what is inherent to the domain.

So when I spotted on TouchCode's Google Code wiki that Google Code is now supporting yet another version control system, Mercurial, I was intrigued enough to go learn more about Mercurial, how it differs from and tries to improve upon Subversion and Git.

Did I mention that I'm easily distracted by bright, shiny knowledge? There's a rule I follow strictly: when I am playing, I'm allowed to shoot off into completely random digressions if I want to!

Conveniently, Mercurial: The Definitive Guide is available online, Free. Thanks, Bryan O'Sullivan!

What a delightful surprise to see it looks like the makings of a good software book, too! From the Preface:

Technical storytelling

A few years ago, when I wanted to explain why I believed that distributed revision control is important, the field was then so new that there was almost no published literature to refer people to.

Although at that time I spent some time working on the internals of Mercurial itself, I switched to writing this book because that seemed like the most effective way to help the software to reach a wide audience, along with the idea that revision control ought to be distributed in nature. I publish the book online under a liberal license for the same reason: to get the word out.

There's a familiar rhythm to a good software book that closely resembles telling a story: What is this thing? Why does it matter? How will it help me? How do I use it? In this book, I try to answer those questions for distributed revision control in general, and for Mercurial in particular.
And right off the bat, a great explanation that I'm going to point lots of people to in the future:

Why use revision control?

There are a number of reasons why you or your team might want to use an automated revision control tool for a project.
  • It will track the history and evolution of your project, so you don't have to. For every change, you'll have a log of who made it; why they made it; when they made it; and what the change was.

  • When you're working with other people, revision control software makes it easier for you to collaborate. For example, when people more or less simultaneously make potentially incompatible changes, the software will help you to identify and resolve those conflicts.

  • It can help you to recover from mistakes. If you make a change that later turns out to be in error, you can revert to an earlier version of one or more files. In fact, a really good revision control tool will even help you to efficiently figure out exactly when a problem was introduced (see the section called “Finding the source of a bug” for details).
  • It will help you to work simultaneously on, and manage the drift between, multiple versions of your project.
Most of these reasons are equally valid—at least in theory—whether you're working on a project by yourself, or with a hundred other people. 
All cool so far, right? But check out what Bryan did  - this is so self-referential, I just love it to pieces:

About the Example Code

This book takes an unusual approach to code samples. Every example is “live”—each one is actually the result of a shell script that executes the Mercurial commands you see. Every time an image of the book is built from its sources, all the example scripts are automatically run, and their current results compared against their expected results.

The advantage of this approach is that the examples are always accurate; they describe exactly the behavior of the version of Mercurial that's mentioned at the front of the book. If I update the version of Mercurial that I'm documenting, and the output of some command changes, the build fails.
Anyway, I'm still reading, and I think I may well give Hg a shot for my next project.

Saturday, May 09, 2009

An actual reason to install iPhone OS 3 while it's in beta

Apple says "App Store submissions are now being reviewed on iPhone OS 3.0" so of course I'd really best test it myself before submitting, eh?

(No, I'm not anywhere near finished yet - I've only had about 1 hr to spend on it since the class.)

Warning kids - I would not be doing this if I didn't have alternate devices and full backup of my iTunes library available in case of beta FAIL.

Friday, May 08, 2009 a great way to find stuff to Watch Instantly on Netflix - Movies and TV to Watch Instantly on Netflix:

"Who is this website for?

It's for Netflix users who want to traverse and explore Netflix's catalog of streaming titles more efficiently and painlessly. All the information and cross-links on this website are limited to Watch Instantly titles so you don't have to waste time sifting through a bunch of DVD-only titles to find the ones that you can start watching right away.

You can also play or queue these titles directly from this website.

Can I use this website for free?

Yes. But you do have to have a Netflix membership to make full use of this website."

HP Mini 2140 is much better netbook with Windows 7 than with XP

"Windows 7 is the next version of the Windows client operating system. This version incorporates hundreds of improvements based on your feedback"

And it shows.

I recommend the Windows 7 Release Candidate, as long as you're cool with RTFM'ing. Go read the Windows 7 Release Candidate FAQ, then download & install.

Friday, May 01, 2009

XP to Windows 7 netbook upgrade? Windows Easy Transfer: Netbook Fail

So - MS hopes netbook users will upgrade from XP to Win7. But you can't do an in-place upgrade from XP to Win7; if you want to preserve your files & settings you need to use Easy Transfer. But Easy Transfer won't run on a resolution < 800x600. Many netbooks do not meet this - for example my HP Mini is 1024x576. Conclusion: Win7 Netbook fail. Suggestion: MS update EasyTransfer so it does not require 800x600 to function - it will not even execute. Let us netbook users live with a compromised interface but don't fail entirely.

Here's the bug report I'm going to file on Connect, but MS wants me to use the Feedback tool from the machine having the problem, so I'm going to write it up here until the Win7 upgrade finishes....


Repro: take a netbook running Windows XP. (In my case, a HP Mini 2140 with 1024x576 display.) Attempt to upgrade to Windows 7 RC1. Launch install. Attempt in-place upgrade.

Expected(but not the bug I'm reporting here): in-place upgrade from XP to Win7 works. (Yes, I know that's not a supported scenario. But it's still a big gap for Win7. Sure the folks who've upgraded to Vista will upgrade to Win7, but the folks who've stayed on XP will want to upgrade too.)

Actual (but not the bug i'm reporting here): Dialog appears ; in-place upgrade not supported for XP to Win7. Dialog explains that to preserve settings & files, need to run Windows Easy Transfer.

Repro (now we get to the bug I'm reporting) download, install and run Windows Easy Transfer for XP.

Expected: Easy Transfer launches, collects data and packages it up, then says "done" and I'm ready to upgrade to Win7 with my data ready to bring over to my future Win7 user profile.


1. Easy Transfer installs, but does not automatically launch or even offer to launch when installation is complete. Should at least offer to launch when installation is complete.

2. - (this is the key issue that this feedback item is about!) When Easy Transfer launches, it refuses to run on the Netbook display of 1024x576 because it does not meet minimum resolution requirement of 800x600. Easy Transfer should allow execution with part of the UI cut off, or adjust size so it fits on a typical Netbook display. Refusing to execute at all is not good - netbook users will follow all the instructions, and end up at a dead end. Better to have a compromised UX than none at all. Best to fix the UI constraints for XP Easy Transfer so it can be run on netbooks.

Can't Directly Upgrade XP to Windows 7; use Easy Transfer

There's no in-place upgrade for XP to Win7. You'll need to use Windows Easy Transfer for your files & settings, and get ready to reinstall all your apps.

Now, you can still install Win7 on a PC running XP; it's just going to be a clean install of Windows into a new directory so you have a fresh user profile with nothing preserved in it.

You can jump through the WIndows Easy Transfer hoops to bring your files & settings back. But get ready to reinstall all your apps.

And if you have a netbook, check out the next picture in this set for a very unpleasant surprise!