2006/12/21

Luca is coming

After some months of development, my personal accounting system -- Luca -- is "self-contained". By self-contained I mean that I can control my own personal accounting in it, so the development process goes to a higher level in terms of bug busting/fixing as well as test-driven development (any ill-made modification that breaks the system hurts myself :)

The present version, the one I am using day to day, is 0.65. Soon the 0.7 version will be released. This new version is going to contain AJAX/UI improvements, for example reload-free table controllers to make them far more agile (the page will reload only if another user changed the same table). The 0.65 version had this reload-free feature for only one table, the charts of accounts that is huge (making reload delay unbearable).

Luca is developed in the Turbogears framework, which means mainly the Python language, as well as some Javascript code for the AJAX tricks. Luca development page is at http://www.epx.com.br/luca .

Precious hint for installing Linux on Mini Mac Intel

While cutting my teeth to install Ubuntu Edgy on Mini Mac Intel (always failed on GRUB install), the following page came to me via Google:

Durante a instalação do Ubuntu Edgy que falhava na instalação do GRUB, consegui achar a seguinte página via Google:

https://help.ubuntu.com/community/MacBook

It contains one thing that other Linux-on-MacIntel guides don't: a specific solution for the GRUB installing problem. No, the solution is not to install LILO. First, install this package during the Live CD session (so it will only be installed in memory disk):

Ela contém uma dica que outros guias de como instalar Linux em Mac Intel não têm: uma solução específica para o problema do GRUB. Não, a solução não é instalar o LILO. Primeiro, instale o seguinte pacote na própria sessão Live CD (portanto no disco em RAM):

http://ftp.debian.org/debian/pool/main/r/refit/refit_0.7-3_i386.deb

You should probably download and install this package probably even before beginning to install. Then, AFTER the partitioning but BEFORE it ends and tries to install GRUB, do the following command in a Terminal:

Provavelmente você deveria puxar e instalar este pacotes antes mesmo de começar o processo de instalação. Então, APÓS o particionamento mas ANTES que a instalação chegue a tentar instalar o GRUB, execute o seguinte comando no terminal:

sudo gptsync /dev/sda && sudo sfdisk -c /dev/sda 3 83

The 3 means partition 3, which will be your root partition if you did everything by the book, that is, created a new partition with BootCamp, removed that new partition in Ubuntu installer, went back one installation step and asked it to use up the available disk space (auto partition). If you partitioned your disk differently, adjust the partition number accordingly.

O "3" significa partição 3, que será sua partição root se você fez tudo conforme os guias mandam passo a passo. Se sua partição raiz tem outro número (digamos, 4) ajuste o comando de acordo.

The 83 is the hex code of a Linux partition. GPT syncing always gives another number to all bootable partitions, that is what makes GRUB fail: it can't find the Linux partition it is installed in. So you always should run gptsync and sfdisk in that order.

O número 83 é o código hexa de uma partição Linux. A sincronização entre a tabela de partição GPT (nova) e MBR (legado) sempre atribui outro código a todas as partições bootáveis. É isso que faz o GRUB se perder: ele não consegue encontrar a partição Linux em que foi instalado. Assim, você deve sempre rodar o gptsync antes do sfdisk.

I believe that GRUB will be fixed to understand the EFI code in the future, or at least the distributions will put this trick embedded in the installer soon...