Articles about Software, Photography and More

Which Compact Interchangeable-Lens Camera?

September 22, 2010

These are exciting times for DSLR enthusiasts. We’ve all marvelled at the creative and operational flexibility afforded by the large dial, switch and button infested DSLR bodies and interchangeable purpose-built lenses. We’ve been spoiled for the impeccable image quality afforded by the 8.5-15x larger APS-C sensors (upto 34x larger if you’re a 35mm shooter). It’s impossible to look back at compacts. Or is it?

Most DSLR shooters sooner or later realise that their beloved hunk can’t be their only camera. They can’t carry it all the time to family events. They can’t do anything about it if they happened to dine in a fancy restaurant on impulse. Carrying a DSLR has to be planned ahead, owing to its bulk. In the last couple of years, though, the B-level interchangeable lens system manufacturers (anyone other than Canon and Sony) had been pushing the boundaries of how small an interchangeable-lens system could be made. While I’ve followed this category (dubbed EVIL — Electronic Viewfinder, Interchangeable Lens), it’s right about now that I have finally settled on a system. It’s going to be none but the Sony α NEX-5 for me. If you follow me on twitter, you’d already know about this. Here’s a brief overview of stuff that I considered and what sold me on NEX-5.

Continue reading →

Creating Hand-held HDRs

September 21, 2010

On my recent vacation, I took a bunch of bracketed exposures to turn into HDRs. Before this trip I only used a tripod for bracketing. This time around, however, I had to deal with hand-held bracketed shots. To make things a bit worse, these shots included foliage, which isn’t always stationary between shots. Picturenaut utterly failed to align these images. I tried Luminance HDR (qtpfsgui) for Windows 7 (64-bit), and it simply kept crashing. Then I tried Hugin, which too failed to do much. Besides, it was extremely confusing since it is a tool for stitching panoramas, with HDR and alignment being a part of the whole.

Continue reading →

Beating the TripAdvisor Badge’s SEO Tactic

August 24, 2010

The Problem

Recently, I got a reference to this article from my Product Manager, regarding TripAdvisor badges and how they boost SEO. Their secret is a simple link that links deep into TripAdvisor website and makes your site a donor of link love to TripAdvisor. This is somewhat bad for hotel owners who might find that TripAdvisor trumps the search ranking for their brand name.

The easy solution to prevent that from happening would be to slightly edit TA widget and use a rel="nofollow" attribute in the anchor that links to TripAdvisor. The clever guys at TA, though, have a JavaScript check that disables the widget if you try to do this. Well, how about we turn their own trick on to them?

Continue reading →

Capturing Rain

August 18, 2010

With the monsoons doing their usual thing and I having the luxury of a not-too-bad view of the rains, I had been itching to capture a shot of the rain in all its glory. Earlier this year I made a capture that brought out the rainy-ness in the scene but didn’t have any rain as such.

Online research about shooting the rains didn’t bring much enlightenment because there’s no “formula” for making rain shots. It all depends on what you want to portray. For me, that would be about the prominence of the falling streaks of rain. All I knew was that I had to shoot a somewhat low shutter speed for that.

Continue reading →

Simple PHP Timer

August 9, 2010

I was just trying to profile an HTML page for performance bottle-necks. I’m trying to follow a top-down approach, wherein I start from the entry script, and find the block of code that takes the biggest chunk of time before digging deeper into that chunk.

At this stage, it’s not feasible to drop in a full-blown profiling tool like xdebug because of the set-up overhead and amount of data it generates. So, I wrote a simple timing function that you can call at various points in your program to provide incremental and cumulative timing info in milliseconds. Just call this function anywhere in your code with a message and it’ll print that message to your PHP output, followed by millisecond timing information at that point. Here’s the function implementation:

Continue reading →

Shooting in the Dark

August 3, 2010

Digital sensors have made a lot of progress on the light efficiency front. The Nikon D3s sensor, currently the most efficient sensor available, offers amazingly clean images at crazy high ISOs. Something that film shooters could only dream of. There is still some time, however, before a D3s calibre sensor makes it to consumer bodies. Meanwhile, it will help knowing the tips and tricks of shooting in the dark for the win.

Continue reading →

Take Two

July 31, 2010

I, Photographer

This isn’t my first time writing a photography blog. I started one, almost 3 years ago and wrote a few posts regarding technique and gear. It was probably too early to start writing, though, and the blog fell off the edge when my hosting plan expired and I didn’t renew it. This time, it will hopefully stay.

Photography is, for me, a new way to experience things. It’s about delving deep into the visual characteristics of the environment around me — shapes, contours, colours, location, the light that I’m seeing by. This ability to observe also allows me to interact with inanimate objects in a new way. I can play with things by giving them different looks through the medium of photography. It may seem trivial at first, but for those who have to live by themselves for some length of time, it’s a relaxing and challenging pursuit that keeps the mind occupied from devilish or plain depressive thoughts.

Continue reading →

PHP vs. Python for Web Apps

July 28, 2010

These days, more and more people ask the Python vs. PHP question when they start out with a web application from scratch. I’ve developed PHP applications for 5 years but for the last couple of years I’ve been doing Python. This post is meant to note some of my observations. If you don’t want to read the whole of it, my opinion — opinion — is to stick with PHP for dishing out your *ML. Use Python in the back-end, if you must.

Continue reading →

MySQLdb Leaks Memory

June 30, 2010

Whenever people search for a Python library for MySQL, they get directed to MySQL for Python. However, there are some nasties hidden in it. Searching for “mysql python memory leaks” results in a few links which suggest that using Unicode causes memory leaks with the library.

Today, however, I found another cause for MySQLdb memory leaks, while debugging a leaky Python daemon at work — database errors.

Use this script:

Continue reading →

{Browse ‘Hello World!’}

June 18, 2010

That snippet of Oz somehow felt like an appropriate title for the first post on my tech blog. Expect something new here once in a while. Happy hacking! 🙂

<< >>

Articles

Tahir Hashmi