Olá pessoal! Sejam muito bem-vindos a mais um episódio, o segundo deste ano! O convidado de hoje é o Marcelo Hashimoto, desenvolvedor do cliente de Twitter chamado Polly! Se você curte programar com Gtk e Python, ou tem interesse em conhecer um aplicativo específico para o seu sistem Linux para acessar o Twitter, então dê uma olhadinho no programa do Marcelo. Ultimamente o Polly tem atraído bastante atenção, especialmente depois de ter saído em sites como o OMG! Ubuntu, Ubuntu Dicas e Ubuntero Brasil!
Durante nosso bate-papo, o Marcelo conta porque decidiu criar “mais um cliente para o Twitter”, o que faz ele destacar dos outros, a história do nome do projeto (você sabia que o nome original do projeto era schizobird?), como lidar com usuários nos forums de pergunta, sobre seu doutorado, e o seu Top 5!
22 de January de 2012
19 de January de 2012
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 ("%sn", t->field1);
return 0;
}
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!
16 de January de 2012
![]()
No dia 18/01/12 diversos sites, blogs e redes sociais irão aderir ao #SOPABlackoutBR e ficar indisponíveis como forma de protesto! Motivo: mostrar às autoridades Brasileiras e as grandes corporações a posição da sociedade brasileira em relação ao "SOPA" nos EUA e demais práticas, normas, medidas judiciais e leis que ameaçam a liberdade na Internet no mundo e no Brasil.
Mas que "SOPA" é essa?
SOPA é a sigla de "Stop Online Piracy Act", que está ligada a um projeto de Lei nos EUA que se diz a favor do "Combate à Pirataria Online". Contudo, na prática, esse projeto estabelece o uso no território Americano de um mecanismo de censura sobre a Internet semelhante ao utilizado em países como a China, Irã e Síria, com a desculpa de coibir a "pirataria online". Isso significa que o projeto pretende combater práticas sociais que historicamente utilizamos para ter acesso à qualquer obra cultural na internet: trocar, compartilhar, emprestar, remixar, etc.
O problema maior é que o SOPA não afetará apenas os Estados Unidos, pois esse país, além de concentrar a maior parte da infra-estrutura da internet, concentra quase todos os serviços e sites que utilizamos diariamente, e que podem ser afetados tais como Youtube, Facebook, WordPress, Google, Gmail, Twiiter, e muitos outros. Temos de lembrar também que muitos sites são hospedados nos EUA, mesmo sem ter TLD americano e outros fora dos EUA com TLD americano como (.com, .net, .org) em ambos os casos o site estará debaixo da legislação Americana.
SOPA também prevê instrumentos para bloquear os serviços de publicidade e pagamento online sob a jurisdição dos EUA, impactando qualquer site no mundo, apenas com base em uma denuncia de suspeita,e sem ordem judicial.
Os problemas não acabam por ai, o SOPA afetará profundamente a liberdade de expressão na Internet, todos os sites se verão obrigados a aplicar mecanismos de auto-censura, e filtrar toda atividade online de seus usuários para evitar serem bloqueados.
O que diz a lei (SOPA)?
Quando um site for denunciado, todos os demais sites que tenham “relacionamento” com ele e não queiram sofrer as conseqüências legais terão cinco dias para:
- ISP: Deverão bloquear os seus DNS (impedindo o acesso ao domínio)
- Serviço de hospedagem: Deverão bloquear o acesso ao site
- Publicidade: Deverão bloquear a publicidade
- Serviços de pagamento: Deverão congelar os fundo
- LInks : Deverão ser removidos links ao site

