Saturday 13 February 2010

High Dynamic Range (HDR)

Recently I've been playing around with creating HDR style images. I'll save the full technical explanation for someone else.  In my own simple words for the uninitiated, it's a post processing technique where you combine multiple images of the same scene taken at different exposures. The reason for doing this is that your camera is only capable of "seeing" a certain range of light and colours, you usually tell it which range to use i.e. whether you want an underexposed or overexposed image. Some scenes are too mixed in terms of different light levels, you could expose for the dark areas or the light but perhaps not both. This is where a technique such as HDR comes in handy, allowing you to retain the detail in the shady areas as well as the well lit areas for example.

HDR images can look like they're not photographs, perhaps computer generated, depending on the algorithm used to render the final image.  However, in the right hands they can look pretty cool, for example this one from the Flickr HDR Group:

I'm still very much learning, I've been working with these three images:

My best attempt so far is:

I think I've still got some way to go, but it's been fun trying and learning.

Thursday 4 February 2010

Contributing to BloGTK

I was meaning to talk about BloGTK before my previous post on the topic but never quite had the time so here's a quick follow-up to fill in the holes...

At the end of last year I decided it was about time I filled in a scripting gap in my knowledge, namely Python, so set about finding something to code.  I'm also a blogger (D'uh) and have always been frustrated at the lack of a decent off-line client for the Linux desktop.  Enter BloGTK, both a blogging client and written in Python.

Step 1 before thinking any further about contributing or reading any source code is to seek permission from my employer.  I was glad (and surprised) to find getting permission to contribute to open source projects is actually very quick and simple.  A short note to my manager and a couple of days delay later yielded the rather simple response:
Graham

Approved

Regards, ...

BloGTK didn't do a couple of things I consider essential for my blogging purposes, the main one being support for uploading and embedding images.  I wrote and submitted a couple of patches to the project, learning a lot about Python along the way.  The latest development snapshot of BloGTK (which will probably become version 2.1) includes support for uploading to Picasa and Flickr.  If you went looking for Flickr support as a result of my previous post then you'll either have to grab the development code early or wait a while until the release of the 2.1 version.  In the mean time I'll do battle with Flickr to find out why they think BloGTK is a personal web site or gallery in order to publicise the App through the App Garden.

Tuesday 2 February 2010

Flickr Appgarden Violation‏, really?

Today I unexpectedly received the following from Flickr in reference to BloGTK.
Hello,
 
The App Garden is a place for software developers to
showcase applications they've created. Because your app
doesn't appear to fit this description it has been set to
private.
 
Your API key is still active and fully functioning , it's
just not public in the App Garden.
 
The App Garden is not a place to showcase a personal
website or gallery. Please only publicize app pages for
applications that you have developed and that are related
to
the Flickr API. You can review the App Garden guidelines
here:
 
http://www.flickr.com/services/apps/about/
 
Thank you for your understanding.
 
Regards,
Flickr Staff
I hold Flickr in very high regard for their openness, interaction with the community and the great API.  This is also the reason I'm happy to sign up for a pro account vs other services I use heavily (such as Geocaching.com) which are a closed managed community.  So I was surprised to find this note in my inbox this morning which appears to be an automated message or at best the staff member simply hasn't looked at the application before criticising and taking action.

Sunday 3 January 2010

Teach, Yourself

ChalkI've recently had the opportunity to teach a class of students on a couple of different occasions. Something I've not done for quite a while now but something well worth doing every now and then. I say every now and then, I don't think I have the vocal stamina to do it for more than a few days and I especially don't think I have the special quality it takes to teach children. The classes were both very different, one a knowledgeable internal audience for a days course, the other a three day course for a customer where the participants were only a short way along the road towards learning what I had to say. Both were similar, on the topics of Linux cluster administration and all the various technologies it takes to run a cluster.

Clustering technologies really are varied and it takes a few years experience before an administrator has a good overview of the inner workings of how everything hangs together. For example, I mostly covered Linux administration and clustered administration with xCAT but to fully understand it you need a fair bit of background knowledge. Your Linux OS, hardware configuration and control, network architecture, storage, clustered file systems, remote management, parallel computing, computer service (NTP, DNS, FTP, NFS, HTTP, TFTP, etc) administration, etc. The list really is quite long and while this is starting to sound like a "Look at all the stuff I know!" blow-your-own-trumpet type blog post, the point I think I'm trying to make is the list of people who know (and I mean really know) all this stuff in any given company isn't very long. You'll know the guy, the one who everyone always asks when something is wrong with their machine, the "he fixes everything" guy. While these people are hard to find locked away in a small room somewhere (think IT Crowd), it can be even harder to teach the "I already know quite a lot" guy but I took up the challenge anyway.

There's nothing like teaching every now and then to keep you grounded. Some people in your class will challenge what you're saying so you have to make sure you're right and know how and why you're right, the how and the why are very important when teaching. Some times the class miss the point of what you said, this resets your view on the assumptions you make, the assumptions you work with every day. When someone in the class misses the point it's often to do with how you've expressed it rather than their lack of understanding. Some people might find this challenge to their knowledge of the fundamentals of what they work with quite stressful but I look at it as an opportunity. Sure, you might set yourself up for a fall but that's all part of the thrill. Fortunately, I don't mind speaking in front of a crowd, at least not about something with which I'm familiar, but the audience does add to the experience.

I can be a bit of a show-off, I know that, so teaching can be very satisfactory. Great for the ego, almost. However, I take great pleasure from imparting knowledge on others. The opportunity to help others understand something about which they previously knew little is not to be missed as far as I'm concerned. It plays to your inner show-off if you're prepared to stand on and risk falling off of the pedestal you put yourself on when you stand in front of a class.

If you're knowledgeable in a certain area then I would heartily recommend you share what you know in front of an audience, risk making a fool of yourself in front of your audience. I think the rewards are good if you don't often teach. Have what you know challenged. Have your assumptions highlighted. Find out the little gaps you didn't think you had. Most of all, have fun doing it.

Wednesday 30 December 2009

Macro Extension Tubes

For Christmas I asked for (and was lucky enough to receive) a set of extension tubes for my camera. Having no experience with these before, I started off with the cheapest set I could find on Amazon. Whilst they're nowhere near as functional as the more expensive varieties available they are a decent starting point and would make a great present for any enthusiast.

For the uninitiated, Wikipedia has this to say about Extension Tubes:
An extension tube is an accessory for cameras with interchangeable lenses, used primarily for macro photography. The tube contains no optical elements; its sole purpose is to move the lens farther from the image plane. The farther away the lens is, the closer the focus, the greater the magnification.....


I don't mind using a cheap extension tube because it's just a hollow tube and has no effect on the quality of the image produced. The real disadvantage of this set and the reason they're at least £100 less expensive than the next set (and many hundreds of pounds cheaper than the Canon equivalent) is there are no electrical contacts, they're simply plain tubes. This means you're not able to control the aperture of the lens and must use manual focus; manual focus being no biggie since that's advisable with such a small depth of field.

Here are my first test images to see how they perform (click to see larger versions over on Flickr):
Two Pound CoinTwo Pound Coin





Both of these images were taken using my kit lens at 55mm and F5.6 hence the depth of field is so shallow on the magnified image with the tubes attached which also had a lot longer exposure in order to expose the image correctly.

For greater depth of field there are ways, not recommended by Canon I should add, you can change and lock the aperture of the lens before you add the extension tubes. This means if you're really desperate there's nothing stopping you getting a much better depth of field with these tubes at the expense of even longer exposure times of course.

For me, I think I shall experiment with these a little more. Should I catch the macro photography bug then I'll have to make a decision about whether to get a better set of extension tubes or even at some point treat myself to a proper macro lens. For now though, these will suffice quite nicely.

EDIT: My Amazon Review has now been published.

Upgrading Fedora 11 to 12

After writing recently about my previous upgrade experience, it seems fair to report my latest upgrade experience going from F11 to F12 using pre-upgrade on the same machine at home.

Everything progressed very smoothly, even more so than last time as I'm pleased to report the bug I had written about is now fixed. Fedora now detects hardware raid devices and employs the correct work-around solution to ensure the upgrade proceeds unhindered. So far so good then and I thought I would be sailing through to another smooth upgrade. However, it appears even at Fedora 12 level there are still some small issues as it proved later in the upgrade process.

This time the upgrade was smooth right through to the end of the upgrade process, after all the packages had been installed. Just as the bootloader config was being adjusted I was presented with a rather user-unfriendly Python stack trace with an "unhandled exception" error. By switching to another console I was able to work out the upgrade had in fact completed successfully all except for the final adjustments to the grub menu and removing the pre-upgrade cache. I reported this behaviour in a new Red Hat bugzilla bug report and have been informed this bug has already been fixed upstream in Fedora development and should not occur in pre-upgrade F12 to F13, lets wait and see.

So it seems the pre-upgrade path for slightly more complicated configurations such as the one I have at home is finally starting to look good. I'm slightly disappointed it's still not quite there yet though but all things considered this was another smooth upgrade and one which someone less informed about Linux might be successful.

Tuesday 17 November 2009

Upgrading Fedora 10 to 11

Writing on the day of the scheduled release of Fedora 12 it might seem strange to be talking about two previous versions. However, I thought I would take stock briefly looking over my shoulder before moving forward with the very latest and greatest.

I upgraded both my home machines shortly after F11 was eventually released in early June after I had been tweeting about it for some time. Aside from a small problem with my main machine at home, both upgrades progressed seamlessly with the Fedora pre-upgrade tool. I'm a bit more conservative with my main work laptop usually staying 3 months behind the latest release, after eventually finding time to upgrade I've been running F11 on my laptop very smoothly for over a month now.

The issue I had upgrading my home machine was related to the fact my boot partition is on a (hardware) RAID device. It appears there is a bug in pre-upgrade in this area which I found out after a rare question to the fedora forums. In my experience pre-upgrade is pretty decent these days but beware that it still has some pitfalls such as this!

