Seja bem vind@, se você é um debiano (um baiano que usa debian) faça parte de nossa comunidade!

DebConf 14: Community, Debian CI, Ruby, Redmine, and Noosfero

1 de Setembro de 2014, por Desconhecido - 0sem comentários ainda

This time, for personal reasons I wasn’t able to attend the full DebConf, which started on the Saturday August 22nd. I arrived at Portland on the Tuesday the 26th by noon, at the 4th of the conference. Even though I would like to arrive earlier, the loss was alleviated by the work of the amazing DebConf video team. I was able to follow remotely most of the sessions I would like to attend if I were there already.

As I will say to everyone, DebConf is for sure the best conference I have ever attended. The technical and philosophical discussions that take place in talks, BoF sessions or even unplanned ad-hoc gathering are deep. The hacking moments where you have a chance to pair with fellow developers, with whom you usually only have contact remotely via IRC or email, are precious.

That is all great. But definitively, catching up with old friends, and making new ones, is what makes DebConf so special. Your old friends are your old friends, and meeting them again after so much time is always a pleasure. New friendships will already start with a powerful bond, which is being part of the Debian community.

Being only 4 hours behind my home time zone, jetlag wasn’t a big problem during the day. However, I was waking up too early in the morning and consequently getting tired very early at night, so I mostly didn’t go out after hacklabs were closed at 10PM.

Despite all of the discussion, being in the audience for several talks, other social interactions and whatnot, during this DebConf I have managed to do quite some useful work.

debci and the Debian Continuous Integration project

I gave a talk where I discussed past, present, and future of debci and the Debian Continuous Integration project. The slides are available, as well as the video recording. One thing I want you to take away is that there is a difference between debci and the Debian Continuous Integration project:

  • debci is a platform for Continuous Integration specifically tailored for the Debian repository and similar ones. If you work on a Debian derivative, or otherwise provides Debian packages in a repository, you can use debci to run tests for your stuff.
    • a (very) few thinks in debci, though, are currently hardcoded for Debian. Other projects using it would be a nice and needed peer pressure to get rid of those.
  • Debian Continuous Integration is Debian’s instance of debci, which currently runs tests for all packages in the unstable distribution that provide autopkgtest support. It will be expanded in the future to run tests on other suites and architectures.

A few days before DebConf, Cédric Boutillier managed to extract gem2deb-test-runner from gem2deb, so that autopkgtest tests can be run against any Ruby package that has tests by running gem2deb-test-runner --autopkgtest. gem2deb-test-runner will do the right thing, make sure that the tests don’t use code from the source package, but instead run them against the installed package.

Then, right after my talk I was glad to discover that the Perl team is also working on a similar tool that will automate running tests for their packages against the installed package. We agreed that they will send me a whitelist of packages in which we could just call that tool and have it do The Right Thing.

We might be talking here about getting autopkgtest support (and consequentially continuous integration) for free for almost 2000 packages. The missing bits for this to happen are:

  • making debci use a whitelist of packages that, while not having the appropriate Testsuite: autopkgtest field in the Sources file, could be assumed to have autopkgtest support by calling the right tool (gem2deb-test-runner for Ruby, or the Perl team’s new tool for Perl packages).
  • make the autopkgtest test runner assume a corresponding, implicit, debian/tests/control when it not exists in those packages

During a few days I have mentored Lucas Kanashiro, who also attended DebConf, on writing a patch to add support for email notifications in debci so maintainers can be pro-actively notified of status changes (pass/fail, fail/pass) in their packages.

I have also started hacking on the support for distributed workers, based on the initial work by Martin Pitt:

  • updated the amqp branch against the code in the master branch.
  • added a debci enqueue command that can be used to force test runs for packages given on the command line.
  • I sent a patch for librabbitmq that adds support for limiting the number of messages the server will send to a connected client. With this patch applied, the debci workers were modified to request being sent only 1 message at a time, so late workers will start to receive packages to process as soon as they are up. Without this, a single connected worker would receive all messages right away, while a second worker that comes up 1 second later would sit idle until new packages are queued for testing.


I had some discusion with Christian about making Rubygems install to $HOME by default when the user is not root. We discussed a few implementation options, and while I don’t have a solution yet, we have a better understanding of the potential pitfalls.

