Chaos Mind getting into order

Archive for the ‘Development’ Category

I discovered that Drupal user’s access to edit content is not only about permissions and roles but is also about input format. If you think that your user have the right roles and permissions and stills unable to edit some content, then you need to check the permission about managing input format.


PWNtcha (Pretend We’re Not a Turing Computer but a Human Antagonist) is a CAPTCHA decoder. The project homepage shows some interesting CAPTCHA examples that are easily decoded and why. A must read, if you’re concern in protecting your webapps from spammers and to know how to build better CAPTCHA.

Etiquetas: ,

Ando a brincar com os módulos pathauto e transliteration e defini as seguintes palavras em português para serem retiradas. Fica aqui a lista como referência e está sujeita a alterações/correcções:


Aceitam-se sugestões!

Etiquetas: ,

Finalmente!! 🙂 Agora é utilizar e aprender os symfony Forms.

Já agora, alguém utiliza esta framework? Ou são mais bolos?

Etiquetas: , ,

Mooshak is a system for managing programming contests on the Web. Mooshak’s basic features include automatic judging of submitted programs, answering to clarification questions about problem descriptions, reevaluation of programs, tracking printouts, among many others [reference: Mooshak’s website].

Since I want to have a dedicated server for it (thanks, Algardata), I had the oportunity to install on a fresh debian etch system. Unfortunately, the installation manual is very incomplete (even the README file bundled with it), so I created this small step-by-step tutorial what will help you to install it flawless.

Warning: This rough tutorial was the solution to install mooshak only. Mooshak configuration, setting users, competitions, etc, is far from the scope of this tutorial.

1 – Requeriments:

For this tutorial I used a debian etch 4.0r3 network install CD and I installed the basic system and nothing more.

Mooshak needs the following software to work:

  • Tcl 8.3 or greater;
  • Apache 1.2 or greater;

Well, in my case I need a little more, because this is a very basic system. To be able to install Mooshak, it’s needed to install:

  • xsltproc (version: 1.1.19)
  • lpr (version: 2006.11.04)
  • rsync (version: 2.6.9)
  • gcc (version: 4.1.1)
  • libxm2-utils (version: 2.6.27)

The version number next to each package it’s the one that I’ve installed. It doesn’t mean that it can’t work with a minor version, but I don’t have that knowledge.

2 – Requirements installation:

To install it all at once:

aptitude install tcl apache2 xsltproc lpr rsync gcc libxml2-utils

This command line worked fine for me. I just recommend to see which extra packages it would install, but they are safe and expected.

3 – Mooshak installation

Now our box is ready to install Mooshak. Just download the lastest stable version and install it:

% tar xzf mooshak-version.tgz
% cd mooshak-version
% su	
# ./install
Prerequisites Ok. Installing Mooshak on debian, Apache 2.2
home dir created
data.tgz copied
source.tgz copied
setting file permissions ... done
connecting to host [your-server's-name] ... connected!
Mooshak installation seems OK

You can check it from the webserver http://%5Byour-server’s-name%5D/~mooshak/cgi-bin/info

4 – Configuring Apache2

Since mooshak site it’s from a system user (mooshak), you will need to activate userdir module:

# a2enmod userdir

Next step is to configure /etc/apache2/mods-available/user-dir.conf and add the following lines between IfModule section:

        <Directory /home/*/public_html/cgi-bin>
Options +ExecCGI -Includes -Indexes
SetHandler cgi-script

Now, it’s time to reload the apache2 server:

/etc/init.d/apache2 reload

Final Thoughts

Mooshak have big lacks of documentation and it’s build in TCL, which it doesn’t help to be widely adopted. Meanwhile, it’s quite popular among portuguese universities because of programming contests, or even it’s used in programming classes to test students.

I would like to see a mooshak version using a more popular language (PHP, Ruby, JAVA, etc.).

Finally, I invite everyone to help me to keep this tutorial up-to-date.


While working …

Strict Standards: Assigning the return value of new by reference is deprecated in /home/web/php/simplepie/ on line 709

I got a lots of lines (100+) like the one above when I was trying to run simplepie 1.1.

To quick solve this problem, do (at bash command line):

  1. vim
  2. :%s/=& new/= new/g
  3. :wq


Na disciplina de Computação Evolutiva, estou a fazer um mini-projecto sobre Degree-constrained spanning tree. A  técnica para criar o meu espaço de indivíduos/soluções para n nós de um grafo é através da criação de números de prüfer. Abaixo segue-se o código:

import random

class PruferNumber:
    def generate(self, n):
        assert isinstance(n,int)
        assert n>2
        number = []
        for x in range(n-2):
        return number

testing = PruferNumber()
print testing.generate(2);

Estamos a programar em python, utilizando o Numpy.