Efeitos colaterais
Os provedores de Internet, email, blogs gratuitos, mensageiros instantâneos e redes sociais serão forçados a espionar todo conteúdo publicado por seus usuários em busca de material não autorizado e eventualmente bloqueá-los.
As comunidades online, em especial as comunidades colaborativas que são o fenômeno da Internet que afetam mais profundamente a nossa sociedade, ou seja, desde a esfera cultural, política, social até a econômica. O bloqueio de sites e tecnologias a serviço destas comunidades irá em muitos casos impedida-las de continuar existindo.
Muitas tecnologias (como a rede anônima “TOR”, os DNS alternativos, as redes P2P e os proxys VPN) que permitem a navegação e/ou distribuição de informações anônimas e sem censura, e que são fundamentais para muitos ativistas e organizações políticas em todo o mundo, basicamente se verão ilegais de um dia para outro.
O Brasil e o SOPA
No Brasil estamos ha anos lutando contra o o AI5Digital (PL 84/99) e a favor do Marco Civil da Internet (PL 2126), tem sido uma luta incansável. Todo este esforço pode ser perdido com a aprovação do SOPA, pois junto com a lei Sinde na Espanha e Hadopi na França, ele pode ser um terrível instrumento de pressão para que o Brasil e demais países adotem legislações semelhantes. É importante lembrar que a Lei Sinde que aparentemente havia sido brecada por ativistas Espanhois, foi aprovada logo no inicio do novo mandato sob grande pressão Americana, e que o AI5Digital, que fora congelado em 2008 voltou a tona no inicio deste ano com grande pressão para aprovação. Não podemos descansar nenhum minuto!
Quem está se mobilizando?
Há uma grande reação nos EUA contra o SOPA e o Protect IP Act. O principal articulador da luta contra o bloqueio da Internet é a Electronic Frontier Foundation. Ativistas do mundo inteiro se mobilizam contra essas medidas. Organizações da sociedade civil, tais como a Wikipedia e a Mozilla Foundation se mobilizam igualmente junto com corporações como o Google e o Yahoo. No Brasil, os ativistas da liberdade na Internet que lutam contra o AI-5 Digital se mobilizam desde o ano passado para denunciar o SOPA. Diversos blogueiros também têm denunciado essas investidas que visam censurar e bloquear a rede. Existe até um aplicativo para celulares Android que permite o usuário identificar as empresas que apóiam o SOPA
Saiba mais sobre o assunto nas fontes abaixo.
Fontes: Site do Mega Não, Trezentos, Electronic Frontier Foundation
08 de January de 2012
Olá pessoal e sejam muito bem-vindos ao primeiro episódio de 2012! Desta vez entrevistei o Rodrigo Padula, amigo de algum tempo pela internet nas traduções do projeto GNOME. O Rodrigo tem um currículo bastante extensivo trabalhando em vários dos projetos de software livre, e durante nosso bate-papo ele conta sobre como tudo começou. Usuário de Linux desde 1997, ele participou da formação e organização do Projeto Fedora no Brasil, participando de várias conferências e iniciativas visando o crescimento do projeto na América Latina. Sua participação e desempenho não passou despercebido pela Red Hat, companhia por trás do projeto Fedora, o que eventualmente o levou a trabalhar para esta companhia Americana por um período na área de marketing e comunidades. O Rodrigo também participa ativamente de outros projetos de software livre, como o Mozilla e GNOME, dos quais hoje faz parte de forma oficial. Aproveitei então para perguntar para ele sua opinião sobre o último lançamento do GNOME Shell e a escolha da nova diretora da Fundação GNOME! Por último, conversamos sobre o Laboratório de Open Source na UFRJ onde trabalha, por que ele faz Jiu-Jitsu, planos para 2012, e seu Top 5!
28 de December de 2011
So, I intended to be completely away from my computer during my vacations, but hey. I have been interested in this new extension Apple added to the C language a little while ago which introduces the equivalent of closures to C. Today I spent a few minutes looking into it and writing a few tests with the help of clang.
Here’s something I came up with, to use a block as the callback for a GIO asynchronous call:
#include <Block.h>
#include <gio/gio.h>
typedef void (^Block)();
static void async_result_cb(GObject* source,
GAsyncResult* res,
gpointer data)
{
Block block = (Block)data;
block(res);
}
int main(int argc, char** argv)
{
g_type_init();
if (argc != 2) {
g_error("Blah.");
return 1;
}
GMainLoop* loop = g_main_loop_new(NULL, TRUE);
GFile* file = g_file_new_for_path(argv[1]);
g_file_query_info_async(file,
G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE,
G_FILE_QUERY_INFO_NONE, G_PRIORITY_DEFAULT,
NULL, async_result_cb, (gpointer) ^ (GAsyncResult* res) {
GError* error = NULL;
GFileInfo* info = g_file_query_info_finish(file, res, &error);
if (error) {
g_error("Failed: %s", error->message);
g_error_free(error);
return;
}
g_message("Content Type: %s",
g_file_info_get_attribute_string(info, G_FILE_ATTRIBUTE_STANDARD_CONTENT_TYPE));
g_object_unref(info);
g_main_loop_quit(loop);
});
g_main_loop_run(loop);
g_object_unref(file);
return 0;
}
Pretty neat, don’t you think? To build you need to use clang and have the blocks runtime installed (libblocksruntime-dev in Debian). Here’s the command I use:
$ clang -fblocks -o gio gio.c -lBlocksRuntime `pkg-config --cflags --libs gio-2.0`
22 de December de 2011
One of my side projects for these last months was to enroll on the online Introduction to AI class, with Peter Norvig and Sebastian Thrun, professors at Stanford. Through it I also learned about the Kahn Academy. I must say that getting to know these efforts made me feel similar to when I found Free Software: it’s hard to believe that such great things exist!
I learned some really cool stuff, and was also introduced to the amazing work of Sebastian Thrun with self-driving cars, it was an awesome experience! Last weekend I took the final exam, and today I got the certificate of accomplishment. It was delivered as a signed PDF which can be checked with a certificate they provided, pretty neat. I’m very happy, and motivated to enroll on more such courses in the future =). Now it’s time to cool down, though. My vacations start today, and on the weekend I’ll travel to the sunny Fortaleza, in northeastern Brazil, to enjoy some nice beaches and get some tan. See you next year!
20 de November de 2011
Do you have 3 minutes? I’m running a small user survey about the information architecture of the GNOME website and its services. If you do, here’s the link.
18 de November de 2011
It’s been a long time since Google Summer of Code ended, and I still haven’t posted anything since August. I know I am very late (it’s hard to believe that 2011 is already coming to a close — Desktop Summit seemed like it was yesterday!), but besides being extremely busy with my regular job and lots of others little projects and my final paper, I don’t have an excuse.
I got 5 big tasks in my GSoC TODO list. I knew it was a lot right from the beginning, but I didn’t want to worry about the short timetable I would get in the program. I already was contributing in the web team and keeping working on it after GSoC wouldn’t be an issue. From May to August I got intense days in my university (considering it was winter here) and this delayed me a lot. I need to thank to Federico again for his support as my mentor
.
As for the 5 tasks I got, I only didn’t work in one (which was about reorganizing the developer area). Two of the tasks are ready to be deployed (the one to add support for translating the GNOME website and the other to have a new applications area), and the other two (the community website — which I must say it could be an entire Summer of Code project — and the template update for subdomains) are half-done.
I’m about to give more details about my nearly finished tasks and on deploying them in another post soon (like the new Damned Lies template above which is completely out of context in this post) basically because I’m catching a bigger fish right now. For the past month I’ve been working in my final paper for university. I’m finishing my bachelors in Design and this is consuming all my free time as I need to get it done in the beginning of December. The good part is that it is an analysis of the information architecture for the GNOME website!
And as part of my final paper study, I’m about to publish a user survey which might give me some data regarding how people use GNOME website and its services. Stay tuned!
Meanwhile, please be patient
. Thank you!
17 de November de 2011
[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!
08 de November de 2011
Ela funciona via terminal, você cria um arquivo texto com a sintaxe do programa e a executa.
O pinpoint possui recursos interessantes, transições, formatação dos textos, imagens de fundo, alteração em tempo real, dentre outros.
Aqui tem um pequeno vídeo mostrando o funcionamento da ferramenta.
Para quem quiser instalar e já ver "de qual é", tem um exemplo aqui.
Sei que tem pacotes para o Archlinux, outras distribuições eu ainda não pesquisei!
Espero ver nos eventos por ai todos usando! Boas novas apresentações!
Comentários
| Link permanente
© Djavan Fagundes, 2010.
03 de November de 2011
Foi com uma imensa dor que recebi a má notícia sobre o falecimento do meu amigo André Gondim.
Membro ativo desde a sua chegada para a comunidade Ubuntu Brasil, André começou como tradutor, época em que eu administrava a equipe de tradutores, e foi logo se destacando! Tornando logo em seguida um Ubuntu Member (Membro oficial do Ubuntu), membro do Conselho e herdando também a administração do time de tradução.
Sua força e vontade de viver era por mim notada, desde o nosso primeiro encontro no FISL 9.0 (2008), onde juntos palestramos sobre o time de tradutores. De lá pra cá foram mais eventos, conversas pelo IRC e posts pelo Planeta Ubuntu Brasil.
André “Gordinho” (Como eu o chamava) era pau pra toda obra! Ajudava a todos que precisassem de um help, colaborava com muitos artigos no seu blog, traduzia sem parar… (Um devorador de strings sem tradução…
),etc… Não é a toa que o time de tradutores do Ubuntu Brasil estava nas suas rédias há um bom tempo. Uma pessoa ímpar!
O que fica agora é a saudade… e a certeza que você está num lugar melhor! Em nome do Conselho Ubuntu Brasil e toda a Comunidade Ubuntu Brasil venho aqui agradecer por tudo que você fez por todos nós… Por levar o nome do Ubuntu para todos os cantos de forma indelével! Por ser uma grande pessoa!
Vá em paz… descanse em paz!
02 de November de 2011
Num outro post, falei sobre como deixar o GNOME 3.2 do seu jeito. Sendo assim, pra evitar o ciúme, que tal agora deixar o Ubuntu e Unity com a sua cara? Então entra em ação o Ubuntu Tweak!
Com o Ubuntu Tweak, é possível:
- Alterar os temas, fontes e configurações do Ubuntu (Aparência, inicialização, Sistema, etc..);
- Configurar o Unity;
- Efetuar limpeza de arquivos desnecessários no Ubuntu;
- Etc…
Uma gama de utilitários para deixar o seu Ubuntu redondinho!
Para instalar o Ubuntu Tweak, abra o seu terminal e execute:
sudo add-apt-repository http://ppa.launchpad.net/tualatrix/next/ubuntu
Assim que adicionado o ppa ao repositório, atualize o mesmo e instale o Ubuntu Tweak executando:
sudo apt-get update && sudo apt-get install ubuntu-tweak
Pronto… instalado com sucesso!
Até!
25 de October de 2011

A organização do evento está de parabéns! Estava tudo impecável! Hotel, infra, atenção aos palestrantes..
Apresentei 2 trabalhos, um deles sobre formas de contribuir com o GNOME e outro sobre o OpenStreetMap.
Além de Foz conheci também Puerto Iguazú na Argentina, onde comprei alguns vinhos com ótimo preço, além de termos jantado em um ótimo restaurante.
Além disso, foi ótimo rever alguns amigos! Ano que vem com certeza farei o possível para ir novamente!
E o Wille postou os slides da nossa apresentação sobre OSM! Além dos links de nossa entrevista. Aguarde que em breve posto a minha apresentação sobre o GNOME.
Post no site da Latinoware
Post no Blog do SERPRO
Link da revista do SERPRO
Comentários
| Link permanente
© Djavan Fagundes, 2010.
10 de October de 2011
I’ve volunteered to be a community steward for the Mobile team as part of the Contributor Stewards program that has been recently created in Mozilla. My role as a community steward is to find ways to get more people involved in Firefox Mobile.
As a first step, I thought it would be a good idea to create a Get Involved page for the Mobile team. This page is meant to have only the minimal steps to start contributing to different areas of the project—it shouldn’t feel overwhelming. For now, it only has content for hacking and testing but it will include other areas soon.
I have also compiled a list of bugs that are good for first-time contributors and assigned mentors to each of them. The mentors and other team members will assist you with any missing information and useful source code links.
If you’re still unsure where to start after reading the Get Involved page, we’re always on IRC to answer any questions you might have. Firefox Mobile is a key part of Mozilla’s future and is definitely an exciting project to be part of. Join us!
08 de October de 2011
Para quem ainda não sabe, o Brechó Eco Solidário é um mercado de trocas de produtos usados através da moeda social “grão”, realizado anualmente junto com um mercado de produtos da economia solidária e diversas atividades culturais.
Esse ano o evento acontece mais na uma vez no Parque da Cidade qui de Salvador, no dia 29 de outubro. Por falar nisso, o recolhimento de produtos nos postos de troca já começou! Em alguns pontos como de alguma Universidade da cidade, as roupas, livros, brinquedos e utensílios domésticos que foram trocados pela moeda social Grão, já foram recolhidos para serem disponibilizados no dia do Brechó.
Todos os demais postos de troca, incluindo o da Colivre, já estão se articulando para que até terça, 11 de outubro, todos os produtos sejam recolhidos. Para quem perder essas datas, uma última oportunidade: as trocas voltarão a ser feitas no dia do Evento (29/10), no Parque da Cidade. ;)
20 de September de 2011

