Archive for 'fisl'

Arena de programação

Posted on May 21, 2008, under Desenvolvimento, N800, Uncategorized, fisl.

Depois de um mês do fim do fisl 9.0, finalmente sobrou um tempo para falar sobre a Arena de Programação, acompanhado do fato de que o N95, um dos prémios da arena, chegou hoje pela manha :)

Para quem não sabe a arena é um evento que acontece dentro do fisl, sendo este o segundo ano de arena, e esperamos que muitos outros ainda venham. O objetivo geral da arena é promover a integração entre os programadores do mundo livre e gerar algum tipo de contribuição com essa integração. No ano passado tivemos uma arena voltada ao projeto Debian, e esse ano ao projeto Gobo Linux e a plataforma de desenvolvimento móvel da Nokia.

Na primeira fase tivemos um processo de seleção com base em patch que deveriam ser feitos para o projeto Gobo Linux, mais informações aqui. Graças ao fato de que o número de inscrições nesse processo foi aquém do esperado, eu pude participar, meus patch foram enviados com 1 semana apenas de antecedência.

Já no primeiro dia de arena a coisa pegou fogo, fomos divididos em grupos de 4 programadores, e cada equipe recebeu um N95, onde constavam uma lista de tarefas a serem executadas com o aparelho usando python. Terminei este dia frustado, tínhamos feito muita coisa, mas nada tinha ficado realmente pronto e funcional, ficamos com um tarefa pronta, e todas as outras semi acabadas. Fui pro hotel cabisbaixo e pronto pra receber a notícia de que não havíamos nos classificado.

Passei uma noite de cão, pois decidi que não ia deixar aqueles códigos besta me vencer, como tinha instalado o emulador da plataforma S60 um domingo antes de ir para o fisl, resolvi que faria o que não consegui fazer durante o dia, obs: isso não contava em nada, fiz porque era um desafio que deveria ser vencido, mas não iria mudar a decisão do dia seguinte.

Na manha de sexta estava lá as 9:00, cansando pra caramba da noite anterior, mas ainda sim tive um tempo pra fazer mais alguns testes e refinar as tarefas que eu tinha feito durante a noite. No fim consegui terminar uma das tarefas e desenrolar uma outra, de um joguinho, mas como o emulador não tem suporte ao acelerómetro, o joguinho ficou só na teoria de que funcionaria.

Qual foi a surpresa de saber que nossa equipe tinha classificado, os códigos que entregamos mesmo na sua maioria incompletos, estavam dentro do esperado, de fato tínhamos feito um bom trabalho. Foi uma grade satisfação saber que todo o trabalho que tinha feito a noite anterior, não tinha sido em vão, ninguém da organização ficou sabendo sobre isso, mas pessoalmente teve um imenso valor.

Eu não sou de forma algum experiente em programação em Python. Eu trabalho com programação a uns 10 anos, mas Python nunca foi o meu forte, mesmo com várias semelhanças com Ruby, que tem sido minha linguagem principal nos últimos meses, o Python era de certa forma um obstáculo.

Mas as 24 horas que passei programado, 12 da quinta feira, e mais 12 da noite que virei programando, com certeza me preparou pra o trabalho que veria em seguida. Então, logo após o anuncio de quais as equipes que tinha se classificado ficamos sabendo que as equipes deveriam se re-arranjar em grupos de três.

Minha equipe mudou e passei a trabalhar com dois programadores de Joeville, nem sabia eu que essa seria a equipe vencedora. Recebemos um N800 e a árdua tarefa de criar um leitor de ODF para o aparelho, usando pymaemo.

A tarefa em si não seria complexa, não fosse o tempo pra programar. Levando em conta que os aparelhos só ficaram disponíveis lá pelas 12h da sexta feira e que teríamos que entregar de volta ás 21h, e que no sábado teríamos mais umas 4 horas para termina o trabalho, ficamos com umas 13 horas de aparelho disponível para trabalhar.

