I complained a week ago about my display driver going berserk.
I blamed Windows Update, since it happened within hours of a pile of updates being installed.
I upgraded to the latest beta NVidia drivers on Monday
and it helped for a while, but by Wednesday,
it was almost as bad again as it had been last Friday.
It was infuriating and I was both entertaining and alarming my neighbors
with my cursing.
Today was the last day of a very busy sprint for me
and at last I had the time to dig into it.
I opened up the case and took a look at both video cards—I have two dual-head cards connected to three monitors—and one of them had partially blown capacitors like those in the picture.
I removed the bad card and did some graphics-intensive things for an hour,
and the other card behaved flawlessly.
Oddly, until someone mentioned that it might be a hardware problem yesterday,
it didn't occur to me, even though a video card blew in this machine last year.
I came in one morning to find a black monitor, and when I pulled out that card,
I found that some of the capacitors had popped right open with stuffing protruding.
On general principles, I had been meaning to repave this machine for a while.
I've had it since December 2007
and it was still running the original installation of Vista.
I booted from a DVD, reformatted my C: drive, and installed Windows 7 x64 RC1.
I finally have a 64-bit OS as my primary Windows desktop,
so I'll actually be using the Win64 build of Vim that I maintain.
My first impressions of Windows 7 on this machine are very favorable,
but there's plenty more that I need to install
before the machine has everything that I need.
This morning, the video adapters on my Vista dev box were resetting
2–3 times per minute.
After a pile of Windows Updates landed on my machine at 3am yesterday,
it would occasionally freeze solid for a few seconds.
Once in a while, all the monitors would go black briefly, then restore.
Each time, I would see a status update pop up from the system tray,
"Display driver nvlddmkm stopped responding and has successfully recovered."
This was irritating enough that I downloaded the latest NVidia drivers this morning,
185.85_desktop_winvista_32bit_english_whql.exe.
That really screwed me.
The video adapters started resetting 2–3 times per minute,
rendering the machine almost unusable.
I have two video adapters, NVidia GeForce 8600 GT and NVidia GeForce 7600 GT.
The eventlog was full of Event ID 4101 - Display Driver Timeout Detection and Recovery.
I reverted to the 178.24 drivers and that helped.
When I'm not touching the machine,
the adapters only get reset every few minutes instead of several times a minute.
When I am using it, something as simple as clicking a window
to bring it to the foreground can trigger a reset.
It's very irritating but I can live with it for a little while, unlike the other.
I don't want to repave my box: apart from the time loss,
I'm not convinced that it would help if I got the same driver config all over again.
I contacted a friend at Microsoft who tried to hook me up with a driver guy,
who is unfortunately out of office.
I'm hoping that it can be fixed early next week
or my temper is going to fray rapidly.
Update: June 19th: See When Video Cards Go Bad.
I updated the Win64 binaries of Vim at vim-win3264
from Vim 7.2.000 to 7.2.182.
I'm amazed that the original binaries were downloaded over 11,000 times
since last August.
I mentioned CrossLoop before, as a tool for remotely helping someone out.
It uses VNC to share desktops.
The last time I looked, it was Windows only.
Now there's a Mac client too.
I had to use it to help my father out in Dublin.
Somehow he had managed to delete both Adobe Reader and Adobe Flash—I haven't figured out how.
It was painful, painful, painful.
The connection was dropped repeatedly
and the link couldn't begin to keep up with the amount of graphical data being transferred.
Even though CrossLoop reduces the color depth,
actions like switching tabs in Firefox cause huge amounts of data to be sent.
I couldn't tell why the connection was being dropped.
There are so many places where things could go wrong:
my client, my connection, the CrossLoop server, his connection, his client,
some random router.
All in all, it took about 90 minutes,
but it would likely have been even longer and more confusing
without a shared desktop.
I tried Safari 4 on my MacBook back in February when it first came out in beta.
It crashed immediately, every time, so I uninstalled it.
I upgraded to OS X 10.5.7 earlier in the week and new Safari bits were available,
so it seemed like a good time to retry it.
After all, it had been faster than any other browser on my Vista box at work.
Again, it crashed immediately.
This time, however, I took a closer look at the details of the
error report that was being sent to Apple.
A little Googling suggested that the Glims plugin was at fault.
Indeed it was.
I replaced beta 8 from September 2008 with the new beta 16,
and it's working again.
Glims adds search engines, thumbnails in search results, favicons in tabs, etc.,
so it's useful.
I haven't used Safari 4 much yet on the Mac,
but it seems like an improvement.
I ported Vim to Win64 but I don't have a convenient Win64 system
to test it on.
I decided to install the Win64 build of the Windows 7 RC on VirtualBox,
which has supported 64-bit guest operating systems since version 2.0.
It worked without problems on my MacBook Pro.
I used VirtualBox's Virtual Media Manager to mount the Windows 7 ISO
and installed from that.
See also the handy guide.
(Why does Windows 7 offer a choice of upgrading from a previous
version of Windows on a virgin disk?)
After completing the installation of the operating system,
I installed the Guest Additions for mouse pointer integration
and other goodies.
As always with VirtualBox VMs on my MacBook,
I had to fix the Network settings to work over WiFi.
When the VM is turned off, go to Settings,
choose the Network tab.
Change “Attached to” from “NAT” to “Bridged Adapter”
and “Name” from “en0: Ethernet” to “en1: AirPort”.
Tip: to get a right-click without a mouse,
place two fingers on the trackpad and click the trackpad button,
or Shift+F10.
I tried installing the Win64 build of Win 7 on
my Win32 Vista desktop box at work.
The host system bluescreened within seconds of starting the installer!
I filed ticket 3963.
I had inadvertently installed the Win32 build first on my work system.
That worked fine.
It also seemed to have snappy disk I/O.
When I unzipped the Win64 Vim binaries
(not having realized yet that I had the Win32 Win 7),
it was slower than unzipping in the host operating system,
but not unreasonably so.
On my MacBook, the details pane from the Win 7 zip extractor
said that it was running at a mere 260KB per second,
which is pitiful.
It certainly wasn't that slow when installing the OS
onto the virtual disk.
I blogged before that I had used Exact Audio Copy
to rip most of my CD collection to the lossless FLAC format.
I haven't ripped any more CDs since then,
as the old Windows laptop that I was using had severe problems.
We went to the Columbia City Beatwalk on Friday night.
I liked the Correo Aereo duo so much that I bought their CD.
It was time to figure out how to rip a CD to FLAC on the Mac.
I found some hints that it was possible to run Exact Audio Copy
in a virtual machine or under Wine,
but neither choice appealed to me.
One guide recommended xACT over Max on the grounds
that xACT will tell you exactly where an error occurs on a CD,
should one occur, while Max only gives a percent encoded successfully.
What you do if an error occurs was not described.
I tried xACT first.
It's a thin wrapper around various command-line utilities.
The guide details a clunky process to rip a CD to FLAC.
Then I tried Max and I was greatly impressed.
The UI is polished for an open-source app.
It rips to WAV, then encodes to multiple formats if you want.
It can also transcode over 20 audio formats.
Max is multithreaded:
it can be encoding a WAV from one track to FLAC and MP3 simultaneously,
while ripping the next track from the CD.
Exact Audio Copy rips a track to WAV, then encodes to FLAC, without overlapping.
Net result is that Max rips a CD about four times faster than EAC.
A lot has to do with the hardware.
My five-year-old Windows laptop was not high-end even when brand new.
My two-year-old Core 2 Duo MacBook Pro was top of the line.
I no longer have to run a Python script to convert all the FLACs to MP3s.
Max puts both sets of files in the same folder,
so I had to write a small script to split them into two separate trees.
Otherwise, I'm very happy with Max.
In the late 90s when I worked on the classic Active Server Pages dev team,
I tried to convince one of the Program Managers that
we should make regular updates to browscap.ini,
the file that described browser capabilities.
He wanted no part of it.
I was pleasantly surprised to learn via Hanselminutes
that Microsoft has stepped up to its responsibilities and
is now shipping the Mobile Device Browser File on CodePlex.
Over 400 mobile devices are defined, with 67 distinct capabilities.
The Hanselminutes podcast is an interesting discussion of the Mobile Web
and designing a different experience for mobile browsers.
There's more to it than the small screen.
You want to think about the scenarios in which the site is likely to be used.
The user is probably traveling: give directions.
Make phone numbers dialable by using the tel: scheme.
Think about server round trips.
I spent much of today playing around with
the brand-new Jaunty/9.04 release of the Ubuntu Netbook Remix
on my Eee 1000H netbook.
Previously I had run the Hardy/8.04 version of Ubuntu Eee on this system.
I had never bothered to update to Intrepid/8.10,
but now that UNR is fully supported by Canonical,
I thought it was time to try it out.
I downloaded the UNR image last night onto my Mac,
and transferred the image to a 1GB USB stick this morning.
(The Mac instructions required a little tweaking.)
I spent some time running the Live Image first, before clean installing.
Everything worked seamlessly except the microphone.
WiFi worked, the webcam worked, sound playback worked,
the touchpad was configured in a sane way.
All of these were problems for me when I first installed Ubuntu Eee.
That they worked now was not too surprising,
since the Asus Eee 1000 is a Tier 1 supported system,
but it's nice to get the confirmation.
One of the first things to strike me about the Live Image
was how nice the fonts looked.
I'm sensitive to typography and
the default font hinting settings on previous versions of Ubuntu
have always looked like crap: spindly and awkward.
I found it hard to take seriously an operating system that looked so unprofessional.
The Jaunty font hinting yields thicker letters,
which look a lot more like the Mac's shape-preserving font rendering,
though not as good.
The main exception, oddly enough, is the font
used in the netbook-launcher, which looks jagged.
I went ahead and installed Jaunty.
The installer offered me an option to install Jaunty
side-by-side with the existing operating systems,
Ubuntu Eee 8.04 and Windows XP.
I wanted to overwrite the existing Ubuntu partition
and I had to jump through several hoops to make that happen.
The partition editor is pretty and an improvement over GParted.
The timezone picker is also very slick,
with a clickable world map.
Partitioning aside, the installation was quick and painless.
JPierre has a useful guide to some issues that he ran into.
I've spent most of the afternoon and evening
installing various applications that I care about.
Sleep and hibernate just work now.
Sleep worked before but there were always some obnoxious errors when going to sleep.
As a hardcore Vim user, I use keyboard shortcuts a lot.
Alt+Tab (or Apple+Tab) is my primary method for switching between applications
on Windows, Linux, and Mac.
I had never found a keyboard shortcut for switching back to the netbook-launcher:
I'd always have to click the Ubuntu logo in the top-left corner of the desktop.
Buried in the Keyboard Shortcuts Preferences,
I finally found Ctrl+Alt+Tab, which shows a popup,
and Ctrl+Alt+Escape, which switches immediately.
Other random notes:
I have a Linux machine at work that runs Kubuntu.
I kicked off the upgrade from Intrepid to Jaunty yesterday before I left.
I'll find out on Monday how well that worked.
Scrum and Agile revolve around sprints.
At my previous employer, I spent two years working in one-week sprints.
At my current job, I've spent another two years working in four-week sprints.
Each has their own rhythm.
We ran the one-week sprint from Wednesday to the following Tuesday.
Wednesday morning, we'd demo the previous week's work and we'd plan,
drawing up a series of task cards, measured in hours.
With a one-week horizon, you couldn't go very far off track.
You can't get a huge amount done in a week either.
You need to have a bigger picture in mind
that transcends several weeks.
We released every couple of months.
On the first Monday of the four-week sprint,
we review the sprint backlog
and break down the features into finer grained tasks.
In the fourth week, we look at the product backlog
and prioritize the features to go on to the next sprint's backlog.
Features are measured as Small (1 week), Medium (2 weeks), or Large (4 weeks).
On the fourth Friday, we have demos.
We also estimate our velocity for the next sprint,
based on how much we delivered in the current sprint.
This determines how much we sign up for at the beginning of the next sprint.
With the four-week sprint,
you build up momentum and you have enough time to deliver
significant functionality.
The planning is harder though.
I prefer the rhythm of a four-week sprint,
but I could go back to the shorter one.
Today is the last day of a four-week sprint.
We got a lot done, though it came down to the wire yesterday.
More Posts
Next page »