My patches to add HTML5 form validation support to Firefox Mobile have landed in trunk yesterday. This feature has been available on desktop since Firefox 4 but it wasn’t implemented in Firefox Mobile until now.
In case you haven’t heard about it, HTML5 supports automatic input validation. This means that your browser can take care of validating form fields for you—no need to write custom JavaScript code to check for required fields or validate common types of input such as numbers, emails, URLs, etc.
So, how does HTML5 form validation look in Firefox Mobile? Very similar to Firefox on desktop. If you submit a form that contains any invalid data—an invalid email address, a required field that was not filled in, and so on—the form will not be submitted, all invalid fields will be marked with a subtle red border, and the first invalid element will be automatically focused showing its respective validation message (see image above).
As far as I know, the only mobile browsers that support HTML5 form validation right now are Firefox and Opera. You can try this feature on our mobile nightly build. As usual, general feedback, bug reports, and patches are welcome!
25 de August de 2011
17 de August de 2011
Durante esses dias discutindo com um amigo sobre o acesso a memoria de forma atômica, e durante alguns testes e provas de conceito surgiram alguns problemas devido ao esquema de synchronize ser um recurso dependente da plataforma e compilador.
Como a chamada __sync_synchronize() e nativa no compilador, e dependendo da versão não vai estar disponivel. segue abaixo uma solução:
Contornando o Problema
#include <stdio.h>
#ifdef NO_SYNC_SYNCHRONIZE
#warning "Ops! Don't have native __sync_synchronize(), using the asm hardcode."
# define __sync_synchronize() __asm__ __volatile__ ( "rep;nop": : :"memory" );
#endif
#define my__sync_synchronize() __sync_synchronize()
int
main ()
{
int foo = 0;
printf ("Trecho abaixo será atômico!\n");
foo = 0xd34db33f;
my__sync_synchronize ();
return 0;
}
* Levando em consideração o uso sobre a plataforma x86.
Mais sobre o assunto.
30 de May de 2011
Pô gente, foi mals...
Quando liguei a opção de "moderar comentários", achei que o blog me enviaria avisos dos comentários que precisavam ser moderados... Hoje, ao entrar aqui no "painel de controle", vi que tem uns 30 comentários aguardando moderação!!! Vixe Maria!!
Vou fazer isso agora. Mas peço desculpas a todos que postaram comentários. Foi malzaço mesmo... :-/
Abraços a todas e a todos!
Carlão
27 de May de 2011
Você instalou o ótimo Nautilus Elementary, mas não gostou de perder aquele botãozinho que trocava entre a visão "tree" e "places", do painel da esquerda?
Nada mais fácil de resolver...
- abra o terminal;
- execute o gconf-editor;
- abra o "diretório" apps;
- dentro de apps, procure e abra o "diretório" nautilus;
- dentro dele, clique em "preferences";
- marque "sidebar_show_places_menu";
- feche o gconf-editor
- feche o terminal.... (dããã!)
Se tiver algum nautilus aberto, feche e reabra.
Tão fácil que nem vou colocar screenshots... :-)
Abraços!
Carlão
22 de May de 2011
Resolvi participar deste meme e, aqui vai, meu ambiente de desenvolvimento em 7 itens:
1) Hardware e Sistema Operacional
Minha principalmente máquina para desenvolvimento é um Macbook Pro de 13 polegadas (modelo 2011), com 8GB de RAM, Intel Core i7 2.7Ghz e 256 GB SSD. Confesso que os 8GB de RAM não estão fazendo tanta diferença (utilizo bem menos que isso), mas o SSD faz milagres. Recomendo a todos que, assim que tiverem a oportunidade, substituam seus HDs por SSDs.
UPDATE: Muita gente me perguntou como consegui o SSD. Eu já comprei o Macbook com ele, na loja da Apple, com desconto para desenvolvedores. Na verdade, minha grande amiga e mac maníaca, Marília Guimarães, quem fez a compra nos EUA e o trouxe para cá. O desconto que a Apple dá para desenvolvedores é bem significativo (coisa de $250), mas exige que você tenha um endereço nos EUA. A vantagem de comprar o Macbook com SSD da própria Apple é que ele já vem com suporte a TRIM, o que melhora a vida útil do mesmo.

No Macbook rodo exclusivamente Mac OS X 10.6.8. Há alguns meses o Linux deixou de ser meu sistema operacional principal, apesar de continuar administrando diversos servidores (mas para isso preciso apenas de um Terminal :).
Quando estou desenvolvendo costumo ligar o macbook a um monitor externo de 22′. Programar com duas telas melhora bastante a produtividade, mesmo quando elas não possuem o mesmo tamanho.

