Djavan Fagundes: Um relato mais que atrasado do FISL11

16 de Agosto de 2010, por Desconhecido - 0sem comentários aindaOlhando as fotos que tiramos neste FISL, decidi mesmo que tardiamente fazer o meu relato de como foi o evento. Infelizmente o sono já começa a fazer o seu trabalho, então irei tentar resumir o evento pelas fotos que tirei.

Como já esperava, reencontrei muitos amigos. Felizmente consegui voltar ao bar da Tia Neuza, para a famosa capirinha, onde o Lincoln deu uma de galã e a luva/grama da Yaso causou muitos risos. O frio, este ano bem pior, tão forte que congelou carros na rua.

Eu assisti poucas palestras, mas entre as que eu gostei está a de OpenStreetMap onde o Samuel Vale (aka Phractal) e Arlindo Saraiva (aka Nighto) finalmente falaram juntos sobre o assunto.

As trollagens rolaram soltas, destaque pra Amandinha, que conquistou uma cadeira no hall da fama do trolling.

Percebi que neste FISL as discussões giraram em torno do #marcocivil e sobre a #leidireitoautoral, com discussões pra lá de interessantes.

Durante a noite, dentre os lugares que fomos, destaque para o Mr.Dam, onde fizemos história com o chapéu de Carlos Gardel. Teve a Camila e a Amandinha sendo iniciadas na arte de flambar curaçau, brincamos tanto que a garrafa secou em menos de 20 minutos, bom pra esquentar um pouco.

No evento, menos fotos e sempre boas discussões, troquei muitas ideias com o Rodrigo Padula sobre o GNOME e Fedora. Conversei com muitas outras pessoas durante o dia e durante a noite, infelizmente não daria pra listar todas aqui, mas me lembro de cada discussão. Mas alguém que eu não poderia deixar de citar é o baiano alucinado "Everybody Hates Chris?", vulgo Ratox, pois é, eu o conheci.

Parafraseando meus amigos Amandinha e Guerrinha, "fui ao FISL para ver gente e o fiz" e a impressão que tenho cada vez mais é as palestras são o bônus do evento, e não o contrário.

Comentários | Link permanente
© Djavan Fagundes, 2010.



Gustavo Noronha (kov): O pior cego é aquele que não quer ver

16 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

Cegueira ideológica e Tribalismo

Muita gente repete que o pior cego é o que não quer ver, mas muito pouca gente me parece refletir a respeito do que isso quer de fato dizer. O Mark Shuttleworth fez há pouco tempo um post em seu blog que eu acho que vai no ponto exato da questão quando fala de algo que ele chama de “tribalismo“.

Eu tenho chamado esse comportamento de “cegueira ideológica”, mas acho que vou adotar o termo dele, que é bem mais simples e acho que bem mais correto, porque não se trata apenas de ideologia! Ele fala de 2 tipos de argumento que aparecem muito nos discursos tribalizados: “o outro pessoal nunca fez nada” (muito comum nas campanhas políticas, inclusive) e “evidência que contraria minha crença/visão não conta”.

Esse tipo de comportamento tribal aparece nas mais diversas áreas da nossa vida. Torcedores de futebol, defensores de uma determinada tecnologia ou ideia, militantes de um partido (ou, no Brasil, indivíduo!). Recentemente várias coisas interessantes aconteceram que me fizeram pensar mais e mais nesse tipo de comportamento.

O mais recente foi o processo movido pela Oracle contra o Google por violação de patentes relacionadas ao Java no Android. Não é segredo pra ninguém que eu não gosto de Java. Esse meu desgosto pela tecnologia é multi-facetado: eu não gosto da sintaxe, acho que tecnologias Java costumam complicar muito mais do que o necessário e pra piorar toda a situação nós não tínhamos uma implementação livre. Meus problemas com a tecnologia foram diminuindo com o tempo em razão de vários progressos que foram feitos - VMs livres começaram a aparecer, a própria Sun liberou as partes que podia da sua VM e por aí vai. Gostando ou não, eu acho importante que Java seja uma das ferramentas disponíveis para a realização da liberdade de software e vejo na ação da Oracle uma grande ameaça que precisa ser rechaçada.