The Ruby BoF session on Friday produced a few interesting discussions. Some take away point include, but are not limited to:

  • Since the last DebConf, we were able to remove all obsolete Ruby interpreters, and now only have Ruby 2.1 in unstable. Ruby 2.1 will be the default version in Debian 8 (jessie).
  • There is user interest is being able to run the interpreter from Debian, but install everything else from Rubygems.
  • We are lacking in all the documentation-related goals for jessie that were proposed at the previous DebConf.


I was able to make Redmine work with the Rails 4 stack we currently have in unstable/testing. This required using a snapshot of the still unreleased version 3.0 based on the rails-4.1 branch in the upstream Subversion repository as source.

I am a little nervous about using a upstream snapshot, though. According to the "roadmap of the project ": the only purpose of the 3.0 release will be to upgrade to Rails 4, but before that happens there should be a 2.6.0 release that is also not released yet. 3.0 should be equivalent to that 2.6.0 version both feature-wise and, specially, bug-wise. The only problem is that we don’t know what that 2.6.0 looks like yet. According to the roadmap it seems there is not much left in term of features for 2.6.0, though.

The updated package is not in unstable yet, but will be soon. It needs more testing, and a good update to the documentation. Those interested in helping to test Redmine on jessie before the freeze please get in touch with me.


I gave a lighting talk on Noosfero, a platform for social networking websites I am upstream for. It is a Rails appplication licensed under the AGPLv3, and there are packages for wheezy. You can checkout the slides I used. Video recording is not available yet, but should be soon.

That’s it. I am looking forward to DebConf 15 at Heidelberg. :-)

KDE Connect, usando seu celular como controle remoto do PC

1 de Setembro de 2014, por Desconhecido - 0sem comentários ainda

KDE Connect é um projeto que tem objetivo comunicar o KDE com seu celular.

Com o KDE Connect hoje é possível fazer várias coisas interessantes:

  • Enviar e receber arquivos do seu celular
  • Notifica no seu KDE quando recebe ligação e mensagem SMS no celular
  • Informa no seu KDE a carga atual da sua bateria do celular
  • Navega nos arquivos do seu celular via KDE
  • Pausa o som do seu KDE quando recebe ligação
  • Controle multimídia do KDE a partir do celular
  • Controle do ponteiro do mouse no KDE a partir do KDE

Para usar é muito fácil, basta instalar um aplicativo em seu KDE e outro no celular.

No seu KDE, caso utilize debian, pode instalar com o seguinte comando:

# aptitude install kdeconnect

Obs: Infelizmente o debian, mesmo a versão unstable, não tem a versão mais nova do kdeconnect.

Caso queira instalar a versão mais nova do KDE Connect, siga os passos abaixo:

# aptitude install kde-workspace-dev libqca2-dev libqjson-dev libxtst-dev libfakekey-dev git
# git clone git://
# cd kdeconnect-kde
# mkdir build
# cd build
# cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DQT_QMAKE_EXECUTABLE=/usr/bin/qmake-qt4

# make
# sudo make install

Depois de instalado, ele aparecerá em seu gerenciador do KDE


Para instalar a versão android do KDE Connect no seu celular basta procurar no seu google play o KDE Connect e instalar, da mesma forma como faz para todos outros aplicativos do android.

O KDE Connect se conecta de forma bem simples, basta que os dois dispositivos estejam na mesma rede WiFi.

Obs: Infelizmente ele ainda não tem suporte a conexão via bluetooth.

Quando um celular que tem o aplicativo KDE Connect acessar uma rede, ele envia um broadcast para buscar dispositivos com KDE Connect instalado no KDE. Uma vez encontrado, o KDE interage automaticamente com o dispositivo apenas para coletar informações de acesso, ou seja, os dispositivos não se conectam automaticamente.


Lista de dispositivos com KDE Connect na mesma rede

Uma vez encontrado o aparelho desejado para conexão, é necessário efetuar uma liberação em ambos dispositivos.


O celular pode solicitar pareamento com o KDE

Uma vez recebido a solicitação de pareamento, o KDE pode ou não autorizar a conexão.


Aparecerá uma notificação em seu KDE