2) Linguagens de Programação
Python é, provavelmente, a linguagem que mais utilizo. Escrevo ferramentas para Unix, utilitários no trabalho e estou portando todos meus scripts em bash para python. Entretanto, a cada dia que passa eu tenho programado mais em Objective C, pois tenho feito bastante coisa para iOS (iPhone e iPad). Acredito que em poucas semanas meus pontos na skill “Objective C” irão superar os da skill “Python”.
Também ainda programo um pouquinho em Bash, mantendo alguns scripts antigos.
3) Editores e IDEs
Minhas linhas de Python e Bash são praticamente todas feitas no Textmate, um fantástico editor para Mac OS X, cheio de atalhos e snippets que colocam sua produtividade lá em cima. Recentemente comecei a experimentar o Coda e o Espresso, pois o Textmate está sem atualizações há algum tempo.
Quando estou programando para iPhone e iPad (Objective C) eu sempre uso o Xcode. Não gosto muito dele, mas ainda é a melhor opção (se não for a única) para quem quer programar para estas plataformas.
4) Controle de Versão
No trabalho costumo usar o Git. Em projetos open source depende bastante do resto da equipe. Em alguns casos também uso o Git, hospedando no GitHub, mas em outros uso o Mercurial, hospedando no Google Code. Gosto muito de ambos.
5) Virtualização
Utilizo o Vmware Fusion para virtualizar outros sistemas operacionais quando preciso. Ele é muito bem integrado com o Mac e, sinceramente, não tenho nada a reclamar. Entretanto, minha necessidade de virtualizar algo está cada dia menor. Hoje tenho apenas uma VM para o Backtrack e outra com Cent OS.
6) Softwares
Os softwares que mais uso são:
- Chrome: Na minha opinião, o melhor browser da atualidade. Leve, relativamente seguro e cheio de recursos. Faço questão de utilizar o build de desenvolvimento do Chrome que, apesar de ser considerado instável, me atende bem e permite que eu teste muitos recursos antes deles chegarem na versão estável.
- Keynote: Ótimo para fazer apresentações para eventos, clientes e para a própria equipe. Deixa o PowerPoint no chinelo.
- Adium: Sempre estou disponível no Gtalk e o Adium é um ótimo cliente para Mac.
- PivotalTracker: Utilizamos SCRUM no trabalho e o PivotalTracker é um ótimo sistema para gerenciamento de tarefas, que se casa perfeitamente com o SCRUM.
- Campfire: Quando a equipe toda precisa bater um papo online, nós utilizamos o campfire. Além do bate-papo, o sistema permite anexar arquivos e compartilhar códigos.
- Git-Tower: uma ótima interface gráfica para gerenciamento de repositórios Git. Bonita, prática e funcional.
- Ecoute: Não gosto do iTunes, então tive que procurar um bom player para o Mac. O Ecoute foi sugestão de um amigo e a escolha foi mais que certa. Possui os recursos que mais gosto como, por exemplo, lastfm, minimalismo, controle no desktop, capas etc.
- Sparrow: Sou fanboy do Gmail e, quase sempre, o utilizo pela interface web mesmo. Ultimamente estou tentando utilizá-lo no desktop, para ver se tenho algum ganho de produtividade. Nestas ocasiões, uso o Sparrow Mail, o cliente para Mac que mais se aproxima da experiência real do Gmail.
- Terminal: Vira e volta preciso fazer algo via linha de comando. Utilizo o próprio Terminal do Mac, mas com alguns recursos adicionais.
- Things: Ótima ferramenta para gerenciamento de tarefas.
- 1Password: Não dá para lembrar de todas as senhas, de todos os sites. Por isso, deixo o 1Password fazer o trabalho sujo para mim.

7) Música
Não dá para trabalhar sem música. Na verdade, eu conseguiria colocá-la em quase todos os momentos da minha vida. Prefiro escutar música com fones de ouvido, ao invés de som ambiente.