After pre-upgrade finishes your box reboots, in this case taking you from your F10 desktop to F11. All in all I've noticed very little difference between the two versions which raises some interesting questions for me, basically summarised by "What's the point in upgrading?". Having noticed very little difference after the upgrade this may well be a question many less experienced users ask too. On F10 my laptop worked flawlessly, I had compatibility with all the apps I need, accelerated 3d graphics with RandR 1.2 support (for easily switching between display devices), printing and some of the more traditionally contentious Linux functionality worked perfectly, namely wireless and suspend. F11 was exactly the same after my first boot into the system, flawless.

So what, indeed, is the point in an upgrade such as this? For me, I like to stay near (but in the case of my main machine not on) the bleeding edge of development. The upgrade for me was all about getting a few little extras in the Kernel (namely support for hard disk parking which I've not yet played with, and better web cam support) as well as all the little feature additions and bug fixes you get with every library and app you use on your box. The main point though, and the clincher, is that the upgrade process SHOULD be this smooth; these things SHOULD happen without causing any new problems while fixing as many old problems as possible. I'm glad to say F10 to F11 did work like this, it was a breeze, Fedora are getting this right and long may it continue.

Wednesday 22 July 2009

The Best Venn Diagram Ever

A colleague and good friend has this venn diagram printed out at work. I've been looking at it for ages and currently see it every day, I think it's fab...


I often describe my work role as "Professional Geek" and I suppose this diagram gives that some context. We all aspire towards intelligence (well most of us anyway) but most of the people I work with have a slightly obsessive enthusiasm about their subject matter that places us firmly in geek territory.

I can think of people I would place in each of these categories and I bet you can too. Which one are you?

Thursday 26 March 2009

Light Box for Peanuts

PeanutHaha I'm funny, err yes well... I really have built a light box for peanuts inspired a while ago by Nick's tent. Although I have used it to take a peanut (right) it's built out of nothing more than stuff I had in the house already.

Aside from making it for next to nothing, I also wanted to allow it collapse so I don't have to store a huge empty box when it's not in use. Here's how I went about it, you'll be needing:

Light Box
Light Box
Light Box

  • For the box:
    • 1 cardboard box (say about 12"x18" but that can vary depending on your use)
    • 3 sheets of light diffuser (I used greaseproof paper, but tracing paper or white material will do nicely).
    • Velcro (just a short length, say 6")
    • A spine bar (long plastic paper binder thing)
    • Sticky tape

  • Tools:
    • Scissors
    • Craft knife

  • Camera Kit:
    • Camera and subject (D'uh)
    • Tripod
    • 2 or 3 lamps


Now it's time to get all Blue Peter...

Cut the box open at both ends. Seal one end back up again with a few little strips of velcro, leaving the other side open. I stuck packing tape onto the box first as the sticky velcro fixes better to that than cardboard. This will allow the finished box to collapse flat for storage. You should now have a box with a single opening so cut off any of the remaining flaps as you see fit, I just removed the top one and left the other three in place.

Cut three large holes, one on each side and one on the top, leaving a small border of about half an inch or so to fix to. Cut three sheets of your light diffuser about half an inch bigger than the holes in the box. Fix these over each hole with sticky tape.

I fixed a spine bar at the top back of the box. This will grip any sheets of paper/material you wish to use as a background to the photos you take in the box. So far though, as in the pictures above, I've found a simple sheet of white paper on the bottom has worked for the small objects I've taken (such as the peanut above). For best results, don't forget to white balance against your sheet of paper first.

Here's the velcro doing its job:


And the spine bar:

Friday 6 March 2009

Canon EOS 450d Updates

Further to my first post about my new camera and starter kit, I've just added a few more little bits to my starter collection. So here's what else I've got:
Card Reader (my Amazon review)
For years I've been using the older version of the reader I've just bought. They're both cheap as chips at under a fiver in spite of what price Amazon may have them up for now. However, the first worked so well and reliably I bought the new one. The difference? Simply that the new one reads SDHC where the old one didn't and I've just moved both my cameras onto SDHC now.

Blower
Not much to say here. Kept getting dusty/dirty lenses that I didn't want to wipe clean for fear of scratching. A blower appears to be the solution that works.

UV Filter (my Amazon review)
I already had one of these but got fed up of swapping between my two lenses so bought another. Sadly, they'd gone up in price quite a bit!

Remote Control (my Amazon review)
Probably the thing that spurred me on the most to order more stuff because I can't use 2 hands to take pictures right now. Also very useful for some ideas I have about getting close to some wild garden birds I'd like to capture.

This remote is made by a far Eastern company who have simply worked out how to interface to various makes of camera and put together their own set of controls. I would normally stick with Canon or other recognised makes but since this bit of kit has no bearing on the output of the camera I thought it worth a buy. Compared with a genuine Canon remote of the same price (the RC-1) it provides the same functionality but does it using a radio rather than an infra red link. This gives the advantages of using over much longer distances and without line of sight to the IR receiver on the camera. To get this capability from a Canon remote costs hundreds.

I've put more detail in my review on Amazon about this remote. However, in summary I would say you can tell it's cheap but it works well, not missed a click yet. It would probably work more effectively in the hands of a better photographer, but it does work.