free() inconsistencies|inconsistências no free()


Hi, folks!


Last week I was porting a program from uClibc to glibc. Everything went fine, until I found a crash to always happen in a certain part of it. The failure was in a call to the free() function. First thing that came in my head: Why the hell is it crashing now, while it used to run fine on uClibc? I made a simple program that simulates the problem:


Oi gente!


Semana passada tava portando um código compilado em cima da uClibc para glibc. Tudo tranquilo, até que certa parte do programa dava crash. Investigando, vi que a falha acontecia em uma chamada à função free(). Primeira coisa que veio à minha cabeça: porque raios tá dando crash aqui se o mesmo programa, compilado na uClibc roda perfeito? Fiz um programa simples que simula a situação:

#include <stdio.h>
#include <stdlib.h>

typedef struct {
  char *field1;
} s_test;

s_test test = {
  .field1 = NULL
};

int main (int argc, char **argv) {
  s_test *t;

  t = &test;
  free (t);
  t = &test;
  t->field1 = "bug";
  printf ("%s\n", t->field1);

  return 0;
}


Look at line 16. I’m executing a free() in a pointer to a static variable, instead of a pointer in the heap (previously allocated with malloc() or similar). It’s expected a crash here, right? Maybe! Yes, if you’re using glibc. No if you’re using uClibc. The above code works like [not] expected. Weird! Everything we learned at the programming school is ruined now 😀 !


So, we have a similar code here that have been worked for a long time, exactly because it was compiled and run on top of uClibc. I’ve seen this and other behavior differences between uClibc and glibc. The solution? Change the code to make it portable, not only to make it compile, but also so that it have the same behavior on every platform.


I thought it was a bug in uClibc, but I was told it doesn’t break the standards. In fact, standards say, in that case, the behavior is “undefined”. Ah, standards :) … So, in order to avoid surprises like that, here is what I learned: Always code in the right way, even if it comes with a harder job. Don’t say: “hey, it’s working, let’s deploy it!”.


See you!


Preste atenção na linha 16. Estou executando um free() num ponteiro que aponta para uma variável estática, ao invés de uma variável que foi alocada com malloc() ou similar. Um crash é esperado aqui, certo? Em partes! Usando a glibc, sim. Já com a uclibc, não! O código acima funciona como [não] esperado! Estranho, não? Tudo o que aprendemos na escola de programação vai por água abaixo aqui hehehe.


Então, o que acontece é que temos um código similar aqui e que sempre funcionou, justamente por ser compilado na uclibc. Já vi essa e outras diferenças de comportamento entre a uclibc e a glibc. A solução? Mudar o código para torná-lo portável, não só para que compile corretamente, mas para que tenha os mesmos resultados, independente da plataforma.


A princípio, achei que isso era um bug na uclibc, mas fui apontado que isso não fere “os padrões”. De fato, os padrões dizem que nesse caso, o comportamento é “indefinido”. Ah, padrões :) … Para evitar surpresas do tipo, fica aqui a lição aprendida: programar da forma certa, mesmo que dê um pouco mais de trabalho. Não se acomodar dizendo: “ah, testei aqui e funciona, deixa assim mesmo!” 😉


Bons códigos!

New challenges|Novos desafios

[english]


Hi, folks!


This is a small post, just to share the news with you: I moved to São Paulo (the biggest Brazilian city) to work with what I like the most: linux development! It’s indeed a big step in my career, I’m too excited about my new job: embedded linux developer!


I hope to learn a lot in this new job, and, at the right time, I want to contribute back to FLOSS community, since we use a lot of free software here.


See you!

[português]

Oi gente, tudo bom?

Este é um post rápido, quero compartilhar uma novidade com vocês: Estou dando um grande passo na minha carreira profissional. Me mudei para São Paulo e estou trabalhando na Vex/OI como desenvolvedor linux embarcado.

Foram pouco mais de 6 anos no meu último emprego, numa usina de açúcar e álcool em Alagoas. Fiz muitos amigos e aprendi bastante lá. Foi uma ótima empresa de se trabalhar. Infelizmente lá eu não trabalhava com o que eu gosto: linux. Por isso estou de mudança.

Espero aprender bastante nesse novo emprego e, no tempo certo, contribuir de volta com a comunidade FLOSS, visto que usamos muita tecnologia livre aqui.

