Apresentando um estudante do Season of KDE 2014 – Minh Ngo

Season of KDE é um programa da comunidade KDE que auxilia novatos no desenvolvimento de projetos de software livre. Este ano estou trabalhando como orientador em um projeto relacionado ao Cantor, há muito requisitado pelos usuários – o desenvolvimento do backend para Python 3. Você poder ler mais sobre o Cantor em meu blog (textos em inglês e português). Vamos dar as boas-vindas e desejar boa sorte e bom trabalho à Minh Ngo, o estudante por trás desse projeto! Ele escreveu um texto de apresentação que traduzo abaixo.

Olá,

Meu nome é Minh,

Minh Ngo

Sou um estudante graduado. Sou vietnamita, mas ao contrário de outros estudantes vietnamitas, passei boa parte da minha vida na Ucrânia. Atualmente estou me preparando para um curso de mestrado, que devo iniciar no próximo semestre.

Open source é meu hobby nos tempos livres, onde eu gosto de fazer algo de útil para a comunidade. Anteriormente eu participei do Google Summer of Code 2013 e em vários outros projetos open source. Alguns dos meus projetos pessoais estão disponíveis no github em https://github.com/Ignotus. Eles não são muito populares como outros projetos legais, mas várias pessoas estão usando eles e isso me faz muito feliz :) .

Cantor é uma oportunidade para dedicar meu tempo para criar coisas úteis e ganhar uma exclusiva camiseta do KDE :). Eu decidi começar minha contribuição com o backend do Python 3 porque meses atrás estava fazendo algumas aulas relacionadas com aprendizado de máquina, o que me fez procurar por um backend estável, em versão desktop, para o IPython. Eu não gosto muito da versão notebook do IPython, e a versão qtconsole não satisfaz meus critérios de funcionalidade, portanto decidi encontrar algum frontend para IPython que eu pudesse modificar para mim mesmo. E assim minha história com o Cantor começou :).

Happy hacking!

Presenting a Season of KDE 2014 student – Minh Ngo

Season of KDE is an outreach program hosted by the KDE community. This year I am working as a mentor to a long time requested project related with Cantor – the development of Python 3 backend. You can read more about Cantor in my blog (texts in English and Portuguese). So, let’s say welcome and good luck to Minh Ngo, the student behind this project!

Hi,

My name is Minh,

Minh Ngo

I’m BSc graduated student. I’m Vietnamese, but unlike other Vietnamese students spent most of my life in Ukraine. Currently, I’m preparing myself to the Master degree that will start in the next semester.

Open source is my free time hobby, so I would like to make something that is useful for the community. Previously, I was participated in the GSoC 2013 program and in several open source projects. Some of my personal projects is available on my github page https://github.com/Ignotus, not so popular like other cool projects, but several are used by other people and this fact makes me very happy :) .

Cantor is one of opportunities to spend time to create an useful thing and win an exclusive KDE T-shirt :). I decided to start my contribution with the Python3 backend, because few months ago I studied several courses that are related with Machine Learning, so I was looking for a stable desktop backend for IPython. A notebook version IPython I do not entirely like and its qtconsole version doesn’t satisfy me in terms of functionality, therefore I decided to find some existent frontend for IPython that I can tune for myself. And the story with Cantor began after than :)

Happy hacking!

Cantor: novas funcionalidades no KDE 4.14

KDE 4.14 foi lançado em agosto de 2014, mas até o momento não tive tempo para escrever sobre as novas funcionalidades do Cantor disponíveis naquele release.

Portanto, vamos corrigir isso agora!

Novo backend: Lua

A família de backends do Cantor tem um novo membro: Lua, usando a implementação luajit.

Este backend já dispõe de várias funcionalidades: destaque de sintaxe, auto-complementação de código, carrega figuras no terminal, editor de scripts, e mais

Cantor + Lua em ação

O backend para Lua foi desenvolvido pelo brasileiro Lucas Negri, e isso é um motivo para eu ficar muito feliz. Bem-vindo a bordo Lucas!

Você pode ler mais sobre esse backend em um texto no blog do Lucas.

Uso de utf8 em códigos LaTeX

Quando você exporta seu terminal para LaTeX, a codificação utf8 agora é utilizada por padrão. Essa melhoria foi desenvolvida por Lucas.

Suporte à extensão pacotes nos backends para Sage e Octave

Agora estes backends tem um assistente para importar pacotes/módulos/bibliotecas.

Suporte para scripts que executam automaticamente

python2_autorun

Scripts para execução automática no backend para Python 2

Agora os backends para Python 2, Scilab, Octave, Sage, Maxima, Qalculate, e KAlgebra tem suporte para execução automática de scripts. Você pode configrar uma série de scripts ou comandos que serão executados no momento em que o Cantor carregar o terminal – ou seja, durante a inicialização.

Adicionado CTRL+Space como alternativa padrão à complementação de código no terminal

O comando padrão para complementação de código no terminal do Cantor é o botão TAB, mas agoras temos uma alternativa a isso: CTRL + Space. Isso manterá a consistência entre o editor de scripts (onde o comando padrão para essa funcionalidade é CTRL + Space) e o terminal.

Suporte inicial para os assistentes de algebra linear e criação de gráficos no Python 2

Desenvolvi um suporte inicial para dois plugins legais no backend para Python 2: algebra linear e criação de gráficos.

Primeiro, vamos ver o plugin de algebra linear. Na barra de menu, vá em Algebra Linear > Criar Matriz. Uma janela para criação de matrizes será aberta. Você deve então colocar os valores nas células.

python3_linearalgebraAssistente de criação de matriz

Após clicar no botão ‘Ok’, o comando para criação de matrizes da biblioteca numpy será carregado no terminal, automaticamente.

python2_linearalgebra_resultNova matriz criada

Por agora este plugin tem implementado apenas o suporte para criação de matrizes.

Veremos agora o plugin para criação de gráficos, que serve tanto para gráficos 2D quanto 3D. Façamos x = numpy.arange(0.0, 2.0, 0.01) e, na barra de menu, vamos em Gráfico > Gráfico 2D. A janela abaixo será aberta.

python2_graphicAssistente para criação de gráficos 2D

Você pode configurar uma expressão para o eixo Y (neste caso estou usando a função seno numpy.sin) e uma váriável ou função para o eixo X (neste caso, 2 * x * numpy.pi). Você poderia apenas colocar x no nome da variável para criar um gráfico dos valores de x.

Após pressionar ‘Ok’, o comando usando pylab será carregado no terminal para criar o gráfico.

python2_graphic_resultO assistente para gráficos 3D segue um padrão similar para criar as figuras.

Como você pode ver, utilizar esses assistentes requer alguns módulos do python carregados na área de trabalho, e eles devem ter os mesmos nomes utilizados nos plugins. Existem diversas formas de carregar módulos no ambiente python (import foo; import foo as [anyname]; from foo import *; etc), então fazer isso de forma genérica é praticamente impossível (na verdade eu queria ouvir algumas sugestões sobre isso da comunidade).

Minha escolha foi carregar numpy, scipy, matplotlib e pylab quando o backend para Python 2 é carregado pelo Cantor. Bem, eu pretendo mudar isso porque esses módulos passam a ser obrigatórios para o backend funcionar corretamente, e também porque pylab não é mais recomendado nas versões recentes do matplotlib. Então, eu espero alterar esse plugin o quanto antes.

De qualquer forma, gostaria de escutar as opiniões da comunidade de usuários de python no ambiente científico sobre essas funcionalidades.

Futuro

No momento estamos trabalhando no port do Cantor para Qt5/KF5. Você pode acompanhar esse trabalho no branch ‘frameworks‘ do repositório do Cantor.

Doações

Se você usa ou aprecia meu trabalho no Cantor, ou em algum outro projeto de software livre, por favor considere fazer uma doação para mim: assim eu poderei continuar me dedicando à contribuições e melhorias nesses projetos.

Você poderia considerar uma doação para o KDE também, e ajudar com a manutenção dessa grande comunidade de software livre e os projetos desenvolvidos por ela.

Cantor: new features in KDE 4.14

KDE 4.14 was released in August 2014 but I did not have time to write about new features in Cantor for that release.

So, let’s fix it now!

New backend: Lua

Cantor family of backends have a new member: Lua, using luajit implementation.

This backend have a lot of features: syntax highlighting, tab complete, figures in worksheet, script editor, and more.

Cantor + Lua in action

Lua backend was developed by Lucas Negri, a Brazilian guy, and this is a reason for me to be very happy. Welcome aboard Lucas!

