How to embed an IPython shell in your application

If you by any chance would like to use the excellent python shell IPython as an embed shell on an application or virtual terminal, you can instantiate it using the IPShellEmbed class provided by IPython. Let’s say that your environment doesn’t like IPython default color scheme and you need to start it without colors (same as doing ipython -colors NoColor). You can use an embed shell in your code the following way:

import IPython

embedshell = IPython.Shell.IPShellEmbed(argv=["-colors", "NoColor"])


argv are the arguments you would normally pass to the main ipython script.

I hope that was useful 🙂


About holidays and life

Today is a national holiday in Brazil. Well, I do agree that we have way too many holidays 🙂

Anyway, I took the day to organize some stuff at home, and managing personal stuff, like e-mail and social networking. And, while I write this, I’m comfortably placed in my living room, watching Kill Bill vol. 1 and 2. Ah, life…

Earlier I was walking across the city downtown. I like to exercise and think a little about life. What an amazing year it’s been so far. Expect more articles to come about technical subjects and other stuff [1].

[1] I’m not particularly fond of talking about my life, but sometimes I’ll get into it…

subversion: How to revert a bad commit

Ever made that commit that messed up your repository and spent some time wondering how to undo, or revert a bad commit? In subversion you really can’t go back a revision, but you can merge your copy with the previous repository version and then commit the changes to correct your mistakes:

svn merge -r [current_version]:[previous_version] [repository_url]

svn commit -m “Reverting previous commit and going back to revision [previous_version].”

This is a life saver 🙂

UPDATE: Julian found a ‘typo’ on this post. Corrected. Thanks Julian!
UPDATE 2: I found a horrible typo on one of my comments. Phew… 😛 Anyway, I am glad that this post is helping people to resolve their problems 😉

Quilt – patch management


Quilt is a patch manager. When you need to write/apply series of patches, this little tool can prove to be extremely handy. This document intends to be a simple quilt usage tutorial

Quilt basic workflow

1 – Go to your source directory (the software you want to modify)

2 – Create a directory named patches

3 – Create a new quilt patch:

quilt new

Quilt stores the patch on a temporary stack of patches.

* quilt creates a stack of patches

* quilt new puts a new patch at the top of stack

* quilt top checks which patch is on top

Every patch has a set of files assocated to it. in order to add a file to a patch you need to use:

quilt add

You can directly edit the files that you just added to your patch set. To list the files associated to the patch, use

quilt list

In order to see how your patch is going, just use

quilt diff

To actually generate the patch, you use

quilt refresh

This will create the patch at the top of the patches directory. To push and pop patches from the tree just use the commands

quilt pop

In order to take a patch from the stack just use:

quilt push

With these basic commands you can generate and manage patches.

Back from vacation!

So, it’s been almost 6 months since I’ve joined LTC. I was on a pretty confusing period of my life, and was struggling to get back to my normal self.

Now, thanks to very special and kind people, I’m back, resolved most of my immediate problems and now with full power to make everything happen! Thanks to the Lord, now I’m a truly new creature.