Tuesday, June 29, 2010

bash string processing and file renaming

For some reason, some 200 files had not been renamed on the dreamhost download server. Occasional reader emails of files not found alerted me to this.

When I checked the rename shell script, these files were not listed in it. They did have download filenames in our local database, but were not listed in the rename shell script for some reason. Manually renamed them by doing some string manipulation:
find ~ -name '* *' sort > toberenamed.txt
cat toberenamed.txt while read FILE ;

do echo mv \"$FILE\" $(echo $FILEsed 's/ /_/g') ;
done > toberenamed.sh
vim toberenamed.sh

#(to check manually and remove non-essentials)
chmod +x toberenamed.sh
./toberenamed.sh

sample searches and auto suggest

Added sample searches and auto suggest to the search wizard. That seems to make it ready for prime time, so a link also added to the Radiosai home page. Sample searches are javascript calls onclick, with the variables being initialized and the submit javascript being called. Auto suggest is simple-minded in the sense it cannot suggest after one word is typed in. For example, if Concert H is typed, it will not suggest Hariharan, but if H is typed, Hariharan is suggested. Something is better than nothing, of course. This implementation entirely in javascript is from here. The keywords were from descriptions, filenames, festival names etc. in a sort of free association. Later, sorted the auto suggest keywords with alphabetizer.

Then implemented a sort of "hit enter to submit" for the first and last pages of the Wizard. Though it follows the general idea given here, it does not seem to work with IE8. IE8 seems to ignore the Enter key entirely, and does not seem to send any window.event at all when I tested with some code which was to just give a javascript alert.

list all files which have space in them in bash and sort

The most simple-minded way of doing this would be
ls "* *"
but this would not work. This site notes the way to do it - with find:
find ~ -name '* *'
And also lists a neat way of looping through,
find ~ -name '* *' while read FILE;
do
echo $FILE ;
done

The problem is that this lists files in non-alphabetical order. To get it in alphabetical order, The Alphabetizer is available for one-time jobs like my php suggest list. For piping in bash, of course, we can use sort:
find ~ -name '* *' | sort

Friday, June 18, 2010

uploading files to web hosting

Got a DreamHost account, evaluating a move there. Preliminary tests with downloads alone. Initially copied files using ftp from our local machine. Then tried sftp from local machine. Finally the fastest way, sftp from our dedicated server - more than 10 Mbps. Some files which were not present on our local machine had to be selectively uploaded. For that, did the following.
ls /local/audio24 > 24.txt
ls /local/audio96 > 96.txt
diff -Bc 24.txt 96.txt > difference.txt
cat difference.txt grep + > onlynot.txt
onlynot.txt thus has only the files in audio96 which are not in audio24

Used this list to make a sftp batch file - find replace + with put, and put the filenames in quotes.
Had to modify it to
-put "filename.mp3"
because without the hyphen in the front, sftp would stop if any of the files were not found.

CDN roundup

Did a review of hosting solutions for upcoming events. Birthday videos etc would need CDNs. Here is an abbreviated review, with cost being the major criterion, good support also being required.
SimpleCDN - $0.02 per GB - but no response to Moderate ticket in 3 days, hence can't risk it.
CloudFront - $0.15 per GB
Velocix - did not even send a quote in three days.
Voxel - $0.10 per GB, quick and responsive support, free trial.
EdgeCast - sent a quote for $0.30 per GB at 2000 GB per month
Internap - sent a quote for Los Angeles POP alone for $0.25 per GB, else $1.32 per GB...
SoftLayer - $0.18 to $0.12 per GB (minimum $45)
CDNetworks - sent a quote for $1.00 per GB.
You can guess who we picked.

Edit: An update to this post is at http://hnsws.blogspot.com/2011/12/more-cdns.html

Thursday, June 17, 2010

first show with new compressors

