31 May 2009

Photography - basic techniques revisited

In my school days I started to use traditional manual film camera. But after the invention of digital cameras, I chucked away my manual camera and plunged into point & shoot mode. Over a decade, I never thought of going back to manual camera as I don't have patient to adjust every time. However, when my compact camera finally gave up its soul, I had look for another one. I thought of buying a Digital SLR. But money was a constraint! So, finally settled down for a semi automatic digital camera (also known as Bridge camera).

As I was revising my long forgotten camera knowledge, thought of writing it down here in concise form so that I can refer it in future.

Film speed = measured in numbers like 50, 64, 80, 100, 200, 400, 1600, 3200, 6400. Lower the number, less grain/noise captured in photo (which is good). You should always try to shoot images in lowest ISO speed possible for best quality of image. However, higher ISO films are most sensitive to low light and so you need to use higher film speeds (200 and above) in indoor or low light conditions. Outdoor photos in sunny days should be shot at 100 ISO or lower.

Aperture = the measurement of opening of the lens. Measured in F#. Higher F# means smaller opening and vice versa.
For example, F1.8 will allow more light (= more exposure) to enter on camera compared to that of F16.

Shutter speed = duration of lens opening. Longer duration means more exposure ( = more light) and vice versa. Measured in fraction of second. 1/60 shutter speed means shutter will open for 1/60th of a second.

Aperture and shutter speed relationship as followed in most compact digital cameras. [Not entirely sure about this tabulation - I need to double check]

F1.8 F2.8 F4 F5.6 F8 F11 F16
1/250 1/125 1/60 1/30 1/15 1/8 1/4

Shutter speed range - 4/1 to 1/2000 s

Large aperture = smaller F# = more light = shallow depth of field (subject is nearer) = only subject in focus = portrait

Smaller aperture = larger F# = less light = distant depth of field (subject is far away) = everything in focus = landscape

Aperture priority mode = you set aperture value and camera decides appropriate shutter speed
Shutter speed priority mode = you set shutter speed value and camera decides appropriate aperture
Manual mode = you select both aperture and shutter speed

Lens focal length

Compared to traditional 35 mm cameras, lens of 28 mm focal length or below is considered in wide angle territory. Lens below 20 mm is very good wide angle. From 11 to 18, it is considered ultra wide angle. At extreme, 6 mm lens is known as fish eye. Very wide angle lens do show barrel distortion.

Standard fit lens of most SLR cameras vary from 10 to 60 mm. So, most of them have built in wide angle lens. They use separate lenses for telephoto/zoom.

CCD sensor - This is equivalent of film in digital cameras. Larger the CCD sensor size, more details can be captured. Most digital compact cameras has small CCD sensor (4x6 mm). The DSLR cameras have much bigger CCD sensor size (~ 16x24 mm) for which they can capture rich vividly colored images. CCD means Charged Couple Device. Traditional 35 mm films have size of 24x36 mm. Larger CCD is more expensive. Sensor size difference is the fundamental reason why DSLR picture quality is far better than those taken by digital compact cameras.

Shooting techniques

Panorama

All images, using which you will stitch panorama, must have uniform exposure. Otherwise they will look awkward (with different brightness in final panorama) or you painstaking photo-editing to adjust exposure in your computer. Any decent panorama sticher software will be able to stitch images to generate stunning looking panorama.

To ensure uniform exposure, you must lock exposures between images (if your camera allows this). Otherwise, if you camera has panorama assist mode, it will do this for you by itself. If you camera has neither, they you can take panoramas only in bright sunlight (without any shades) where your camera is unlikely to vary exposure between shots.

Landscape

For landcape shooting in bright sunlight, use higher F# (over F5 possibly F11 or F16) and lower shutter speed. Subject is considered at infinite length for this shot. Keep flash off. Use lowest film speed possible. When you select Landscape mode in compact cameras, internally they adjust settings like this. If sky is overcast, use a slower shutter speed and/or larger aperture (= lower F#).

Portrait

Subject should be in focus. Here you have shallow depth of field, so use lower F# like F2.7. Adjust film and shutter speed depending on where you shoot in outside or indoor. For night indoor, you might need to use flash.

Moving objects

Since the object is moving (eg. moving car or athlete), you need to use a high value of shutter speed (typically 1/250 or faster depending on speed of object). Many compact cameras have sport mode for this shots. Some cameras offer burst mode - where you can press the shutter button for sometime and camera takes photos continuously.

Environmental factors

The best photos are shot in bright sunlight! In fact, even a very cheap camera takes brilliant shots in sun. The capability of camera shows up during overcast days, indoor shots and super zoom (macro) levels.

Mega Pixel (and myth)