You can read more about this backend in a text of Lucas blog.

Use utf8 on LaTeX entries

When you to export the worksheet to LaTeX, utf8 will be used as default. This improvement was developed by Lucas.

Support to packaging extension in Sage and Octave backends

Now these backends have an assistant to import packages/modules/libraries.

Support to auto run scripts

python2_autorun

Auto run scripts/commands in Python 2 backend

Now Python 2, Scilab, Octave, Sage, Maxima, Qalculate, and KAlgebra backends have support to auto run scripts. You can configure a set of scripts or commands and they will run automatically after the worksheet launch!

Add CTRL+Space as alternative default code completion to worksheet

Default code completion command in worksheet is TAB key, but now we have an alternative command too: CTRL + Space. It will maintain consistence between script editor (where the default code completion is CTRL + Space) and worksheet.

Initial support to linear algebra and plot assistants in Python 2

I developed the initial support to 2 amazing plugins in Python 2 backend: the linear algebra plugin and the plot plugin.

First, let’s see the linear algebra plugin. In menu bar go to Linear Algebra > Create Matrix. A window to matrix creation will be open, as below. You must to put the values in the cells.

python3_linearalgebraMatrix creation assistant

After push ‘Ok’ button, the matrix command from numpy  module will be loaded in the worksheet, automatically.

python2_linearalgebra_resultNew matrix created

For now this plugin have implemented just the matrix creation.

Let’s see the plot plugin now. You can use it to create 2D and 3D plot. Let’s to do x = numpy.arange(0.0, 2.0, 0.01) and, in menu bar, go to Graphics > Graphics 2D. The window below will be open.

python2_graphicPloting 2D assistant

You can set some expression to be the Y axis (in this case I am using numpy.sin) and a variable name to X axis (this case, 2 * x * numpy.pi). You could to put just x in variable name to do a plot with the values of x.

After push ‘Ok’ button, the command using pylab will be load in worksheet to make the graphic.

python2_graphic_result3D plotting assistant have a similar way to create the pictures.

How you can see, to use this assistants we need to have some python modules in the workspace, and they must to have the same name used in the plugins. There are a lot of ways to import modules in python environment (import foo; import foo as [anyname]; from foo import *; etc), so to do a generic way to use it is impossible (well, if you have some idea I would like to hear it).

My choice was to import numpy, scipy, matplotlib and pylab when Python 2 backend is loaded by Cantor. Well, I intent to change it because that modules will be mandatory to use Python 2 backend correctly, and pylab is not longer recommended in recent matplotlib version. So, wait for some changes in this plugin soon.

In any case, I would like to hear the opinions of scientific python community about this features.

Future

For now we are working in Cantor port to Qt5/KF5. You can follow the work in ‘frameworks‘ branch on Cantor repository.

Donations

If you use or appreciate my work in Cantor or another free software project, please consider to make a donation for me, then I can to continue my contributions to improve Cantor.

You can consider make a donation to KDE too, and help with the maintenance of this great free software community and their products.

Month of KDE Contributor: From LaKademy …

In recent weeks I had an intense “Month of KDE Contributor” that began with LaKademy, the KDE Latin American Summit, and ended with Akademy, the KDE World Summit. It was a month somewhat tiring, hard work, but it was also filled with good stories, great meetings, new contacts, discoveries and, I can say, fun.

This post I will write about LaKademy and the next I will comment about Akademy.

logoazul_menor

The second edition of LaKademy took place in São Paulo, one of the biggest cities of Latin America, in FLOSS Competence Center of University of Sao Paulo, an entire building dedicated to studies and researches on various aspects of free software: licenses, software engineering, metrics extracted from repositories, social aspects of collaboration, and more.

This year I and Aracele were the conference organizers, and I believe that we could provide all the infrastructure necessary to LaKademy attendees had good days of work in a pleasant and comfortable places.

First day we had talks of collaborators, and one that most caught my attention was Rafael Gomes on KDE sysadmin. It’s amazing the size of the infrastructure behind the scenes, a solid base that allows developers to do their jobs. It would be interesting to promote more this type of collaboration to attract potential contributors who prefer this side of computing.

14923088670_415cfc44df_z

This day I presented a talk about Qt in Android, describing the development tools configuration in Linux, presenting a basic Hello World, and commenting on some softwares availables using this technology, specially the VoltAir and GCompris. The presentation is below (in portuguese).