Por enquanto estou só, procurando lugar pra morar. A família vem no final do ano. Quem quiser nos visitar em Sampa, pode entrar em contato, será um prazer receber os amigos!

Software livre, ajude a fazer

Este post é direcionado a programadores. Repasse-o pra todos os programadores que você conhece. O software livre agradece!

Oi gente, esse é um assunto que sempre menciono nos eventos que vou, e que me incomoda bastante. Por estes dias tava com vontade de fazer um post simples e prático sobre o assunto. Felizmente aconteceram 3 coisas que me motivaram a escrevê-lo:

  1. Depois de ter aberto um bug no ano passado, ainda sem solução, resolvi escrever um pequeno patch que foi aceito, com modificações;
  2. Li isso: http://www.dicas-l.com.br/arquivo/yad_yet_another_dialog.php;
  3. Jomar escreveu um ótimo artigo exatamente sobre esse tema: http://www.trezentos.blog.br/?p=5907

Por que as pessoas se referem ao software livre sempre na terceira pessoa: “Eles”? É comum a gente ouvir:

– Quando o software X implementar a feature Y eu migro.
– Software X? Ah, ele tem muitos bugs, prefiro esperar ficar redondo.
– Não gostei da versão nova do software X. Vou ficar na atual ou testar uma alternativa.
– O pessoal do projeto X é devagar demais.

Gente, quando é que vai cair a ficha que o software é livre e que nós podemos mudá-lo? Vocês já pararam pra pensar que podem tornar o software X um software melhor? Não tô entrando aqui no mérito da liberdade de escolha, você é livre pra usar o software que quiser. O recado aqui é para programadores, que querem ao mesmo tempo ganhar experiência e contribuir para um mundo melhor.

Contribuir com código não é um bicho de 7 cabeças. Software é software em todo lugar do mundo, e software livre é a melhor forma de espalhar e receber conhecimento. Vejam aqui um exemplo muito simples, porém prático de como você pode fazer a coisa acontecer, ao invés de simplesmente esperar “eles” resolverem o bug (explicação do item 1 lá de cima):

  • Ano: 2008. Senti a falta de um conversor de moedas no GNOME. Reportei meu desejo no bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=533690. Pouco mais de 1 ano depois esse recurso foi implementado.
  • Ano: 2010. Usando o recurso acima, senti a falta de um botão pra trocar de moedas. Da mesma forma, reportei meu desejo: https://bugzilla.gnome.org/show_bug.cgi?id=633193.
  • Ano: 2011. 7 meses depois, usando muito o recurso e sentindo realmente falta do tal botão, resolvi dar uma olhada no fonte e ver se seria fácil sua implementação. E foi. Submeti um patch, que no mesmo dia foi aceito, com algumas modificações feitas pelo mantenedor. Na próxima versão, a calculadora do GNOME virá com esse recurso.

O que quero mostrar com isso? Que o software livre basicamente é movido por empresas e voluntários. Se uma empresa não tem interesse em determinado recurso (a ponto de alocar um funcionário para implementá-lo), o recurso tem que ser implementado por algum voluntário. Então, ao invés de ficar dizendo “Eles não ligam pra minha opinião, reportei o bug há mais de um ano e nada até agora…”, simplesmente tente resolver você mesmo! Algumas considerações:

  • Mesmo que o seu patch não esteja correto, não tenha medo de enviá-lo. Dependendo do grau de complexidade, o desenvolvedor pode sugerir algumas modificações, explicar porque tá errado, onde tá errado e tal e pedir pra você corrigir e reenviar… ou ele pode simplesmente modificar e seu patch e aplicá-lo diretamente (foi o que aconteceu comigo acima).
  • Há sempre a possibilidade de entrar em contato direto com o desenvolvedor/mantenedor, via email, irc, jabber, etc. Assim, você pode tirar dúvidas, pedir um direcionamento, e coisas do tipo, antes de efetivamente enviar seu patch para avaliação.

Quanto ao item 2 lá em cima, até mencionei minha “indignação” nos microblogs, e algumas pessoas me perguntaram o por quê. Deixa eu explicar: Minha indignação, neste caso, não é com a pessoa do Júlio. Não quero nem discutir isso. É que tô cansado de ver empresas e pessoas que ganham a vida com software livre, seja usando em seu trabalho, seja escrevendo livros, seja dando aulas, enfim, você captou a ideia, e que são aptas a escrever (ou pagar alguém que escreva) código livre mas não o fazem. Neste caso específico, o Júlio citou no post:

“Sempre esperei que a qualquer momento o gnome lançaria uma nova versão deste software […] Estava enganado, acompanhei o lançamento de diversas revisões do software mas elas simplesmente tratavam bugs e apresentação. Infelizmente nada de inovação. Porém um dia descobri o YAD.”

Veja que o gnome está sendo tratado na terceira pessoa. “Eles”. Segue o mesmo raciocínio que usei acima. Tanto para o Júlio como para os criadores do YAD. Se o zenity não tava atendendo as expectativas, por que não ajuda-lo? Por que não implementar os recursos tão desejados?

Quanto ao item 3 lá de cima, não tenho muito o que falar. Leiam o texto do Jomar, é muito bom!

Enfim, esse “desabafo” é uma forma de mostrar pra vocês que o software livre é nosso! Vamos colaborar mais (com código). Afinal de contas, já recebemos tanto, de tantos desenvolvedores espalhados pelo mundo, o que custa doar um pouco do nosso tempo e conhecimento como uma forma de retribuição?

Então, esse lance de falar na terceira pessoa (“eles”, “o gnome”, “o pessoal do kde”, etc), deixa para os leigos, meros usuários de software. Na próxima vez que for criticar algum software livre, tome ele para si e pense em uma forma de ajudar, beleza? :)

Looking for new maintainers

Hi, folks. Vino and Vinagre are an one-person projects. Since I hadn’t have been much time to improve them, I decided to look for new blood, new maintainers. Perhaps this will be a hard task, since nobody seems to care much about these two GNOME modules.

Anyway, if you are interested, send me an email.

7º Brazilian GNOME Forum|7º Fórum GNOME

E aí gente? Quanto tempo hein?

É com um prazer imenso que anuncio que esse ano teremos mais uma edição do Fórum GNOME. É aquela época do ano onde reunimos GNOMErs de todos os lugares para nos divertir!

Eu disse divertir? Iapois! A gente reencontra amigos, conhece face-a-face amigos de internet, discute sobre GNOME, divulga-o pra um monte de gente. Isso não é diversão?

E quem sabe sobra um tempo pra outras diversões também! :)

Este ano o fórum vai acontecer em Natal, Rio Grande do Norte, nordestão do Brasil, junto com o Encontro Nordestino de Software Livre, ENSL. Vai fazer o que nos dias 5 e 6 de novembro? Tá de bobeira? Aproveita aí uma promoção aérea e vai pra Natal! Ou então faz como eu, vai de carro com a família!

Você pode conferir a grade do fórum diretamente no site do ENSL. Em breve você poderá ver também o resumo das palestras. O mini cv dos palestrantes também tá no site. Além dos brasucas, contamos com a presença ilustre de Frédéric Peters, um cara pau-pra-toda-obra no GNOME! Confira informações sobre ele lá na página de palestrantes.

Também vai acontecer no fórum a reunião anual do GNOME Brasil. Vamos conversar sobre a nossa comunidade, nossas atividades, nossas metas. Se você tem alguma sugestão, ou quer fazer parte dessa turma, ou quer apenas saber o que tá se passando, você é muito bem vindo! Apareça lá!

Ah, o GNOME 3, próxima versão do GNOME, a ser lançado em Abril será um tema de destaque nesse fórum. Se você quer ficar por dentro das novidades, ou até mesmo quer ajudar no seu desenvolvimento, não perca o fórum. Confira a programação!

Hello folks. It’s a pleasure to announce the 7th edition of the Brazilian GNOME Forum, that part of the year where we put together GNOMErs from all parts of Brazil to have fun!

This year the Forum will take place in Natal, a greatest city in Northeast Brazil, as part of the main event, ENSL – Northeast Free Software Conference, on 5 and 6th November.

This edition, besides the usual Brazilians, will have the presence of Frédéric Peters, a great hacker of the Release Team! Also, we will have the annual Brazilian meeting, where we, the Brazilian team discuss our activities, our community and our goals.

GNOME 3, the next version of GNOME will be widely discussed there. We will be discussing its news as well showing how to contribute in practice with its development.

Gostaria de agradecer a turma do ENSL e a GNOME Foundation, que tornarão o fórum possível! Você já fez sua doação à GNOME Foundation hoje? :)

