O que acontecen na Maratona de Programação 2016
16 de Abril de 2016 às 09:37
A Maratona de Programação deste ano tomou lugar no Devonshire Hall, na Universidade de Leeds, no Reino Unido. O espaço do encontro foi num grandioso complexo de antigos edifícios, que forneceu um bonito cenário para trabalhar no Inkscape.
Dez programadores participaram na maratona, apenas o anfitrião era de Leeds todos os restantes eram de fora de Inglaterra, e deslocaram-se durante o fim de semana. Na primeira noite reunimo-nos para socializar acompanhados de bebidas e umas pizzas num bar local, antes de regressarmos aos respectivos hotéis. Isto permitiu a todos conhecer conhecer-nos melhor, e sentirmo-nos mais à vontade no dia seguinte no ponto de encontro.
No primeiro dia frequentámos uma sala ao fundo do Devonshire Hall. Ofereceram-nos chá, café e biscoitos, uma sala para socializar, e prosseguimos para a sala de trabalho onde um conjunto de mesas foi disposto. Cada mesa tinha espaço para três pessoas e começamos pelas apresentações, interesses no projecto e pontos de foque para a maratona. Os pontos acordados foram:
Às horas de almoço o Devonshire Hall punha ao nosso dispor um completo serviço de almoço. Todos acordaram que o anfitrião foi o melhor até à data e irá elevar a fasquia para futuros eventos.
Nessa noite socializámos um pouco e jantámos num bar chamado "The Library" (A Biblioteca) antes de regressarmos aos hotéis.
No dia seguinte passámos a maior parte do tempo a trabalhar no código. Provavelmente o maior sucesso foi o Krzysztof ter conseguido resolver o erro de de exibição com o Gtk3. A correcção faz com que as pré-visualizações no diálogo de ficheiros deixe de funcionar, por isso temos ainda de resolver esse problema. Apesar da versão Gtk3 estar já num estado utilizável, há ainda muito trabalho a fazer. O Alex e o Martin têm trabalhado nisto. Acordámos em migrar a compilação pré definida para GTK3 após o lançamento da versão 0.92 para que este receba mais atenção. Foi adicionalmente feito algum progresso no sistema CMake e em diversas outras áreas.
Tivemos uma apresentação preliminar do sistema de extensões C++ do Sebastian e Moritz da Semiodesk, incluindo uma demonstração da extensão de Grelha implementada em C++. Eles iram colocar documentação na Wiki do Inkscape, incluindo um exemplo de "Hello World". O enfoque será agora em fazer as extensões funcionar no sistema Windows. Estas extensões iram complementar as existentes em Python, e não substitui-las.
O Alex levou-nos a uma especialidade local para o momento social do segundo dia, um restaurante de caril da cidade. Envolveu uma longa caminhada, mas valeu totalmente o esforço.
O dia final trouxe mais programação. Cerca de 70 submissões foram feitas à árvore de código do Inkscape durante a maratona, algumas apenas uma linha ou duas, outras consideravelmente maiores. O maior sucesso foi a correcção do erro de exibição com o GTK3 que requereu várias iterações. Foi bom ter tantos participantes na sala para testar e dar pareceres e opiniões instantâneas, enquanto o Krzysztof trabalhava nas correcções. Após o lançamento da versão 0.92 tornaremos o GTK3 pré definido no ramo principal de desenvolvimento, para temos mais programadores a trabalhar em correcções adicionais. O Alex e o Martin já deram um considerável avanço na redução dos literais milhares de linhas de avisos de obsolescência que ocorrem na compilação com GTK3.
O grande objectivo, pôr o sistema de compilação CMake a funcionar, está também próximo de completo. O CMake funciona bem no Linux, mas têm ainda um problema de conexão no Windows. Os participantes da Semiodesk mostraram-se disponíveis para o fazer, uma vez que é também essencial para poderem utilizar o seu sistema de extensões no Windows.
Passámos também algum tempo a discutir problemas de infra-estrutura. O consenso foi de migrar o nosso código para o Git. Isto trará alguns benefícios. Git é melhor conhecido por entre os programadores, pelo que será mais fácil novos participantes começarem a contribuir. O Git permitem também "sub-módulos", o que dá a possibilidade do Inkscape mover código para bibliotecas separadas. Deixará de ser necessário manter uma cópia da biblioteca lib2geom na nossa árvore de código.
O Martin trabalhou nalguns melhoramentos na nossa extensão de Códigos de Barras e sua limpeza.
O Tav reuniu todos os membros após o almoço para uma rápida reunião.
- Decidimos que o GitHub será o nosso serviço anfitrião de controlo de código fonte. Foi manifestada alguma relutância em utilizar um anfitrião de código fechado, mas estes oferecem a melhor solução de CI (integração contínua) para compilações automáticas e testes. Não dispomos de muito tempo nem recursos dedicado dos programadores para gerir uma solução mais complexa. Não é possível de momento utilizar o gestor de questões do GitHub para o Inkscape de momento, por essa razão os erros e respostas ficaram no Launchpad de momento.
- Queremos mudar as nossas listas de correio do Mailman 2 para o Mailman 3. É um assunto de baixa prioridade para o nosso anfitrião OSUOSL, mas o Martin ofereceu os nossos serviços para instalar o Mailman 3.
- Chegámos ao consenso de migrar para C++11 após o lançamento da versão 0.92. Algumas das bibliotecas das quais dependemos já o tornaram obrigatório. Existem também benefícios directos da transição para C++11, especialmente na simplificação e legibilidade do código.
A última actividade para o dia final foi um jantar oficial da maratona num bar de Leeds com as melhores sobremesas e uma óptima discussão. A programação continuou no dia seguinte, antes dos participantes se encaminharem para Londres para estarem presentes na LGM (Libre Graphics Meeting) para o segundo acto desta aventura.
No geral foi uma maratona de grande sucesso. Queremos agradecer aos nossos patrocinadores que tornaram esta maratona possível! Veja a galeria completa aqui!