Microsoft RAW image thumbnailer and viewer for Windows XP

When I’m not “messing around with technology” my main hobby is photography and last September I bought a Nikon D70 digital SLR camera. Since then, I’ve taken almost 3000 digital images, all as 6 megapixel JPEG images, but for those images which are a bit more than just family snaps I’d really like to make use of raw mode (without needing to buy Nikon Capture software). Tonight, I found the Microsoft raw image thumbnailer and viewer for Windows XP.

Although this won’t allow me to edit raw images, according to Microsoft, it does provide “the ability to view, organize, and print photos captured in raw image formats from supported Canon and Nikon digital cameras”. There’s also a white paper on viewing and organising raw images in Windows XP.

In fact, there’s a whole load of digital photography resources on Microsoft’s professional photography and digital photography microsites (I picked that tip up via RoudyBob.NET), including a link to Microsoft’s press release on raw support in Windows.

More Windows XP eye-candy

Last year, I posted a blog entry about installing the “Energy Blue” theme on a computer running Windows XP Professional.

Now there’s another option for those who are bored with the standard Windows XP wallpaper, but want something that still looks like part of Windows XP – the “New Bliss” wallpaper from the “Royale” theme, which, like Energy Blue, was originally designed for Windows XP Media Center Edition (XP MCE) 2005 but later ported to Windows XP Tablet PC Edition 2005 (and is now available for all Windows XP users). This, and some other interesting wallpapers (Kiwi Bliss, Boulders, etc.) are available from Microsoft in New Zealand (I’m not convinced about the Queen’s birthday version though).

(For those who have access, I quite like the Longhorn.jpg wallpaper from Windows Vista Beta 1 too).

New job at Fujitsu Services – no longer blogging at Conchango

Over the last few years, I’ve been a consultant for a major IT Services company; worked for a UK-based support services company (and hated most of my time there); contracted for Australia’s largest independent magazine distributor; worked in-house designing and project managing a Europe-wide infrastructure refresh for a major fashion design, marketing and retail organisation; and then I joined Conchango, a mid-sized consultancy which specialises in delivering technology-driven business solutions that incorporate the latest methodologies and technologies.

I’ve worked with Conchango, first as a client and then as a consultant, for about 3 and a half years in total but the time has come for me to move on. For anybody who lives within commuting distance of London or Surrey, enjoys the variety of work which consultancy offers, and who knows a significant amount about enterprise intelligence, interactive media, agile development and program management, or mobility, Conchango is a fantastic place to work. It feels a bit strange to be leaving a company that I still enjoy and which is packed with talented people but as Conchango’s focus shifts away from infrastructure services, I’ve decided to rejoin Fujitsu Services (it was ICL when I was there just over 5 years ago) to embrace a new role as a Senior Customer Solutions Architect, taking technical responsibility for IT infrastructure projects within their Architecture and Design Group.

One of the things I’ve enjoyed most at Conchango (apart from being lucky enough to feature in the IT press) is that they encourage blogging (there’s a whole load of Conchango bloggers now) although my blog output has prompted some to comment on its volume and to say they almost expect to see what I had for breakfast appear next! One of my clients says he can find out what he’s been up to by reading these pages! I just hope that what I write is useful and that people enjoy reading it. Since last November, most of my posts here have been mirrored on my Conchango blog – from today, that will no longer be the case, and as far as I know, Fujitsu doesn’t have company-sponsored blogs, so this site is once again the single focus of my technology-related blogging (although I still hope to have the occasional article published on the Microsoft TechNet Industry Insiders blog).

I’ve got loads of stuff waiting for me to write about (but not much time to write it) – in the meantime, watch this space

Bad timing…

For the last couple of days, the Microsoft File Transfer Manager has been running on one of my PCs, downloading 5.33Gb of Windows code name “Longhorn” and IE7 beta software from Microsoft Connect (averaging out at about 65kbps). Sometime last night, it all finally completed but then a few minutes ago, DHL delivered a package from Microsoft in Redmond containing… you guessed it… bootable DVDs of Windows Vista Professional Beta 1 and Windows Code Name “Longhorn” Beta 1. Arghhhhh!!!

