Camera raw support for my Canon Digital Ixus: enabling DNG support with CHDK

Late last year, Garry Martin alerted me to an alternative firmware for certain Canon cameras – the Canon Hackers Development Kit (CHDK) – and I’ve been running it on my Canon Digital Ixus 70 ever since.

Importantly, CHDK makes no modifications to my camera’s firmware. The appropriate version for the camera model is downloaded and placed in a folder on the SD card that the camera uses and, when the card is write protected, this firmware is loaded at startup. If CHDK is missing or the card is not write protected, then the normal camera firmware loads. In addition to the extended functionality afforded by CHDK (which is significant – Lifehacker wrote a review of CHDK last year), I have full access to the standard camera features but the main advantages I find from CHDK include camera raw support, a live histogram and better battery information (I may also take a look at using it for time lapse photography at some point).

One of the frustrations I’ve had with CHDK is that the raw format it produces is not recognised by any of the major image editing applications (for me, that means using Adobe Camera Raw to interface with Photoshop CS4 and Lightroom 2 on a Mac). I tried installing an application that should convert these files to Adobe Digital Negative (.DNG) format (DNG4PS2) but the pre-built Mac version is known to be unstable on Mac OS X 10.5 (Leopard) and I was unable to make it compile using the latest source. There seems little point in running it on another operating system when I do all of my digital media work on the Mac, so I went back to getting the camera to store raw files in .DNG format at capture.

Unfortunately, each time I tried this, I was greeted with a message which said something like Cannot load/CHDK/badpixel.bin. Thanks to a comment from James W Manning on Flickr, I was able to work my way through creating this file: downloading a program to analyse an existing raw image taken with the same camera and identify any bad bits to create the required badpixel.bin file (I did need to run this on Windows though – the command was show_bad_b.exe rawfile.crw), which I could then copy to the CHDK folder on my SD card and enable DNG support.

Now my £130 compact camera takes raw images in .DNG format (as well as some JPEGs for reference) and I can work with the raw files just as I do with the ones produced by my DSLR. Of course, the tiny sensor means that the 7 million pixels on my Ixus 70 are inferior to the six million pixels on my old D70 (and way behind my full-frame D700 – more on that in another post!) but the additional flexibility is useful – as is the knowledge that I have the actual data that was recorded by the camera sensor, rather than with any post-processing in camera (e.g. boosted saturation that’s typically used with the compressed JPEG images).

Looking for a 64-bit notebook to run a type 1 hypervisor (Hyper-V… or maybe XenClient?)

Earlier today, some contacted me via this website and asked for advice on specifying a 64-bit laptop to run Hyper-V. He was confused about which laptops would actually work and I gave the following advice (unfortunately, my e-mail was rejected by his mail server)…

“The main thing to watch out for is the processor specification. If you get the model number (e.g. T7500) and look this up on the Intel website you can see if it has a feature called EM64T or Intel 64 – that is Intel’s implementation of AMD’s x64 technology – and most PCs have it today. Other things you will need for Hyper-V are hardware DEP (Intel XD or AMD NX) and hardware assisted virtualisation (Intel-VT or AMD-V). This last one might catch you out – some quad core chips don’t have the necessary functionality but most dual core chips do (and I’ve heard some reports from people where the chip supports it but there is no option to enable it in the BIOS).

Also, if you’re running 64-bit, driver support can be a pain. Stick with the major manufacturers (Lenovo, Dell, HP) and you should be OK. I was able to get all the drivers I needed for my Fujitsu notebook too.”

If you want to run Hyper-V on a notebook, it’s worth considering that notebook PCs typically have pretty slow hard drives and that can hit performance hard (notebook PCs are not designed to run as servers). Despite feedback indicating that Virtual PC does not provide all the answers, Microsoft doesn’t yet have a decent client-side virtualisation solution for developers, tech enthusiasts and other power users but Citrix have announced something that does look interesting – the XenClient (part of what they call Project Independence), described as:

“[…] a strategic product initiative with partners like Intel, focused on local virtual desktops. We are working together to deliver on our combined vision for the future of desktop computing. This new virtualization solution will extend the benefits of hosted desktop virtualization to millions of mobile workers with the introduction of a new client-side bare metal hypervisor that runs directly on each end user’s laptop or PC.”

You can read more at virtualization.info – and it’s probably worth watching the last 15 minutes from the Synergy day 2 keynote (thanks to Garry Martin for alerting me to this).

Layered on top of XenClient are the management tools to allow organisations to ensure that the corporate desktop remains secure, whilst a personal desktop is open and the scenario where we no longer have a corporate notebook PC (and instead are given an allowance to procure and provide our own IT for work and personal use) suddenly seems a lot more credible. I’m certainly hoping to take a closer look at the XenClient, once I can work out how to get hold of it.

Want to get hold of Office 2010?

Soon after Office 2010 was pre-announced at TechEd copies began to circulate on the ‘net. I’m not sure of the source of these but like the unofficial Windows 7 builds, they are probably best avoided.

There is a way to add yourself to the list to be considered for the Office 2010 technical preview when it is released in July though – there are no guarantees that you will be successful (it is a limited programme), but worth a try anyway. For those whose applications are successful, the products available for preview will be Office Professional 2010 and Office Visio 2010.

There’s not a huge amount of public information about Office 2010 yet, but we do know it will feature web applications, more extensive use of the ribbon user interface and will be available in both 32- and 64-bit modes. In addition, Groove gets a new name (SharePoint Workspace) and both SharePoint Workspace and OneNote will be in the Professional Plus SKU (which replaces Enterprise Edition). It looks like Visio and Project will still be sold as separate products.

Windows 7 edges closer to release

I keep saying that I don’t really do news here… but I’m excited about Windows 7 I heard a whisper that Microsoft was going to announce ship dates at a conference in Taiwan tomorrow (thanks Dave). I also heard via the OEM channel that there would be a programme for Windows Vista to 7 upgrades on new PCs purchased this summer… which was supposed to be top secret but that’s been announced too.

According to the Windows Team Blog (breaking Microsoft’s own embargo on this news…) Windows 7 and Windows Server 2008 R2 will RTM in July and Windows 7 will be in stores for 22 October. The blog post also confirmed that plans are in the works for a Windows 7 upgrade option program (with more details expected soon).

Other Windows 7 related developments in recent days include that:

I'm a PC - and I'm running Windows 7Notice that I said “when my netbook is rebuilt” – I may be playing with OS X on my S10e but that’s just a geek project and I expect it to be a Windows 7 machine again soon. Perhaps more significantly, my everyday notebook PC (upon which I depend to do my work) is already running the RC build of Windows 7 Ultimate Edition (64-bit). I may be reticient to say “I’m a PC” (I also use Macs and Linux at home) but the accompanying graphic has appeared on a few e-mails in my Inbox this week and, at least for work, it’s entirely appropriate for me.

Microsoft makes Storage Server 2008 (including the iSCSI software target) available to MSDN and TechNet subscribers

I was doing some work yesterday with the Microsoft iSCSI target software and noticed a post on Jose Barteto’s blog, indicating that Windows Storage Server 2008 is now available to TechNet and MSDN subscribers. Previously it was for OEMs only (or you could extract the iSCSI Target from an evaluation copy of Storage Server) but this will help out IT administrators looking to set up an iSCSI target using software only (alternatives are available, but they are not free – at least not the ones that support persistent reservations, which are needed for Windows Server 2008 failover clustering).

Now, if only I could get an add-on for my Netgear ReadyNAS Duo to support iSCSI…

Useful Links: May 2009

A list of items I’ve come across recently that I found potentially useful, interesting, or just plain funny:

How a single sheet of MDF has changed my life

In my blog post last year about Microsoft Photosynth, I used my desk as an example and, even though I had cleared it up before taking the images for the photosynth, it was still looking congested – as the various items of IT that I use for my work and hobbies vie for placement on a desk that is a best described as small but functional.