Espero vocês lá! Abração!

Hopefully we are going to have a lot of fun there! :)

I would like to thank the ENSL team and the GNOME Foundation. They made the forum possible. Have you donated to GNOME today? :)

GUADEC 2010

Late post about GUADEC… well, everybody is doing that, right? :)

Post atrasado sobre a GUADEC… mas todo mundo tá fazendo isso né? :)

So, all I wanted to say is that this GUADEC edition was terrific! Great people, great organization, great venue, everything was so great! It was the best GUADEC I ever attended.

Bem, eu só queria dizer que esta edição do GUADEC foi fantástica! Ótima organização, ótima localização, pessoas ótimas, tudo foi bem massa mesmo! Foi o melhor GUADEC que já fui.

Algumas notas aleatórias:

Some random notes:

  • FreeFA soccer match was amazing. Bastien and others complained because I was cheating by staying in an off-side position. Well, I made some goals and we won, that’s what matters, isn’t it? 😀O torneio de futebol FreeFA foi massa. Bastien e outras pessoas reclamaram porque eu trapaceei, ficando só na “banheira” (posição de impedimento). Bom, o que importa é que fiz alguns gols e ganhamos a partida né mesmo? 😀
    IMG_9067m
  • Pizza of raw meat is not one of our favorites:Pizza de carne crua não é uma das nossas favoritas:
  • Definitely hackers do not know how to make a barbecue (actually we prefer just to eat, not to cook :)):Definitivamente hackers não sabem fazer churrasco (na verdade a gente prefere comer, não cozinhar :))
    IMG_9220m
  • After the announcement that GNOME 3 was postponed to March 2011 (wise decision!), I’ve decided to not release Vinagre 2.32. Instead, I’ll release a 3.0 beta, which is already using 3.0 technologies and features RDP support.
  • Also, it will feature a new interface, more GNOME-ish brought to you by the famous Vinicius Depizzol.
  • After GUADEC (which was held in The Hague), I visited Amsterdam and London. I liked the Netherlands. Amsterdam is the new Sodom. London is great and quite expensive. Had a lunch with Lucas there.
  • My talk about GNOME in Brazil went fine. I hope to have shared my experience with other teams. Feel free to get in touch with me for more details.
  • Finally, thanks to GNOME Foundation for the sponsorship of my travel!
  • Depois que foi anunciado o adiamento do GNOME 3 para março de 2011 (sábia decisão!), decidi não lançar o Vinagre 2.32. Em vez disso, vou lançar o 3.0 beta, que usa tecnologia do GNOME 3 e vem com suporte ao protocolo RDP.
  • Ah, ele também virá com uma interface mais GNOMEzada, graças ao fantástico Vinicius Depizzol.
  • Depois da GUADEC (que aconteceu em Haia), visitei Amsterdã e Londres. Gostei da Holanda. Amsterdã é a nova Sodoma. Londres é ótima, mas bem carinha. Almoçei com Lucas lá.
  • Minha palestra sobre o GNOME Brasil rolou legal. Espero ter compartilhado minha experiência com outros grupos regionais.
  • Finalmente, meu obrigado à Fundação GNOME por patrocinar minha viagem!

I’m going to GUADEC!|GUADEC, aí vou eu!

Hello, folks. Thanks to GNOME Foundation, I’ll attend one more GUADEC edition, this time in the Netherlands!

Oi gente! Graças a Fundação GNOME estou indo mais uma vez para GUADEC – conferência anual dos GNOMErs! Desta vez vai ser na Holanda!

Hackers going to FreeFA soccer match!

Here are my answers to the meme:

1) Who are you and what do you do?

My name is Jonh Wendell, 30 years old, from Brazil. I work for a sugar factory as software developer. In my daily job I do nothing related to GNOME at all. In GNOME, I contribute by maintaining 2 modules, vino and vinagre, both related to remote access. Also, I do translations and I spread GNOME in my country.

2) How did you get into GNOME?

After some time using GNOME, and having developer skills, I wrote a patch, back in 2006, that fixed a bug in vino, the GNOME VNC server. Atfer that patch get committed, I went ahead writing others and others patches, until I got the maintainer hat for vino. After realizing how easy was to contribute to GNOME, I always give talks about that, inviting people to not be afraid of submitting patches to GNOME 😉

3) Why are you coming to GUADEC?