“Incessant infrastructure and tech gossip”

For a while now I’ve wanted a catchy subtitle for my blog (something descriptive, maybe with a touch of humour, and perhaps also a little bit thought provoking – like, for example, a “grey matter honeypot, distracting the mind with information overload“) but I’m just not witty enough to come up with one myself.

Well, now it looks like fellow Conchango blogger, Jamie Thomson, has come up with the goods for me in his latest post, where he describes my musings as “incessant infrastructure and tech gossip”. Well, it’s certainly descriptive!

More on integrating device drivers into an unattended Windows build

Earlier in the year I blogged about discovering unknown devices in Windows for integration into an unattended build. What I didn’t detail at the time was how to work out which device driver files are needed for a particular device.

Some device driver packages are pretty simple, but others are several megabytes in size. Rarely is the whole driver package required and it is usually sufficient to just copy a few files to the (RIS) installation source – generally:

  • An .INF (setup information) file with an associated .CAT (security catalog) file.
  • One or more .SYS (system) files.
  • Possibly some .EXE (application) and .DLL (application extension) files.

I usually start off by reading the setup information file which relates to the Windows XP version of a driver. It’s straightforward enough to identify the catalog file (used to confirm the digital signature for the other files) from the CatalogFile= line in the [Version] section and for many simple .INFs, it is easy to identify the device driver files from the [SourceDiskFiles] section, but sometimes the setup information file supports a variety of devices and not all of the files are required. For complex driver configurations (e.g. an ATI video driver), I usually copy the .INF and .CAT files to the installation source and then attempt to install the driver from a reference workstation. As Windows XP throws an error each time it is unable to locate a file, I add the requisite file to the installation source, retry and repeat until all the necessary files are present (which normally only takes a few minutes).

