Corunix website migrated to Community

Taking advantage of a little stall in the project I’m currently working on, I decided to spend all the day doing hackfest tasks.

The task I’ve been asigned for was to migrate the old Corunix website in Drupal to the common TWiki infrastructure shared by all the projects in community.igalia.com so, at this moment, Corunix is one more of those projects.

Drupal was causing us big headache, because updating it was a pain: some plugins weren’t migrated to the updated version, there was database migration errors, etc… In brief, the website is much better now. 🙂

The next task I’m going to do when I have time for hackfests again, will be to create a CVS for Corunix and publish pam_preprofile and maybe also lanzador there. The first one is a project that would benefit many people. I’ll have to notify Andrew Morgan about it to do the changes at PAM website.

Firewall (the movie)

Today I’ve been to see Harrison Ford’s movie. What a surprise! These Hollywood guys haven’t had time enough to make mistakes about computers and hackers, simply because the main plot of the movie isn’t hacking or computing, it’s kidnapping.

The hero is a fifty-some years old director at some lost network security department of an important bank. Everybody wearing suits, a very “corporative” look, and all very serious and boring. There are nothing about hacking, so there aren’t pitfalls about it. 🙂

About the movie itself? Well, if you like thrillers and action movies, it could be for you, but don’t expect much more.

My first Python game

This evening I’ve been doing some testing in Python to see the language power. I love making little videogames, so, why not to try it in Python?

Pygame is a module that makes easier the task, providing classes and functions to manage the display, sprites, collisions, fonts… and has a documentation good enough. Using that documentacion, the Python language reference, a sprite managing tutorial and googling here and there, I’ve developed this tiny example: a number mental calculus videogame.

Number mental calculus videogame

The player starts with the number zero, and collecting some sheets in a particular order, can perform arithmetic operations on his/her base number in order to get the goal number.

The main character in the game has “momentum”, so it’s a bit tricky to have control over it. You can press [ESC] whenever you wish to terminate the program, and then press any key.

If you like, you can download the source code and try it. I would be very proud of reading comments about it. 🙂

2007-03-11 UPDATE: I’ve received a request to make clear under which license is the code published. You can consider the python source code file (and NOT the icon files)published under public domain, as well as under GPL license. The problem about the icons are that they are borrowed from some KDE style package I can’t remember about (and I’ve tried hard). Such package should be GPL or similar also, but I can’t state it for sure.

2008-11-26 UPDATE:
I’ve adapted the source code to run on Ubuntu Hardy. Download the new version from here.

Converting OpenOffice documents using command line

OpenOffice.org 2.0 splash screenNow that OpenOffice.org 2 is getting more and more popular, people is starting to migrate and to write documents in ODT format. However, for people who still aren’t able to install OO2 on their machines (outdated distros, outdated hardware or whatever) it’s a pain to receive such documents by email.

It would be nice to have a tool that allows command line document conversion. So, a company can have that tool installed on a centralized host and the users would ssh into it in order to convert documents. to old formats or even to PDF.

Browsing the web, I have found an article telling exactly how to do that. I’ve tried the instructions and all worked fine.

I went beyond and move the macros to a common place (/opt/openoffice.org2.0/presets/basic/ConvertidorPDF), so they can be used by all users without the need to install them in every account. You may need to edit some script.xlb files to make it work, just have a look about how it has been done for the other macros and macro libraries.

In addition to that, I wrote a script and put it in /usr/local/bin, so all users can now convert documents to the format they like without the need to launch any window.

I stopped here, but I’ve great ideas in mind: create a kind of CGI, maybe in PHP, and publish a webpage in our intranet, so everyone could go there, submit his or her document, and receive a PDF or an older format.

Making usermode linux work

During this month I’ve been using my spare time to update my Linux system administration knowlegde, that was a bit outdated. One of the basic things I couldn’t live anymore whithout was usermode linux, so I put myself at work an decided to learn about it.

Next, I’m going to explain the steps taken to put usermode linux working for me. At the end, you will find internet references that would help you in the process. Continue reading Making usermode linux work

Discovering Python

This afternoon, listening Dape‘s comments, I’ve been curious about Python and decided to give it a try.

Looking at the official documentation I discovered that it’s much like pseudocode and indent and colons (“:”) play an important role in the language. It hasn’t semicolons (“;”) and follows the rule “a line, a sentence”. It’s a very curious language… and doesn’t seems difficult to learn.

As some of you already know, I like KDE very much, so I decided to research about if a KDE program could be made using Python. I discovered PyKDE, but it isn’t included in Sarge. I found also a tutorial on writing Qt applications, so I give it a try. It seemed interesting. 🙂

Hello world screenshot

Playing with Javascript

Browsing the internet today, I could read a javascript trick that kept my attention. You can type javascript sentences in the location bar and they can have efect on the current document. That is, you can type something like this (literally, in one line):

javascript:document.forms[0].getElementById('myReadOnlyEntry')
.readOnly=false;void(0);

…and get read-write an original read-only entry whose id=”myReadOnlyEntry”. NOTE: the void(0) is required in order to avoid the submission of the form.

The best of all is that you can define a new “bookmark” that doesn’t link to an ordinary URL, but to a javascript sentence one. By this way, you can do changes over the current web page.

Some other curious things you can do using this technique are to replace a previous given function already present in the document. In this example we redefine a form checking function in the current document:

javascript:formCheck=function(){return true;};void(0);

Those discoverings have frightened me. What if a hacker writes a web page, hidden frame or underlying web page that creates a javascript timer and from time to time it tries to read values from input boxes of other opened web pages? Can it be a phishing threat? Is this technique already being using by crackers? It’s frightening… 🙁