Friday, June 24, 2011

dwm Baby, Hell Yeah I am becoming a SUPER GEEK!

F#!k yeah! I am using a tiling window manager called DWM, and it is the best thing I have seen lately. Easy to compile, easy to use, and there is no mouse involved, my hands are not painful anymore after a work day (well, they do, if I go climbing...).

That said, I am also using Pentadactyl which negated the mouse usage also in side Firefox.
My hands will thank me for that in 40 years. No more painful joints....


Tuesday, June 21, 2011

The best latex editor Kile 2.1 Released!

This should be really bigger news! Although I don't use KDE at all, Kile is the best editor for Latex, I have tried. The developers released 5 beta versions before, which never gave me any problem.
11 Days ago, kile 2.1 was finally released, here is the release announcement .
I love how simple Kile is, although it is full with goodies and options. I love how it is out of the way when you want it. I tried contributing to Gummi-latex editor. But eventually, I found it useless.
I love the VIM mode in Kile, and I wish it was possible in some GTK+ Editor. Yeah, I know I can use vim-latex-suite. But I am too lazy to learn it :-). So, I use vim for all other programming, and Kile for Latex.
So, bottom line, I really recommend to download and install latest Kile!

Sunday, June 19, 2011

One more python learning resource

This one is pretty cool. It is a learning environment, which allows you also to create more learning environment. I wish I had more time to play with it!
Python Crucny: http://code.google.com/p/crunchy/

Have fun!


Monday, June 06, 2011

TMUX - copy mode and how to control multiple servers at once

Two tips which needs to be documented:

The first one is how to copy in tmux, which had me struggling a lot. Most places say that you need to type the following sequence:
CTRL+a,[ (note my prefix is CTRL+a instead if CTRL+b).
Then something tricky happens:
In some servers I found out that selection of text is initiated with either SPACE or CTRL+SPACE. So, try one of them.
Navigate with the ARROWS to select the text.
Than, copy the selected text with CTRL+W (or ALT+W if that does not work).
Now, navigate to the desired place where you want to paste the text and type the following sequence:
CTRL+a,].


The second tip is how to control multiple servers with TMUX:
First, export a variable called HOSTS holding your servers list, e.g.:
HOSTS="host1 host2 host3 host4 host5"
then run the following script in your BASH:
#!/bin/bash
# ssh-everywhere.sh

# a script to ssh multiple servers over multiple tmux panes 

usage() {
    echo
    echo
    echo "Application Call: "
    echo
    echo "$BNAME sessionname"
    echo "before calling the script do: export HOSTS='host1 host2 host3'"
    echo "as a list of hosts to work on, or you will be promted to type"
    echo "the list in." 
}

starttmux() {
    echo 
    echo $HOSTS
    if [ -z "$HOSTS" ]; then
       echo -n "Please provide of list of hosts separated by spaces [ENTER]: "
       read HOSTS
    fi
    
    tmux new-session -d -s $sessionname 
    for i in $HOSTS
    do
    tmux split-window -v -t $sessionname "ssh $i"
    tmux select-layout tiled
    done
    #tmux set-window-option synchronize-panes on
    tmux attach -t $sessionname 
}

BNAME=`basename $0`
if  [ $# -lt 1 ]; then
    usage
    exit 0
fi

sessionname=$1
starttmux

That is all about TMUX for now.

P.S.
After a long struggle again, I found out how to copy paste in VI mode with tmux:
SPACE, stars selection.
CTRL+m copies to buffer.
CTRL+a,] pastes the buffer.



Sunday, May 29, 2011

The future of Windows

Last week I participated in a Windows 7 course. I was sent to the course by my employer, although in my official role is Linux System Engineer. 9 people attended the course. Looking around my colleagues I had some interesting observations, I'd like to share.
First of all, among the participants, I was the youngest. 2 Other guys where also Linux admins, the rest were Windows admins. Some external appearances really struck me. Usually, Linux guys have the image of being wild hairy beasts with long unshaven beards. Well ... there are some differences with the Windows guys, but not what I expected:
  • All the Linux guys were younger then 35, windows guys are older. This is a very strong indicator about the future of this OS.
  • The Linux Guys (including me) dress sportive casual stuff, short pants, some sport brand cool shirt or just plain T's. Windows guys are dressed business casual: jeans or some fancy pants, with a button up shirt tucked in their pants behind some leather belt usually holding a role over fat stomach.
  • Linux Guys come to the course cycling (MTB or Road bike), Windows guys all came with a Car, which can explain the fat stomach phenomena.
  • Out of 6 guys, 3 guy actually had facial hairs, and our instructor a mustache! Personally, I find people with mustaches unreliable.
This are just my few observations on being in a Windows 7 course.

Another anecdote I have noticed while learning Windows 7, is it's lousy backward compatibility. Windows 7 does not include Solitaire or Minesweeper, at least in the VM's we had ... Imagine, passing 2 days in front of the most boring OS, without minesweeper...


Thursday, May 26, 2011

2 Cool Python Learning resources

A couple of nights ago I was browsing code.google.com in random search for interesting Python projects.
Here are two nice catches from my random fishing, which are worth mentioning. The first one is a Free python book, which attempts to bring Python and the joy of creating software for kiddies, here is what they write as an intro:

"Snake Wrangling for Kids" is a printable electronic book, for children 8 years and older, who would like to learn computer programming. It covers the very basics of programming, and uses the Python 3 programming language to teach the concepts.

The second one, is a Python interactive learning program. Although I have not played a lot with it, it seems fun. However, the project seems a little bit sleepy (no updates for almost a year):

RUR-PLE is an environment designed to help you learn computer programming using the language Python. Within an artificial world in which a robot can be programmed to perform various tasks, you will learn what it means to write a computer program, using Python's syntax

If you are a self learner type like me, you would appreciate these resources.



Tuesday, May 24, 2011

Building Octave-3.4 on Debian Sid

I wanted to build the latest Octave (3.4) on my Debian Sid. Well, it wasn't as easy as before, since I upgrade it quite often. So now, the GCC-4.6 is used in Octave. However, due to some bugs in GCC-4.6 or Octave(?), it won't build. So, the trick that did it for me:

sudo aptitude build-dep octave3.2
sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev
sudo aptitude install gcc-4.5 gfortran-4.5 g++-4.5

than, we need to do something ugly, but it does work ... ;-)

sudo mv /usr/bin/gfortran /usr/bin/gfortran.ORG
sudo ln -s /usr/bin/gfortran-4.5 /usr/bin/gfortran

now we tell Octave to build using GCC-4.5:
export CC=/usr/bin/gcc-4.5
export CXX=/usr/bin/g++-4.5

the rest is easy:
./configure
make 
make test
sudo make install
sudo checkinstall

Et viola! A post which is more positive and not ranting! Octave 3.4 is faster, and provides better Matlab comparability. Give it a try and you want look back!