Games and Military22 Jun 2006 at 12:19 by Jean-Marc Liotier

Ever since I started playing Harpoon II eleven years ago I longed for human opponents. Multiplayer developments of Harpoon have long been promised but various projects encountered endless corporate obstacles and left the fans frustrated. But today the wait has ended : Harpoon 3 Advanced Naval Warfare has been released with multiplayer support. As Harpoon is by very far the best commercially available naval combat simulator, the perspective of playing against my fellow humans fills me with joy. Now I have to convince some of them to join me… Meanwhile you can read a good article about H3ANW by Armchair General (from which the following screenshot has been taken) with enough background information to put you up to speed with what to expect from Harpoon.

Photography22 Jun 2006 at 0:05 by Jean-Marc Liotier

I have fallen in love with high dynamic range photography.

In his introduction to “Merge to HDR in Photoshop CS2Michael Reichmann does a great job of explaining dynamic range limitations in photography and the ways to overcome them. Photomatix provides a nice little FAQ about HDR imaging as well as a few dynamic range increase examples.

For Linux users, PFScalibration provides an implementation of a method for the recovery of high dynamic range images from a set of low dynamic range exposures such as the JPEG files produced by the generally available digital cameras.

For those who prefer a graphical user interface it is also possible to create HDR images from bracketed exposures using Cinepaint with Hartmut Sbosny’s “Bracket to HDR” Cinepaint plugin. Its output is an HDR image that like with PFScalibration can be saved in the OpenEXR HDR image format developed by Industrial Light & Magic.

With Cinepaint as well as with PFScalibration the resulting HDR image must then be tone mapped to normal dynamic range so that an image in a format such as JPEG can be produced. Tone mapping is the job of PFStmo, a package that contains the implementation of state of the art tone mapping operators.

Nicholas (alias Sunyata on Flickr) has been one of the very first Linux users to try his hand at HDR photography with Cinepaint and PFStmo and publish the results. Here are a few of his most beautiful latest results:

Stunning isn’t it ? These images show how HDR imaging liberates from the exposure constraints of traditional photography. PFScalibration and PFStmo are part of PFStools, a set of command line and graphical programs for reading, writing, manipulating and viewing high-dynamic range images. PFStools is the part of the excellent works of the Max-Planck-Institut Informatik. It is licensed under the GPL.

Because of its modular architecture owning to use of UNIX pipes, the PFStools package is quite flexible. A typical workflow would look like the following :

# Calibrate the system - this should only be done once for each camera
#
# Generate a listing of the calibration source files and their characteristics
jpeg2hdrgen img*.jpg > example.hdrgen
# Create the camera response curve
pfsinhdrgen example.hdrgen | pfshdrcalibrate -v -s camera.response
# Perform the actual process of converting bracketed JPEGs
# to a tone mapped HDR image
#
# Generate a listing of the source files and their characteristics
jpeg2hdrgen img*.jpg > example.hdrgen
# Create the HDR image in the OpenEXR format
pfsinhdrgen example.hdrgen | pfshdrcalibrate -v -f camera.response
| pfsoutexr example.exr
# Render a tone mapped image using the tone mapping operator of
# your choice (drago03 in this example).
pfsin example.exr | pfstmo_drago03 | pfsgamma 2.2 | pfsout example.jpeg

As you can see the process is quite simple. But you definitely need to read the PFScalibration documentation. Wolfsauge also paraphrased the PFScalibration documentation and sprinkled a few examples on top of it – you might want to read his article about producing HDR images to see the problem in another light.

Now let’s fetch a sturdy tripod, go out and make HDR images !

Photography and Picture of the day21 Jun 2006 at 0:10 by Jean-Marc Liotier

My keepers ratio for dance floor scenes is horrendously low, mostly because I can’t figure out how to focus on the right point with next to no ambient light apart from the occasional flickering red spotlight. Maybe I should try pre-focusing using the distance scale on my lens. For now my results are as much planning as generous gigage compensating for the dismal probabilities.

Talking about ambient light on the dance floor, you probably won’t see it because my Canon Speedlight 580EX also known as the portable sun almost drowns out everything else. Only when opening as much as made possible by my hardware and the moving nature of the subject (1/60s f/2.8 at ISO 1600) does a hint of ambient light register as you can see on the above picture. But I guess I’ll have to live with that : if I can’t get enough sharp shots with the flash, I would probably get none at all without it.

Photography20 Jun 2006 at 0:54 by Jean-Marc Liotier

