Resumo Lakademy 2012

Olá Pessoal,

Faz um certo tempo que estou sumido, mas agora estou de volta.

Primeiro, para quem estava de férias em Marte nos últimos meses, está ocorrendo desde sexta-feira (27/03) em Porto Alegre o LaKademy (Conferência latino-americana de colaboradores do KDE – http://br.kde.org/LAkademy). Essa é a primeira edição desse evento e posso adiantar que não será a última.

Para quem não sabe o que pessoas colaboradoras de um projeto de software livre fazem em um evento desse tipo, segue uma breve explicação. Esses eventos tem por objetivo de estreitar os laços entre os colaboradores, além de propiciar um ambiente MUITO produtivo. Para isso, esses eventos são em uma casa/hotel/hostel/fazenda… onde as pessoas sonham com códigos, traduzem documentação para o café da manhã, escovam bits e jantam idéias de como podemos ser mais úteis à comunidade (e ao mundo, em consequência).

Como reunimos um grande número de colaboradores do KDE, conseguimos ter uma grande bolha de conhecimento onde sempre existe alguém que sabe resolver algum problema que estamos enfrentando, além é claro de conseguirmos ter melhores idéias quando pensamos coletivamente.

Mas bem, eu vou dar um breve relato dos acontecimentos aqui do LaKademy:
Eu cheguei na noite anterior ao início do evento (quinta) pois estava aqui na região resolvendo uns problemas de um outro projeto de pesquisa que participo. Rapaz! foi muito bom rever os amigos (alguns que não via a mais de 2 anos) e também conhecer novos amigos.

Durante o primeiro dia, me concentrei em colocar o plugin de árvores enraizadas no repositório do Rocs. Ele estava em um repositório paralelo e teve que sofrer algumas atualizações (o git estava bloqueado na universidade e devido a péssima qualidade do serviço de internet estamos sem internet em casa, isso significa que minha base de código estava desatualizada). Andreas Cord-Landwehr (CoLa) está trabalhando numa nova funcionalidade que permitirá ter camadas de grafos tanto em nível de arestas quanto de nós (Good work CoLa!), por isso precisei refatorar parte do código do plugin de árvores. Esse plugin já está no repositório e pode ser baixado e testado.

No segundo dia nós fomos para o FLISOL, Festival Latino Amricano de Instalação de Software Livre (http://www.installfest.net/FLISOL2012/Brasil/PortoAlegre) com a palestra (conversa/debate/fórum) “KDE, a vida, o universo e tudo mais” (muito obrigado pelo convite Luiz H. Rauber e aos patrocinadores pelo apoio ao Flisol). Nós ficamos quase todo o dia por lá, então foi legal que algumas pessoas vieram na sala que estavamos fazendo o sprint para saber mais sobre o KDE. Durante a palestra, nós conversamos com os presentes para responder dúvidas e acabar com mitos como de que o KDE é pesado, lento e instável. Nós percebemos que as pessoas tem essa visão que o KDE não bom baseado em uma versão muito antiga do KDE (4.0 que foi lançada em 2008). Para acabar com esse mito, foi apresentamos alguns dados para mostrar que o KDE evoluiu e que o que as questões de lentidão, instabilidade e consumo de recursos não são mais um problema nas versões atuais. Sábado foi basicamente isso, depois voltamos e codificamos mais um pouco.

No Domingo (terceiro dia) foi o dia de nos reunirmos para analisar como o KDE está na américa latina e quais são as ações futuras. Um dos principais pontos é como expandir nossos territórios :). Brincadeiras a parte, nós levantamos alguns pontos como por exemplo como nós como KDE podemos apresentar nossas soluções de software para as pessoas que nunca ouviram falar em KDE? ou como mostrar para um novato no mundo de desenvolvimento como o KDE pode facilitar a vida dele? Esses foram alguns pontos mais de provocação, mas já temos algumas linhas de ações que serão disponibilizadas pelo KDE-Brasil em breve.

A segunda foi um dia que teve um ótimo rendimento para os hackers do KDE, não tivemos reuniões nem pessoas chegando, ou seja, todos estavam imersos nos seus computadores. No Rocs consegui resolver alguns defeitos e implementar uma funcionalidade que impede o uso ferramentas específicas para uma estrutura de dados em outra (não faz sentido gerar um grafo completo se estamos trabalhando com um lista ligada, ou faz?).

A terça foi um dia de muitas caras tristes. Tudo tem um fim. Uma parte do pessoal foi embora de madrugada, então na segunda a noite já estávamos nos despedindo e já sentindo uma pontinha de saudade. No restante do dia fomos tentando trabalhar enquanto nos despediamos dos nossos amigos e anfitriões.

Para finalizar, eu vejo o LaKademy, como outros tipos de sprints, como sendo um ótimo evento para conhecer os novos colaboradores e também para unir ainda mais os colaboradores antigos. Em uma metodologia de desenvolvimento de software distribuido, esses encontros são, ao meu ver, funcamentais, deles saem novas ideias e novos projetos (fiquem de olho no liveblue.wordpress.com nos próximos dias).

Ainda estou aqui em Porto Alegre, mas já estou ancioso pelo próximo evento :)

Rocs Plugin (kservice) suport

I wrote this post a month back, but just now I have decided to post it.

Well, some weeks back i commited an initial project for plugins on Rocs, and it’s almost finished… but i had a question about life, the universe and everything: Why i took too long (3 weeks) to put it to work ?

First, i have some others stuff to do, but, this is not a true answer…

Second, I started with QtPlugins, It worked very well! But, and it is a big but, how will Rocs know the location of the installed plugins? Since plugins are shared lib loaded at runtime, I had to make this work somehow. So at IRC, #kde-dev, Rakuko told me something about KServices, unknow by me till then. So, with a little search on the KDE api, i found the rigth way (or KDE way) to make it works flawessly.

So, I had to stop doing with Qt Plugins and rewriting everything to use KServices, back from line zero. =)

After some hack. i had a problem loading the plugins, they were found in the system, but not loaded. So i started to look at other plugins (from kopete for instance) , Plugin example from kdevelop (What if some KDE programs where closed source? Maybe i will be still boring people at IRC to resolve that =). But it worked, compiled in a charmingly and cute way, then I forgot to work on them for another week.

Until the end of last week Rocs was compiled with static libs, so Tomaz made a shared lib with core classes, including plugin manager and interfaces and i went back to hack today. Looking at TextEditor plugin example, i saw 2 things that i have not noticied back then:
-use of library export (KDE_EXPORT/KDE_IMPORT) and
-use of explicit at contructor, both at interface class declaration.

With this 2 things, plugins started to load :)

Now Rocs have import/export and initial tools plugins suport. In next post i will give all the info required for your own plugin… by now take a look in this screenshot of import/export and a set of nodes with some properties.

[]’s

Wagner

%d blogueiros gostam disto: