I was given a perl script and asked to fix the code where a particular option was not behaving as expected. The code was huge.
What's the best/faster way to locate the problem ?
Obviously I had to use a debugger; just like any other programming language perl too has it's own debbuger.
By giving perl the -d switch at command line will invoke the perl debugger.
The best option to understand the code flow and reach to the problematic option is enable trace while debugging.
perl help describes trace like this :
t [expr] Toggle trace [trace expr]
Once you enable trace; all the statements executed along with their line numbers will be displayed on the screen. It is similar to viewing code flow in a shell script by using a "-x" switch.
It is much better than using step/next not knowing where it is leading to and when it will end. So, get an overview of the code flow with t(trace) and make debugging easier.
Thursday, May 6, 2010
Wednesday, April 28, 2010
peculiar ssh requirement on AIX
Some days back I had a requirement to invoke scripts from a remote server periodically.
This is a classic requirement where one of the following solutions can be used :
1. rsh (where remote server would have added my user:host to the list of authenticated machines) and my machine can execute any command on the remote-machine bypassing login.
2. expect script using which I could have automated the login into the remote-machine and run the scripts.
3. ssh login without password.
Method 1 and 2 are not secure and 2nd method has the added disadvantage of changing the password in the script every time the login password changes.
So, I decided to use "ssh login". There are some good links over the Internet which provides the steps :
http://linuxproblem.org/art_9.html
http://www.linuxjournal.com/content/save-authentication (this is something which I contributed some time back)
All the steps are fine on AIX; but an added requirement.
The following files/directories should have these permissions for the automatic login to work fine :
chmod go-w ~/;
chmod 700 ~/.ssh;
chmod 600 ~/.ssh/authorized_keys
Hope this saves others the anxious moments I had to go through.
This is a classic requirement where one of the following solutions can be used :
1. rsh (where remote server would have added my user:host to the list of authenticated machines) and my machine can execute any command on the remote-machine bypassing login.
2. expect script using which I could have automated the login into the remote-machine and run the scripts.
3. ssh login without password.
Method 1 and 2 are not secure and 2nd method has the added disadvantage of changing the password in the script every time the login password changes.
So, I decided to use "ssh login". There are some good links over the Internet which provides the steps :
http://linuxproblem.org/art_9.html
http://www.linuxjournal.com/content/save-authentication (this is something which I contributed some time back)
All the steps are fine on AIX; but an added requirement.
The following files/directories should have these permissions for the automatic login to work fine :
chmod go-w ~/;
chmod 700 ~/.ssh;
chmod 600 ~/.ssh/authorized_keys
Hope this saves others the anxious moments I had to go through.
Sunday, March 14, 2010
ftp made easy with FileZilla
Why did I start using FileZilla than the normal command line ftp :
1. Can send/receive an entire directory to/from server; which is not possible in command-line. This may be "the" reason to use filezilla; but there are many more.
2. It opens up multiple connections to the server and helps in downloading of 10 or so files at the same time.
3. It has a transfer queue; with drag and drop facilities.
4. Configurable transfer speed limits.
P.S. Windows users don't worry; just like most open-source projects FileZilla is also available for windows.
1. Can send/receive an entire directory to/from server; which is not possible in command-line. This may be "the" reason to use filezilla; but there are many more.
2. It opens up multiple connections to the server and helps in downloading of 10 or so files at the same time.
3. It has a transfer queue; with drag and drop facilities.
4. Configurable transfer speed limits.
P.S. Windows users don't worry; just like most open-source projects FileZilla is also available for windows.
Sunday, February 7, 2010
play-with-sound using audacity
In my college days I had used Sound Forge to mix audio files.
Recently while preparing the script for a skit(I was directing it :) ), it striked me that if I could mix audio files well enough the background score could become very catchy. The search for the best sound mixer in linux began and I stumbled upon audacity. As Wikipedia says, it is a digital audio editor and recording application; but what it does not say is; there is virtually nothing that you can't do with it. Your imagination will be your limit and you can play around with sound as efficietly as a magician plays his tricks(sometimes I get very bad with metaphors :D).
Believe me or not background score and audio files I mixed became the central theme of my skit and everything else revolved around it.
I'll just jot down things that I did with it, but you can do much more :
Recently while preparing the script for a skit(I was directing it :) ), it striked me that if I could mix audio files well enough the background score could become very catchy. The search for the best sound mixer in linux began and I stumbled upon audacity. As Wikipedia says, it is a digital audio editor and recording application; but what it does not say is; there is virtually nothing that you can't do with it. Your imagination will be your limit and you can play around with sound as efficietly as a magician plays his tricks(sometimes I get very bad with metaphors :D).
Believe me or not background score and audio files I mixed became the central theme of my skit and everything else revolved around it.
I'll just jot down things that I did with it, but you can do much more :
- Open any audio file and cut/paste any portion of the file as you do with words in a text-editor.
- Bring out various portions of different songs in a single file and arrange them in any order you want.
- You can make two or more clips overlap and adjust the volume of each clip depending upon which one you want to give the priority to. This sort of provides the flexibity to fade-out a song and fade-in another one .. so they mix-out seamlessly.
- If you are looking for short-audio clips on anything for e.g. traffic noise etc. the best place is http://www.freesound.org/. Although not directly related to audacity, they complemented each other to good effect.
- You can either save the project in audacity project format (.aup) for later continued editing or export it to any format of your choice; believe me it supports all of them out there.
- You can very easily change the bit rate, pitch etc of a audio file and there are many tools to ease your task e.g. noise reduction
- Also you can record your own voice using it.
Labels:
audacity,
audio,
audio_editing,
linux,
sound
Sunday, January 31, 2010
wine came to my rescue
I always had problems viewing Microsoft office files(*.doc, *.ppt etc.) in Ubuntu. Openoffice doesn't understand the format in which Office XP/2003/2007 etc. store these files(and why should it? after all they don't comply to the open standards). But the important point is, I should be able to view and edit these files; so that when my collegues(Windows users) view/edit these files, they shouldn't complain.
So, I installed Office XP under "wine" http://en.wikipedia.org/wiki/Wine_(software). The version of wine that is compatible with Office XP(2002) is 1.0.1. The version of wine is important because I upgraded to a newer version of wine 1.1.36 and Office XP applications started crashing.
For others there is also an option to install entire Windows OS under "vmware" http://en.wikipedia.org/wiki/VMware_Workstation. This has the added benefit of using proprietary MS applications under Linux without the need to dual-boot.
So, I installed Office XP under "wine" http://en.wikipedia.org/wiki/Wine_(software). The version of wine that is compatible with Office XP(2002) is 1.0.1. The version of wine is important because I upgraded to a newer version of wine 1.1.36 and Office XP applications started crashing.
For others there is also an option to install entire Windows OS under "vmware" http://en.wikipedia.org/wiki/VMware_Workstation. This has the added benefit of using proprietary MS applications under Linux without the need to dual-boot.
The D day
Today I finally decided to start up this long time desire of mine ..
I intended to scribble down all the hiccups I encounter while using "linux" and most importantly tips on how to get around those blocks.
I intended to scribble down all the hiccups I encounter while using "linux" and most importantly tips on how to get around those blocks.
Labels:
linux,
office XP,
openoffice,
opensource,
ubuntu,
vmware,
wine
Subscribe to:
Posts (Atom)