Search This Blog

Tuesday, March 20, 2007

Find

Unix find command is powerful tool. Recently, I learn how to use it to fix wrong permission of a whole directory tree (hundres of files). If you will be in similar situation try to use: find -nouser - looking for files (directories) not belongs to user. find -type f -not -perm 644 - looking for files with permision other that 644 find -type d -not -perm 755 - looking for directories with permision other that 755

Thursday, March 01, 2007

10 nice shell command

Here you can find 10 nice, but not very other using shell command. Personally, I was using bc and lsof.

Tuesday, February 20, 2007

Solaris vs. Linux for Application Developers

At Sun Developer Network there is quite the article examines similarities and differences in the development environments between Linux and Solaris operating systems.

Thursday, February 01, 2007

Another interesting blog about HPC

John West, the Director of the DoD Major Shared Resource Center at ERDC in Vicksburg, MS has created a blog where he discusses new developments in HPC. Check it out - very interesting info.

Friday, December 29, 2006

Geometries from Gaussian Scan

Reading geometries from Gaussian file storing information about Potential Energy Scan (PES) isn't easy. I was sure that there were some tools to do this, but I cannot find any yesterday, so I prepared my own. It is writing in python, of course ;). Right now have very basic features. It reads input file and created output xyz files (as many as stationary points was found). You are using it simply writing in command line:
scaner-0.1.py inputfile

Thursday, December 28, 2006

Greping excitation energy from Gaussian output

I've already written about CIS energies, but my suggestion is more general. You can use that command also for TDDFT calculations. But if you need energies from perturbative correction of CIS method (CIS(D) method) you have to use this:
 grep "CIS(D) Exc\. E" *.log

Thursday, December 14, 2006

'Symmetry' font in LaTeX

If you need nice font for symmetry group names use mathrsfs package and next (example for C2 group) $\mathscr{C}_2$ in the text. Of course you can use it for many other purpose.

Thursday, December 07, 2006

Hack a Rox

I like Rox, but it has some annoying small problems. One of them is that the program which open the file is running from home directory. Now I write short script which fix it for gvim and I'm thinking how to do global...
#!/bin/sh
cd `dirname "$@"`
gvim `basename "$@"`

Wednesday, December 06, 2006

Vim's colorscheme

I've found nice site with sample of Vim's colorschemse. I miss only python samples.

Sunday, December 03, 2006

XymTeX: example

I'm using XymTeX to creating chemical structures in PhD thesis. I'm not fully satisfe, but it create structures' counter , which can be use for numbering and refering to structures. Recently I created Reichardt Betaine subtituted by eter crown. The command which create this picture is below. Is nice, isn't it ;) \begin{XyMcompd}(800,2000)(,-1400){zw:korona}{}
\sixheterov[ace]{4==\upnobond{N}{$\oplus$}} %
{1==Ph;3==Ph;5==Ph; %
4==\cyclohexanev[ace %
{c\sixfusev[ %
{c\sixfusev[ %
{d\sixfusev{2==O;5==\null}{}{A}[ef]} %
]{1==\null;4==\null}{}{F}[de]} %
]{3==O}{}{F}[cde]} %
{d\sixfusev[ %
{d\sixfusev[ %
{c\sixfusev{3==O;6==O}{}{F}[ab]} %
]{1==\null;4==\null}{}{A}[bc]} %
]{5==O}{}{A}[bcd]} %
] %
{4D=={\hspace*{-1.5mm}$| \underline{\mathrm{O}}|^{\ominus}$};1==(yl)}}
\end{XyMcompd}
If you don't like XymTeX you can try konwerter very nice program by Piotr Wawrzyniak.

Monday, November 20, 2006

Energy converter v0.1

I've just created small Python/Tkinter program to convert values of energies. At the moment you can convert from (to) au, eV, nm and cm-1. Not much, but it is beginning :). Program can be download from mml website.

How to list files in subdirectories

I wrote a shell script which allow to list files and only files in all of subdirectiories of current directory. I don't know if it useful but it nice piece of shell code:
#!/bin/sh
for i in `find $PWD -maxdepth 1 -type d`
do
    (cd $i; echo $i; find -maxdepth 1 -type f| wc -l)
done

Saturday, November 18, 2006

The Python Challenge

I nearly become addicted. To what? To Python Challenge. It is a set of puzzle which can be resolved with Python (you can use other language, but it is design for Python). I don't remember when I have so much fun. It is great think if you what to learn Python or just test your skills. It is my 50th note and I started write this blog 1 year and 3 days ago!

Molekel 5.0 alpha

I wrote that Molekel was rebirth and version 4.6 was release. Recently, I found that the project has been moved and alpha version of Molekel 5.0 can be found hear. So, right now we have:
  1. 4.3. It is very old version and the sources are close. [website]
  2. 4.6. The whole project has been rewritten and it is alpha version, not all functions from 4.3 version are working [website]
  3. 5.0 New, not ready yet version with open source (GPL). [website].

