Important dates

So, it’s done. This week is being a milestone in this project called ‘Lucas’… 2 important dates to remember:

05/27/2007 – My dear friend Moreno got his baptism. I’m very happy that now he is a brand new creature. Wish you the best in your new life.

05/30/2007 – 2 years since I’ve started to work for IBM, and… another important step in my life was taken. I will truly miss her. Nothing else to say…


One more step

I keep telling to myself that this world is a school. The classes are not allways nice, colorful or painless, but nevertheless they have their purpose, helping to define who we are.

Letting things go in your life is important, and more important is to pay attention to every single moment, stay focused on present and live your life with no ties, with simplicity and purity.

I’m notoriously a person who suffer of lack of attention on daily tasks, but I must say that in the last months, I’ve been able to dedicate all my attention and stay on the present moment in various occasions. I’m deeply grateful to the two persons who were able to make that happen, for the wonderful moments together. I want to be like this with everyone and everything in my life.

Now it’s time to start again and make it happen.

About life, music, and messages

Sometimes trough subtle messages (or not so subtle) we understand what we mean to other people. Well, it’s good to be reminded of our condition once in a while…

Anyway, life allways goes trough its own course. I want to post some nice musics I usually sing (yeah, I’m not a very good singer, but that doesn’t mean that I can’t sing alone where nobody can be possibly bothered, does it? 😉 )

Our Love is here to stay

lyrics by ira gershwin and music by george gershwin

Its very clear, our love is here to stay
Not for a year but ever and a day
The radio and the telephone and the movies that we know
May just be passing fancies and in time may go

But oh, my dear, our love is here to stay
Together were going a long, long way
In time the rockies may crumble, gibraltar may tumble
Theyre only made of clay
But our love is here to stay

In time the rockies may crumble, gibraltar may tumble
Theyre only made of clay
But our love is here to stay

expect vs pexpect

Yesterday I was trying to automate the setup of ssh keys on my test servers. Of course, the first tool that comes to our mind is the all powerful expect, however, I found some shortcomings trying to do simple things with expect, mainly the lack of a good and comprehensive documentation. So, I’ve struggled with expect looking at examples and after some hours I’ve accomplished my task partially. Looking further, I’ve found pexpect, a simple and clean implementation of expect like functionality in python. As I’m more familiar with python, and since the simple automation stuff is meant to be made easy, I’ve got what I’ve wanted in few lines of code:


import pexpect

def executeCommand(ConnHost, expectString, sendString):
@param ConnHost: ssh spawn pexpect object
@param expectString: What to expect from the server before the command
@param sendString: What to send after expectString was reached
print “Sending command %s” % (sendString)
ConnHost.expect(‘%s’ % (expectString))
ConnHost.sendline(‘%s’ % (sendString))

listHosts = [“host1”, “host2”, “host3”]

remoteUser = ‘user’
remotePass = ‘initial pass in plain text’
publicKey = ‘Put here the public key you have generated with ssh-keygen -d’

for host in listHosts:
print “Initializing connection %s@%s” % (remoteUser,host)
ConnHost = pexpect.spawn(“ssh %s@%s” % (remoteUser,host) )

# Doing the ssh key setup on the given host
executeCommand(ConnHost, ‘.ssword:*’, ‘%s’ % (remotePass))
executeCommand(ConnHost, ‘#:*’, ‘rm -rf .ssh’)
executeCommand(ConnHost, ‘#:*’, ‘mkdir .ssh’)
executeCommand(ConnHost, ‘#:*’, ‘echo %s > .ssh/’ % (publicKey))
executeCommand(ConnHost, ‘#:*’, ‘echo %s > .ssh/authorized_keys’ % (publicKey))

That doesn’t mean that I won’t make efforts to learn expect, looks like it’s a great tool with many possibilities, but for simple stuff at least for now I’ll stick with pexpect 🙂


Today a good friend of mine is going back to the US. He spent about 2 years here in Brazil, and we sure did have a great time together. Now, it’s time for him to review everything that happened, the good and the bad things, and look forward his future.

Brett, I truly wish you the best for you and your loved ones. May God allow us to meet again.

Having the opportunity to be part of other people’s lives, helping and serving, is probably the best part of being alive…

Red Hat is rocking my world (aka Global Desktop and Liberation Fonts)

My dear friend glommer pointed me out to this terrific entry on Chris Blizzard’s weblog. It contains a summary of the RedHat summit and the decisions announced out there. Red Hat has built a pretty solid and successful business model based on free software, and they run this business with great coherence. Congrats folks!

The global desktop will be a product based on RHEL 5, but targeted to be a desktop environment. The interesting thing is the focus of the new product, their partners and their planned audience. Please check Chris’ blog for more information.

Also, they’ve announced the Liberation set of True Type fonts. These fonts solve a long standing problem with the free software desktop: visualization of documents created with the so called “Microsoft core fonts”. The new set of fonts has the same metrics of the MS core fonts, so there’s no page/layout misconfiguration when editing/visualizing documents created with the core fonts. I’ve started to use Liberation sans as the default font on my desktop and it looks really good. Check it out:

Liberation Fonts

Thanks guys!