Jack Bauer leering at me…

Have been doing work with IPTV and set top boxes for awhile now. Today I turned on the test TV after leaving a box on all night. Was greeted with the following frozen video stream:

Jack Bauer Leering Angrily

Jack Bauer. Angry. Leering.

This scared the bejeesus out of me.

Unlikely Fix for HP Printers

Our HP PSC 950 (admittedly ancient) has been slowly breaking down for the last two or so years. Whenever you try to copy, scan, or fax, the printer will randomly go into a Warming Up mode from which it cannot seem to return.  Zombie mode.

Our when-in-doubt-reboot solution had been to cycle the power numerous times until the printer finally deigned to work. It’s hit or miss that the thing will work on any given reboot. Lately the hit ratio has become frustratingly low.

I was about to throw the printer out the window when I figured I might as well Google “psc 950 problems”. Sure enough, other people are complaining about the very same thing. And sure enough there is a simple solution from a gentleman going by the name tomahawk on fixyourownprinter.com.

The fix? Tear open the printer and wipe dust off the mirror.

I was shocked that this worked. And I have a sneaking suspicion that it will work for other HP printers with similar problems.

Details reproduced here for posterity:

  1. Turn off the power, unplug
  2. Remove the control panel on the right side by prying off the control box cover with a small flat screw driver, then do the same with the control box underneath (if required).
  3. Take off the copy cover, followed by the two small screws at the back/top of the glass cover/scanner unit. These screws are tricky to remove and in the end you might break the plastic in desperation in prying up the cover! Don’t worry, your unit is useless anyway and a couple of missing screws is worth the sacrifice of fixing the copy function. Disconnect the connector multicable, noting how it came out.
  4. Pry off the black cover on the copy/scan unit to expose the bulb housing. Don’t touch the bulb, but open the cover of the black plastic housing to the right side of the bulb. This can be a bit tricky too, but will come with a bit of encouragement.
  5. With a soft, clean cloth give the mirror a wipe to remove any dirt/dust.
  7. Reassemble the unit, making sure that the multicable is properly seated.
  8. Plug in, turn on and the copy function should work.

Thank you tomahawk. Maybe now I can eek another two years out of this thing.

clamav crashing on Debian

I’d seen this happen occasionally over the last couple of months, but it seemed to get really bad on Friday.

Fri Mar 21 21:31:45 2008 -> SelfCheck: Database modification detected. Forcing reload.
Reading databases from /var/lib/clamav
ERROR: reload db failed: Unable to lock database directory (try 1)
ERROR: reload db failed: Unable to lock database directory (try 2)
ERROR: reload db failed: Unable to lock database directory (try 3)
ERROR: reload db failed: Unable to lock database directory
Terminating because of a fatal error.
Socket file removed.
Pid file removed.
--- Stopped at Fri Mar 21 21:38:16 2008

Not entirely sure what the problem is, but it seems like clamav is choking on recent updates from freshclam.

And apparently I’m not the only one. Took advice from this thread and updated clamav to the version in debian-volatile. The official ClamAV documentation also recommends using the volatile repositories.

I’m new to Debian and almost took this to mean that I should use etch. Good to know that Debian maintains a volatile repository. To pull packages from volatile, just add:

deb http://volatile.debian.net/debian-volatile etch/volatile main contrib non-free
(though preferably use a mirror)

to /etc/apt/sources.list. Running a simple apt-get update clamav or aptitude update clamav will find and install the appropriate volatile updates. Nice.

Recursively replace URLs in multiple text files

There used to be a nifty little utility I used for this kind of thing, but the below works just as well:

find ./ -type f | xargs sed -i 's|http://domain.com|../relative/path/or/whatever|g'

As with grep and other utilities, sed can take different characters to represent the division between fields. Above I used the pipe (“|”) as opposed to the standard slash found in most examples.

$1 USD is 99 Japanese Yen!

Closely on the heals of my breaking story about $300 cherries, I noticed today that the yen has broken the one dollar mark. To the best of my knowledge this hasn’t happened since ’round about 1995, back when I was living in rural Miyazaki in a small house infested with giant Japanese house spiders that always reminded me eerily of the spider head from John Carpenter’s The Thing. (The Thing tagline: “Man is the warmest place to hide.”)

Oddly enough, the spider head was once available from Amazon.com and apparently featured “an incredible sculpt that captures the spirit of this character.” Which would therefore be the spirit of a diabolically murderous shape-shifting alien entity bent on infesting all of humanity. Talk about craftsmanship.

Fortunately with the new exchange rate I can leverage my Sumitomo savings and back order a dozen or so.  I might even be able to afford a Ghosts of Mars action figure or two..

40 cherries for $300. Bargain.

From our remote correspondent in Tokyo.


30,000 JPY for 40 Cherries

30,000 JPY for forty cherries. Almost $300 dollars.

Now I’m sure that each cherry was individually encased in protective polystyrene cushioning, perfectly cooled, and personally serenaded to sleep each night by various members of the Tsunk Family, but still… I think this is a little excessive.

Nihongo of the Day

My wife and I have been playing a word-of-the-day game on and off for a year or so. Though the pace is slow, it’s probably been one of the most effective ways of picking and retaining new vocabulary I’ve used; especially now that we’ve moved back to the US.

Yesterday’s word came up while watching Karei Naru Ichizoku, a Kimutaku drama about Japanese business and power in post-WWII Japan.

徹底的(tetteiteiki) — exhaustive

Lots of tetteiteki this and that in Karei Naru Ichizoku. Business, politics, power. Lawyers. Lawyers and exhaustive research into the nether regions of business.  徹底的な研究 of some such product, 徹底的な検査 to prepare for the upcoming trial.. yada, yada. As for me, the drama kind of induced me to 徹底的に寝る。

Clean copies from Subversion

This blog is turning into an elaborate mnemonic device.  This time, some more Subversion stuff I can never remember how to do.

To get a clean checkout (sans the .svn directories) of a trunk, branch, or tag from your repository, use the following:

$ svn export svn://server.com/repo/branch/name

Simple. Use the -r parameter to indicate a specific revision.

Pinging specific ports

I stumbled across this incredibly useful command in Cygwin sometime back and, for whatever reason, I can never remember it when I need it.

httping is a simple little utility that pings specific port numbers — default port 80 of course — the same way that ping.. err, pings servers. The following, for example, will help alert you to recovery of that production machine you just knocked off the net thanks to a fat fingered root command (oops):

httping -h example.com

Add a -Gb switch combo to get transfer speed indicators.