I’ll give a joint talk with Emily Chen about GNOME communities in Brazil and Asia. What’s the state of GNOME in our countries and what we are doing to increase our community.
I’ll be showing a little use case in Stormy’s GTD in GNOME lightning talks.
Also I’ll be hosting a BoF about the state of Remote Desktop stack in GNOME. It’s a great opportunity for us to share our ideas about the ongoing development of vino/vinagre. Also, we lack people taking care of this area in GNOME, so, if you are interested in contribute to GNOME, come up!
Of course, I’m looking forward to meet the amazing GNOME folks again and play some game…

4) In 1 sentence, describe what your most favorite recent GNOME project has been. (Doesn’t have to be yours!)

The whole GObject introspection work.

5) Will this be your first time visiting the Netherlands?

Yes, I’m looking forward to be there!

Este ano estarei com três atividades “formais” lá: Uma palestra junto com Emily Chen sobre o GNOME no Brasil/Ásia, uma palestra relâmpago no slot da Stormy sobre “Get things done” in GNOME, e finalmente uma sessão BoF sobre acesso remoto no GNOME.

Quanto às informais, bem, aí vem o tradicional jogo de futebol, campeonato de sorvete, festas com direito a jam sessions, e por aí vai… Vai ser muito bom encontrar toda a turma de novo!

Já que vou falar sobre GNOME Brasil lá, se você tem alguma sugestão, comentário, ou quer que eu leve algum assunto pra lá, entre em contato comigo!

Javascript GNOME Mailing List|Lista de discussão Javascript no GNOME

Hey, folks.

You might have heard about the use of Javascript in desktop programming, specially with gnome-shell becoming part of GNOME 3. I just discovered the beauty of coding in Javascript, I’m fascinated!

This post is to announce the creation of the javascript mailing list in GNOME servers, to let us discuss javascript usage in GNOME, development in javascript with its bidings: gtk+, glib, etc.

So, if you, like me, enjoy coding in javascript, or are still giving the first steps into this new technology in GNOME, go subscribe to this mailing list! Also, if you already have knowledge in this language, join the list and help us with our doubts!

Thanks to Johan Dahlin for accepting being the mailing list administrator :)

E aí gente!

Vocês já devem ter ouvido falar sobre o uso de Javascript para programação em desktops (ao contrário de web), especialmente com o gnome-shell se tornando parte do GNOME 3. Acabei de descobrir a maravilha que é programar em Javascript. Tô fascinado!

Este post é para anunciar a criação da lista de discussão javascript nos servidores do GNOME, que nos permitirá discutir o uso do Javascript no GNOME e o desenvolvimento em javascript com seus bindings: gtk+, glib, etc.

Então, se você, assim como eu, gosta de programar em Javascript, ou está dando seus primeiros passos nessa nova tecnologia do GNOME, se inscreva na lista! E se você já tem algum conhecimento nessa linguagem, entre também na lista e nos ajude com nossas dúvidas!

Obrigado a Johan Dahlin por aceitar ser o administrador da lista :)

ENSOL 2010

Oi gente. Final de semana passado rolou o IV ENSOL, lá em João Pessoa – PB. A turma da organização está de parabéns. O evento foi show de bola.

Chegamos na quinta no começo da noite; peguei uma carona com o Marcelo Santana, de Recife até Jampa. Viajar com o Marcelão a noite: Modo adrenalina ON! Altas aventuras. Não recomendado para quem sofre de problemas cardíacos. Encontramos o Fernandes no hotel e de lá seguimos junto com outra turma de palestrantes para um rodízio de camarão. Nunca comi tanto camarão na minha vida hehehehe.

Rodízio de Camarão
Rodízio de Camarão

Na sexta rolou minha palestra sobre GNOME e GNOME Foundation. Foi muito legal, sala cheia, muitas perguntas, inclusive algumas tendendo para o troll GNOME x KDE ou GNOME copiando Mac OS.

Palestra sobre GNOME
Falando sobre GNOME

A noite fomos a um rodízio básico de pizza, perto do hotel.

No sábado rolou a palestra do Fernandes, sobre tradução do GNOME. Vi que a turma se interessou bastante pelo tema, vamos ver se pinta algum tradutor novo por aí.

Fernandes na sua palestra de tradução
Fernandes falando sobre tradução