Novamente mais um dia puxado de trabalho, pegando um pouco mais leve, afinal eu estava a mais de 24h sem dormir e com um agravante que quase ninguém sabia, eu passei por um cirurgia de apendicite no final do mês de março, e ainda não estava completamente recuperando, inclusive tendo que trocar curativos.

Mais um dia se foi e muito trabalho ainda tinha que ser feito, uma vez definido o caminho que queríamos seguir o trabalho estava nos trilhos, mas ainda longe de ser concluído. Novamente fui para casa e para mais algumas horas de trabalho noturno, cheguei no hotel tomei um banho e dei um tempo comendo uma parmejiana com amigos no Copão. De volta ao hotel passei mais uma noite em claro estudando pra o dia seguinte, como não tinha o aparelho, e dessa vez nem o emulador, passei a noite estudando sobre xslt (que estávamos usando na solução) e mais um pouco sobre Python e as bibliotecas que estávamos usando.

No dia seguinte a coisa foi um susto, em menos de 4 horas conseguimos juntar o trabalho que os três estavam fazendo e fazer um programa funcional a tempo de entregar, nossa estratégia se mostrou eficiente, pois mesmo trabalhando separados, estávamos sempre trocando ideia sobre o todo. Cada um pegou seu pedaço e trabalhou firme nele.

As horas seguintes ao fim da arena foram as mais duras que já passei, tínhamos que esperar das 12h até as 20h, quando aconteceria o encerramento do fisl, e teríamos o anuncio do resultado. Eu estava tremendamente cansado, com mais de 48 horas de olhos abertos, mas nem tentei deitar em um cato e descansar, estava ansioso d+ para isso.

As 19h rolou uma apresentação das equipes finalistas, falamos sobre nossas soluções, e fizemos um pequeno momento de reflexo sobre a possibilidade de continuar o projeto que tínhamos começado ali. Passado isso fomos andando para o teatro principal para o encerramento do evento, as borboletas no estômago já estavam do tamanho de elefantes, e a ansiedade de saber o resultado era visível no rosto de cada participante que tinha chegado ate ali.

Como sempre o anuncio dos vencedores começou pela ordem inversa e os ganhadores do terceiro e segundo lugar foram anunciados por primeiro. Neste 2 minutos que dura entre o anuncio do segundo lugar e o primeiro existe um vazio na cabeça de quem espera o resultado que é indiscritível, afinal, ou foi tudo ou foi nada, e as chances em números são as mesmas para os dois lados. Então o anuncio do vencedor e algo que não se pode dizer em palavras, ficamos tão feliz que pulamos os três abraçados por um longo e feliz minuto.

Depois disso a coisa só fica melhor, você leva horas para perceber o que aconteceu, e que você realmente ganhou. Receber o prémio e algo fantástico, mas saber que você deu conta é ainda melhor, e a loucura e algo que domina facilmente a gente nesse momento.

Logo depois de mostrar com toda felicidade o N800 que tinha ganhando ao público, escutei um sonoro “joga, joga, joga!!!”, era uma plateia maravilhada com os prémios, e que clamava de alguma forma pra participar daquilo, não pensei duas vezes, virei para uma mesa, deixei minha sacola, e comecei a desmontar meu W300 na busca pelo chip GSM, que não queria sair de forma alguma, quando consegui arranca-lo do aparelho foi apenas um grito: “PEGUE O CARREGADOR COMIGO DEPOIS”, estava feito, tinha jogado meu celular para plateia que o recebeu com toda a felicidade.

Depois disso veio a entrevista para a impressa, e maravilhosos momentos de comemoração e orgulho da conquista. O N800 foi explorado de todas as formas, e tenho grandes planos de participar do seu desenvolvimento, seja com projetos Open Source ou pessoais. O N95 demorou um pouco para ser entregue, mas finalmente chegou e é outro brinquedo sem igual.

Quanto ao projeto que desenvolvemos para o N800 a coisa esta andando, ainda não temos nenhum release, mas em breve devemos postar alguma novidade por aqui, quem quiser acompanhar o andamento do projeto pode acessar o site do projeto: http://code.google.com/p/odfmobile/ ou ainda o repositório do mesmo: http://github.com/nuxlli/odfmobile