I attended the wedding of my friends Marie-Caroline and Franklin this week-end and took the opportunity to exercise my somewhat rough wedding photography skills. Some more debriefing shall follow shortly and the finished product should be ready by the end of the week.

Much gigage was produced (a bit under 3000 frames) and a slight lossage experienced so today I’ll begin with a little story about storage…

I use a Vosonic X’S-Drive VP2060. It is quite old now but still works perfectly fine despite travelling quite a bit in my bag. Six months ago I wrote about the main risk inherent to my storage procedure :

“It is very unnerving to have no way to control wether or not copy from CF to hard disk was performed successfuly. I have not had a failed copy ever but the nagging risk remains in the back of my mind. That is why a review screen is no luxury and it is the primary reason why one of these day I will upgrade to something with a review screen”.

That was excellent foresight : this week-end I lost the entire content of 1 GB Compact Flash card full of reception candids because I failed to transfer it to my portable hard disk. The Vosonic X’S-Drive VP2060 gives no way to confirm wether or not a picture has been copied on the disk so I expected that the occurence of such loss was only a matter of time. The direct cause is of course user error, but the lacking ergonomics of the Vosonic are a large factor contributing toward it.

I now understand I should heed to the advice of other photographers on Photo.net: ditch the hard drive when operating under time pressure and instead bring as much CF storage as necessary. Chris Newkumet puts it best :

“I hope you’re not intending to download cards during a wedding and then format and reuse those cards at that same event. For one thing, there’s rarely time to do that given how quickly things move in a typical wedding schedule. And I’d never trust an assistant to do that, either. As Bas said, with the going rate for CF cards, there’s no good reason to do it. My advice–buy 7-8 gigs of CF capacity, fill each card, tuck them away safely and then take your time when you get back home or to the studio downloading the images. I shoot 1,500–2,000 images during a typical 10-hour wedding date, and I can tell you I need to sit down later and make sure I’ve accounted for all of them before I can rest easy. As for the portable storage devices themselves, the only one I have any experience with is the Epson and I can tell you it’s pretty slow. I think these gadgets are fine for traveling and what not when you have time at the end of each day to download cards”.

Experiencing a loss definitely got the lesson nailed in pretty well. And considering it was only a loss of about 350-400 frames (maybe 50 keepers at my going rate) it was a rather cheap lesson.

Portable (CF reader + hard disks) combos are still nice when working at a relaxed pace. The debate still rages about wether they should be used to free up CF space or only as a backup, or wether burning CDs is a a better option, but for me the choice is now clear : a portable storage device for travelling and a stack of CF cards for event photography.

Photography19 Jun 2006 at 0:22 by Jean-Marc Liotier

Scans from my Nikon LS-30 are quite noisy. Vuescan features “grain reduction” but I have found that for using Neatimage instead provides better results. I have had satisfying results with the Nikon Coolscan V profiles by Tom Lane using Neatimage‘s “remove more chrominance noise” preset.

At the moment there are no other Nikon slide scanner profiles. Since Neatimage profiles depend on the film and on the exposure, I guess I will have to produce a better matching profile myself.

Consumption and Photography18 Jun 2006 at 0:49 by Jean-Marc Liotier

After using Vuescan everyone realizes that scanner manufacturers should really be ashamed of what they ship with their hardware. Ed Hamrick single handedly produced the only program that really gets the best out of almost every scanners. Without him my precious Nikon LS-30 would just be about useless to me : since 1999 only Vuescan provides useable infrared scratch removal on Linux. Efforts by the SANE project to provide infrared dust removal have not gone beyond the proof of concept stage, so seven years later Vuescan is still the only one to save my negative scanning days. On top of that, support by Ed Hamrick is nothing short of exceptional – he is a highly responsive developper with great passion in his work. Add a perpetual license at a very low price and you probably understand that I’m in love with this product.

Cooking17 Jun 2006 at 12:49 by Jean-Marc Liotier

I’m feeling in a party mood this week-end so here are my favorite ways of mixing rum, irish cream and coffee liqueur…

  • Snowplow – irish cream, coconut rum, cocoa cream in creamy hot chocolate with a dash of cinnamon. Sweet ! Metromelt is the same with rum added.
  • Fuzzy duck – irish cream, coconut rum and and brandy. Does he ? Rather strong stuff – More orgasms is about the same but vodka replaces the brandy.
  • O & cream – rum and Irish cream. Maybe a bit strong.
  • Mudslide – irish cream and coffee liqueur. Perfect balance.
  • Chocolate buzz is a Mudslide tamed by the addition of chocolate milk. Hey bitch come here is its sophisticated cousin.

