Search and Replace a string in many files recursively on unix

find /net/hc287/summetj/research/dist1 -name "Root"
-exec perl -pi.bak -e's/summetj\@flux.cc.gatech.edu:/summetj\@wilks1.cc.gatech.edu:/g' {} \;

The above command line will find all files named "Root" recursively under the  /net/hc287/summetj/research/dist1 direcotry and execute perl to replace the string "summetj\@flux.cc.gatech.edu:" with the string "summetj\@wilks1.cc.gatech.edu:"  It also keeps a backup of all the changed files as Root.bak, just in case….

The {} is replaced by the find command with the name of the file, while the \; tells find's -exec command where the program arguments end. The @ signs are escaped by \'s.  This is useful if you need to search and replace a string in many files in a directory tree to update some settings, for example, if the CVSROOT machine has been changed from flux to wilks1 and you don't want to do a full new checkout of 45MB over a slow link.

Generating power from Dry Ice [CO2 (s)] via a peltier junction

While exploring alternate energy sources, I decided to try generating electricity by using the latent heat (or lack thereof) in Dry Ice, or solid CO2. The most direct (and solid state) way to generate electricity from a temperature differential is a peltier junction, which a 12V car cooler/heater unit happens to have. The pre-built cooler is also nice as it has a large aluminum bucket in the bottom to act as a heat sync for the dry ice, and a large heat-sink on the air side as well. (The mounting system for the peltier & heat-sink is very critical, so it was nice to find one pre-built.)

 Voltage reading from dry ice  Amp reading from dry ice generator

Continue reading

Cingular Blackjack (Samsung SGH-i707) impressions

Samsung SGH-i707 (a.k.a. Blackjack)

The Samsung Blackjack is a nice piece of hardware. The screen is beautiful, it is well proportioned and fits well in my hand, the scroll-wheel makes it easy to select from menus, and it's thin enough to be carried in a hip pocket despite the factthat it's wider than most phones. The camera is adequate for a cell phone, and the speaker is plenty loud. The phone actually has two speakers,one in the ear-piece, and one on the back that is used to play audio from everything that isn't a phone call (movies, mp3, speaker-phone). The only downside to this is that people behind your phone get better (and louder) sounds than you do, which may be good for sharing music, but isn't as appreciated when you're watching a movie in public. As with every other 3G device I've played with (namely the LG CU500) a standard Bluetooth headset works for call audio only, and will NOT play mono-only sound from the movie/mp3 player. See my rant on 3G phones and why I hate this.

Continue reading

Logitech Webcam for Notebooks Pro on Linux

Logitech Webcam for Notebooks Pro Logitech QuickCam Pro for Notebooks (USB) is the USB web-cam I use. I like the small size and the clip on mounting system works great with the IBM X31 Thinkpad.
Mandrake 10.1 includes PWC (Philips Web Cam, the chipset that is used) support out of the box, but it only supports QCIF images (176×144, quite small) images. To get support for full size images (up to 640×480) you will need to install the kernel source rpm, and visit this site to download the pwc-10 package. I had no problems installing it from the full source code (as opposed to just the kernel patches). Continue reading

Using SyncML to save your data!

SyncML saves your data

I have been looking at the SyncML standard as a solution to keep the calendar on my palm pilot in sync with the calendar on a Nokia 9500 on the off chance that I don't want to carry two devices at once. SyncML was first developed for synchronizing cell phones, so the Nokia 9500 has a built in sync client. I explored two different clients for the Palm Pilot, the free Funambol open source client, and the Synthesis AG SyncML client (which costs $25 for the standard version).

Continue reading