Sunday, October 24, 2010

How to create animation with python and PyODE package.


Falling Boxes in HD.  PyODE animation. from Krzysztof J Pakula on Vimeo.


Instruction for Linux Ubuntu users.
1. You already should have version of Python installed by default on your machine. 
2. Install packages PyODE and cgkit 
    > sudo apt-get install  python-pyode 
    > sudo apt-get install  python-cgkit 
3. Download python script pyode_ex_hd.py .  
4. By executing this python script you will create pyode_ex_hd.rib file 
    > python pyode_ex_hd.py
5. Install Pixie renderman program. ( If you have problem finding renderman install from this deb file) 
6. Download and compile surface shader file  occsurf2.sl    
    > sdrc occsurf2.sl 
7. Render the rib file   
    > rndr pyode_ex_hd.rib  
    Rendering the rib file will create series of picture files in pyode_ex_hd.001.tif , ..., pyode_ex_hd.300.tif
    It will take few hours depending on the speed of your computer.
8. Install ImageMagick on your Ubuntu system
    > sudo apt-get install imagemagick
9. Using ImageMagick Convert all tif files to png format.
    > convert pyode_ex_hd.001.tif  pyode_ex_hd.001.png
       ........
    > convert pyode_ex_hd.300.tif  pyode_ex_hd.300.png     
10. Using VirtualDubMod program create single uncompressed avi file from tif files.
    This step shall be done on Windows machine. 
    You must use vcf configuration file   pyode_ex_hd.vc
    >VirtualDubMod   /spyode_ex_hd.vcd  /x
11. Compress avi file to mp4 format using H.264 encoder.   

Thursday, May 13, 2010

Testing SOAPVASP interafce Python performance using "timeit"

1. Start SOAPVASP interface on port 7000
$ python interfaceSOAPVASP.py -p 7000

2. Run on the same machine
$ python -m timeit "import http_sender; http_sender.SimpleHTTPSender.send(host
='127.0.0.1', port ='7000', method='GET')"
100 loops, best of 3: 11.5 msec per loop

Wednesday, February 24, 2010

Password free ssh logging to remote computer

1. Create rsa id
> cd
> ssh-keygen -t rsa

2. Copy rsa id to remote computer as user me
> ssh-copy-id -i ~/.ssh/id_rsa.pub me@10.19.169.5

3. Test by
> ssh me@10.19.169.5

The computer at 10.19.169.5 shall NOT ask you for password

Shell script to execute command on the list of computers

The list of computers is given as a text list of IP adresses named "all.list". Each IP in saparate line

To execute commands on each computer create file all.sh with following text
for i in `cat all.list | awk '{ print $i}'` ; do echo $i; ssh $i $1 ; done

Execute commands by
> source ./all.sh "ls -la"

To execute command as root on remote computer with ip 10.19.148.65 using ssh

To execute command as root on remote computer with ip 10.19.168.65
> ssh root@10.19.148.65 "ls -la"

To execute text replacement on remote computer using perl script
> ssh root@10.19.148.65 "perl -p -e 's/oldtext/newtext/g' oldfile >newfile"

How to replace text in many files using single perl command

To replace text "localhost" to "localnet" in all files with extension text execute following
> perl -p -e "s/localhost/localnet/g" *.txt

To add new line after new text "localnet" use new line code \x0a
> perl -p -e "s/localhost/localnet\x0anew line/g" *.txt

To insert TAB in replaced text use code \x09
> perl -p -e "s/localhost/localnet\x0anew line\x09rest of line after tab/g" *.txt

Followers

About Me