To conclude this list let me introduce to the world my own contribution to the advancement of the ethylic art… Cupid’s blowjob ! Mix 55% banana nectar, 25% irish cream and 20% coconut rum in an old fashioned glass and serve chilled. Raise your glass to the hardy researchers who brought you this sweet recipe !

Code and PHP and RSS16 Jun 2006 at 15:30 by Jean-Marc Liotier

Coldforged mentioned that Lilina “silently failed on several malformed feeds“. Coldforged adds “that wouldn’t be so bad if it survived such indignities but it didn’t. Instead my entire aggregation page would simply not load and the only notice I ever got that something was awry was the PHP error_log in the aggregator directory“. I’ll look out for such behavior, but so far I have had no problems with the few feeds I am using.

Were I looking for something with more features than Lilina I would probably turn to Gregarius with the Lilina theme because I like Lilina’s way so much. And the RSS View” plugin apparently provides the outgoing something like the aggregated RSS feed that I implemented in Lilina by splicing Feedcreator in.

But for now I’ll stick with Lilina because it is extremely easy to use. The lack of need for a database makes deployment as simple as copying files, setting permissions (the archive of the patched Lilina I provide now features a script to do it for you) and editing a couple of lines in a configuration file. That is hard to beat.

Picture of the day13 Jun 2006 at 21:21 by Jean-Marc Liotier

There is more to filtering than the lame and tasteless on-lens filters that render anything either as a sunset or as a pastel colored ethereal horror. About anything somewhat transparent can be used as a filtering material and if you look around you certainly have something you can use. Here are a couple of experimental results I found interesting :

The first one was captured through a misty window, and you probably have already seen such images. The second one is much more innovative : it was taken accross an empty bottle of fine Bordeaux wine during a picnic. I must admit that the great wine surely contributed to the creative process…

Brain dump and Mobile computing13 Jun 2006 at 13:54 by Jean-Marc Liotier

Mobile phones let the user define a collection of behavior profiles adapting sound, lighting and interface to suit different contexts. But my experience shows that continuously switching to new profiles when changing activities is quite clumsy. As a result I have reverted to using just two basic profiles for which my Treo 650 provides a physical switch : “silent” and “loud”. But what I really wish is a device that adapts the telephone ring volume to the level of ambient noise.

As usual when I find myself believing I just created a new concept it only takes a short search to find that I am far from the first to have thought about it. US Patent 6993349 from 2001 describes a “smart ringer” that does exactly what I want :

“A telephone monitors ambient noise, and alters the characteristics of the audible ring to distinguish the sound of the ringing telephone from the ambient noise. Such characteristics include the decibel level, the sound frequency, and the rhythmic pattern or the ringing sound”.

Such concept is also valid for the output of the telephone conversation itself or for other context-dependant settings of the man-machine interface. There too I’m quite late on the ball – for example the “Proceedings for the stakeholders forum on communications enhancement” from 2001 put it quite well :

“The levels of ambient light and noise provide simple but important contextual information. Ambient noise level sensed via microphone can be used to adjust output volume (louder room/car/outdoor setting). Low-tech noise level detection systems have been incorporated into cars (i.e. when the car speeds up the radio volume increases gradually with the speed, takes into account engine and road noise). Ambient lighting levels sensed via a photocell can be used to adjust display brightness and contrast”.

I did now know that cars did that… Maybe it is because I only use a car thrice a month and own a 1992’s Citroen ZX Reflex… Now the real question is : why don’t my phones do that ?

Code and Meta and PHP and RSS and Systems08 Jun 2006 at 18:38 by Jean-Marc Liotier

Aggregated RSS feeds presented as HTML and Javascript by Lilina are very sweet. The more we used them, the more we missed having them served as RSS. After much research it seemed to us that there is no nice and easy PHP code capable of mixing RSS as RSS. There are plenty of feed mixers offered as a service but very few offered as a product.

On the fetching and parsing side, Lilina had everything I wanted. All I needed was to make it generate RSS instead of HTML.

I went foraging for RSS creation libraries. The first one I found was XML-RSS-Aggregate . I liked it because the example provided with XML-RSS-Aggregate is an RSS agregator that ouptuts RSS – exactly what I was looking for. But Shlomi Fish mentioned that “this module is unmaintained and no longer works very well. The author (and I) recommend that you use XML::Feed now“. So I took a look at XML-Feed and found it too complex for my meagre skills. And I’m not that hot with Perl anyway. So I went looking somewhere else.