O Java é Livre! Oh really?

Muitos anos atrás, no entanto, era comum encontrar gente que se dizia defensora de Software Livre advogando uso de Java - numa época em que nós sequer tínhamos uma implementação livre da VM e das bibliotecas básicas. Um dos principais argumentos era que a especificação era aberta e construída de forma aberta, também. Eu acho ambas as afirmações muito discutíveis, mas como elas são irrelevantes para a discussão atual não vou aprofundar agora.

Com o surgimento do .NET, seguido do Mono, uma alternativa viável ao Java como linguagem de alto nível baseada em uma VM poderosa começou a se desenhar - e com uma implementação livre! Aplicações úteis e interessantes começaram a aparecer no desktop livre, coisa que nunca houve com Java. Não demorou quase nada para esses defensores de Java caírem de pau no Mono, é claro - .NET é uma tecnologia da Microsoft, recheada de patentes, certamente, diziam. A Microsoft vai querer destruir a comunidade de SL na primeira oportunidade - assim que dependêssemos o suficiente do Mono. Eles não estavam errados, note, eles estavam muito certos e embora os riscos tenham sido diminuídos com o tempo por várias razões eles ainda são bem reais! Mas os mesmos riscos que eles viam no Mono também existiam para o Java, sempre existiram, mas eles se negavam a ver ou concordar. “A Sun é muito mais comprometida com a liberdade que a Microsoft” diziam eles. Yeah, sure.

Eu não estou argumentando que eles deviam deixar Java de lado, note bem. Eu acho que eles deviam sim, como fizeram, ter lutado para que Java fosse mais uma opção para nossa comunidade criar e exercer suas liberdades. Eu respeitaria qualquer um que dissesse “Sim, eu reconheço e assumo os riscos. Se um dia chegar a esse pior caso eu vou lutar para defender nossa liberdade frente às patentes”. Agora, 6-10 anos depois, chegou a hora da tribo do Java rever os seus conceitos e de nós todos, como comunidade, ajudarmos na defesa do Google!

E não para por aí, infelizmente.

O tribalismo não para por aí, infelizmente. É comum encontrar diversos casos em que as pessoas propagam informações a favor do que defende sem verificar (se é a favor tem que estar certo, né?) e de achar cabelo em ovo nas informações que são contra seus defendidos ou a favor dos seus “inimigos” (da época). Isso aconteceu no caso em que se divulgou por exemplo que o Windows 7 usava código do Linux, quando na verdade uma ferramenta secundária que sequer é distribuída junto com o Windows 7 usava código GPL de uma outra ferramenta publicada no Codeplex da Microsoft, que não tinha nada a ver com o Linux.

Isso também acontece sempre nas campanhas políticas, é claro e eu não paro de rir de gente fazendo defesas absurdas e fazendo a caveira dos inimigos de ocasião. Isso acaba por fazer que os debates sobre o que as pessoas defendem de fato fiquem em segundo plano, substituídos por etiquetas simplistas e simplificadoras e por discursos populistas de todos os lados.

Outro alvo recente de tribalismo é o Google. Nosso aliado em várias frentes é inegável que o Google também tem várias atitudes que ferem a sua promessa de não ser “evil”. Apesar disso, há aqueles que fazem uma defesa quase incondicional do Google, assim como há aqueles que só fazem a caveira.

É preciso ver que, como qualquer organização grande o Google tem várias forças puxando para lados distintos. De um lado, um grande usuário de tecnologias livres, um grande desenvolvedor de softwares livres, com contribuições de vulto tanto em projetos novos como em projetos existentes, um garoto propaganda da liberdade e abertura na web, inclusive com enormes contribuições para esse objetivo. De outro lado, falta de sensibilidade no tratamento da privacidade de seus usuários, mudanças de posição inesperadas com relação à política de neutralidade da rede, discriminação de minorias, síndrome do “Not Invented Here”, com projetos novos sendo criados ao invés de colaborar com já existentes e por aí vai. É importante reconhecer e tratar cada uma dessas facetas de forma separada, sem fazer defesas ou caveiras incondicionalmente.

Veja também

Alguns outros posts interessantes sobre o assunto Oracle vs Google:



Carlos José Pereira (Carlão): Programação de GUIs utilizando GTK - Parte 2

13 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

.
Neste post vamos tratar da montagem do ambiente para programação GTK, exemplificando através de uma distribuição Ubuntu, versão 10.04 (GNU/Linux), recém instalada. Os requisitos para acompanhar este e os próximos posts são: conhecimentos (nível intermediário) da linguagem C (incluindo ponteiros), geração de arquivos-fonte e sua compilação pela linha de comando (terminal) utilizando o GCC.

Vamos começar com um programa simples, baseado em GTK+, uma espécie de "Hello World" dos programas em ambiente gráfico: mostra uma janela vazia na tela. O código segue abaixo:

 #include <gtk/gtk.h>
int main (int argc, char *argv[])
{
GtkWidget *window;
gtk_init (&argc, &argv);
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_title (GTK_WINDOW (window), "Alou, Mundo!!!");
gtk_widget_show (window);
gtk_main ();
return 0;
}

Não se preocupe com os detalhes do programa, veremos isso depois. O objetivo agora é apenas conseguir compilar e executar o dito cujo, pelo terminal. Gere um arquivo-fonte em C com o código acima, digamos, aloumundo.c, e tente compilar:

gcc -o aloumundo aloumundo.c

E receba um monte de mensagens de erro... :-)

 aloumundo.c:2:21: error: gtk/gtk.h: No such file or directory
aloumundo.c: In function ‘main’:
aloumundo.c:6: error: ‘GtkWidget’ undeclared (first use in this function)
aloumundo.c:6: error: (Each undeclared identifier is reported only once
aloumundo.c:6: error: for each function it appears in.)
aloumundo.c:6: error: ‘window’ undeclared (first use in this function)
aloumundo.c:10: error: ‘GTK_WINDOW_TOPLEVEL’ undeclared (first use in this function)

Bom, a coisa começa pelo fato de que o compilador não encontrou a biblioteca gtk (personificada, digamos assim, neste exemplo, pelo arquivo gtk.h). E a partir daí, nada relacionado com gtk foi interpretado.

O que acontece é que, apesar de estarmos usando um ambiente gráfico baseado em GTK (Gnome), ou seja, a biblioteca gtk está garantidamente instalada no sistema, precisamos instalar a biblioteca PARA DESENVOLVIMENTO. Em sistemas baseados no Debian, acho que em 99% dos casos, bibliotecas para desenvolvimento tem seu nome terminado em -dev (em outras distribuições, este tipo de biblioteca tem seu nome terminado em -devel).

Abrimos o gerenciador de pacotes Synaptic, e procuramos por libgtk:



Descobrimos que o nome correto é libgtk2.0-dev. Ao marcarmos para instalação, o Synaptic automaticamente seleciona outros pacotes que também são requeridos. Na verdade, quando falamos em GTK estamos falando em um conjunto de bibliotecas, como por exemplo, GLib (funções utilitárias de propósito geral), GDK (camada entre o sistema gráfico X e GTK), Pango (textos e fontes), ATK (acessibilidade), entre outras.



Agora, com as bibliotecas instaladas, podemos tentar compilar novamente, e.... ué?!?!? Erro de novo?

Isso acontece porque precisamos indicar ao GCC que queremos utilizar uma biblioteca extra, além da biblioteca-padrão, que ele já sabe usar diretamente. Isso significa indicar os seguintes itens:

  • caminho para o diretório onde estão os "includes" da(s) biblioteca(s) que você quer usar. Isso é feito utilizando-se a opção -I (letra "i" maiúscula);
  • caminho para o diretório onde estão as bibliotecas a serem utilizadas. Isso é feito utilizando-se a opção -L (letra "l" maiúscula);
  • finalmente, quais bibliotecas serão utilizadas, com a opção -l (letra "l" minúscula). Nomes de bibliotecas começam pelas letras "lib" (por exemplo, libblabla), e utilizamos com -lblabla (o nome depois do lib).