So, last Friday, I decided that something had to change. As well planning a trip to Ikea for some new shelves to organise the assortment of items that are spreading across the office floor (most of which is waiting to be advertised on eBay, Freecycled or otherwise disposed of), I purchased a sheet of MDF. Nothing remarkable – just a single sheet of Medium-density fibreboard, sized 1900x605x18mm.

Laying this across my desk and filing cabinet gave me a large expanse of flat work surface, upon which to place: the MacBook and external monitor that I use for digital photography; the notebook PC that I use for work; my Netgear ReadyNAS; the PC that I use for video production; my IP phone; and the mouse and keyboard that control the server under the desk (connected to the same monitors as the PC, using a Linksys KVM solution). Now I can reach them all, I can leave my graphics tablet and film scanner on the desk all the time, and I still have room for papers when I’m working.

My desk, in my home office

It might only overhang the edge of the desk by a few inches either side but I really cannot overstate how big a change to my workspace this simple change has made!

A lovely new tablet PC?

I bumped into Aaron Parker at tonight’s Windows Server/Active Directory/Vista joint user group meeting and he showed me his latest toy: a Dell Latitude XT2 tablet PC. The great thing about this tablet is that it works with the stylus and with fingers, so you can use the multitouch features in Windows 7 but also use the stylus to write notes.

I’ve raved about tablets before but this one is sweet, in fact Dell seem to have a lot of nice computers right now, although I tend to favour ThinkPads and the Lenovo ThinkPad X200 looks good too (besides which: my faith in Dell has never recovered from the D600 I used when I worked at Conchango; I have to use Fujitsu kit at work; and justifying a £1500 tablet PC would be a bit difficult in today’s economic climate)… anyway, Aaron’s written up his experiences of Windows 7 on the XT2 over at his Stealth Puppy blog.

Keeping an eye on FTP upload progress with hash printing

I spent most of yesterday working on some more How-Do-I? videos for Microsoft. The delivery mechanism for these is via FTP, and the command line FTP client in Windows is pretty basic so it doesn’t show progress on uploads by default. My problem was that, when I’m uploading 50MB .zip files to a server, it’s nice to know that the transfer is still working.

Then I remembered something that Garry Martin had mentioned a few months back – the hash command.

Before starting an upload, I turned on hash printing, so the FTP client prints # characters to the console during the upload, demonstrating progress. I still prefer the BSD version on my Mac, which shows progress updates as a percentage by default, but at least I could see progress as Windows XP pushed the file to the server.

Windows FTP client with hash printing enabled

Handy Linux distro that can be built on the fly

A couple of days back, my friend Stuart and I were trying to configure a device via a serial port. You’re probably thinking that’s not so hard, just hook up a console cable, fire up a terminal emulator, make sure you have the right settings and you’re good to go, hey?

Except that neither of us had a serial port on our laptops… and the only PC we had available with a serial port wasn’t configured with an operating system (at least not one we had the password for).

Thanks to a great Linux distribution called Slax, we were able to build a boot CD that included minicom in just a few seconds and after downloading and burning we could boot the PC from CD. All it took then was to configure Minicom to use /dev/ttyS0 (if we had used a USB to serial connector it would have been /dev/ttyUSB0), with /var/lock for the lockfile, 9600 8N1 Baud/parity, hardware flow control on, software flow control off and we were connecting to the console output (David Sudjiman described something similar to configure his Cisco router from Ubuntu).

I’m sure I could have used an alternative, like Knoppix but the real beauty of Slax was the ability to create a custom build on the fly with just the modules that are required. I could even put it on a USB stick…

Reading around on the ‘net afterwards I came across Van Emery’s Linux Serial Console HowTo which turns things around the other way (using a serial port to get into a Linux machine). I though it might be fun (in a retro sort of way) to hook up some dumb terminals to a Linux PC but I’m not sure what I’d do with them though… web browsing via Lynx? A bit of command line e-mail? Definitely a geek project.