I found my salvation in Feedcreator. Feedcreator creates valid feeds in various formats, features configurable caching, reasonnable documentation and readable code. I found it quite easy to use. All it needs is an array of RSS elements, and that is exactly what Lilina provides.

I took Lilina’s index.php, cleaned up the HTML generation, spliced in the example code from Feedcreator, mapped input to output and lo and behold I had a reasonably valid RSS output by Lilina. Very sweet !

Source code of the modified Lilina with Feedreactor hybridation is available here.

I even added a cute RSS icon to Lilina’s default layout…

Military08 Jun 2006 at 13:01 by Jean-Marc Liotier

In an article dated from wednesday the 7th of June 2006, Strategypage claims “Zarqawi Scheduled for Martyrdom” and goes on explaining how strained relationships with the mainline al Qaeda leadership makes his fall at the hands of his partners a likely event.

In an article dated from thuesday the 8th of June 2006 at 8:42am ET15Reuters announces “Al Qaeda’s Zarqawi killed“. Associated Press goes on precising that “Al-Zarqawi and several aides [..] were killed Wednesday evening“.

It appears that Strategypage has hinted at Zarqawi’s death before the official announcement. Is that just a coincidence and good foresight by Strategypage ? Strategypage having very good relationships with members of US military and paramilitary forces, I would rather think the information was leaked to them before an official press release.

Meta and PHP and RSS and Systems07 Jun 2006 at 22:04 by Jean-Marc Liotier

Looking for a way to fetch multiple RSS news feeds and present them as a single HTML page I found the wonderful Lilina.

Lilina is a simple but powerful news aggregator written in PHP. No database is needed, RSS/ATOM parsing is done by the excellent MagpieRSS library”.

That piece of advertisement is all true : Lilina is dead simple to set up, requires no special dependancies and produce very nice aggregated news feeds. This was love at the first sight !

I immediately set up a couple of aggregated news feeds :

Next will be a personal feed gathering all my favorite places that publish irregularily. That page will save me quite a lot of clicking around checking for updates.

Photography07 Jun 2006 at 18:49 by Jean-Marc Liotier

Eos flash photography is a complex if not downright confusing art which makes Eos flash exposure errors a recurrent discussion topic. Lack of information from Canon would leave users in the dark if there was not PhotoNotes.org’s definitive reference for Eos flash photography. On the path to flash enlightement the photographer will often come back to it to refresh his knowledge at the source.

My most grievous Eos flash photography sin is the use of the “focus – recompose – shoot” drill with flash :

“The fact that the camera biases flash exposure to the nearest focus point [..] is important to keep in mind. If you’re in the habit of using the old “focus, lock AE and recompose image” technique, be sure not do this when taking flash photos.

Flash metering occurs after ambient light metering, so in this case you’re locking AE but not flash metering, and therefore recomposing messes up your flash metering. Instead, select the focus point that’s closest to your subject in order to bias flash exposure to that area”.

Flash exposure lock also provides a way to focus-recompose while metering flash on the right target, but the awkward ergonomics make it unusable in practice for photojournalist style photography.

ETTL-II introduced several improvements, but I had missed the most important from my point of view : a new evaluative metering algorithm. The rumor claims that ETTL-II ignores the AF point bias. Photonotes.org puts it much more mildly, but it looks like something that could potentially make the focus-recompose drill viable with flash.

The only drawback is that ETTL-II bodies are only ETTL-II. Only the 1D MkII has a custom function to switch between focus-point biased metering and evaluative metering.

Photography and Picture of the day07 Jun 2006 at 2:17 by Jean-Marc Liotier

Camera laid on a bench for five seconds at f/11, barely cropped and passed through Neatimage. I like how the orange office lighting contrasts with the bright green. Made with Canon Eos 300D with EF 24-70/2.8 L.

Lawn and lighted office in the evening

Photography and Systems07 Jun 2006 at 1:14 by Jean-Marc Liotier

Neatimage 5.4 Pro installs and runs fine with Wine 0.9.9-0ubuntu2 found in the Dapper Drake release of the Ubuntu distribution. Neatimage working with Wine was mentioned in Wine’s application database, but I was not successful with Ubuntu‘s Hoary Hedgehog. The upgrade to Dapper solved some of the problems but others probably remain because Neatimage crashes somewhere at the beginning of a filtration job. I’ll keep working on it…

« Previous PageNext Page »