Já falamos que GTK é composta de várias bibliotecas de suporte. Isso significa dizer que, para compilar usando GTK, teremos que informar ao compilador, usando as opções acima, diretórios e bibliotecas para todas elas. Felizmente, temos um programa que nos auxilia nisso, chamado pkg-config, retornando as informações necessárias, para um pacote/biblioteca específico. Como nos diz o comando man,

"The pkg-config program is used to retrieve information about installed libraries in the system. It is typically used to compile and link against one or more libraries."

Então vamos experimentar, digite no terminal:

pkg-config --cflags --libs gtk+-2.0

A opção --cflags diz para retornar informações acerca dos includes, e --libs para bibliotecas, tudo isso relativo ao pacote indicado no final da linha, "gtk+-2.0".

Você deve ter obtido a seguinte saída:

-pthread -D_REENTRANT -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/directfb -I/usr/include/libpng12 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0

... ou seja, todos os parâmetros necessários para você compilar um programa que utilize a biblioteca GTK (e suas companheiras).

E como utilizamos isso? Copio essa coisa toda e digito junto com o comando de compilação, gcc?? Não precisa. Podemos simplesmente indicar ao GCC que os parâmetros de compilação vão ser informados pelo pkg-config. Fazemos isso dessa forma:

gcc -o aloumundo aloumundo.c `pkg-config --cflags --libs gtk+-2.0`

A linha acima tem o seguinte efeito: o comando pkg-config é executado, e sua saída é integrada ao resto da linha (compilação com o gcc) como se tivesse sido digitada normalmente. Agora, CUIDADO!! O caracter que envolve o pkg-config é a CRASE (não é a aspa simples, não é o acento agudo!).

Agora, você deve obter uma compilação sem erros, já que todas as bibliotecas estão instaladas no sistema, e você indicou ao compilador como usá-las.

Falta só executar sua obra-prima.... :-)

./aloumundo



Algumas observações finais:

  • se você clicar no 'X' para fechar a janela, ela fecha, mas o programa continua sendo executado (o terminal fica "travado"). Para liberar o terminal, precisamos finalizar o programa na marra, teclando CONTROL-C. Isso acontece porque o 'X' causa apenas a parte gráfica da coisa (a janela some da tela), mas não a finalização do programa. Isso é nossa responsabilidade, e veremos como fazer isso posteriormente.
  • note que você pode mover a janela, minimizar, maximizar, redimensionar.... como isso é possível, se não escrevemos código para isso? Isso é papo pro próximo artigo.

Abraços a todas e a todos!

Carlão



Gustavo Noronha (kov): Google’s User-Agent sniffing makes one more victim

10 de Agosto de 2010, por Desconhecido - 1Um comentário

Remember when I said Epiphany worked out of the box with Youtube’s WebM? Well, Google has recently decided to deny us WebM, like it did before with Wave, the Pacman doodle, and who knows what else? \o/

Wouldn’t it be nice if Google practiced what they preach?

Update: so it looks like my message went through to the people who needed to see it, and they found a filtering error in the User Agent sniffing code that made it think Epiphany was a too old Safari - I’m told the change will land in Youtube soon, thanks for those paying attention, and working on this! User Agent sniffing keeps being a problem, of course, and there are other stuff to fix, so I will probably still push my patch to spoof the user agent to google services which are still mishandling Epiphany, but it’s good to see some progress being made!

Update2: I started shipping a patch to send the Chrome user agent string to google domains in the Debian package for WebKitGTK+, when the “enable-site-specific-quirks” setting is enabled (which is the case for Epiphany); I already found something we were missing out on =D Google Images seems to have been greatly improved, and now faking being Chrome we are also able to enjoy it:

Google Images improved



Gustavo Noronha (kov): Google’s User-Agent sniffing makes one more victim

10 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

Remember when I said Epiphany worked out of the box with Youtube’s WebM? Well, Google has recently decided to deny us WebM, like it did before with Wave, the Pacman doodle, and who knows what else? \o/

Wouldn’t it be nice if Google practiced what they preach?

Update: so it looks like my message went through to the people who needed to see it, and they found a filtering error in the User Agent sniffing code that made it think Epiphany was a too old Safari - I’m told the change will land in Youtube soon, thanks for those paying attention, and working on this! User Agent sniffing keeps being a problem, of course, and there are other stuff to fix, so I will probably still push my patch to spoof the user agent to google services which are still mishandling Epiphany, but it’s good to see some progress being made!



Djavan Fagundes: Mudando para o Comum

9 de Agosto de 2010, por Desconhecido - 0sem comentários aindaEu estou abandonando meu blog antigo (de novo) e desta vez definitivamente. Irei passar a somente atualizar este blog.

Se você o lê por algum dos planetas que eu publico, provavelmente irá reler algumas notícias ou ver coisa bem desatualizada, não se preocupe, basta usar a arte de "marcar como lida".

Eu utilizo neste novo blog ao invés de Wordpress o Django Diário, que é mais simples e tem tudo o que eu preciso.
Sei lá, estou cansado de sempre mais do mesmo.

Um abraço!

Comentários | Link permanente
© Djavan Fagundes, 2010.



Gustavo Noronha (kov): WebKitGTK+ and the Web Inspector

9 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

When I started working on WebKitGTK+ I was a web developer, writing IT applications using Python and Django, and building features for content portals running Plone (argh). Even though I was an Epiphany user ever since it was forked off Galeon, I still had to use Firefox for my work, because I couldn’t really live without Firebug.

It should come as no surprise, then, that one of my first patches to WebKitGTK+ was actually making the awesome Web Inspector work in our port. After the initial support, though, not a lot has been done to further improve it, partly because it was already good enough for many uses, partly because I somehow started doing non-web development again ;).

These last weeks, through my R&D efforts in Collabora, I have been able to push Web Inspector features and integration a bit further. A simple change that boosts the Inspector’s usability quite a bit is having the nodes that are being hovered highlighted. Along with that, the ability to attach the inspector to Epiphany’s window should make it easier to use for poking the DOM.

The Web Inspector has a number of settings that control its behaviour. Since, for instance, enabling javascript debugging may slow down javascript performance, the inspector usually has it disabled by default, and provides a button to enable it. It also provides an option for always enabling that feature, but that does not work right now, because we are not saving/restoring the relevant settings. A solution to that is in the works using the GSettings infrastructure that was recently merged into glib.

Here’s a simple screencast, showing these improvements in action (click the video to check it out in full size):



Leonardo Ferreira Fontenelle: CGI.br: Quem são os brasileiros que usam Linux?

9 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

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%.



Gustavo Noronha (kov): Hackers

7 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

Acabei de ler nos últimos dias, finalmente, o clássico e frequentemente citado livro Hackers, do Steven Levy. Não há discussão sobre cultura e ética hacker que não faça pelo menos uma referência a esse livro. Poucos meses atrás a editora O’Reilly lançou uma nova edição do livro, que inclui um novo apêndice, em que o autor revê rapidamente o estado da cultura e ética hackers no ano 2010, 25 anos depois do lançamento do livro original.

O livro é, antes de mais nada, uma delícia de ler. Eu não costumo ser muito tolerante com clássicos difíceis de ler - não me interessa o quão importantes eles são, não consigo achar energia para terminar livros massantes (e olha que meu limite é bem alto!), mas Hackers superou até minhas expectativas mais otimistas. O livro é construído como uma série de histórias em que os personagens principais são os hackers que deram origem aos ideais e princípios éticos que culminaram nos movimentos de liberdade de software e conhecimento livre que nós conhecemos hoje.

Mais interessante para quem já conhece bem a ética e os ideais hacker, talvez, seja ver como mudaram as coisas. Quando os computadores pessoais começaram a surgir, fruto do trabalho dos hackers de hardware havia um deles, de acordo com o livro, que imbuía fortemente o espírito hacker - o hardware era documentado, aberto, exalava um convite ao hacking. Acredito que a maioria dos simpatizantes dos ideais hacker de hoje se surpreenderia ao saber que se tratava de um produto da Apple - o Apple II.

Since Steve Wozniak’s Apple adhered to the Hacker Ethic in that it was a totally “open” machine, with an easily available reference guide that told you where everything was on the chip and the motherboard, the Apple was an open invitation to roll your sleeves up and get down to the hexadecimal code of machine level. To hack away. (Capítulo 15 - The Brotherhood)

O exemplo de abertura do começo é hoje o exemplo de secretismo, apreço por tecnologias proprietárias, fechadas e falta de respeito pelos usuários, com sua adesão profunda a tecnologias projetadas para serem defeituosas. Quem diria!

Por outro lado, o livro também mostra algumas lições que a cultura hacker teve que aprender através de muito sofrimento e desilusão. Uma dessas lições é que é sempre mais fácil defender intransigentemente uma cultura de acesso ilimitado se os participantes dessa cultura forem uma elite exclusora e que trazer as vantagens e os ideais mesmo de uma ideologia de comuna para todas as pessoas (inclusive as que não necessariamente concordam com ela) passa pela negociação de contradições entre os ideais puros e as estruturas tradicionais da sociedade, capazes de escalar e fazer chegar os conhecimentos e ferramentas necessárias a todo canto, geralmente em forma de “produtos” de uma “indústria”. Foi assim, de certa forma, que o ideal hacker de que as pessoas devem ter acesso a computadores para fazerem o que bem entenderem acabou se realizando - através da criação de uma indústria da computação pessoal, que hoje está experimentando um pico, com computadores (em forma de telefones móveis) na mão das pessoas mais humildes. Mesmo que essa indústria tenha distorcido boa parte dos ideais que acompanham o ideal do acesso ao computador.

The best way to promote this free exchange of information is to have an open system, something that presents no boundaries between a hacker and a piece of information or an item of equipment that he needs in his quest for knowledge, improvement, and time online. The last thing you need is a bureaucracy. Bureaucracies, whether corporate, government, or university, are flawed systems, dangerous in that they cannot accommodate the exploratory impulse of true hackers. Bureaucrats hide behind arbitrary rules (as opposed to the logical algorithms by which machines and computer programs operate): they invoke those rules to consolidate power, and perceive the constructive impulse of hackers as a threat. (Capítulo 2 - The Hacker Ethic)

Hackers sofreram extremamente em momentos em que seus redutos elitisados foram invadidos por gente que não entendia ou não concordava com os ideais, porque de uma hora pra outra foram obrigados a rever suas convicções inclusivas, porque nunca tinham considerado que a inclusão que eles pregavam era somente para uma elite e não sobreviveria da mesma forma ao se universalizar. Há uma tensão latente que é fácil de perceber até hoje e que parece ser uma das grandes questões que nos cabe resolver.

Quando pessoas que protestavam contra a guerra do Vietnã, por exemplo, chegaram à conclusão de que o famoso laboratório de inteligência artificial do MIT (berço dos hackers originais e do projeto GNU) era parte do problema - financiado pelo departamento de defesa, produzindo conhecimento que poderia ser usado na guerra, o que era indiscutível, os hackers acabaram tendo que se utilizar das coisas que mais odiavam para evitar que os protestantes destruíssem algo que era essencial para a evolução do hacking - o computador PDP-6, que eles ameaçavam botar abaixo.

