Tuesday, March 30, 2010

Ctrl-backspace still inconsistent

I know this is mostly a repost from something I wrote long ago, but it's still happening in Windows 7. Apparently no one at Microsoft noticed the Ctrl-backspace behavior in Windows is very annoying.

Under Linux, Ctrl-backspace always deletes the previous word. It always does that, no matter what application I am using. For example: I have a long passphrase (about 10-12 characters long.) When typing my passphrase under Linux, if I get 8 or 9 characters in, then mis-type a key, I just hit Ctrl-backspace and start over.

Under Windows, this doesn't work! At login (or when unlocking the screen, etc.) Ctrl-backspace inserts a Ctrl-backspace character.

Yet in other Microsoft apps, Ctrl-backspace works "properly", and deletes the previous word. It works that way in Microsoft Word, Microsoft Powerpoint (but not Microsoft Excel), and Microsoft Internet Explorer. In Notepad, Ctrl-backspace inserts a Ctrl-backspace character - but Wordpad works "properly".

These are all Microsoft apps, but they don't act the same. Why the inconsistent behavior!? How confusing!

Friday, March 26, 2010

Opening files still broken

Last year, I wrote about broken behavior in Windows Vista when trying to open multiple Excel files: if you selected a group of Excel files, sometimes you could right-click and "Open" then. But sometimes you couldn't.

The problem was that Vista would only let you "Open" multiple files at once if all the files had the same extension. For example, if you selected just a group of "DOC" (Word 97-2003) files, Vista would let you right-click and "Open" then. But if you selected a few "DOC" files and some "DOCX" (Word 2007) files, Vista panicked and wouldn't let you "Open" them.

I can report that this broken behavior is fixed in Windows 7. Sort of. I can now select several different file types (say, DOC and DOCX) and if I right-click, Windows 7 gives me an option to "Open" them. Just like you'd expect. Also works for DOC, DOCX, and ODT (probably because they are all handled through Word 2007.)

But it's still kind of broken in Windows 7. And in a fairly major, obvious way. Let's say I select a bunch of files that I need to review, like to write a single strategy document. I might highlight 3 DOC files, a DOCX file, and a PDF file. (This isn't an imaginary example - I'm trying to do this now.) I can't "Open" them - when I right-click, there's no menu option to "Open" them.

Oh wait, Windows Explorer put a little "Open" button in the toolbar when I selected those 5 files. Let's click that. Only the first file opens.

To me, this is very broken behavior. Doesn't anyone else need to open multiple files at once? How am I the first to find this bug?

To compare: in Linux, you can always select multiple files of different types (DOC, XLS, PDF, ...) and "Open" them. Linux is smart enough to understand that each file type has a different associated application, and calls each program to open the files. It's easy.

Wednesday, March 24, 2010

Liquid Rescale

For those of you who use Adobe Photoshop on Windows, you may be looking forward to the new feature in the forthcoming CS5: Content-aware Fill. When I saw this announcement, it reminded me of a similar feature already present in GIMP on Linux: Liquid Rescale.

Not sure what this does? Take a look at some of the Examples. Liquid Rescale is very impressive, and has been around since about 2007. And it's dead simple to install on Linux. From the command line, as root, just type: yum install gimp-lqr-plugin. Or, you can install via the "Add/Remove Software" menu dialog.

GIMP stands for GNU Image Manipulation Program, and is a graphics program very similar to Photoshop. Most Linux distributions include GIMP.

Sunday, March 21, 2010

Updates with yum-presto

I have known about this for a long time, but I realized I haven't shared it here. In typical Linux distributions, each feature of the operating system is provided via a "package". (Of course, you can always install programs on your own, if a package is not available) I use Fedora Linux, so packages are distributed as "rpm" files, and the package manager is "yum".

Packages make software installs and updates a lot easier. With packages, everything you install is atomic. If you have something like Abiword, that's in a package. When an update is available, you install the package for the new version. No "updates", no "patches". Just a whole new version.

That may seem like it could eat up a lot of bandwidth, right? But Linux distributions now use a system to reduce the update size. On Fedora Linux, that's done via yum-presto.

From the description:
Yum-presto is a plugin for yum that looks for deltarpms rather than rpms whenever they are available. This has the potential of saving a lot of bandwidth when downloading updates.

A deltarpm is the difference between two rpms. If you already have foo-1.0 installed and foo-1.1 is available, yum-presto will download the deltarpm for foo-1.0 1.1 rather than the full foo-1.1 rpm, and then build the full foo-1.1 package from your installed foo-1.0 and the downloaded deltarpm.
But the key thing to remember is that you're still installing an rpm package. All that's changed is that you download a "diff" between one version and the next, and your system creates the rpm from the "diff". And you don't have to know anything about it to use yum-presto; it just there by default whenever you do an update.

Here's an example: I installed updates for my system yesterday, and (demonstrating the process for someone) happened to run the update from the command line. So I saw this message:

Presto reduced the update size by 77% (from 48 M to 12 M).

Rather than have to download 48 MB of packages to update, I only downloaded 12 MB. That saved me quite a bit of bandwidth - which is important, since I'm on vacation and the Internet connection here is very slow.

