Lucas Rocha: Visiting English towns
2 de Setembro de 2010, 0:00 - sem comentários aindaThis year, Carol and I decided to plan for some quick visits to smaller cities around London. The reason is twofold. First, we wanted to explore a bit more the country where we live. Secondly, we wanted to “practice” how it was to travel with our little daughter before our vacation in Brazil. We’ve made 1-day trips to three towns: Windsor, Cambridge, and Brighton.
Windsor. We visited Windsor in the end of 2009 when my father and his wife came to London to spend Xmas and new year with us. We went there for an obvious reason: the famous Windsor castle, one of England’s most popular places for tourists. It was a quite cold day but we managed to enjoy the sightseeing anyway. Windsor, the town, is cute and very quiet.
Cambridge. This was the first time we made a trip with Julia. Cambridge is a university-oriented town full of students all around. We took the sightseeing bus and walked around quite a bit – a very tiring experience to carry Julia in a sling during the whole time. We went to some of the Cambridge’s classic locations such as King’s College Chapel and Fitzwilliam Museum. Got a pretty good impression of Cambridge, even though it seemed a bit too crowded with students.
Brighton. That was definitely our favourite town. Brighton is on the south coast of England. The pebble beach is a nice place to relax. Brightonians seem to be easy-going people. It’s amazing how the sea affects people’s behaviour and attitude. To be honest, Carol and I even considered moving there after the visit but it would be a bit impractical to work in London and live there.
What all those towns have in common? A very obvious thing: you see more English people. It may sound weird to say that but in London you don’t really experience English culture because the city is very cosmopolitan. Even though those towns are not so far from London, it was interesting to notice that they are more homogeneously English than London. I took some photos from all three towns.
Where are we going next? We have some obvious suspects in mind: Oxford, Bath, Stonehenge, Cotswolds, and others. We’re also planning a weekend trip to Edinburgh and surrounding locations. There’s so much to see that is hard to decide! But we have no hurry and summer is almost gone now. Maybe next year, let’s see.
Jonh Wendell: GUADEC 2010
27 de Agosto de 2010, 0:00 - sem comentários aindaPost atrasado sobre a GUADEC… mas todo mundo tá fazendo isso né?
Bem, eu só queria dizer que esta edição do GUADEC foi fantástica! Ótima organização, ótima localização, pessoas ótimas, tudo foi bem massa mesmo! Foi o melhor GUADEC que já fui.
Algumas notas aleatórias:
-
O torneio de futebol FreeFA foi massa. Bastien e outras pessoas reclamaram porque eu trapaceei, ficando só na “banheira” (posição de impedimento). Bom, o que importa é que fiz alguns gols e ganhamos a partida né mesmo?
-
Pizza de carne crua não é uma das nossas favoritas:
-
Definitivamente hackers não sabem fazer churrasco (na verdade a gente prefere comer, não cozinhar )
- Depois que foi anunciado o adiamento do GNOME 3 para março de 2011 (sábia decisão!), decidi não lançar o Vinagre 2.32. Em vez disso, vou lançar o 3.0 beta, que usa tecnologia do GNOME 3 e vem com suporte ao protocolo RDP.
- Ah, ele também virá com uma interface mais GNOMEzada, graças ao fantástico Vinicius Depizzol.
- Depois da GUADEC (que aconteceu em Haia), visitei Amsterdã e Londres. Gostei da Holanda. Amsterdã é a nova Sodoma. Londres é ótima, mas bem carinha. Almoçei com Lucas lá.
- Minha palestra sobre o GNOME Brasil rolou legal. Espero ter compartilhado minha experiência com outros grupos regionais.
- Finalmente, meu obrigado à Fundação GNOME por patrocinar minha viagem!
Licio Fonseca: ntfs leitura e escrita nativos no Snow Leopard
25 de Agosto de 2010, 0:00 - sem comentários aindaSe você não é usuário de mac pode parar de ler por aqui.
Você que é usuário de mac e tem Snow Leopard já deve ter se deparado com o sistema montando um disco NTFS como somente leitura. No Leopard precisavamos de instalar o NTFS-3G, no Snow Leopard isso não é mais necessário.
O primeiro passo é abrir o terminal.
Se você não sabe o que é o terminal ou não sabe usa-lo, peça ajuda de um adulto capacitado.
Vamos renomear o script responsavel por montar os volumes ntfs:
sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
Agora criamos um script:
#!/bin/bash
/sbin/mount_ntfs.orig -o rw “$@”
Salve o script como /sbin/mount_ntfs
Agora alteramos as permissões:
sudo chown root:wheel /sbin/mount_ntfs
sudo chmod 755 /sbin/mount_ntfs
E voilá, você agora pode copiar seus arquivos para o seu disco externo.
Obviamente, eu gostaria muito de saber se alguem tem uma solução melhor e mais elegante
Lucas Rocha: Strangeness at Home
18 de Agosto de 2010, 0:00 - sem comentários aindaSo, here I am in Salvador, the city I was born in Brazil, after almost three years since my last visit. It’s an incredibly rich experience to be here after so long. I’ve been living abroad since 2006 and it’s interesting to notice how my perception of my own cultural roots have changed so much since then.
During my undergrad years, I took an anthropology course where I learnt a bunch of interesting things such as ethnography, cultural relativism, cerebral rubicon, etc. But one of the most interesting concepts I learnt was the notion of strangeness:
The art or mental trick of making a social setting and behaviour within it appear as if the observer is encountered it as a stranger. If applied to mundane ‘taken-for-granted’ events, this can lead to unusual and original insights.
Living abroad gave me a wide range of opportunities to experience strangeness. Salvador is a city where people are mostly Afro-Brazilians, relaxed, loud, informal, easy-going, welcoming, talkative, syncretically religious … you got the idea. I guess you can imagine how culturally shocking it was to move to Finland. Our move from Finland to England was much smoother of course. I’ve become much more aware of my own origins because it’s by recognizing cultural differences that you get to know your own culture more deeply.
On the flip side, the experience of living abroad for a relatively long time inevitably involves some cultural adaptation: the more you stay abroad the more you end up blending in. And now, visiting the city I was born in after so long, I’m experiencing a sort of backwards strangeness. It’s like I’m starting to perceive my own culture from an outsider perspective. Many of those things that I used to perceive as a given in terms of social behaviour, weather, accent, slang, city organization, etc, are now things that I explicitly notice. It’s a bit like being a foreigner in your own country.
The bottom line is: after almost four years living abroad, I have never been more aware of my origins and my cultural roots. On the other hand, I’m starting to feel like a stranger in my own city. I’m in a sort of cultural limbo I guess…
Djavan Fagundes: Me acompanhe no Butequeiro!
16 de Agosto de 2010, 0:00 - sem comentários aindaComo quase todo mundo deve saber, mineiros não tem mar, então, vão para o bar! Belo Horizonte é a capital mundial dos botecos, com um (ou mais de um) em quase toda esquina. Também não é segredo para ninguém que aprecio muito parar para fazer como dizem na linguagem mineira: "Dá dois dedim de prosa".Então decidi juntar o útil ao agradável e vou passar a blogar sobre os bares, restaurantes, butecos, bistrôs e coisa do tipo que frequento aqui em Belzonte, criando um catálogo itinerante.
A ideia nasceu há tempos, desde quando criei a mania de fotografar meus brindes, mas infelizmente por diversos fatores a ideia não saia do plano da imaginação, felizmente estou tornando-a realidade junto com a Liliane, minha grande incentivadora!
Convido todos a acompanhar lendo, assinando o feed, e divulgando para os amigos. Prometo ser divertido e dar boas dicas sobre ambiente, preço e ocasiões para visitar aqui na terra do pão-de-queijo!
Endereço: http://butequeiro.comum.org/
Comentários
| Link permanente
© Djavan Fagundes, 2010.
Djavan Fagundes: Um relato mais que atrasado do FISL11
16 de Agosto de 2010, 0:00 - sem 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, 0:00 - sem comentários aindaCegueira 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, 0:00 - sem 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, 0:00 - Um comentárioRemember 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:
Gustavo Noronha (kov): Google’s User-Agent sniffing makes one more victim
10 de Agosto de 2010, 0:00 - sem comentários aindaRemember 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!