Só gosto do bom e velho Rock And Roll, Blues e Jazz. Led Zeppelin, Deep Purple, Pink Floyd, Black Sabbath, Beatles, Metallica, AC/DC, Neil Young, Creedence Clearwater Revival, Steve Ray Vaughan, BB King, ZZ Top e por aí vai. Axé, pagode e essas bandinhas emo, tipo NX Zero e Restart, são totalmente proibidas na playlist.
E seu ambiente de desenvolvimento, como é?
Recentemente criei um agregador com diversos blogs sobre desenvolvimento para iOS. Criei dois, na verdade. Um com blogs em inglês e outro com blogs nacionais:
- Agregador internacional: http://idevblogs.com/
- Agregador nacional: http://br.idevblogs.com/
A ideia é agregar os blogs como um todo, sem a censura bitolada que outros agregadores de blogs usam para filtrar o conteúdo que é publicado.
Para participar do agregador não precisa falar apenas sobre desenvolvimento para iOS, mas isto tem que ser o foco principal. Eu até aceito outros tipos de posts, já que há outros temas que podem nos interessar (boas práticas, metodologia etc).
Gostaria de sugestões de blogs que podem ser adicionados ao planeta. Principalmente blogs nacionais.
15 de May de 2011
Mensagens subliminares...
A pouco mais de uma semana estou usando o Xoom da Motorola, o primeiro tablet com o Android Honeycomb, e até o momento as impressões que tive são as melhores possiveis.
Desde de quando começou essa explosão de tablets, sempre me perguntei duas coisas: para que eu teria um tablet e para que isso serve? A resposta para esses questionamentos estará no fim do post.
Logo que você liga o aparelho você tem uma pequena má surpresa, no modelo 3G ele requer um sim card para que você possa entrar no sistema, passado esse pequeno incomodo, logo você está configurando sua conta Google.
O xoom, como dito anteriormente, vem com o Android 3.0 e para quem está acostumado com o sistema Android logo percebe as diferenças, é uma interface bem diferente e com conceitos diferentes. O dispositivo não tem botões de navegação, ele tem apenas o botão de liga e desliga e os controles de volume, toda a navegação é feita por software na própria tela do Xoom.
Transição de tela
A primeira vista a transição de tela do Xoom é lenta ao se comparar com o Ipad, contudo, depois de muito pensar a respeito eu notei que o ambiente do Xoom é 3D e quando você vai mudar de ambiente ele gira o foco e renderiza os icones. Isso é o mais puro achismo e não tem o mínimo embasamento técnico. De qualquer forma em qualquer programa a transição de telas no Xoom é rápida e suave.
Cameras
O Xoom tem duas cameras, uma frontal para video chamadas e uma traseira para filmagens e fotos. As duas cameras me impressionaram bastante, mas a camera frontal numa chamada de video do Gtalk me surpreendeu.
Aplicativos
Engraçado como ao ler reviews em alguns sites/blogs de tecnologia algo que sempre é colocado em evidencia, talvez por falta de imparcialidade e paixão pelo concorrente, é o fato de ter poucos aplicativos modificados/desenvolvidos para uma tela de 10.1 polegadas. Quando você começa a usar o xoom e instalar os aplicativos que você está acostumado a usar no seu celular, você não nota grandes diferenças ou impecilhos de uso. Por exemplo, uso o twicca que é um cliente para twitter e ele obviamente não é modificado para o tablet e simplesmente ele só amplia a experiência que eu tinha no celular.
As melhores surpresas no honeycomb são os apps do Gmail e Gtalk. A interface do Gmail para tablet é fantastica, dá até vontade de não usar mais a interface web
. O Gtalk como eu já disse, tem a capacidade de chat com video que é algo que sempre senti falta e o melhor, as chamadas podem ser feitas do xoom para qualquer outro device com Gtalk e suporte a video, sem restrições de sistema operacional!
Outro ponto forte, a Motorola antes de lançar o Xoom logo correu e fez diversas parcerias e assim é possivel ter app da Saraiva que te dá direito a 6 livros gratuitos, app da Folha e da Abril, entre outros. Eu não sou um grande fã da leitura digital, eu realmente gosto de ter o livro e le-lo da maneira que eu achar melhor. Lê no Xoom não é ruim, mas não chega a ser a experiencia mais agradavel e isso vale para qualquer tablet, o peso deles dependendo da posição gera um certo desconforto. Para leituras ocasionais acredito que ele se de muito bem.
Navegador
O navegador é uma versão leve do chrome, que na pratica que dizer que você tem um browser normal no seu tablet apesar da maioria dos sites reconhece-lo como um navegador mobile, o que não é tão ruim, pois a leitura nas versões mobiles geralmente são melhores. Outro ponto forte é a possibilidade de sincronizar o chrome do Xoom, desse modo você tem um ambiente de navegação unico em todos os seus devices independente de sistema operacional.
Travamentos
Rá! Nenhuma até o momento, e olha que uso muito e já instalei tudo que é tranqueira nele.
Updates
O xoom americano tem software 100% Google, na pratica isso quer dizer que o Google é responsavel pelos updates. No Brasil, a Motorola usa uma room baseada na americana para atender as redes de telefonia 3G e talvez outras coisas mais. Em partes os donos do Xoom brasileiro precisam da motorola para terem versões atualizadas, na pratica isso pode ser um pouco diferente já que o bootloader do dispositivo é destravado…
Conclusão
A ideia aqui não era dar um review tecnico, as especificações estão por toda a internet, queria mesmo era passar um pouco da experiencia de uso.
Ainda continuo sem saber qual a utilidade de tablet, uma vez que ele faz um pouco de tudo. Acredito que o principal seja ter um ambiente, de certa forma ilimitado, a mão a qualquer momento.
Quer comprar um tablet, o Xoom é uma ótima opção e eu recomendo fortemente. Ótimo hardware e muito bom software fazem do Xoom de longe o melhor tablet que já tive contato.
07 de April de 2011
12 de March de 2011
In January I started changing Cheese to use Camerabin as its pipeline base. I blogged about it twice, but, in case you missed it or forgot everything about it, let me repeat myself: Camerabin is the high level GStreamer element that basically does what a camera does, that is, take pictures, record video and show preview. Since Cheese does all that and more, it makes sense to use this element instead of re-implementing it all. The news part is that this work is now in Cheese’s master branch and also in release 2.91.91.
There are some other things I haven’t posted about yet:
Event handling: There was a warning in Cheese after the change to Camerabin which said “Internal GStreamer error: clock problem“. Investigating that I discovered that it was a problem in the input-selector that Camerabin uses internally.
Right now Camerabin has a copy of input-selector, because it uses the “select-all” property that was removed from current input-selector. The problem was that the input-selector didn’t handle upstream events (from the sink to the source direction) when the input-selector had the “select-all” property set. Well, input-selector can have many inputs and choose among them, as you can guess from the name. So, when select-all is set you need to send the event to all of those inputs. Other than the warning, this actually has no effect in Cheese’s case, because the event that is not forwarded (a latency event) wouldn’t actually be handled by the elements that don’t get it. Even so, I submitted a patch which was committed to master branch of gst-plugins-bad.
Taking photo without saving: Cheese Camera has a method that takes a photo and then provides the picture as a GDK pixbuf without saving it. The api may not be the best and there were some nice comments on how to improve it, but at least in Cheese without Camerabin this worked and it was used inside of cheese-avatar-chooser. Well, I didn’t realize that before my last blog post about Camerabin, but this was totally broken in my Camerabin branch, in fact, I hadn’t implement it at all.
Camerabin can send a preview message after taking a photo if you set the preview-caps with the desired format for the preview. I thought using the preview message was the best way to implement cheese_camera_take_photo_pixbuf(). The problem is that Camerabin only took photos to save them too, meaning the file name of the photo to be saved had to be set. Right now Cheese works around that by setting the file name to /dev/null, but I also sent a patch to Camerabin to allow taking a picture without saving if preview-caps is set, meaning it won’t encode the image just to save it to /dev/null. I’m keeping the workaround for now, since the change wasn’t released yet, but we will be able to remove it in the future.
Many thanks to Thiago Santos, who held my hand when I met those and other problems in Camerabin and who always encourages me to fix stuff and send patches.
I’m very excited about this change in Cheese. I’m sure there will be bugs, but I think using Camerabin will make some improvements in Cheese easier and we will grow with Camerabin (and maybe Camerabin2 in the future) and also push it to be better.
02 de March de 2011
Sim, vamos falar de Terminator, e não, não estamos falando do Arnold
O Terminator é um terminal simples e IMHO muito mais produtivo que os terminais mais comuns(gnome-terminal) ou mais alternativos(guake) encontrados para GNOME.
O principal recurso, que o diferencia dos outros, é o fator de poder dividir e sub-dividir a janela em pequenos terminais. Usando um monitor grande, ele é praticamente a ultima coca-cola do deserto!
Quando você abre o terminal a tela dele é comum
Com essa tela aberta você trata-la como um gnome-terminal e abrir abas com um simples Ctrl+t . Mas nossa ideia é aproveitar as funções de divisão de telas. Então com um Ctrl+shift+e você divide a tela verticalmente como mostrado abaixo.
Com essa tela eu geralmente movo o foco para o terminal da esquerda, você pode navegar entre terminais tanto clicando neles ou com ALT+seta direcional, e a divido-a horizontalmente com Ctrl+shift+o. Essa é a minha tela padrão de trabalho. Uso o terminal comprido para atividades que requerem uma tela mais extensa e as menores para conexões locais e ssh usando screen(falarei mais e mostrarei dicas e meu arquivo de configuração no proximo post).
Em qualquer um dos terminais você pode maximiza-lo para preencher a tela inteira com um simples Ctrl+shift+x.
Esse é o modo em que eu o uso, eu já tentei faze-lo salvar esse estado mas não consegui e pela mais pura preguiça não tentei mais ou mesmo alterei o Terminator para fazer isso. Se você o usa, ou começou a usar agora por causa do post, conte aqui como é a sua configuração ideal de tela.
Você encontra o Terminator nos melhores repositórios da sua distro favorita.
Atualização: o Vitor deixou a dica aqui nos comentários de como fazer para salvar as configurações do Terminator, testei aqui e funcionou bem
20 de February de 2011
It is now possible to run Cheese using GTK+ 3 getting it from Cheese’s branch gtk3.
Cheese has a gtk3 branch for a while, but until very recently it only had one patch changing mostly versions in configure.ac. Then Bastien Nocera made 3 more patches changing code of CheeseWidget, CheeseFlash and um-crop-area. I wanted to use the changes, and silly me, I thought the branch was going to compile when I first tried to run it. It turns out that I spent days on it until it finally compiled and then a little more time before I was able to run it.
Most of the changes were on build system and Cheese’s vala code. I have never programmed in vala before, so this was a learning opportunity with some challenges in the way.
Funny story
Cheese was still using libunique-1.0, but in order to work with gtk3 I would have to switch to libunique-3.0. There was no vala binding for libunique 3, but I also hadn’t found one for clutter-gtk-1.0 and I was using the GObject Instrospection one instead and it seemed to work at the time.
Using gir files didn’t work so well with libunique. Vala was loading the right gir file, but it said the namespace “Unique” did not exist. So, I asked for help on the #vala channel. The first piece of advice was to switch to GApplication instead of using libunique, but I didn’t know how hard that would be and I wanted to understand why I was unable to use libunique-3.0 first. With some more help from someone else in the #vala channel I found out that the Unique-3.0.gir file had the wrong package name on it. As I didn’t know how to fix that and I didn’t even know if it was a problem in libunique or a GObject Introspection parsing problem I asked for help in #introspection.
In the #introspection channel, Emmanuele Bassi (ebassi) was the one that helped me, libunique’s maintainer. Isn’t it nice when that happens? I mean, you’re just asking for anyone less clueless than you to help, but you can actually talk with people that work on what you’re using. Anyway, continuing with the long story, ebassi told me the problem was in libunique, that he wouldn’t work on it soon, but he encouraged me to file a bug for it and I did. It turned out that the bug was easy to fix (for him at least) and something like 15 mins later he had fixed it and pushed it to master already. That was a nice surprise!
But my problems didn’t end there. After I fixed some GObject Introspection annotation in libunique for my code to work, valac started to crash with a segfault. I reported it, but I still don’t know what the exact problem was. The only way I found to fix it was to switch to GtkApplication and stop using libunique. If only I had listened to that first advice! Using clutter-gtk with GObject Introspection did not work in the end either, but turns out I was just missing the recently released vala binding for it.
I learned many things on this quest. I had never looked at gir files or vapi files before and I learned a little trying to debug and fix problems. The non-technical lessons were: it’s really painful to use stuff that is new and not widely used (yet?), you will find problems. But it’s also very nice to be able to fix the problems and work with helpful people.
By the way, to share my love for GNOME I’m organizing a GNOME 3.0 Release party in my town – Belo Horizonte, Brazil. So, if you’re in the area, save April 9th and get in touch if you want to help with organization.
Update: Patricia Santana Cruz had already made a patch to port Cheese to Gtk.Application (which is also way better than mine), so if I was any smarter I wouldn’t have half of the work I did. And now I know she is also one of the responsibles for we having the clutter-gtk-1.0 binding for vala too and she is working on some more bugs in vala and going after the warnings that affects Cheese. In short, she is awesome!
13 de February de 2011
Olá pessoal,
O Nícolas chegou
. Na verdade ele chegou há 22 dias, mas confesso que ainda não tinha achado tempo e inspiração para escrever, foi mais falta de tempo do que inspiração, mas hoje saiu.
Bom, ele chegou com 36 semans, convertendo isso para meses foi no 8º mês que ele nasceu. Veio um pouco prematuro, mas veio saudável.
Ele, apesar de ter nascido com 8 meses, nasceu com bastante saúde. A data do nascimento dele foi dia 21/01/2011, um dia depois do aniversário da Carol, minha esposa.
Penso que este foi o maior presente dela, e sem dúvida meu também.
Hoje, já com 22 dias, ele é um moleque esperto e sistemático (Sinto algo semelhante com minha pessoa no ar hehe).
Então para quem ainda não o viu, vou colocar a fotinha dele aqui para todos.
Não tem muito o que falar… quem é pai sabe o que eu to tentando falar neste pequeno post.
Um abraço para todos.
Ps.: Recomendo um filhão para quem ainda não tem
29 de January de 2011
05 de November de 2010
Quando o meu notebook começou a apresentar uma falha na imagem de acordo com a inclinação da tela, achei que era algum cabo solto. Como isso foi só piorando, e infelizmente a garantia havia expirado há poucos dias, resolvi levá-lo numa loja no prédio onde trabalho aqui em Brasília. Trata-se da loja Só Notebook. O orçamento chegou salgado: R$ 600 ou R$ 650, não me lembro bem. Segundo o técnico, o problema era a tela, que deveria ser trocada e por, coincidência, havia uma lá no estoque. Embora eles tenham demorado a dar o orçamento, prometeram fazer o serviço bem rápido.
Não fiquei convencido e resolvi levar o notebook na loja autorizada da Positivo: a PcLink. Sim, é aquele SIM + 1455. Logo que deixei o notebook lá, o rapaz arriscou: “Deve ser o cabo flat; se for, sai R$ 250.” Após alguns dias veio a confirmação. O notebook agora está funcionando muito bem. O que dizer disso?
Filed under: Variedades
27 de October de 2010
![]()
Além de fazer parte do Sysadmin Team do GNOME também colaboro com o Moderator Team. Esta equipe de 02 pessoas é responsável por moderar todas as 250 listas existentes no Projeto GNOME.
Até pouquissimo tempo este trabalho ultra-chato era feito através do ambiente de gerência Web, só que as coisas estão mudando.
Christer Edwards, atual coordenador dos Sysadmins, recomendou a utilização da ferramenta listadmin. Esta excelente ferramenta facilita a moderação de várias listas de discurssão de forma bastante eficaz através da linha de comando.
Agora vamos ao que interessa:
Instalação
aptitude install listadmin
Configuração
Crie o arquivo .listadmin.ini no diretório home do seu usuário com a seguinte sintaxe:
adminurl – Informe a URL da lista
default – Informe a ação padrão Approve,Reject,Discard,Skip,view Body,Full,jump
log – Informe onde será gravado o arquivo de logpassword – Informe a senha da lista
lista@domain.com – Informe o email da lista
Exemplo:
vim ~/.listadmin.ini
adminurl http://mail.gnome.org/mailman/admindb/gnome-love
default discard
log ~/.listadmin.logpassword senhalista
gnome-love@gnome.org
Altere as permissões do arquivo
chmod 744 ~/.listadmin.ini
Agora é só correr pro abraço
listadmin
[1/1] ============== gnome-love@gnome.org ==============================
From: skovacs@duaa.duke.edu
Subject: Oct 27/10/2010
Reason: Post by non-member to a members-only list Spam? 2
Approve/Reject/Discard/Skip/view Body/Full/jump #/Undo/Help/Quit [D] ?
Submit changes? [yes]
Desta forma a administração das listas do GNOME ficará simples e rápida.
19 de October de 2010
Criticar o movimento do software livre é sempre uma atitude perigosa, mas tem algo que eu realmente não entendo.
O governo brasileiro criou um projeto para baratear computadores chamado “Computador para todos” e incentiva o uso de software livre. Contudo, os computadores mais baratos vendidos pelas lojas são montados com placas SiS e VIA, empresas que notoriamente não investem em drivers para o sistema operacional Linux. O resultado disso é que para esses computadores funcionarem com Linux são necessárias algumas gambiarras. Se a comunidade estimular consumidores a instalarem Linux em suas máquinas populares, estes novos usuários podem enfrentar um grande aborrecimento e confirmar aquela máxima: Linux é difícil.
Os desenvolvedores de fora do Brasil não estão muito preocupados com isso. Pelo menos é o que se observa nos fóruns. Se os próprios desenvolvedores brasileiros não desenvolverem drivers para essas placas, o panorama do Linux continuará a ser irônico: só os usuários que possuem máquinas mais caras, bem montadas, usam o sistema operacional livre. Se a base de usuários é 1%, 2% ou mais… não importa. Ela permanecerá limitada aqui no Brasil ao hardware de boa qualidade.
Sabemos que o usuário Xing Ling ganha espaço e os produtos chineses há tempos já invadem o Brasil (e o resto do mundo). É no camelô que a Microsoft mais faz sucesso. Se o primeiro mundo do Linux seguir ignorando os proprietários de computadores ruins e baratos, a Microsoft agradecerá: continuará tolerando a pirataria nos camelôs e terá no “Computador para todos” um grande meio para desqualificar o software livre. Enfim, como sempre, o Windows vai manter a grande maioria de usuários. Isso não é ideologia, é uma questão de mercado, prática e simples. Simples assim: se o usuário estiver preocupado com a marca, comprará um computador da Apple, cheio de estilo; do contrário, comprará um barato, pensando na memória e no espaço do disco, sem se preocupar com a qualidade da placa.
Filed under: Software livre
09 de October de 2010
Em novembro participarei de 02 grandes eventos. Iniciando com o IV ENSL e o VII Fórum Gnome dias 05 e 06 em Natal/RN onde farei 02 palestras.