Sunday, March 14, 2010

A minute slower

In my last post, I asked if Windows 7 boots slower than Windows Vista. It seems slow to me. So this weekend, I tried a few experiments with booting Windows 7.

First, a comment: I learned something when doing these boot tests. The more you boot Windows 7, the faster it boots. For example, in my tests, Windows prompted me for "control-alt-delete" to login after about 2 minutes. After a few tests of "boot, login, shut down, power on, boot, login, ..." Windows took less than a minute to prompt me to login. That's very interesting.

It's odd, but I suspect it's marking something as recently-used and is effectively able to "cache" stuff even though it's coming up from a cold boot every time. A neat trick - but if my suspicion is correct and Windows is relying on some flag to indicate something can be loaded without processing (or whatever it's doing) I wonder if this could be used to hijack a Windows system.

But let's get down to business - how long does it take Windows 7 to boot?

My method: Our desktop support folks at work installed my laptop with a "standard" image of Windows 7. It's the same config that just about everyone in our office uses for Windows 7. But I'm doing these boot tests when I'm at home, over the weekend. The system has previously been booted, so if there are any one-time scripts that the system needs to run, I suppose Windows has already done so.

I used a digital stopwatch to record my timings. To remove the question of how long it took the laptop to check memory (POST at boot) I always started the timer from the BIOS "select my boot device" menu, starting the stopwatch at the same time I hit Enter on the boot device I wanted. I'm most interested in how long it takes to boot the system (from BIOS), login, bring up Firefox, and display a web page (Google).

Here are the major milestones for Windows 7 (Dell D430, booting from the hard drive):
  • From BIOS to login prompt: 2 minutes, 3 seconds
  • Login prompt to desktop: +53 seconds
  • Desktop to web page: +15 seconds
Total: 3 minutes, 11 seconds

That means Windows 7 takes about a minute longer to boot, login, and get to work than Windows Vista - say, for the first time you login each morning.

From an earlier post, here are the times for Windows Vista (same hardware, same hard drive):
  • From BIOS to login prompt: 36 seconds
  • Login prompt to desktop: +42 seconds
  • Desktop to web page (Firefox): +46 seconds
Total: 2 minutes, 4 seconds

And to compare, the same for Linux (same hardware, booting from a USB flash drive):
  • From BIOS to login prompt: 40 seconds
  • Login prompt to desktop: +15 seconds
  • Desktop to web page: +12 seconds
Total: 1 minute, 7 seconds

To answer my question from the previous post: Is Windows 7 slow? The answer is definitely yes.

Thursday, March 11, 2010

Is Windows 7 slow?

I haven't timed it (yet), but Windows 7 just seems to take longer to boot than Windows Vista. I thought it was just me, until I checked with a few other Windows 7 users and confirmed this is the experience others have. What has been your experience in booting Windows 7?

Since Linux booted about a minute faster than Windows Vista, I wonder what the Linux advantage is compared to Windows 7? I'll probably do a boot comparison this weekend.

To remind everyone: Linux (Fedora 12) takes about 1 minute 7 seconds to boot from a USB thumb drive, login, launch Firefox, and display a web page (Google). Vista took 2 minutes 4 seconds on the same laptop, but from the internal hard drive.

Tuesday, March 9, 2010

The secret origin of Windows

Did you realize that Windows will be 25 years old this year? The "Premier Edition" of Windows 1.0 was released to vendors and partners in summer 1985. That fall saw the release of the first retail edition: Windows 1.01.

In The Secret Origin of Windows, Tandy Trower writes about his time at Microsoft, including working to bring Windows from (essentially) vaporware to a product in about a year. It's an interesting read.

While this was a monumental effort, and my hat is off to the guy for pulling it off, I sometimes wonder how many programming hacks and bugs from Windows 1.01 still persist in Windows 7?

Tuesday, March 2, 2010

Bluetooth on Windows

A few weeks ago, I wrote about Bluetooth on Linux. My Dell D430 laptop was purchased without a Bluetooth card, so I bought a third-party USB adapter to provide Bluetooth. With Linux, it was as easy as plugging in the adapter, and it worked immediately.

I tried the same test under Windows 7. To give Windows credit, the Bluetooth adapter worked, and it really was just a matter of letting Windows do its thing to load support. But it wasn't immediate.

Upon plugging in the adapter, Windows popped up a little information balloon in the lower-right corner of my desktop, telling me it was loading support for a new device, and I could click on the balloon to see details. Curious to see what Windows was doing, I clicked the information balloon (just in time, right before it faded away) and saw this:

I'm not sure where "Generic USB Hub" or "USB Input Device" come from, but I'm guessing Windows probably thought the adapter was a kind of USB hub, like for keyboards and mice (typical input devices over Bluetooth.)

After a few minutes (and I'm not exaggerating) Windows finally finished loading support for this little adapter, and I saw this:

My desktop's top bar then sported a Bluetooth icon, just like Linux. So while Windows supported my Bluetooth adapter like Linux did, the process took a long time. If I hadn't clicked on that information balloon at the beginning, I would never have known what was happening, and probably would have assumed Windows didn't support the adapter.