O inicio dessa conexão pode ser em sentido contrário, ou seja, o KDE lista os celulares com KDE Connect instalado e solicitar pareamento, sendo assim você precisará confirmar em seu telefone.

Como foi dito em seu blog (Inglês), o criador da ferramenta utiliza criptografia para assegurar a segurança da comunicação. Eu ainda não fui a fundo na analise dessa questão, mas como as funções são simples e bem reguladas, não vejo problema do seu uso com cautela até então.

Pronto! Agora poderá otimizar a comunicação entre seu celular e estação com KDE.

plasmoid desktop_send_file mobile_touchpad

Obs: Todas as fotos foram retiradas do site do Ronny, que é um dos desenvolvedores do KDE Connect.

Fontes :

GoldenDict, a definição e tradução de verbetes em uma tecla de atalho

29 de Agosto de 2014, por Desconhecido - 0sem comentários ainda

Quem nunca precisou de um programa pra agilizar pesquisas de significados das palavras, definição no Wikipédia, tradução e afins, tudo com teclas de atalho, sem precisar acessar outros aplicativos ou sites web?

A primeira vista, pode parecer algo bobo e desnecessário, mas quando está lendo um texto longo, parar tudo para acessar um dicionário externo geralmente é uma perda de tempo, que pode atrapalhar seu entendimento sobre o assunto.

Para resolver esse problema, temos o GoldenDict, que é um aplicativo feito em QT. Bem simples, direto e extensível, pois aceita adição de diversos dicionários.

Usando o GoldenDict

Pra usar o GoldenDict é bastante simples, basta selecionar a palavra e digitar o atalho “Ctrl+c” duas vezes seguidas. Com isso aparecerá uma tela com informação disponível em todos dicionários configurados.

Para instalar no Debian ou Ubuntu, é muito simples, basta digitar o comando abaixo:

# apt-get install goldendict -y

No debian ele acompanha por padrão apenas o Wikipédia, sendo assim vamos facilitar seu trabalho com instalação de novos dicionários. Baixe esse arquivo e descompacte em uma pasta.

Obs: Alguns dos arquivos dessa base de dados são proprietários, infelizmente.

goldendict1Acesse o aplicativo goldendict via ícone, acesse o menu “Editar” e escolha a opção “Dicionários”.


goldendict2Escolha as abas “Fontes” e “Arquivos”. Em seguida clique no ícone “Adicionar…” escolha sua pasta que acabou de descompactar.



Por fim marque a opção “Buscar em subpastas” e clique no botão “Ok”.

Se você deseja colaborar, basta comprar a versão para android desse software, que é paga. Essa versão android serve como método de financiamento para o projeto GoldenDict. Custa menos de R$ 12,00.


Blog novo, vida nova

29 de Agosto de 2014, por Desconhecido - 0sem comentários ainda

Depois de muito tempo com o blog parado, decidi reinicializar o sistema, sendo assim decidi manter todas os meus conteúdos por aqui e começar do zero mesmo.

Aqui você terá contato com meus conteúdos sobre tecnologia da informação, que vai de infraestrutura de TI, passando por segurança até mesmo minha tentativas sobre desenvolvimento de software.

Em todo caso, a novidade é que nesse blog falarei também sobre outros assuntos, aquelas que são mais subjetivas, tal como poesias, prosas, posições sobre assuntos sociais e organização política.

Se quiser evitar assuntos desnecessários, use as categorias que ficam a esquerda e acessem o link diretamente. Para software livre o link seria por exemplo.

Espero poder compartilhar da melhor forma os conhecimentos que já tenho e/ou venha obter com o passar do tempo. Não tenham vergonha em interagir, a ideia do blog é essa mesmo.

New blog, new life

28 de Agosto de 2014, por Desconhecido - 0sem comentários ainda

After so many time with my blog stopped, I decided to reboot the system, so I will keep all my content here and start from scratch even.

Here you will be in touch with my knowledge about IT infrastructure, security and my attempts on software development.

This blog will also talk about other subjects, more subjective, such as poetry, prose and thoughts about political organization.

If you want to avoid some articles, use the categories that are left and access the link directly. For the free software you can use for example.

I hope to share the best way all my knowledge. Do not be shy to interact, it is the idea of ​​this blog.