.

Second day we had a short-course about Qt, presented by Sandro Andrade. Impressive his didactic and how he manages to hold our attention for a whole day without getting boring or tiring. This day I was helping the other participants, especially those who were having the first contact with Qt development.

The third and fourth days were devoted to application hacking and projects development. I joined in “task-force” to port Bovo to KF5, I started the development of a metapackage to install all KF5 packages in Mageia, and I started the port of Cantor to KF5. I also fixed some KDE Brazil bots on social networks.

15106702121_ff87d73880_z

Task force to port Bovo to KF5

Fourth day we had a meeting to discuss some initiatives to promote KDE in Latin America, and we started to use Kanboard of KDE TODO to organize the implementation of these projects.

Besides the work we had some moments of relaxation at the event, as when we went to Garoa Hacker Clube, the main hackerspace in São Paulo, an activity we call Konvescote; and also when we all went to Augusta Street, one of the famous bohemian streets in the city.

15086717746_ec5d444223_z

KDE + Garoa

However, as in all events of Free Software and KDE Brazil, the best thing is see old friends again and meet new ones that are coming to the boat. For the novices, welcome and let’s to do a great work! For the veterans, we still have a good road ahead on this idea of writing free software and give back to the world something of beautiful, high quality technical, that respect the user.

KDE Brazil team wrote an excelent post enumerating what the attendees produced during the event. I suggest to all who still want more information to read that text.

I leave my thanks to KDE e.V. for providing this meeting. I hope to see more contributors in next LaKademy!

Month of KDE Contributor: …to Akademy

In recent weeks I had an intense “Month of KDE Contributor” that began with LaKademy, the KDE Latin American Summit, and ended with Akademy, the KDE World Summit. It was a month somewhat tiring, hard work, but it was also filled with good stories, great meetings, new contacts, discoveries and, I can say, fun.

Previous post I wrote about LaKademy and now I will write about Akademy.

LaKademy had ended just one day before and there I was getting a bus to São Paulo again, preparing for a trip that would take about 35 hours to Brno, with an unusual connection in Dubai and a bus from Prague, the Czech Republic capital, to the city of the event.

Arriving at Brno my attention was piqued by the beautiful architecture of this old city of the Eastern Europe, something exotic for Brazilians. During the event I had some time to walking in the city, especially on some nights for dinner and during the Day Trip. I could calmly enjoy the details of several buildings, museums, the castle and the city cathedral.

It was the second Akademy I attended, if you count the Desktop Summit in 2011. This time I am a member of the KDE e.V., the organization behind KDE, so my first task was to attend to General Assembly.

I was fascinated how dozens of contributors from different parts of the world, from different cultures, were there discussing the future of KDE, planning important steps for the project, checking the accounts of the entity, in short, doing a typical task of any association. I was also impressed by the long applause for Cornelius Schumacher, a member of the KDE e.V. Board since 2002 and former president of the association. A way to show gratitude for all work he accomplished in those over 10 years in KDE e.V. Board.

In the end the day we had a reception for participants at Red Hat. I was impressed with the size of the company in the city (three large buildings). We drank some beers of the country and distribute Brazilian cachaça. =)

IMG_20140905_193708

The next day began the talk days. I highlight the keynote of Sascha (I believe he was invited to Akademy after Kévin Ottens have seen him lecture here in Brazil during FISL), and the talk on GCompris, software that I admire because it is a educational suite for children. Unfortunately, one of the lectures that I wanted to see not occurred, that was Cofunding KDE aplications. We were David Faure talking about software ports to KF5, and presentation of KDE groups of India and Taiwan in the end of day.

The second day of talks we had a curious keynote of Cornelius who presented some history of KDE using images of old contributors. The highlights of the day were also the presentations by VDG staff, the group that is doing a amazing design work in Plasma 5, and now they are extending their mouse pointer to KDE applications too. Great!

Another interesting presentation was on Next Generation of Desktop Applications, by Alex Fiestas. He argued that the new generation of software need to combine information from different web sources in order to provide a unique user experience. He used examples of such applications, and I’m very curious to try Jungle, video player that will have these characteristics.

Finally this day had a lecture by Paul Adams, very exciting. He shows that, after investigation in KDE repositories, the degree of contribution among developers decreased with the migration from SVN to GIT, the number of commits decreased too, and more. Paul has interesting work in this area, but for my part I think it is necessary to explain this conclusions using anothers concepts too, because we need to understand if this decreased is necessarily a bad thing. Maybe today are we developers more specialized than before? Maybe is the decrement of commits just a result of code base stabilization in that time? Something not yet concluded in KDE is that we came from a large unified project (including in repository level) to a large community of subprojects (today we are like Apache, maybe). In this scenario, is it worth doing comparisons between what we are today with what we were yesterday, based only on our repositories? Anyway, it is a good point to ponder.

In BoFs days, I participated in the first two parts of the software documentation  BoF – an important and necessary work, and we developers need to give a little more attention to it -; FOSS in Taiwan and KDE Edu in India. Unfortunately I could not attend to packagers BoF (well, I am a packager in Mageia), because it occurred in the same time of Taiwan BoF. Letś try again in next Akademy. =)

I like to see the experiences of users/developers groups in other countries; the management of these activities attracts me, mainly because we can apply either in Brazil. I left this Akademy with the desire to prepare something about Latin America community to the next event. I believe we have much to share with the community about what we’re doing here, our successes and failures, and the contribution of Latin American for the project.

Finally the other days I continued working on the Cantor port to KF5 or I was talking with different developers in the halls of university.

To me it’s very important to participate in Akademy because there I can see the power of free software and its contributors, and how this culture of collaboration brings together different people for development and evolution of free computer programs. Therefore, I would like to thank immensely to KDE e.V. for the opportunity to go to Akademy and I would like to say that I feel very good to be part of this great community that is KDE. =)

The best of all is to see old friends again and meet new people. When that e-mail address gets contours of human face is a very special moment for us who work “so close and so distant”. So it was amazing to be with all of you!

Akademy 2014 Group Photo – giant size here

And to finnish I desire a great job to the new KDE e.V. Board!

Those interested, most of the talks presented with video and slides are available in this link.

Mês do Contribuidor KDE: …para o Akademy

Nas últimas semanas tive um intenso “mês do contribuidor KDE” que começou com o LaKademy, a conferência latinoamericana, e terminou com o Akademy, a conferência mundial. Foi um mês um tanto cansativo, de muito trabalho, mas que também foi repleto de boas histórias, grandes reencontros, novos contatos, descobertas e, por que não dizer, divertido.

No artigo anterior falei sobre o LaKademy, e agora comentarei o que rolou no Akademy.

O LaKademy havia terminado apenas um dia antes e lá estava eu, novamente pegando ônibus à São Paulo e me preparando para uma viagem que levaria por volta de 35 horas até Brno, contando com uma escala inusitada em Dubai e um ônibus de Praga, a capital da República Checa, até a cidade do evento.

Chegando à Brno chamou-me atenção a bela arquitetura de cidade antiga do leste europeu, algo exótico para nós brasileiros. Durante o evento pude vez ou outra me aventurar pela cidade, principalmente em algumas noites para jantar e no Day Trip, e consegui apreciar com calma os detalhes de vários prédios, museus, o castelo, e a catedral da cidade.

Esse Akademy foi o segundo que participei, se contarmos o Desktop Summit em 2011. Dessa vez estava como membro do KDE e.V., a organização que gerencia a parte burocrática/política do KDE, portanto minha primeira atividade foi participar da assembleia geral.

Me encantou a maneira como dezenas de contribuidores de diferentes lugares do mundo e linhas de atuação estavam ali, discutindo o futuro do KDE, planejando passos importantes para o projeto, verificando as contas da entidade, enfim, fazendo um trabalho típico de qualquer associação. Achei também impressionante a longa salva de palmas que Cornelius Schumacher, integrante do Board do KDE e.V. desde 2002 e ex-presidente da associação, recebeu dos presentes, uma maneira de demonstrar gratidão por todo o trabalho que ele realizou nesses mais de 10 anos na direção da entidade.

Para finalizar o dia teve uma recepção aos participantes na Red Hat, que me impressionou pelo tamanho da empresa na cidade (três grandes prédios). Lá pudemos tomar cervejas do país e distribuímos um pouco da cachaça brasileira. =)

IMG_20140905_193708

