01/27/07

Saw that one coming

So I’m in the market for a small camcorder. After doing some research, I settled on a model (Samsung X210L) and started looking for the best price. Most online retailers I was familiar with were in the $400-$500 range, but one store (GearXSmall.us.com) was $340! Once I noticed the store was based in NY, I started wondering what the catch was.

I know enough to be wary of NY-based electronics merchants. They have a tendency of ripping you off on shipping or delaying your order unless you purchase overpriced accessories you don’t need. Of course not all NY merchants are so shady, B&H is one of my favorite merchants because of their good prices, fair shipping and no haggle return policy.

So I started looking for reviews of GearXSmall. For a company who had been in business for about 2 years it was odd to not find one review. So I decided to see how much they were going to charge me for shipping. I added the item to the shopping cart and was greeted by this message:

GearXSmall Scam

Minimum order is $500? You’ve gotta be kidding me… So yeah, GearXSmall is an obvious scam site. No legit business requires you to spend $500 when many of their items are far less then that. So I clicked on their FAQ and they had this to say:

Why Is There A Minimum Order!?
We cannot process orders with a value less than US $500 because we have too many international orders and it is easier for us to process less orders with higher values. We are sorry for this inconvenience.

That has to be the lamest excuse I’ve ever heard of.

01/13/07

No destructor? WTF?

Ok, I’ll the be first to admit that I’m no OO guru. Most of my OO coding has been done in Perl for heaven’s sake. I’ve also dabbled a little in C++. Now I’m learning Ruby. Ruby has some really cool idioms and features which really make writing code easier and cleaner. Of course, not everything in Ruby has me singing it’s praises. This is another of those rants…

Basically, I’m trying to write a brain dead simple class wrapper around multiple temporary files. One feature of the class was to be that the user doesn’t have to manually delete the temp files…. basically when the class goes out of scope, I’d hook into the destructor to delete the files automagically. I know this sorta thing is doable in Perl, Java and C++. Imagine my surprise when I found out that Ruby has no destructor, just a “finalize” method which is only called during garbage collection- NOT when the object goes out of scope. As a matter of fact, Ruby doesn’t provide any way to do what I want without using closures which severely limits my class since it’s designed to be managed remotely sorta like RPC.

For a language which seems to pride itself on it’s flexibility and ability to override just about any method, not being able to hook into when the object goes out of scope is just plain lame.

01/9/07

41 downloads/day?

I was just browsing SourceForge and noticed that they seem to have (finally) fixed the project stats. Anyways, I decided to check out the tcpreplay stats for the last two months. Did the math and people are downloading tcpreplay 40.9 times on average per day. Wow. Honestly, I didn’t think there were close to that many people downloading the source code… after all most people can get tcpreplay from BSD ports, RPM or the like.

Anyways, short status update. I had hoped to work on tcpreplay over the holidays last month, but was too burnt out to do any coding. Hopefully I’ll be able to find some time soon to continue the work on the DLT plugins. On a side note, I found someone else is working on a similar suite: Bit-Twist. Looks like he’s made some good progress in under a year.

01/1/07

Truth vs. Reality

I just got done reading Alain Briot’s article titled Just Say Yes. If you shoot digital photography, I highly recommend you read it… go ahead, I’ll wait.

Done? Good!

Well I’m going to guess that most digital photographers started out like me. Originally I wanted to accurately capture the moment or whatever, but then I realized that it just wasn’t possible. Film, digital sensors and lenses are all flawed compared to the human eye which is itself not perfect. So I started making small adjustments in contrast and saturation to try to recreate what I saw. Then overtime, I not only improved my composition and exposure, but I found myself wanting to express my creativity a little more.

Slowly, I’ve gotten more and more comfortable with using Photoshop, both as a tool and as part of my art. Honestly, I usually still do very little manipulation of my photos, but there are occasions when I do major enhancements like merging two exposures to improve dynamic range or improving the color to my taste. So far I haven’t tried doing things like removing ugly buildings from landscapes, but I’m not really sure that is any different. I’m not really sure if I can or should still call these images “photographs”, but that’s not really important to me- I’m no longer trying to create photographs, but images to be enjoyed.

What is important to me though is realizing that no camera/lens can capture the “truth”- whatever that truth may be. But when a photographer creates an image he express that truth as his “reality” for others to enjoy. As always some realities are closer to the truth, but unlike trying to record history, there is no right or wrong reality- at least as long as you’re honest about making changes.