As mentioned in my previous post, the new air-cooled compressors had some issues, but after changing their location, seem to be OK. But they do take more power. From an old log reading in 1998 log book of a 2009 reading (yes - 1998 book, 2009 reading) the old system had taken 75 kWhr for 9.45 am to 12.15 pm. Today's consumption was 90 kWhr for 9.55 am to 12 noon. And that too with two of the compressors going off briefly when their thermostats reached the set temperatures. Thermostats were set to 22.5-25-27.5 deg C. The theatre was less frigid than before. Hopefully when the outside temp is higher also we will have similar results. Today outside was just 30 deg C.

Wednesday, June 16, 2010

method to link directly to "listen now'

Following the method given at JGuru and other places, here is something I passed on to my colleagues:
<form method="post" name="submitForm" action="http://www.radiosai.org/program/PlayNow.php">
<input value="on" type="hidden" name="checkallcb">
<input value="on" type="hidden" name="chosencb">
<input value="22346" type="hidden" name="fids">
<input value="22346" type="hidden" name="allfids">
<input value="1" type="hidden" name="play">
<input value="0" type="hidden" name="paHours">
<input value="0" type="hidden" name="paMinutes">
<a href="javascript:document.submitForm.submit()">Click Here to Play Now</a>
</form>
The fids and allfids values will change for different programs. This 22346 value is meant for this link, ie Judy/Sharon Sandweiss interview. For other programs, you can find the fid by searching for the program in our search page, choosing the Listen link after choosing the program of interest, and seeing the code in the PlayNow.php page. For example, for this item, it has the line

s1.addVariable("file","http%3A%2F%2Fwww.radiosai.org%2Fprogram%2FPlayList.php%3Fallfids%3D22346");

Wednesday, June 09, 2010

fixing the compressors

The AC guys are here to fix the compressor trouble. Now planning to keep two of them on the first-floor parapet and only one downstairs. Temperature readings with a room thermometer kept horizontally: before we started the test, room temperature indoors was 32 deg C. After putting on one of the compressors (and the blowers) the temp near the window was 41 deg C. The theatre was being barely cooled down to 30 deg C. But at least the compressor did not trip. When we opened the windows, the temp near the window quickly dropped to 33 deg C, indicating that indeed there is an air circulation problem. Hope the two feet clearance between units upstairs will be enough! PR has some ideas of baffle walls to prevent hot air being sucked into the rear inlets, too. Hopefully with all that and all three compressors running, we can get the theatre cooled.

One more issue is with the electrical connections. The starters used and the cables used are all getting heated up with the 22 amps per phase being drawn. And that's just for one compressor! If this is normal, then these compressors are less efficient than our old ones, which used to take around 35 amps each - and we used to run only one of them at a time.

Wednesday, June 02, 2010

Attenuation required

Taking the direct outs from the PA system mixer Mackie Onyx 32.4, found that they are too hot for the XLR inputs of the Tascam US-1641. D made attenuators for me like below:

Only it was not to ground, but to signal return. Checking out the specs in the manual, found that input impedance for the XLR input is 2.2k ohm and for the jack is 10k ohm. So, made the voltage divider circuit above, with a 10k resistor on top, and a 2k below. For the XLR connector, the connection was like
red wire --- 10k resistor --- pin 2 ---- 2k resistor ---- pin 3.
Later, found similar pad circuits with pix of XLR connectors with resistors soldered in. With the attenuation, which turned out to be around 20 dB, the direct outs are fine for the Tascam US-1641, with around 6-10 dB of headroom. Here, what I mean by headroom is that the peak level reaches -10 dB or so when the Mackie direct-out is at its highest level, when the input gain control at the Tascam is turned all the way down.

compressor problems

The new compressors were installed in the second week of May, but apparently they trip within ten minutes due to overheating. 3x 11 ton units from Voltas. The AC guys are supposed to come and do something about it this month. According to a random google search, 8 feet clearance between units seems to be required. But that is for a completely unrelated product....

google spreadsheets and UI design

Multiple ways of accomplishing the same thing is GOOD. Example of a place where this is done - Reaper. Example of where this is not done - Google Spreadsheets. I wanted to "Merge cells" - had to google search for it to find it is done with a toolbar button. The Merge Cells idea came in the first place from K, who is more familiar with Excel...