Here are the results of first experiments with Canon Rebel XSi Digital SLR.
Saturday, November 29, 2008
Monday, November 17, 2008
Digital SLR buyer's guide
Between yesterday morning (when I woke up with an epiphany that I need to by a new camera, and that too a digital SLR) and 5 minutes back (when I clicked on the "Place order" button of Amazon's shopping cart), I learnt great deal about digital photography.
I always like Amazon's reviews (no matter which site I am buying from). Also their "X% people bought this item" feature gives some idea about product popularity (although those numbers look pretty skewed when you check out second item on that list). So Canon Rebel XTi (10MP) and XSi (12MP) seemed like decent candidates for my budget (after a long fight with my stingy self of course). From the reviews these models seemed clear winners. XSi was rated 5 stars by 170 out of 213 customers. And 85% bought people bought it. But I still wanted to understand what I was getting before drilling this big a hole in my pocket.
One of the reviewers mentioned this book "Understanding Exposure" by Bryan Peterson. It's a fantastic book. After going through first 40 pages, I got pretty good idea of all the photographic jargon I found on DSLR product page. The aperture, shutter speed, lens, CMOS sensor, significance of MegaPixel, etc. I also found useful articles elsewhere . Although I didn't read it fully, I found the wikipedia article on "depth of field" amazingly detailed. Also this article on the lense that comes by default with XSi, (18-35mm f/3.5-5.6) is also detailed.
edealinfo.com showed a pretty good deal on the XSi model. Although their math showed that it will cost me $607 at Dell Home, I found out that they have conveniently forgotten $50 tax. Especially when I compared this on Amazon, which had the camera for $637 and free shipping and zero tax - my decision was easy (Moreover this earns me 3 times points on Amazon visa).
... the pocket feels lighter. Hopefully it will pay off in long run ...
I always like Amazon's reviews (no matter which site I am buying from). Also their "X% people bought this item" feature gives some idea about product popularity (although those numbers look pretty skewed when you check out second item on that list). So Canon Rebel XTi (10MP) and XSi (12MP) seemed like decent candidates for my budget (after a long fight with my stingy self of course). From the reviews these models seemed clear winners. XSi was rated 5 stars by 170 out of 213 customers. And 85% bought people bought it. But I still wanted to understand what I was getting before drilling this big a hole in my pocket.
One of the reviewers mentioned this book "Understanding Exposure" by Bryan Peterson. It's a fantastic book. After going through first 40 pages, I got pretty good idea of all the photographic jargon I found on DSLR product page. The aperture, shutter speed, lens, CMOS sensor, significance of MegaPixel, etc. I also found useful articles elsewhere . Although I didn't read it fully, I found the wikipedia article on "depth of field" amazingly detailed. Also this article on the lense that comes by default with XSi, (18-35mm f/3.5-5.6) is also detailed.
edealinfo.com showed a pretty good deal on the XSi model. Although their math showed that it will cost me $607 at Dell Home, I found out that they have conveniently forgotten $50 tax. Especially when I compared this on Amazon, which had the camera for $637 and free shipping and zero tax - my decision was easy (Moreover this earns me 3 times points on Amazon visa).
... the pocket feels lighter. Hopefully it will pay off in long run ...
Wednesday, November 12, 2008
more fun with notify-send
I like notify-send. Here is one more simple script that uses notify-send. (notify-send is the command line utility that shows pop-up message in the right hand bottom corner of desktop).
Use it like this:
It is useful for monitoring the tasks that take long time. Like build of entire product or burning of a CD. When I leave something to build and get to other work, I would like to be notified when it's done - even if it is running in some background screen session.
# cat runmon
!/bin/bash
COMMAND="$*"
eval "$COMMAND"
if [ $? -eq 0 ]
then
notify-send -t 0 -u normal "$COMMAND Done!"
else
notify-send -t 0 -u critical "$COMMAND Failed!"
fi
Use it like this:
# runmon make all
# runmon cdrecord -v speed=2 dev=2,0 cdimage.raw
# runmon wget http://download.fedoraproject.org/.../Fedora-9-x86_64-DVD.iso
It is useful for monitoring the tasks that take long time. Like build of entire product or burning of a CD. When I leave something to build and get to other work, I would like to be notified when it's done - even if it is running in some background screen session.
Thursday, October 30, 2008
(k)ubuntu 8.10 - not ready for my home yet
(K)ubuntu is a very glamorous distro and I await its every new release with lot of enthusiasm. So after every release I burn the CD to upgrade my home desktop. And eventually I end up in the step where I realize why it didn't work last time and why it's not gonna work this time either.
There are two major reasons with installing ubuntu on my AMD 64 box - one my video card (NVidia 6800 GS) and other my fancy (read sophisticated ;) LVM layout. Actually it's the combination of these two reasons that it's almost not possible to install ubuntu right now. ("almost" because there is a busybox shell. I can theoretically install the whole distro in a complete gentoo-ish way; but that's for one-time learning experience, not for every upgrade.)
The two problems given separately can be resolved.
I have the same fancy LVM layout on my office box, but I can install ubuntu there, because the GUI of Ubuntu Live CD has support for LVMs (since past couple of releases). On that box Live CD installation is possible, which is not the case on my home machine because the nVidia driver is too high end for the generic video driver on Live CD to handle.
With Fedora GUI installer I have same problem with my graphics card. But Fedora's LVM management is an integral part of Fedora's text mode installer, so I can install the whole system and then boot into command line and install nvidia graphics driver from livna and get the GUI running.
Ubuntu has had very poor support for LVMs. Till 8.04, you had to manually load dm-mod and create custom initrd, etc... With 8.10 I can at least see (from busybox shell, not any installer screen) that the LVM volumes are automatically detected. The problem is, the text installer screens will only allow me to create new LVM volumes, they won't present me with existing volumes (even though the system has already detected them, as verified from shell). It is sooo close... Is there a hidden button somewhere that I missed, unfortunately not :(
I guess I will have to wait for Fedora 10 for my home box and enjoy Kubuntu on my office box only.
What appears bizzare to me is after all these years of linux distro evolution why do we still have to reboot the machine to install a new version of the OS. The new operating system should be installable while you are booted into the comfort of your old operating system. Not only is it easy to implement; it is already done in some forms. The wubi project of Ubuntu will install ubuntu linux as an app from a running Windows OS. Many people (including me) have tried doing a chroot installation of the new OS, I almost got it running with Fedora 8; but certain initrd errors stumped me. Live CD installation is halfway on that path; instead of the old OS it runs a minimal OS booted from CD.
An added advantage of this scheme is, one can undo the new OS installation equally easily. In case of a linux distro - the footprint of an OS on the file system is essentially made of two parts - root partition and some files in boot partition. If the root file system is located on a logical volume, then undoing the OS install is just to remove this volume and deleting some files from boot partition. I do this every time (that's why I have that fancy LVM layout); I just want it nicely integrated inside installer interface.
I hope the distros will have this facility some day...
Have fun with Ibex !!!
Update (Oct 31):
I got it running. The key is to run "modprobe dm-mod" and (more importantly) "vgchange -ay" before the text installer reaches the disk scanning screen. After than the installation happens as usual. After the installation was complete, of course I didn't have the GUI working.
Add "deb http://us.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted" to /etc/apt/sources.list.
Run apt-get update
Run apt-get install nvidia-glx-173 nvidia-settings
Still the GUI won't start.
At this point you are expected to tweak /etc/X11/xorg.conf. But I never get it right. Luckily I could copy the file from my Fedora-9 installation and KDM loaded successfully upon reboot.
The KDE 4.1 GUI is awesome!!!! Try it!
There are two major reasons with installing ubuntu on my AMD 64 box - one my video card (NVidia 6800 GS) and other my fancy (read sophisticated ;) LVM layout. Actually it's the combination of these two reasons that it's almost not possible to install ubuntu right now. ("almost" because there is a busybox shell. I can theoretically install the whole distro in a complete gentoo-ish way; but that's for one-time learning experience, not for every upgrade.)
The two problems given separately can be resolved.
I have the same fancy LVM layout on my office box, but I can install ubuntu there, because the GUI of Ubuntu Live CD has support for LVMs (since past couple of releases). On that box Live CD installation is possible, which is not the case on my home machine because the nVidia driver is too high end for the generic video driver on Live CD to handle.
With Fedora GUI installer I have same problem with my graphics card. But Fedora's LVM management is an integral part of Fedora's text mode installer, so I can install the whole system and then boot into command line and install nvidia graphics driver from livna and get the GUI running.
Ubuntu has had very poor support for LVMs. Till 8.04, you had to manually load dm-mod and create custom initrd, etc... With 8.10 I can at least see (from busybox shell, not any installer screen) that the LVM volumes are automatically detected. The problem is, the text installer screens will only allow me to create new LVM volumes, they won't present me with existing volumes (even though the system has already detected them, as verified from shell). It is sooo close... Is there a hidden button somewhere that I missed, unfortunately not :(
I guess I will have to wait for Fedora 10 for my home box and enjoy Kubuntu on my office box only.
What appears bizzare to me is after all these years of linux distro evolution why do we still have to reboot the machine to install a new version of the OS. The new operating system should be installable while you are booted into the comfort of your old operating system. Not only is it easy to implement; it is already done in some forms. The wubi project of Ubuntu will install ubuntu linux as an app from a running Windows OS. Many people (including me) have tried doing a chroot installation of the new OS, I almost got it running with Fedora 8; but certain initrd errors stumped me. Live CD installation is halfway on that path; instead of the old OS it runs a minimal OS booted from CD.
An added advantage of this scheme is, one can undo the new OS installation equally easily. In case of a linux distro - the footprint of an OS on the file system is essentially made of two parts - root partition and some files in boot partition. If the root file system is located on a logical volume, then undoing the OS install is just to remove this volume and deleting some files from boot partition. I do this every time (that's why I have that fancy LVM layout); I just want it nicely integrated inside installer interface.
I hope the distros will have this facility some day...
Have fun with Ibex !!!
Update (Oct 31):
I got it running. The key is to run "modprobe dm-mod" and (more importantly) "vgchange -ay" before the text installer reaches the disk scanning screen. After than the installation happens as usual. After the installation was complete, of course I didn't have the GUI working.
Add "deb http://us.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted" to /etc/apt/sources.list.
Run apt-get update
Run apt-get install nvidia-glx-173 nvidia-settings
Still the GUI won't start.
At this point you are expected to tweak /etc/X11/xorg.conf. But I never get it right. Luckily I could copy the file from my Fedora-9 installation and KDM loaded successfully upon reboot.
The KDE 4.1 GUI is awesome!!!! Try it!
Tuesday, October 28, 2008
Migrating to Google App Engine
Last year I wrote plugins for Gimp/Inkscape that allow image uploads to Flickr/Picasa from the Image editors. The plugin code talks the public APIs of Flickr/Picasa. Flickr tracks the API user's calls by means of an API key and a corresponding secret key. Typically the apps ship both the API and secret key with their application code. This creates problem if Yahoo disables your API key OR just the idea of sharing your secret key is not comfortable.
So in my app, I hosted the keys on an xmlrpcserver. The plugin would pull the keys from the server and sign the user's upload request. I had a website project running alongside, so I just put the xmlrpcserver on the same host that was serving the website. This host I rented for $15/month from a VPS vendor. Well... the website didn't fly and recently I found that there was no point anymore paying the $15 every month. But I had to take care of the xmlrpcserver hosting the keys.
One solution would have been to issue new version of the plugins and ship keys with them. But this would have not worked because the users who have already downloaded the plugins, won't come back to check an update when they get an obscure error.
The other alternative was to use Google's web app engine to host my xmlrpcserver. I had to spend some time in customizing the standalone xmlrpcserver to work with Google App engine. I have contributed the code in this recipe in App Engine's cookbook. I also had to modify my flickr API library a bit to use app engine's URLfetch API instead of urllib.
Finally I have successfully migrated my XMLRPC server to Google App engine. I liked GAE a lot. Like other Google apps, the GAE interface is rich with goodies - log viewer, traffic analyser, Database viewer, etc.
And it's free (read the EULA for limits).
With a free webserver like this, I can imagine so many things I can do. Moreover it supports my favorite language... what else can I ask?!
So in my app, I hosted the keys on an xmlrpcserver. The plugin would pull the keys from the server and sign the user's upload request. I had a website project running alongside, so I just put the xmlrpcserver on the same host that was serving the website. This host I rented for $15/month from a VPS vendor. Well... the website didn't fly and recently I found that there was no point anymore paying the $15 every month. But I had to take care of the xmlrpcserver hosting the keys.
One solution would have been to issue new version of the plugins and ship keys with them. But this would have not worked because the users who have already downloaded the plugins, won't come back to check an update when they get an obscure error.
The other alternative was to use Google's web app engine to host my xmlrpcserver. I had to spend some time in customizing the standalone xmlrpcserver to work with Google App engine. I have contributed the code in this recipe in App Engine's cookbook. I also had to modify my flickr API library a bit to use app engine's URLfetch API instead of urllib.
Finally I have successfully migrated my XMLRPC server to Google App engine. I liked GAE a lot. Like other Google apps, the GAE interface is rich with goodies - log viewer, traffic analyser, Database viewer, etc.
And it's free (read the EULA for limits).
With a free webserver like this, I can imagine so many things I can do. Moreover it supports my favorite language... what else can I ask?!
Subscribe to:
Posts (Atom)