Some device drivers include a subfolder within the [SourceDiskNames] section. In this case you have a choice – either edit the .INF (not recommended as it will break the digital signature), or place the appropriate files (geneally all except the .INF and the .CAT into an appropriately named subfolder and extend the OemPnPDriversPath in the [Unattended] section of the unattended setup file.

One final note. In my unattended build, I have support for a variety of PC models, some of which use different drivers for what would seem to be identical hardware. For example, both the IBM ThinkPad T40 and the Compaq Evo N620c have an Agere Systems AC’97 Modem, but the driver version I downloaded from IBM and integrated into the build for the T40 was not recognised by the N620c (due to different PCI device instance IDs – the T40 implementation is PCI\VEN_8086&DEV_24C6&SUBSYS_05241014&REV_01\3&61AAA01&0&FE whilst the N620c is PCI\VEN_8086&DEV_24C6&SUBSYS_00580E11&REV_03\3&61AAA01&0&FE). I didn’t have access to a spare T40 in order to regression test a version of the driver with support for both device instances (assuming there is one), so I downloaded a version of the driver from HP, which does work with the N620c. Although the .INF and .CAT files are different, both the IBM and HP drivers have a number of files in common (AGRSM.SYS, AGRSMMSG.EXE and AGRSMDEL.EXE – albeit with different date and time stamps), so I left the newest versions of the common files in place (which happen to be the IBM versions). As I haven’t changed the files for the IBM driver, the T40 build should be fine, but the N620c build fails a check on the digital signature due to a mismatch between the file versions. There are two ways around this: either place the two driver versions into different folders and extend the OemPnPDriversPath in the [Unattended] section of the unattended setup file; or disable the check for signed drivers as detailed in Microsoft knowledge base article 314479.

Metro: read all about it!

A while back, I read that Microsoft is switching to XML-based document formats in the next release of Microsoft Office and I just read some more…

According to PDFzone, Microsoft is developing a new document format (codenamed Metro), which is:

  • A new document file format, similar in many ways to portable document format (PDF).
  • A spool format, suitable for spooling to a device through the print subsystem.
  • A page description language, similar to printer control language (PCL) or PostScript, that can be used to transmit the information all the way down to a printer.

Apparently it’s all part of the WinFX API, being developed as part of Windows Vista but also due to be released for Windows XP and Server 2003 and according to Paul Thurrott’s Windows Vista FAQ:

    “Based on XML, Metro is to Windows Vista as Adobe PDF is to Mac OS X: It’s a device- and application-independent printing architecture that allows documents to retain their exact formatting in any application, and when printed. Unlike PDF, however, Metro is based on XML and will be released as an open standard. Metro will also incorporate ZIP technology – similar to that used by the next major version of Microsoft Office – to compress and decompress files on the fly. From a technology standpoint, Metro includes an XML-based electronic paper format called Metro Reach, a document viewer for viewing, managing, and printing Metro files, the ability to digitally sign Metro documents, APIs that allow programmers to integrate their applications and services with Metro, a print pipeline, and a new driver model for Metro-compatible printers.”

Finally, an open document standard that doesn’t require an expensive application license to produce a document (I’m guessing as it’s XML-based, I could write Metro documents using Windows Notepad, edit.com – or if I was feeling particularly masochistic, I could use edlin.exe or the UNIX vi editor!). It will be interesting to see how this new format compares with DocBook.

Brian Jones’ blog has more information and links about the Microsoft Office Open XML formats in Office 12.

Exchange Server RFC and standards compliance

Members of the “oppose Microsoft group” often deride the software giant, accusing them of implementing proprietary technologies to abuse their monopoly; but in recent years there has been a real shift towards standards-based technology implementations in Microsoft software. Like Microsoft Exchange Server, the messaging and collaboration platform, which implements over 50 RFCs/standards, as detailed in Microsoft knowledge base article 262986.

MSI package for Mozilla Firefox 1.0

Back in February, I posted a blog entry about installing applications silently (or at least quietly), e.g. as part of an unattended build process. Thomas Lee added a comment about WIX (Windows Installer XML), which I had not mentioned because at the time I was hoping to find some time to review WIX myself; although Thomas’ blog probably has some more information on the subject.

One of my “problem applications” when it come to automated builds is Mozilla Firefox, which for some reason doesn’t seem to support a silent installation (or didn’t last time I looked). Well, today I found the YVG Software Services Mozilla Firefox 1.0 installer – so now you can get a copy of Firefox packaged in Windows Installer (.MSI) format.

Making use of various iTunes for Windows plug-ins

Since I became an iPod convert a few months back, I’ve ripped all of my CD albums to 192kbps MP3s using iTunes (over 5000 songs using 29Gb of disk space at the time of writing – still got about 500 CD singles, plus MiniDisc and vinyl to go…) but one of the features which really lets down iTunes is the lack of high quality visualizations (Windows Media Player has loads).

To help me with my quest to find decent iTunes for Windows visualizations, one of my MacMates, Stuart, sent me a link to the iLounge directory of known iTunes plug-ins. I’m still underwhelmed with the available visualizations but I came across some other interesting plug-ins, like WMPtunelog, which writes out information of the currently playing track to the registry (HKEY_CURRENT_USER\Software\Microsoft\MediaPlayer\CurrentMetaData\). I’d really like to access this from my homepage and include a real-time “what I’m listening to” panel, but I’m not sure how at the moment. The blogging plug-in within the Windows Media Player 9 Series creativity fun pack (which also works with Windows Media Player 10) was looking hopeful, until I found that the “code samples for adding support to my web, Visual Basic, or C/C++ application” link in the creativity_pack_readme.htm file was dead… If anybody has any hints, then please let me know!

One alternative may be Brandon Fuller’s Now Playing, which monitors the currently playing song and writes the information out to an XML file (optionally FTPing this to a location of your choice). Brandon uses PHP to process this on his site, but I’m having problems using PHP on my ISP’s servers (my ISP only allows active content to run on a separate server and I can’t seem to call the PHP from within normal HTML pages on their Apache web server) so am hoping that I can use an XSL transformation to format the XML instead but still not sure how to include that in the HTML…

All of this is a bit developery for an infrastructure bod like me but I’ll keep on plugging away with this and will post a comment to this post when (if) I get it all working. In the meantime, answers on a postcard please…