No VII Fórum Gnome que ocorrerá no IV ENSL o tema será “Por trás da Infra-estrutura do GNOME: Trabalho para Sysadmins”, nesta apresentação vou mostrar como funciona a infra-estrutura por trás do Projeto Gnome , quem são as pessoas e como se tornar um sysadmin deste grande projeto.
A apresentação aprovada pelos avaliadores foi “Ataques e Contra-medidas – Como proteger seus sistemas na Cyberwar” nela apresentarei a metodologia por trás de um ataque, dicas de como se proteger, e como não poderia deixar de acontecer farei um HandsOn explorando alguns 0days bastantes conhecidos.

No final ( 26 a 29 ) estarei no H2HC ( Hackers to Hackers Conference ), evento que reuni a nata dos hackers brasileiros. Os seguintes palestrantes confirmaram presença:
Anchises De Paula – Security Intelligence Analyst, iDefense
Bruno Oliveira – Security Consultant at Trustwave’s Spiderlabs
Carlos Sarraute – Researcher, CoreLabs
Dario Filho – André Grégio – Mestrando e Doutorando – Unicamp
Eric Filiol – Directeur du laboratoire de virologie et de cryptologie opérationnelles – ESIEA Ouest
Fermin Sena – Software Security Engineer, Microsoft
Jeremy Brown – Security Researcher – Tenable
Matthieu Suiche – Founder, MoonSols
Nelson Brito – (Independent Researcher)
Ranieri Romera – Threat Researcher, TrendMicro
Rodrigo Montoro – TrustWave SpiderLabs Researcher
Sergey Bratus – Research Assistant Professor, Computer Science at Dartmouth College
Tony Rodrigues – (Independent Consultant)
Wagner Elias – Research & Development Manager, Conviso IT Security
Com certeza estes eventos trarão muito conhecimento e muiiitttaaa diversão!!!
Agradecimentos:
* A Colivre por patrocinar minha ida ao H2HC Conference.
* A Gnome Foundation e a organização do IV ENSL por permitir minha presença em Natal.
09 de August de 2010
Li recentemente a Pesquisa sobre o Uso das Tecnologias da Informação e da Comunicação no Brasil 2009
, publicada pelo Comitê Gestor da Internet no Brasil, e descobri que o documento traz inclusive estatísticas de sistema operacional. Em resumo, 86% das famílias brasileiras têm o Windows instalado em seu computador principal; essa proporção é de 1% para o GNU/Linux, e desprezível para Mac e outros. 13% dos entrevistados não souberam ou não quiseram responder à pergunta.
O relatório prossegue analisando a variação dessas proporções de acordo com o local (área urbana ou rural), a região do país, a renda familiar, e a classe social/econômica. Em quase todos os grupos, o uso de Linux continua em 1%. As exceções ficam para:
- Área rural: uso desprezível;
- Região Norte: 2% de participação;
- Renda familiar maior que R$ 4.650: 3% de participação;
- Renda familiar entre R$ 931 e R$ 1.395; e entre R$ 2.326 e R$ 4.650: uso desprezível.
Não houve variação por classe econômica.
A fatia da população brasileira que mais usa Linux parece ser a mesma que tem banda larga: os moradores da área urbana (quase não existe banda larga na área rural) e aqueles com renda familiar mensal acima de R$ 4.650. Já vai longe a época em que o modelo de negócios da Conectiva era vender seu sistema operacional numa caixa.
Imagino que trabalhar com tecnologia também ajude, mas isso não foi avaliado na pesquisa.
Já o programa Computador Para Todos parece ter tido um efeito modesto. As famílias com renda mensal menor que R$ 931 usam o sistema operacional mais que os do estrato imediatamente superior, mas ainda assim a proporção ficou em meros 1%.
O que mais me surpreendeu foi a região Norte. Colegas nortistas, será que as comunidades daí são mais ativas?
Outra informação que não entendi foi a proporção não variar de acordo com a classe econômica. Intuitivamente, as pessoas com maior renda estão numa classe econômica superior, mas isso não é verdade, ou ao menos não para os usuários de Linux.
O estudo do CGI.br usou o critério de classe social/econômica da Associação Brasileira de Empresas de Pesquisa. A ABEP também divide as classes econômicas pela renda (como o IBGE), mas disponibiliza uma ferramenta que permite estimar a renda. Essa ferramenta (o Critério de Classificação Econômica Brasil — CCEB) consiste num sistema de pontos atribuídos à posse de bens de consumo e ao grau de instrução do chefe da família.
É possível ganhar muito e ter poucos bens ou pouco estudo, e talvez esse seja o perfil dos usuários de Linux.
O estudo só considerou aquilo que todo o mundo entende por computador, ou seja, dispositivos embarcados ou celulares não contam. A metodologia não considerou os computadores que não o principal
, e não consegui encontrar na metodologia a definição operacional de o que seria um computador principal, ou como lidar com o dual boot.
Como já foi dito, em 13% dos domicílios o entrevistado não soube informar o sistema operacional. Essa proporção é ainda maior na região rural, nos domicílios com menor renda familiar, e nas classes D e E. Esses números são uma ordem de grandeza superiores à fatia que usa Linux, causando imprecisão na estimativa.
Reparem que o 1% de usuários Linux é a proporção dentre todos os entrevistados, e não apenas entre os que souberam responder à pergunta. Dessa forma, o número real de domicílios brasileiros com Linux é qualquer coisa entre 1% e 14%.
01 de August de 2010
Dave Neary, um dos membros mais ativos da Fundação GNOME, publicou a primeira edição do Censo GNOME, um levantamento da participação de cada colaborador, e de cada empresa, no desenvolvimento do GNOME. Como o BR-Linux.org destacou, um dos grandes destaques do censo foi que apenas 1% do código teria sido contribuído pela Canonical, enquanto a Red Hat seria responsável por 16%. Outra informação do Censo GNOME é uma espécie de proporção de Pareto: apenas 30% dos desenvolvedores são pagos para trabalhar com o GNOME, mas sua colaboração representa 70% do código.
No que diz respeito à participação da Canonical, Jono Bacon (gerente da comunidade) rebate dizendo que a empresa contribui muito com o GNOME, mas o código fica hospedado no Launchpad, e qualquer distribuição poderia empacotá-lo. De fato, o levantamento publicado por Dave Neary só levou em consideração o código hospedado na infraestrutura do próprio GNOME — que aliás é fornecida principalmente pela Red Hat.
Ainda sobre a importância relativa de cada empresa, o próprio Dave Neary destaca o que os números escondem sobre a participação da Nokia. Em vez de contratar mais empregados, a empresa estimulou a criação de várias start-ups que contribuem com uma parte significativa do código. Além disso, os módulos específicos do GNOME Mobile e o WebKit não entraram na análise.
Mas minha contribuição nessa discussão é sobre o outro destaque: o efeito Cauda Longa. De fato, os colaboradores voluntários têm contribuições individuais pequenas, como acontece no desenvolvimento do kernel Linux. Mas uma boa parte dos principais colaboradores do GNOME (em número de alterações do código-fonte) são voluntários, e a maior parte dos módulos do GNOME são mantidos por voluntários. Mais: se considerarmos o voluntariado como uma empresa, essa empresa será responsável por 30% do desenvolvimento do GNOME, muito mais que a Red Hat ou qualquer outra empresa.
Por fim, gostaria de registrar que o Censo do GNOME é sobre o desenvolvimento do código, mas até onde sei não estuda a tradução ou outros tipos de contribuição. A tradução é uma parte significativa do trabalho no GNOME, e acredito que seja quase exclusivamente voluntária.
16 de February de 2010
Pois é... faz tempo que não blogo
. O final de 2009 e começo de 2010 foi bastante corrido: tive que terminar meu trabalho de conclusão de curso e comecei a trabalhar. Mas agora as coisas já estão mais calmas.
Finalmente me formei. Agora posso me declarar cientista da computação e já estou aprovado no mestrado, que começa mês que vem. Minha colação de grau foi na quarta feira e agora fico no aguardo da colação de gala, na qual irão meus familiares e amigos.
Em dezembro comecei a trabalhar. Estou trabalhando na agência de publicidade Sabbre fazendo o desenvolvimento de aplicações web com Ruby on Rails. Um trabalho que tem me dado motivos para gostar do que faço e que me tem feito aprender muitas coisas.
Infelizmente, tive que abrir mão de algumas coisas, principalmente de software livre. Saí da equipe de desenvolvimento do archlinux Brasil, pois não estava conseguindo tempo para me dedicar. Como não gosto de assumir compromissos que não posso cumprir, eu acabei optando por sair. Desejo boa sorte e muito sucesso a todas as pessoas que continuam por lá. Continuo agora só gerenciando a equipe de tradução do GNOME, que aliás já está em pleno ritmo de tradução para o GNOME 2.30.
21 de December de 2009
Enquanto eles comemoram o primeiro título, lembro que já conquistamos três vezes (inclusive uma delas contra eles).
Um fato que eu não sabia e agora sei é que no mesmo ano da disputa ganhamos outro título (do Torneio Teresa Herrera) contra eles. E de 4 a 1!!! Na época o Barcelona era bem "maior do mundo" do que é hoje.
Saudações tricolores!
31 de October de 2009