A noite rolou uma festa no “John People” (ainda acho que deveria ser “John Person” hehe). Outro rodízio, dessa vez de petiscos. Saí cedo (por volta de meia noite) porque tinha que acordar as 5h da manhã pra voltar a tempo do almoço do dia das mães (E consegui!)

O evento ainda rolou no domingo, GNOME teve mais uma palestra com a Izabel falando sobre mulheres no GNOME.

Considerações gerais:

  • Como sempre, muito bom rever e fazer amigos. Dessa vez, tive o prazer de conhecer Fernandes Neto, que apareceu devagarzinho e traduziu boa parte do GNOME 2.30. Também revi o Marcelo Santana (Debian Brasil) e o Rodrigo Padula. Rodrigo que está entrando na nossa turma pra ajudar na divulgação do GNOME! Marcelo rendeu altas risadas com seu jeito “delicado” de ser hahahaha.
  • João Pessoa é a cidade dos brutos. Cara, todo dia a gente levava “um fora” de algum paraibano. Isso rendeu altas risadas. Depois a gente entrou no clima deles também!
  • Evento dia de domingo não rola. Ainda mais no domingo dia das mães. Esse foi o único ponto fraco do ENSOL.
  • Não deu pra passear, conhecer mais a cidade, devido a correria na volta por causa do dia das mães. Fica pra próxima.
  • Tivemos uma variedade de cores nas camisas show de bola. Vejam as fotos para ficarem com inveja!
  • O local do evento é simplesmente lindo. Arquitetura fantástica. Também, Niemeyer né?
  • Fotos: http://www.flickr.com/photos/jwendell/tags/ensol/
  • Slides das palestras: http://br.gnome.org/GNOMEBR/Apresentacoes

É isso aí, adorei o ENSOL e espero poder participar ano que vem!

Hi, folks. Last week I was in João Pessoa, Brazil, attending 4º ENSOL (stands for Free Software Northeast Meeting). GNOME Brazil was represented there by having three talks and a kind of booth, where we meet, discuss and have fun!

I gave a talk about the GNOME and the GNOME Foundation. It was great to see the room full, and we had many questions, though some of them related to the eternal “fight” GNOME x KDE and about GNOME copying MAC OS :)

Palestra sobre GNOME
Talking about GNOME

We also had Fernandes Neto talking about translations in GNOME and Izabel Valverde talking about GNOME Woman.

Turma visitando o GNOME
People visiting our “booth”

ENSOL was a terrific event, hosted in a wonderful place, and full of great people! It’s always great to meet new and old friends at FLOSS events. Of course I want to be there next year!

More photos: http://www.flickr.com/photos/jwendell/tags/ensol/

2 FLOSS Events|FLISOL e ENSOL

Hey, folks.

Oi gente!

I forgot to blog about it, last week we had FLISOL – stands for Latin American Free Software Installation Festival. It’s a global (okay, a Latin American) day where people can bring their computers to some place and get FLOSS installed on them. Also, there are talks about FLOSS. It happens simultaneously on many cities in the continent.

FLISOL Banner

Eu esqueci de falar sobre o FLISOL que aconteceu semana passada. O GNOME Brasil esteve representado em 4 cidades, incluindo Maceió! Estive lá e, claro, falei sobre o GNOME, o que ele é (sim, muita gente não “conhece” GNOME, só conhece Ubuntu, Fedora, Linux, OpenOffice, etc), como ele é organizado e como é bom fazer parte deste projeto!

GNOME Brazil was represented in 4 cities, including mine! Of course, I talked about the GNOME project, what it is (yes, many people do not know about GNOME, only know about Ubuntu, Fedora, Linux, OpenOffice, etc.), how it is organized and how funny is to be part of the project!

Talk

The talk

Shirts

Two guys winning a GNOME t-shirt

More pictures

Tomorrow I’m going to travel to João Pessoa to attend ENSOL, a big FLOSS conference that happens in Northeast of Brazil. We –  GNOME Brazil – will have three talks and will host a booth, where we can meet and have fun! The event ends Sunday (May 09) so, next week I’ll blog about it.

See you!

Amanhã vou viajar para João Pessoa, para participar do ENSOL. Nós do GNOME Brasil teremos três palestras e também teremos um estande/quiosque, onde poderemos nos encontrar e nos divertir! O evento acaba no domingo, então, na próxima semana blogarei sobre ele.

Inté!