The barricades worked insofar as the protesters—around twenty or thirty of them, in Noftsker’s estimate—walked to Tech Square, stayed outside the lab a bit, and left without leveling the PDP-6 with sledgehammers. But the collective sigh of relief on the part of the hackers must have been mixed with much regret. While they had created a lock-less, democratic system within the lab, the hackers were so alienated from the outside world that they had to use those same hated locks, barricades, and bureaucrat-compiled lists to control access to this idealistic environment. While some might have groused at the presence of the locks, the usual free access guerrilla fervor did not seem to be applied in this case. Some of the hackers, shaken at the possibility of a rout, even rigged the elevator system so that the elevators could not go directly to the ninth floor. Though previously some of the hackers had declared, “I will not work in a place that has locks,” after the demonstrations were over, and after the restricted lists were long gone, the locks remained. Generally, the hackers chose not to view the locks as symbols of how far removed they were from the mainstream. (Capítulo 7 - Life)

Há numerosos outros exemplos no livro de como intransigência e a falta de conexão com a realidade fizeram mais mal à ética hacker e à saúde dos seus praticantes do que o bem que tentavam proteger, mas também há numerosos exemplos de como a postura “mão na massa” dos hackers fez com que o sonho não fosse permanentemente destruído e que a mensagem se perpetuasse. Creio que o maior exemplo de todos seja Stallman, que vendo tudo desabar arregaçou as mangas e, sem se preocupar com o possível, sem se limitar a bandeiras e palavras de ordem pôs a mão na massa e criou as condições materiais necessárias para que uma comunidade global continuasse usufruindo e criando liberdade de conhecimento.

Gostei muito do livro! Acho que é uma boa leitura e acho que serve como inspiração para que as novas gerações de hacker continuem defendendo de forma intransigente os imperativos da mão na massa, da liberdade de informação e criação, da preponderância da qualidade e do trabalho sobre os títulos e burocracia, mas sem deixar de considerar o mundo real. Serve bastante para ajudar a refletir de que forma é possível tornar inclusiva nossa cultura sem que isso implique uma redução do apreço pela qualidade e mestria e tornar mais disseminada nossa ética.



Vinicius Depizzol: Truckloads of awesomeness

5 de Agosto de 2010, por Desconhecido - 0sem comentários ainda

After spending 36 hours between planes and airports, I had the pleasure to participate GUADEC this year, that happened a couple of days ago in The Hague (luckily I arrived 2 days before the conference to recover myself of jet lag).

This time GUADEC was located in Den Haag University, and we had a big area for hacking and discussing ideas for GNOME.

Guadec 2010

Before the talks and keynotes, during the first two days of the conference, I discussed with a lot of people about the state of the gnome.org website. Since the current implementation in Plone was lacking hands to get it done (the start of this work dates from 2007 or so), I suggested instead to do a new approach other than try to keep working in the plone code.

Right on the lobby tables I started then to port the website templates done by me and Andreas to WordPress. Of course you may think that start from scratch the work of a website in another CMS can take even more time, but the difference is that WordPress is widely known and more maintainable (and easier, of course!).

So, basically, to say how WordPress rocks, I got done all the implementation of GNOME website in a couple of days during the conference itself. This means we now have support for static pages, custom template for footers, full localization (by using this great WPML plugin), dynamic banners for the home page and news.

The only possible problem by using WP is that by now it is not possible to integrate it with the infrastructure that GNOME have for translations. Still, if we look the system as a whole, this won’t be a problem since the translation system in WPML works great.

We’re right now putting all the content already made in the wordpress pages. Next step includes polishing the existing content and making it fun to read (other than using long boring paragraphs of text). Oh, and we need to migrate old content as well.

The cool part about all of this is that WP is simple to hack and easy to add new functionalities. A long waited feature we planned to put on the new website is the products page, which will contain a list of featured applications around the GNOME platform with some description. Together with Daniel, we defined a initial set of what to show in these pages. We still need to work on this a bit, but it’s great to see things getting done!

Sponsored by the GNOME FoundationAs Ruben said, GUADEC really consisted of truckloads of awesomeness. I must say a big thank you again to the GNOME Foundation (which needs a new website by the way:P) for letting me get there again this year.