Tuesday, November 14, 2006

Physics for 'normal'

I found another interesting blog related to science. This time some physics. You can find there a lot of interesting news: i.e. the info about physics of new NBA ball or fastest waves ever photographed.

Saturday, November 04, 2006

Loooong bash command

I like bash command. This one is quite long:
for ((i=1;i<36;i++)); do if [ $i -lt 10 ]; then j=0"$i" ; else j="$i" ; fi ; wget --no-check-certificate https://www.linux-magazine.pl/issue/$j/; done
It could be interesting for someone, because in one line there are loop (C-style) and if command. This command download the contents of all Polish LinuxMagazine issues. I have got most of LM issues, but searching some information thru them are quite boring. So I thinking about making some kind of 'searching machine' because one from LM website is weak. My command once more, but this in more readable form:
for ((i=1;i<36;i++)); \
do \
 if [ $i -lt 10 ]; \
    then j=0"$i"; \
    else j="$i" ; \
 fi; \ 
 wget --no-check-certificate https://www.linux-magazine.pl/issue/$j/; \
done

Wednesday, November 01, 2006

Mencoder (part II)

My second example of using mencoder: I had the problem with large avi file which didn't fit CD (it had 1.4 gb). I used mencoder to split this file(console rulez ;). Creating of the first part was quite easy (I found the advices here and here).
mencoder -ovc copy -oac copy -ss 0 -endpos 700mb -o movie_part1.avi movie.avi
But there were no info where I should start the second part. I watched the end of the part 1 and manually (eyelly ;) chose the best point to split the movie (for example 1:05:25). This time I could creat two parts.
mencoder -ovc copy -oac copy -endpos 01:05:25 -o movie_part1.avi movie.avi
mencoder -ovc copy -oac copy -ss 01:05:25 -o movie_part2.avi movie.avi

Mencoder (part I)

I like console. So I'm using it even to manipulate video files ;). My first example of using mencoder: I'm recoding files from my camera (Fuji FinePix 5600/5200). It use two passes technique (it should give smaller out file). I don't know if my options are optimal, I found it somewhere (I don't remember where). The input file is the first argument and output file is second argument of my script.
#!/bin/sh
mencoder $1 -ovc lavc -lavcopts \
vcodec=mpeg4:vpass=1:vbitrate=1000:vlelim=-4:vcelim=9:lumi_mask=0.05:dark_mask=0.01 \
-oac copy -o /dev/null
mencoder $1 -ovc lavc -lavcopts \
vcodec=mpeg4:mbd=2:trell:vpass=2:vbitrate=2000:vlelim=-4:vcelim=9:lumi_mask=0.05:dark_mask=0.01 \
-oac copy -o $2
Sailing through the net (I tried to find the place with mencoder option) I reached Mario Valle website. It seems very interesting. I have to read it careful and write more about it. Right now, I'm adding his blog to my list.

Thursday, October 19, 2006

SwapFile

Most of people (even Klauss Knopper [1]) think that swap partition has better performance compare to swapfile (Ok. Most of people don't know what is swap file or swap partition ;). However, it isn't true, at least for 2.6 linux kernel. Check thread at Linux-Kernel Mailing list [ 2]. I think the most important is the 3rd point
Does creating the swapfile on a journaled filesystem (e.g. ext3 or reiser) incur a significant performance hit?
and answer
None at all. The kernel generates a map of swap offset -> disk blocks at swapon time and from then on uses that map to perform swap I/O directly against the underlying disk queue, bypassing all caching, metadata and filesystem code.
[1] Klaus Knopper, "Questions and Answers", Linux Magazine Polish ed., 3(25) March 2006, pp 38-40.
[2] Andre Morton et al., "Swap partition vs swap file" thread Linux-Kernel Mailing List, July 2005.

Saturday, October 07, 2006

Camera.sh v2

I rewrite my script for converting raw format pictures. Now, it is converting files from raw to jpg in loop. Doing first convert of all raw files take a lot of space (ppm files are BIG). Right now I need space for one ppm file. Morover, ppm->jpg converting and resizing are made in one step. I found very nice perl program (ExifTool) to managing exif info.
#!/bin/sh

EXIFPATH=/opt/Image-ExifTool-6.36
for raf in *.raf
do 
        dcraw -w $raf
        name=`basename $raf .raf`
        jpg=`basename $name`.jpg
        ppm=`basename $name`.ppm
        echo $name
        convert -resize 800x600 $ppm $jpg
        $EXIFPATH/exiftool -TagsFromFile $raf $jpg
        rm $ppm $jpg"_original"
done