PHP is my friend :) (and also is NetBeans)

Everyday I enjoy using this language more and more. It’s powerful, it’s easy, and it can be used in everyday life for many more things than simply writing web pages.

Theese days I’m taking part in the development of Sicus, and one of the tasks I’ve to do is writing unit tests of some parts of the application. It’s boring and involves a lot of repetitive coding. Well, that’s where PHP can help…

I’ve written a couple of scripts that take a brief specification of the methods of a class (method, mandatoryness, erroneous values) and automatically write the methods to perform the tests using loops, conditionals and variable substitution. It’s easy because text/template substitution is what PHP is designed for.

The code might not be very elegant, but performs well enough.

[24/6/2006 update] 

Yesterday I discovered a NetBeans menu tool that would had avoided me writing one of that PHP scripts I was talkinf above of (the getter & setter method generator).

NetBeans has the ability of examiining your code, noticing what member attributes haven’t get() and set() methods yet, and generate that code automatically. That tool is available from the menu: Refactor –> Encapsulate field.

Parsewiki, a wiki-to-any converter

This days I’m writing a lot of docs in DocBook format, and the lack of a good editor is a pain. When I say “a good editor”, I mean some tool that avoids these awful and artificially long XML tags, because I don’t want to spend more time typing tags than typing normal text.

So, I did some googling and discovered ParseWiki, a Perl script that transforms wiki text into DocBook, HTML, XHTML and even Latex. This tool is saving me a lot of time. Have a look at it in:

http://paginas.fe.up.pt/~villate/parsewiki/

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.

English learning radio

The EarthPast week I discovered a new radio station in the Vigo area while driving in my car. The point about that station is that it’s focused into English learning and the speakers are talking in English all the time. Listening to it is a good way to practice English listening and so get used to different English stresses (american, english and scottish) and levels (from children to high level).

The station can be tuned at 91.8FM or listened in internet through this Playlist (if it doesn’t work, try the direct stream URL). You can also visit Vaughan Systems main page or the Vaughan Radio page to get more information.

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