Surpresas com o Fedora 8

Posted on April 21, 2008, under Fedora, fisl, ubuntu.

Tenho uma mania de instalar distro em versões betas, e me decepcionar com elas, e quando me decepciono mudo de distro e taxo a antiga como ruim.

Isso aconteceu a algum tempo quando usava Fedora Core 7 e resolvi testa ainda em versão de desenvolvimento o Fedora Core 8, tive uma surpresa, o sistema estava incrivelmente ruim, instável e visualmente mau acabado (mas claro cara pálida! era beta não é mesmo?). Nesta época voltei ao Ubuntu e fiquei nele ate a agora na versão 7.10.

Mas de novo repeti o mesmo que fiz com o Fedora, simplesmente não gostei do Ubuntu 8.04, minha primeira birra é com o Firefox 3, não era hora, não era hora mesmo de colocar ele em uma versão final de distro. Depois fiquei puto com a quantidade de problemas que ele me deu dentro da Arena, primeiro eram travamentos sem menor sentido no meio de codificações em gedit. Depois foi um problema que me impediu de assistir alguns screencasts em ogg. Depois fui instalar o SDK do maemo e tive uma serie de problemas com dependências mau resolvidas. Em fim não foi ele quem me ajudou a ganhar a arena, disso eu tenho certeza. Eu sei que ele ainda é beta, mas sei que eles não vão colocar o Firefox 2 na versão final, e só por isso já fico com o pé atrás quanto a qualidade final.

Como solução aos problemas fui atrás de um amigo do Fedora, resolvi dar uma nova chance ao bicho. Depois de alguns problemas com o dvd de instalação, chamaram um engenheiro Fedora para resolver o problema (quando lembra o nome dele atualizo aqui), ele executou alguns teste, como o de memória e de mídia, mas não encontrou o problema, percebi que era no carregamento do drive pcmcia, mas ele não disse nada. Fim das contas ele pegou um Live, e esse sim, foi instalado sem problemas.

Estou realmente encantado com o Fedora 8, um estabilidade do cão, o sistema parece estar muito mais rápido do que o Ubuntu, e o acabamento visual é inigualável. O Firefox não trava a mais de dois dias, e consegui instalar o SDK do maemo sem problemas.

Mas dessa vez não vou repetir o erro de antes, vou esperar sair uma versão final do Ubuntu 8.04 e dar uma chance ao bichinho também, vai que tenho novas surpresas.

Classificado para Arena

Posted on April 12, 2008, under Desenvolvimento, fisl.

Com muito esforço e algumas horas de estudo consegui passar na fase Registration da Arena de Programação do fisl 9.0. Depois de horas relembrando o que eu já sabia e aprendendo várias coisas novas consegui resolver o terceiro problema em C.

Pelas notícias, acredito que a maior parte dos desafios vão ser em Python e alguma coisa em Symbian C++, eu sou fã do desenvolvimento em C++ e Python, mas nunca peguei firme em aprender nenhuma das duas, sei a syntax, aprendi o duro conceito de ponteiros, mas nunca coloquei em pratica nada que possa me orgulhar em ter feito. Agora as vésperas do evento (faltam apenas 5 dias), vou ter que puxar no final semana, e juntamente com o projeto em Rails vou ter que tirar tempo pra estudar Python e C++, pelo menos relembrar o que já conhecia e perder algumas horas com o Forum da Nokia.

Já as espectativas, são boas, pelo que eu já vi no wiki em português, o desenvolvimento em Symbiam C++ chega a ser mais interessante que o de Python, mas já esbarrei no primeiro empecilho: o ambiente disponível oficialmente é para Windows, vou ter que correr atrás de uma alternativa para o Linux. Outra questão que promete é possibilidade de rodar Ruby no Symbian.

Pelo visto o céu é o limite em se tratando de Symbian, já arrisco em dizer que um porte de Lua (minha linguagem predileta) poderia ser arranjado com uma certa facilidade, afinal ninguém merece trabalhar com Java não é mesmo. :)