All cameras now advertised with megapixel values. Does a higher megapixel means better image? A megapixel is calculated as = (# of horizontal pixels) x (# of vertical pixels) / (1024 x 1024).

So, an image size of 2048 x 1536 / (1024x1024) is 3 megapixels.

640x480 = 0.3 MP = VGA quality
3624 x 2448 = 7.6 MP etc.

All the pixels are constrained by CCD sensor size. For most digital compact cameras, the sensor size is quite small. For same sensor size, an 8-MP camera will have more number of smaller pixels compared to a 3-MP camera - but distributed over same area! If you peek your nose over a television screen, you will see lots of tiny dots. These are pixels. More megapixel means smaller dots. If the color changes between neighboring dots, smaller the dots are, smoother the changes will appear. That's the story behind higher megapixels. However, a true TV viewing experience does not always depend on resolution (MP for camera) but also on how big the screen is (say 42 inch screen against 26 inch LCD). The screen size is equivalent to CCD sensor size!

Now see the difference, when people talk about TVs, they measure screen size but when talking of cameras, they don't talk sensor size but number of pixels! Otherwise how would camera manufacturers make you believe more MP means better?

Thus the correct comparison for quality of image between two cameras is this = square root of (higher MP / lower MP).

For a 3-MP and a 6-MP camera, quality difference comes to = sqrt(6/3) = 1.41. So, one is only 41% better than other not the 200% as media make you believe! Buyers beware!

Sample specification of the Fujifilm S8000fd camera, which I now use

ISO film speed - 64/80/100 to 6400 in double increment
Aperture range - F2.8 to F8
Shutter speed range - 4/1 to 1/2000 s
Lens range (35 mm equivalent) - 27 to 486 mm

30 May 2009

Do you really need an ETL tool?

Most ETL tools are quite expensive (especially those which actually work in very large DWH systems).

Many small and medium size organizations perform ETL operations via regular programming languages viz. C++ or PL/SQL.

White it may not be the most efficient and productive way of ETL processing, we must remember the cost benefit analysis.

In a project where source and target databases are both the same (say Oracle), it makes perfect sense to carry out moderate ETL processing via PL/SQL alone as long as you get acceptable performance out of it.

The requirement of a full scale ETL tool most felt in a heterogeneous environment.

The main disadvantage of using traditional programming languages for ETL work is the performance. Programming languages tend process data in loops. For small data volume it is fine. However, looping technique is not very performing for large data sets. Yes, it is possible to tailor made your procedural language code to take advantage of parallelism (tormenting in C++ but bearable in PL/SQL) but in reality it is as involving as writing an ETL tool yourself and thus not really rewarding experience (unless you can market your tool).

In ETL tools, you don’t have to do anything (except keeping your data organized across partitions etc.) to gain performance advantage. They are designed to take parallelism etc. in their execution plan.

But in procedural language, you are of your own. One way to improve performance in PL/SQL (or similar) is to write cursors less often and use set operations more often. Most databases are designed to use best parallelism available when you use set operations.

Don’t forget cost of recruiting personnel in your chosen ETL tool. Depending on market condition, experts in one ETL tool might demand more compensation than other one. You also need to budget for organizing training for your existing staffs.

Most multinational companies can easily afford the best tool sets. However, for medium sized firms, budget is always a constraint. So, they are more prone to in-house development rather than buying tool set of the shelf.

20 May 2009

How internet & Ebooks changing the way we read books

Ok, let's admit - internet and Ebook have revolutionized the way we read books. Of course, lot of people (including myself) still read traditional books but we are reading more and more books/magazines/newspapers on the screen!

I still read non-technical books in conventional book format, but prefer to read the technical books (mostly computer related because of my profession) on internet or Ebook format. The obvious advantage is that I can copy and paste any commands on my application instantly and check the benefit.

Sites like www.scribd.com or www.lulu.com (and many similar sites) have indeed changed the landscape of book writing and publication.

I believe the profit from publishing book or royalty from the sales are gradually diminishing over the years. In the past, the only way to read a book was to either buy it or borrow from library. But now, a lot of books are either available free of charge on internet or they cost a minuscule amount.

I am not arguing with the fact that sometimes copyrighted versions of some books are available on the internet which is illegal, but the bottom line is you can still download a very good book at no cost to you.

Most Ebook readers are still expensive. However, you can read ebooks on PDF format in most PDAs and small net book computers. In near future, the Ebook readers' price will only go down. More and more authors will publish their books in ebook form. Some ebooks are in proprietary format. However, as the ebooks will gain more popularity, there will be some hackers who will always make things breakable (again I am not going in the debate of how un-ethical is that).


Gone the days when people used to consult giant technical manuals when something did not work in software. Now people search on internet and unless the problem is too difficult or uncommon, usually within few minutes a solution can be found and problem is solved.


Even if problem is not found on the web search, you can often raise it on discussion forums and people all over the world in your profession will browse and try to give you an answer. This is like having access to lots of technical experts at your finger tip. I admit that sometimes you do get crap suggestions for your problem, but most of the time, the tricks do work and people really help each other.


Perhaps the funniest part is in newspapers! Gone the days when I avidly read first page on your favourite newspaper. Now you already know what will be on the first page - as you have seen the breaking news on previous evenings new sites! This is one reason why newspaper circulation in developed world is dwindling down every year. Another reason is obviously, the high cost of buying a newspaper. £1.20 a newspaper a day is not cheap!

From the consumer's perspective, though, there is a huge difference between cheap and free. Give a product away and it can go viral. Charge a single cent for it and you're in an entirely different business, one of clawing and scratching for every customer. The psychology of "free" is powerful indeed, as any marketer will tell you. From C. Andersen's blog - the author of Long Tail theory. However, I do wonder whether the author is willing to give away his next title "Free" for free.


We shall see how rise of "freeconomics" and "freemium" products continue to affect our lives.