O dia seguinte iniciou a fase das palestras, das quais destaco o keynote do Sascha (que acredito ter sido convidado para o Akademy após o Kevin Ottens ter assistido a palestra dele aqui no Brasil durante o FISL desse ano), e a palestra sobre o GCompris, um software que admiro bastante pela pegada direcionada às crianças. Infelizmente, uma das palestras que queria ter assistido não ocorreu, que foi a Cofunding KDE aplications. Em seguida tivemos o David Faure falando sobre ports para o KF5, e mais para o fim do dia uma apresentação dos grupos do KDE da Índia e Taiwan.

No segundo dia de palestras teve o curioso keynote do Cornelius que apresentou um pouco da história do KDE a partir de imagens de antigos contribuidores do projeto. Os destaques desse dia também foram as apresentações do pessoal do VDG, o grupo que está fazendo um belo trabalho de design no Plasma 5 e agora estão estendendo o alcance do ponteiro dos seus mouses para as próprias aplicações do KDE.

Outra apresentação interessante foi sobre Next Generaion of Desktop Applications, do Alex Fiestas, onde ele argumentou que os softwares da nova geração precisam combinar informações provenientes de diferentes serviços da internet, de forma a prover ao usuário uma experiência única. Ele usou alguns exemplos de aplicações desse tipo, e estou muito curioso para experimentar o Jungle, player de vídeo que terá essas características.

Finalizando este dia tivemos a palestra do Paul Adams, muito instigante, mostrando que após investigação no repositório do KDE podemos perceber que o grau de contribuição entre os desenvolvedores diminuiu com a passagem do SVN para o GIT, que o número de commits caiu, etc. Paul tem interessantes trabalhos nessa área, mas de minha parte acho que se faz necessário outros aportes para explicar isso, inclusive para entendermos se isso é algo necessariamente ruim. Talvez hoje estejamos mais especializados do que antes? Talvez a baixa dos commits seja apenas resultado da estabilização da base de código durante esse tempo? Algo que ainda não concluímos no KDE é entendermos que passamos de um grande projeto unificado (inclusive a nível de repositório) para uma grande comunidade de subprojetos (hoje nós somos meio como a Apache). Nesse cenário, cabe fazermos comparações com o que somos hoje com o que fomos ontem, baseado apenas nos nossos repositórios? De qualquer forma, é um bom ponto para refletirmos.

Já na fase dos BoFs, participei nas primeiras duas partes do voltado à documentação de software – um trabalho importante e necessário, e que todos nós desenvolvedores poderíamos dar um pouco mais de atenção -; FOSS em Taiwan e KDE Edu na India. Infelizmente não pude comparecer ao de empacotadores (bem, eu faço empacotamento no Mageia), porque chocou com o de Taiwan. Fica para a próxima. =)

No geral gosto de ver as experiências dos grupos de usuários/desenvolvedores em outros países; a parte gerencial dessas atividades me atrai, principalmente porque podemos aplicar uma ou outra no Brasil. Saí desse Akademy com o desejo de preparar algo sobre a América Latina para o próximo evento. Acredito que temos muito a compartilhar com a comunidade sobre o que andamos fazendo por aqui, nossos erros e acertos, e qual a contribuição dos latinoamericanos para o projeto.

Finalmente, nos demais dias continuei trabalhando no port do Cantor para KF5 ou estava conversando com diferentes colaboradores do projeto pelos corredores da universidade.

Para mim é muito importante participar do Akademy pois nele eu consigo visualizar a extensão do software livre e seus contribuidores, e como essa cultura da colaboração reúne gente tão diferente em prol do desenvolvimento e evolução de programas de computador livres. Portanto, gostaria imensamente de agredecer ao KDE e.V. pela oportunidade e dizer que me sinto muito bem em fazer parte dessa grande comunidade que é o KDE. =)

E o melhor de tudo é rever o pessoal e conhecer novas pessoas. A hora em que aquele endereço de e-mail ganha contornos de face humana é um momento muito especial para nós que trabalhamos “tão próximos e tão distantes”, para usar esse chavão bastante verdadeiro. Portanto, foi muito bom estar com todos vocês pessoas!

Foto da comunidade KDE no Akademy 2014 – aqui em tamanho gigante

E fica meu desejo de bom trabalho ao novo Board do KDE e.V.!

Quem tiver interesse, boa parte das palestras está com vídeo e slides neste link.