Semana passada fui no Latinoware e foi bastante interessante. Lá palestrei sobre nossa equipe de tradução do GNOME e tive algumas experiências interessantes:
- Foi bacana rever alguns e conhecer boa parte do pessoal do GNOME Brasil. Espero vê-los mais vezes;
- Também revi o Farid, que trabalha comigo no Archlinux Brasil, ficamos de conversar mais como acabei não podendo ir no último dia devido ao atraso do motorista que ia buscar a gente no Paraguay, não conversamos
; - As palestras também foram legais: o Lício falou sobre o GNOME Love, eu falei sobre a equipe de tradução do GNOME para nosso idioma, o Binhara falou sobre o Mono, a Izabel e a Luciana falaram sobre o GNOME Women (eu infelizmente perdi essa palestra
), o Vinicius Depizzol falou sobre a experiência do usuário no GNOME e para finalizar o Tiago falou sobre personalização do GNOME. Um ótimo conjunto de palestras
; - Foi legal discutir coisas, tanto técnicas como não técnicas, com as outras pessoas do GNOME e de outros projetos como o Fedora. Aliás esses eventos acabam proporcionando trocas de experiências que contribuem em muito com os projetos de SL. Aliás isso é uma das coisas mais importantes de eventos como esses e tenho que ser bastante grato à Fundação GNOME por me patrocinar e ter a oportunidade de fazer coisas como essa, além de poder participar do evento e conhecer mais pessoas;
- Depois de assistir uma palestra interessante sobre o Mono com o Binhara e depois de ouvir o Everaldo falar horas e horas disso, fiquei com vontade de aprender a programar nesse ambiente;
- Conversei com o João Sebastião sobre como podemos fazer a adequação do GNOME para a nova ortografia. Para corrigir algumas coisas nas versões antigas ele fez um script que pode ser bastante útil para agilizar nosso trabalho. Próximos capítulos desta trama serão divulgados aqui neste blog em breve
; - Conheci o Paraguay, e embora este país tenha muitos produtos interessantes a venda ele tem a pior poluição visual que já vi;
- Não consegui ver as cataratas, aliás faltou tempo para isso
; - Minha palestra não teve um grande público, mas acho que deu para passar a mensagem da equipe. O pdf aparecerá em breve por aqui;
- Foz do Iguaçu é uma cidade bastante esquisita: lá é úmido pra caramba, escurece bem tarde e isso me faz perder a noção do tempo;
- Não gostei muito de comida Baiana. Tem muita cebola. E eu odeio cebola. Aliás, a coisa que menos comi lá foi comida paranaense;
- A organização do Latinoware também deixou muito a desejar, já fui em eventos mais bem organizados e acho que o Latinoware também podia ser;
- Agradeço a fundação GNOME por me patrocinar, ao Leonardo por me indicar para palestrar e a Izabel, que correu atrás de tudo por lá (aliás, depois que organizei junto com amigos a ida do pessoal da minha faculdade pro FISL, aprendi a agradecer as pessoas que fazem acontecer);
É isso aí
Que o próximo evento venha logo e que eu tenha a oportunidade de vê-los em breve.
UPDATE:Aqui vão os slides.
10 de June de 2007
One day, you’re writing code, packaging and translating it, administering systems and giving talks about free software. The next day, you realise you want to go to Law school.
It does not feel any different from starting all over. Fortunately, it feels like it is soon enough.
23 de September de 2006
So yeah… I guess I’ll have to take back what I said about clearing the accounts backlog until the end of the weekend, even though I’ve already gone through more than half of it.
Why? Quite simple. My hard disk finally died, after a couple of months spitting out I/O errors and corrupting filesystems all around.
Oh well…





































