Fazal Majid's low-intensity blog

Sporadic pontification

Fazal Fazal

What to think of pocket digicams

Once you have used a digital SLR (DSLR) with a nice, clean, large, low-noise sensor, the poor image quality of most compact digicams becomes hard to tolerate. This is in contrast with film, where a $70 Olympus Stylus Epic can compete in image quality with thousand-dollar cameras.

Then it hit me: don’t consider a pocket digicam as a camera, think of it as a pocket photocopier/scanner instead, like HP’s ill-fated CapShare. I use my pocket digicam mostly to record specials in stores, flyers, magazine articles, diagrams on a whiteboard and the like. Japanese otaku teenagers are way ahead of me, as many bookstores in Tokyo now ban cameraphones because the kids would just snap photos of manga comic books and not pay.

A 5 megapixel digicam, pretty mainstream nowadays, with a 4:3 aspect ratio can “scan” a standard US Letter or A4 page at an approximate resolution of 240 spi. This is significantly better than a fax, which scans at 150 spi. Many pocket digicams have lenses that are serviceable in macro mode. The limiting factor is probably setting up the camera, as you can’t find portable copy stand like the vintage Leica BOOWU (also shown top left in this outfit photo).

Ripping your CD library and building a home network

Since I moved six years ago, I keep my CDs in binders (four of them, plus one for DVDs and two for CD-ROMs) and the jewel cases in storage. I just finished ripping the first folder’s worth, about 250 CDs and SACDs in iTunes. The bulk of the time spent is actually in cleaning up inconsistent CDDB metadata and locating scans of the cover art. As I mentioned earlier, I am ripping to Apple’s lossless encoding, which is a lossless zip-style compression of the 16-bit, 44.1kHz stereo PCM CD audio stream. There is no loss of quality and my iTunes library should now be a bit-for-bit exact copy of my CD collection (or at least the third or so I have already ripped).

iTunes status

Because there is no loss of quality, I won’t have to go through the effort again, whereas if I had ripped to a lossy format like MP3 or AAC, I would need to do so again to play on my HiFi setup or if the level of compression was too high. Hard drives are cheap, and storing 250GB of music is no longer the daunting prospect it was a few years ago. Lossy formats like MP3 take detail away, rather than introducing noise, and thus it is not immediately obvious just how much damage was done, but side-by-side listening makes it clear. I always find it very amusing to read people nit-picking about subtle details of audiophile gear, and then basing their subjective judgment on testing with MP3s or (even worse) video game soundtracks played over a PC sound card.

Due to electromagnetic interference, a PC chassis is the last place you want to put quality analog audio circuitry. The way to go is to hook up a PC or Mac’s Toslink optical or SPDIF coaxial digital audio output to an external digital to analog converter (“DAC”, such as the one built into every home theater surround receiver). This situation is reminiscent of high-end CD players, where the laser pickup mechanism (“transport”) is in a different box from the DAC to improve quality. I do most of my listening from my Mac connected to my Yamaha home theater connected by Toslink, or from Sennheiser HD-650 headphones connected to a Headroom DAC and headphone amp (via USB).

There are alternatives to a direct connection, such as a Squeezebox, Apple AirPort Express, or one of the lesser devices that allow you to stream music from your computer to your amplifier via a wired or wireless local area network. WiFi may be fashionable, but I don’t recommend using it for streaming audio or video because the jitter introduced by interferences degrades sound quality.

Streaming sound over the house is of course the first step in building a home network. Market studies show most people use a home network only to share Internet access or a printer between several computers, and they haven’t yet reached even this first stage. One of the most obvious uses for home networking is remote monitoring using a webcam, but this hasn’t been marketed effectively. Remote control of TiVo is another non-contrived application, much appreciated by their users.

Given the overwhelming amount of gadgetry that clutters my tiny San Francisco-size apartment, it is natural I have a home network, entirely wired, although I do have WiFi for visitors. In an idle moment, I mapped it (PDF) as a practical exercise in using OmniGraffle instead of Visio. One conclusion I drew from a cursory analysis of it is that all the networking gear combined did not amount as much in value as my headphones alone. Home networking as a category is not going to dominate consumer electronics anytime soon…

Temboz 0.5 released

I have released version 0.5 of Temboz. This version makes considerable improvements in its tracking of feed changes. Feeds where the GUID is distinct from the link are now handled correctly. Some feeds have a tendency to modify articles and reissue them with a different GUID or link, causing them to appear as duplicates. This is often the case with Reuters and Sun blogs (Sun is now handled as a special case in the feed normalization code). If the optional title-based duplicate detection flag is set on a feed (go into the feed details page from the all feeds view), articles with duplicate titles will not be recorded twice in the database. This is not on by default, as it could cause false positives on some feeds that have recurring titles.

The other big feature in this release is that Temboz now automatically backs up its database nightly, and keeps a configurable number of daily backups (7 by default).

These changes require a data model upgrade. A script is provided to perform the upgrade, as well as another one to reconcile items already recorded where the GUID differs from the link. Upgrade instructions are provided in the UPGRADE file. All users are advised to upgrade.

Oracle math

Somebody at Oracle clearly spent a lot of time creating a quad-precision floating package that exploits the 38 digits of the built-in Number type. Pointless, yet impressive.

SQL> select to_char(exp(1)) from dual;

TO_CHAR(EXP(1))
----------------------------------------
2.71828182845904523536028747135266249776

SQL> select to_char(4*atan(1)) from dual;

TO_CHAR(4*ATAN(1))
----------------------------------------
3.14159265358979323846264338327950288422

Temboz 0.4.4 released

I have released version 0.4.4 of my web-based aggregator, Temboz. Apart from cosmetic fixes, the new version improves filtering by supplying convenience functions to simplify writing rules. For instance:

content_any_words('foot', 'football', 'tennis', 'rugby')

is equivalent to the older syntax:

('foot' in content_words or 'football' in content_words
 or 'tennis' in content_words or 'rugby' in content_words)

This release also includes an automatic garbage collection mechanism to keep the database size manageable. Uninteresting articles (those flagged “thumbs down”) are purged of their content every day between 3AM and 4AM. The article metadata itself (title, timestamps, permalinks) is kept to avoid the articles reappearing if they are still present in the feeds (some infrequently updated feeds keep really old articles in their XML). By default, articles older than 7 days are purged, this is configurable in param.py, and you will need to update this file to add the corresponding parameter.