Ok, after going through a lot of different web sites and trying out the lessons on my point & shoot, I think I finally have some understanding on how to use spot metering in my digital camera.
First here is my stupid test image.
1. Set your camera in aperture or shutter priority mode. I preferred shutter priority.
2. Go to the menu and to metering mode/options and chose “spot” metering.
3. If your camera allows exposure lock (AE) enable it.
4. In the scene you want to photograph, chose a particular spot which you think is closest to the light-gray.
5. Focus on that spot and half-press the shutter button.
6. Observe the exposure compensation meter (the one showing -2 to +2 values). If the marker is close to zero, your are ok. If the marker is on negative side increase the shutter value (i.e. decreases shutter speed) and vice versa. Similarily if you have aperture priority, then change aperture settings so that the exposure compensation meter is closest to zero.
7. Again half-press the shutter while focussing on your gray spot and verify the exposure (this is to verify your step 6).
8. Keep the button half-pressed and recompose the scene as your liking.
9. Fullly press the shutter.
Microsoft has lined up a really nice development framework and support system for developing apps for the new Windows Phone 7 series. Here are some to get started:
One of the reasons why I love this movie. It is so ‘filmy’.
Earlier I used to take pride in myself being able to take quick and fast decisions that were also the correct. This was the case about choosing the the school I went to, the career to start, in switching careers and also moving between jobs.
After 3.5 yrs at HP, I am moving to a new job. Strangely this was something I should have decided about quite easily. Because of circumstances that I won’t mention here, this move is the right decision but still I have spent more time mulling over it that I am myself surprised. For the first time I find myself thinking about a whole lot of things that wouldn’t have even occured to me previously. Don’t know if this means I am getting wise or just old :).
Bitwise 2008, the annual programming contest held by IIT-K is over. I got 58th rank. Better than previous attempts, but way to go:
2006 – No rank
2007 – 623
2008 – 58
Usually if a library or a low level function throws an exception, there is a good possibility that it is handled somewhere. However if a GUI function (e.g. clicking a button) has an un-handled exception then the application goes down (crashes). In debug mode the debugger would point out the error but in release mode – the application plainly crashes, on the user’s desktop.
For GUI apps, this can be a concern.
Languages like Java are strict in this case. If a method declares that it can throw an exception, all the callers of the method are enforced to implement an exception handler. Code simply does not compile without handling the exceptions.
In .net you can do two things:
1. read the documentation and find out what kind of exceptions can be thrown. For example if you see the penbox library, every method does list the type of exceptions that can be thrown.
2. blindly add a handler for the “Exception” class – generic type and handles ‘any’ exception.
Approach # 2 is easy to implement. However it is not really a good practice. Exceptions should be really used in case of exception – something you do not expect to happen. Adding a common type of handler has the risk of losing valuable debug information. The exception might have pointed out a logic error (e.g. FormatException in converting strings to numbers). Using the appropriate handler, you can identify such cases during debug and fix the code. Using a generic type handler usually means that you are going to lose this information.
Approach# 1 is really good. However it can be a pain to read the documentation.
There is a new tool called “ExceptionHunter” from RedGate. It goes through your .net assemblies (exe or dll) and identifies what all places you have un-handled exceptions. There is a 15-day free evaluation if you want to check out.