Sunday, February 23, 2014

Gambiarra do dia: protoboard com bateria "embutida"

Fazia tempos que eu queria "cometer" algo parecido com isso. Quem usa protoboards pra montar circuitos divertidos ganha muito em agilidade e mobilidade, principalmente pra quem fuça em arduinos, garaginos (meu preferido pra protoboard) e outros inos. Por outro lado, sempre existe o desconforto de andar com uma fonte pra alimentar o circuito à partir da tomada, ou adaptadores de pilhas e outras incomodações. Não seria ótimo se a própria protoboard pudesse ter baterias embutidas, que fornecessem energia pro nosso projeto? Fica muito mais fácil, inclusive pra carregar o projeto na mochila e demonstrar onde for necessário de forma imediata.

Pois bem, hoje eu estava testando um projetinho simples pra configurar e testar o ambiente arduino do Fedora (sudo yum install arduino, pronto), e novamente fiquei de olho em umas baterias velhas de celular que estavam guardadas junto com outras tranqueiras. Dessa vez eu pensei: "quer saber, essa gambiarra vai sair é hoje!". No fim nem ficou tão feio :-), eu só tive um pouco de medo que as baterias aquecessem demais e estragassem na hora em que eu soldei os fios. Pra ficar uma coisa robusta e com boa capacidade, eu soldei duas baterias de 3.7V e 1000mAh em paralelo, colei-as (com fita adesiva mesmo) na parte de baixo da protoboard, e puxei os fios com jacarés através de um dos furos para bornes de alimentação, de forma que fica fácil plugá-los nos bornes que sobraram. A minha idéia original era colocar os fios ligados direto nos bornes, com um interruptor pra ligar, mas não achei um interruptorzinho decente nas minhas sucatas aqui. Por enquanto vai de jacaré mesmo. Inclusive com os jacarés fica fácil plugar no carregador universal de baterias que vou usar nelas.

Elas por enquanto estão fornecendo 4.1V, o que é mais do que suficiente pra alimentar o garagino, que pode receber de 1.8V a 5V. Com os 2000mAh resultantes, acho que ele vai alimentar circuitos simples por alguns dias. :-) Quando der eu faço um teste de deixar um circuito alimentado pelas baterias e cuido até quando ele aguenta. Bem que as fabricantes de protoboard poderiam criar produtos assim, com alimentação embutida (em baterias, nada de fontes que precisem de tomada) e regulada de 3.3V e/ou 5V.  Aliás, eu acho que enviei uma sugestão dessas pra ICEL, há algum tempo. Pelo menos isso é o tipo de coisa eu eu faria, hehehe. Não vou abrir uma empresa pra fazer baterias plugáveis em protoboards, porém eu certamente compraria se alguma empresa as fizesse. :-)

Wednesday, February 19, 2014

Ótimo livro: CODE do Charles Petzold

No início de janeiro eu estava pra sair de férias, e perguntei para os meus colegas que livros eles sugeriam para ler. Queria alguma coisa técnica porém leve, que fosse menos bit e mais história. A sugestão do mestre Rafael Aquini não poderia ter sido melhor: CODE, do Charles Petzold. Ao terminar de ler o livro eu cheguei à conclusão que lê-lo equivale a ter nascido na década de 70 e estudado computadores de 8 bits. Sério, é muito bom mesmo!

Vale muito a pena mesmo para quem já domina o lado técnico, pois a contextualização histórica que ele apresenta, na medida certa, enriquece a compreensão de qualquer um a cerca dos bits e seus significados. Não tem como ler este livro e não enxergar os bits. Eles estão lá, nus e crus, esperando que o leitor os apreenda, e de repente toda a computação digital faz sentido.

Você sabia que as raízes da computação binária remontam ao século 19? Os bits são os mesmos, só mudou o substrato. A grande sacada veio no início do século 20, com o Claude Shannon, usando tecnologia de telégrafos do século 19. Eu já tinha lido alguma coisa dele quando estudei algoritmos de compressão, mas agora compreendo o papel muito mais fundamental que ele teve na Grande Sacada de unir no sistema de numeração binário a aritmética, a lógica e a sua expressão automatizada por meio de circuitos elétricos (na época eletromecânicos). A partir daí a tecnologia só se miniaturizou e se tornou mais rápida, mas o princípio é o mesmo.

Claude Shannon agora figura entre Ken Thompson, Dennis Ritchie, Donald Knuth e muitos outros no meu panteão pessoal da Computação. :-)

Thursday, February 13, 2014

Semeando perguntas

Acabo de voltar bem energizado do segundo dia de Capacitação Docente na UNOESC, totalmente convencido de que uma das coisas que mais gosto de fazer é ensinar, explicar, desmistificar. Durante o mestrado na UFRGS, em 1998 e 1999, tive uma curta experiência docente na UCPel, onde me formei em Ciência da Computação. Depois disso, fui para a "indústria" e desde então tenho apenas apresentado palestras, talvez ministrado pequenos cursinhos aqui e ali (que já nem lembro bem), e, claro, ajudado muita gente por email e IRC através do TcheLinux e do OeSC-Livre. Mas hoje vejo que a prática do ensino e o ambiente universitário estavam me fazendo falta.

Vou ministrar a disciplina de Introdução ao Hardware, no primeiro semestre do nascente curso de Engenharia da Computação da UNOESC Chapecó, e também ministrar uma disciplina sobre a pilha de redes do kernel Linux, no curso de Pós-Graduação em Administração de Redes da UnC em Concórdia. Estou muito feliz e motivado, e agradeço muito aos colegas Jackson Laskoski e Tiago Zonta por me darem estas oportunidades. :-)

Num momento da capacitação se falou sobre usar perguntas, e lembrei de uma prova de Arquitetura de Computadores que eu apliquei há muitos anos lá na UCPel. No rodapé da prova, eu escrevi para os alunos: Nunca abandone a dúvida, pois quem motiva é a pergunta, não a resposta. Alguns anos depois eu assisti ao filme The Matrix e fiquei alguns momentos me sentindo inteligente :-), ao ver a cena em que a Trinity cochicha para o Neo: It's the question that drives us, Neo.

Esta noite me veio à cabeça uma versão mais ambientada ao Oeste Catarinense: Assim como na colheita, reserve um pouco das suas respostas para semear novas perguntas. É isso aí alunado! Será um prazer enchê-los de perguntas, e ajudá-los a transformá-las não apenas em respostas, mas em mais e melhores perguntas para o próximo plantio!

Tuesday, November 26, 2013

Criando um pendrive com vários Fedoras Live

O fim de semana passado foi de backups e reinstalações de Fedora aqui em casa, para atualizar os laptops da família. Sim, eu conheço o Fedup, preupgrade e outras formas de atualizar o nosso Sistema Operacional favorito, obrigado. Ainda assim, de tempos em tempos eu gosto de fazer backup, chutar tudo o que tem no disco e reinstalar do zero, para dar uma sensação maior de "alívio refrescante". Cada um sabe de si. :-)

Eu tinha as ISOs Live do Fedora 20 Beta RC5, em 32 e 64 bits, e pensei em dar um jeito de colocar as duas co-existindo no mesmo pendrive, pra facilitar a minha vida (um dos laptops antigos é 32b). Tinha recém tentado usar um DVD multi-Live e multi-arch, do Fedora 19, que o Wolnei Tomazelli havia me dado quando nos encontramos por sorte no aeroporto de Floripa. Infelizmente o DVD estava meio arranhado e travava a instalação no meio do caminho, então decidi começar a usar apenas pendrive mesmo.

Eu já criei outros pendrives com Lives ou Installs do Fedora, usando o comando livecd-iso-to-disk, do pacote livecd-tools, porém nunca com várias versões no mesmo pendrive. No fim o processo não foi totalmente automático como eu esperava, mas também não foi nenhuma dor de cabeça arrumar os detalhes do syslinux (boot loader usado na pendrive). Pra quem nunca mexeu mais diretamente nisso pode ser um bom aprendizado.

Preparando o pendrive

Um ponto importante a se cuidar antes de preparar um pendrive de Fedora, é que grande parte dos pendrives não vem com um MBR apropriado, ou vem com uma descrição da partição meio quebrada que o Sistema Operacional entende porém o BIOS se perde na hora de dar boot. Me desculpem a explicação nada técnica, mas minha impressão é essa e só sei que "formatando resolve". ;-)

Para deixar a pendrive preparada, entre no utilitário Discos (gnome-disks), selecione a pendrive, selecione a partição, desmonte-a (ícone de stop, é um quadradinho preto) se estiver montada, e remova-a (ícone que é um sinal de menos). Depois clique no ícone das engrenagens na parte de cima da janela, que se referem ao disco todo, e formate a pendrive no padrão MBR (compatível com a maioria dos computadores). Isso na verdade só zera a tabela de partições do bichinho, reescrevendo o setor 0.

Depois disso, adicione uma nova partição no padrão FAT, clicando no ícone que é um sinal de mais. Por último, clique no ícone de engrenagem que aparece abaixo da representação do disco, e escolha editar o tipo da partição. Para garantir, mude o tipo da partição para W95 FAT32 LBA (0x0c), e marque a partição como bootável. UFA! Falta pouco.

Os comandos a partir de agora usam o dispositivo /dev/sdb para representar a pendrive. TOME CUIDADO E VERIFIQUE QUAL DISPOSITIVO REPRESENTA A SUA PENDRIVE. Para garantir que o pendrive tenha um MBR que funcione, rode o comando abaixo:

$ sudo dd if=/usr/share/syslinux/mbr.bin of=/dev/sdb

Agora falta apenas colocar o syslinux no bicho. Rode mais este comando:

$ sudo syslinux -i /dev/sdb1

Pronto, finalmente o pendrive está seguramente pronto pra bootar em qualquer máquina. É possível testar o setup até agora usando o qemu, rodando:

$ sudo qemu-kvm -hda /dev/sdb

A janela do qemu vai mostrar o prompt do syslinux (boot:), indicando que o pendrive está bootando corretamente. Feche o qemu e siga adiante.

Gravando as imagens na pendrive

Bom, partindo do ponto em que o pendrive está plugado porém desmontado e pronto pra bootar (lembre de sempre desmontar pelo utilitário Discos ou manualmente no shell), que tu sabes qual é o dispositivo a ser utilizado e que baixastes as ISOs que queres usar, rode estes comandos:

$ sudo   livecd-iso-to-disk   --multi   --livedir   F20_32   \
        Fedora-Live-Desktop-i686-20-Beta-5.iso    /dev/sdb1

$ sudo   livecd-iso-to-disk   --multi   --livedir   F20_64   \
        Fedora-Live-Desktop-x86_64-20-Beta-5.iso    /dev/sdb1

Cada um vai demorar vários minutos, enquanto eles copiam as imagens. Em princípio estaria tudo pronto, porém fica faltando um pedaço que o livecd-iso-to-disk não faz, que é criar uma configuração de syslinux que boote qualquer uma das imagens. Na verdade, neste ponto, a pendrive nem boota corretamente, pois fica no prompt do syslinux sem se ter muito o que fazer ali, a não ser que se saiba de cor a linha gigantesca de boot das imagens Live. O problema é que o livecd-iso-to-disk coloca os diretórios do syslinux dentro do diretório de cada imagem Live, porém quando o syslinux boota ele espera encontrar os seus arquivos de configuração e comandos dentro do diretório syslinux, ou na raiz do pendrive (configuração padrão).

Arrumando a configuração do syslinux

A correção é bem fácil, basta montar a pendrive e copiar o diretório syslinux (copiar, não mover) de um dos diretórios de imagem Live para o raiz do pendrive. Eu copiei o diretório syslinux que achei dentro do F20_64, desmontei e bootei, e funcionou. MAS, funcionou só para as imagens de 64 bits. O problema é que o livecd-iso-to-disk não é esperto o suficiente pra juntar as duas configurações de syslinux das duas imagens Live, então essa tarefa fica pra nós. :)

Dentro do diretório syslinux copiado, haverá um arquivo chamado syslinux.cfg. É este arquivo quem descreve o que o syslinux vai fazer quando boota, inclusive montar o menu que é interpretado pelo vesamenu.c32 do mesmo diretório. Abra esse arquivo no gedit, e passe alguns minutos lendo e entendendo o que ele faz.

Depois de se familiarizar um pouco com a sintaxe, note as linhas que contém "label linux0" e "kernel /F20_64/syslinux/vmlinuz0", por exemplo. Estas são as linhas que descrevem como bootar os kernels e imagens de disco live presentes na pendrive. O que precisamos é abrir o syslinux.cfg da OUTRA imagem live, e copiar estas entradas para o syslinux.cfg global do pendrive. É importante mudar o nome do label, para que o syslinux não se perca. Basta mudar de "label linux0" pra "label linux1".

Na minha pendrive eu copiei também a seção "label basic0" da imagem 32 bits, para ser possível bootar a imagem de 32 bits com driver de vídeo vesa, mudando-a para "basic1". É importante mudar também a descrição das linhas "label" para identificar qual imagem é de 32 bits e qual é de 64 bits.

A primeira parte do syslinux.cfg ficou assim:

label linux0
  menu label ^Start Fedora Live 64b
  kernel /F20_64/syslinux/vmlinuz0
  append initrd=/F20_64/syslinux/initrd0.img root=live:UUID=E6F0-8DA8 rootfstype=vfat ro rd.live.image live_dir=F20_64 quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0
  menu default

label linux1
  menu label ^Start Fedora Live 32b
  kernel /F20_32/syslinux/vmlinuz0
  append initrd=/F20_32/syslinux/initrd0.img root=live:UUID=E6F0-8DA8 rootfstype=vfat ro rd.live.image live_dir=F20_32 quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0

Note como cada label aponta para um diretório específico. Facilita testar com o qemu-kvm (de preferência passando -m 1024 para ele ter bastante memória) até ter certeza que tudo está perfeito.

Adicionando ainda mais uma imagem

Pra completar, resolvi baixar ainda uma terceira imagem Live, dessa vez a Fedora-Live-LXDE-i686-20-Beta-5.iso para testar em sistemas mais antigos. Vamos rever como adicionar ela ao pendrive, que agora terá 3 imagens Live diferentes:

$ sudo   livecd-iso-to-disk   --multi   --livedir   F20_LX32   \
        Fedora-Live-LXDE-i686-20-Beta-5.iso    /dev/sdb1

Quando estiver pronto, monte o pendrive de novo, e faça o esquema de copiar as seções do syslinux.cfg dessa nova imagem para o syslinux.cfg "global" da pendrive. Agora as seções "label linux*" ficaram assim:

label linux0
  menu label ^Start Fedora Live 64b
  kernel /F20_64/syslinux/vmlinuz0
  append initrd=/F20_64/syslinux/initrd0.img root=live:UUID=E6F0-8DA8 rootfstype=vfat ro rd.live.image live_dir=F20_64 quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0
  menu default

label linux1
  menu label ^Start Fedora Live 32b
  kernel /F20_32/syslinux/vmlinuz0
  append initrd=/F20_32/syslinux/initrd0.img root=live:UUID=E6F0-8DA8 rootfstype=vfat ro rd.live.image live_dir=F20_32 quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0

label linux2
  menu label ^Start Fedora Live LXDE 32b
  kernel /F20_LX32/syslinux/vmlinuz0
  append initrd=/F20_LX32/syslinux/initrd0.img root=live:UUID=E6F0-8DA8 rootfstype=vfat ro rd.live.image live_dir=F20_LX32 quiet  rhgb rd.luks=0 rd.md=0 rd.dm=0

A seção que contiver "menu default" será a que estará selecionada por default no menu criado pelo vesamenu.c32 do syslinux. Para finalizar os últimos retoques, se pode remover alguns arquivos agora inúteis, como os "boot.cat", as cópias extras do memtest, etc. Para servir de referência, aqui está o arquivo syslinux.cfg que eu criei até agora, separado com linhas extras pra facilitar a compreensão.

Novamente, lembre de sempre desmontar pelo utilitário Discos ou manualmente no shell, ao invés de "ejetar", pois o "ejetar" desliga o pendrive, e será necessário retirá-lo e plugá-lo novamente, e aí desmontar de novo. :-) E teste sempre com "sudo qemu-kvm -m 1024 -hda /dev/sdb", para facilitar a vida.

Para fazer um pendrive com syslinux ainda mais útil, se pode inclusive copiar alguns módulos extras do syslinux para dentro do diretório syslinux na raiz do pendrive. Eles estão em /usr/share/syslinux e podem ser acessados no prompt de boot do syslinux, quando se sai do menu apertando ESC. No meu pendrive eu copiei também os módulos hdt.c32, ls.c32, meminfo.c32, poweroff.com, reboot.c32 e rosh.c32. Experimentá-los fica como tema para casa. ;-)

Monday, November 11, 2013

TecLand, palestras, Fedora e novos hábitos

Este fim de semana foi bastante corrido mas muito proveitoso. Muita coisa legal aconteceu. Eu e o Marcelo Barbosa participamos do IV Encontro TecLand, com uma palestra sobre Fedora em arquitetura ARM, e o Marcelo também apresentou uma outra palestra sobre o oVirt (nessa eu só dei pitaco). O evento foi ótimo, provavelmente o melhor que o TecLand já fez. O Álisson e o  Éder, do TecLand, e a Fabiane Erlo, da UnC, realizaram um evento muito legal, bem planejado e executado, e com público ao redor de 100 pessoas.

Mas antes e depois do evento aconteceu muita coisa legal também, pois o Marcelo veio aqui pra minha casa já na sexta-feira, então batemos altos papos sobre ARM e etc. Sexta no final da tarde o Álisson passou aqui pra nos pegar, pegamos também o Paulo Klaus e fomos pra Concórdia. Depois de alguns ajustes e testes no auditório da UnC, o Jackson Laskoski e o Adinarte nos levaram pra uma janta buenacha, onde ficamos até meia-noite em altos papos filosóficos e nerds. :)

No sábado rolou o evento lá na UnC, onde tivemos até um tradicional "pão com salsichão" para os participantes, cortesia do Prox. Max Pezzin, apresentações muito legais e um público bem interessado. Terminada a "ordem do dia", voltamos pra Chapecó, e no domingo passeamos bastante com o Marcelo na cidade pra fazer um  pouco de turismo. No meio da tarde resolvemos libertar o laptop do Álisson, que rodava um Windows qualquer, então fomos pra uma sorveteria (estava quente pacas aqui) com um pendrive do Fedora 20 (Beta RC5) e um modem 3G.

Acabamos não apenas ajudando o Álisson a reinstalar seu laptop e fazer tudo funcionar a contento no Fedora 20, mas também aproveitamos para fazer uma longa caminhada batendo papo, onde o Marcelo me deu o caminho das pedras pra virar tradutor do Fedora, e encorajou eu e o Álisson a fazer caminhada e corrida todos os dias para cuidar da saúde física e mental. Eu já comecei hoje mesmo o "novo hábito", saí de casa para caminhar às 6h40 e voltei às 7h40, tendo dado algumas voltas no eco-parque. Já traduzi algumas coisas lá no transifex também. :)

Eu já vinha no ritmo das palestras e apresentações, pois tinha na semana passada conversado com alunos do SENAI e também da UCEFF, aqui em Chapecó. Tinha ficado um tempo sem realizar atividades relacionadas ao Fedora, mas agora retornei à ativa, hehehe. Na conversa da UCEFF eu acabei de vez com meus DVDs do Fedora 18, agora preciso arranjar mais, já do Fedora 20!

Saturday, November 02, 2013

Costumes de quem usa Software Livre: "Hmm alguém já arrumou esse bug"

É engraçado como os sistemas que usamos vão aos poucos moldando nossos hábitos, até para as coisas mais simples. Agora de noite eu resolvi gravar um vídeo da Peppa Pig, no youtube, para a minha filha ver. Ela é fã da Peppa, então é bom ter uma reserva de vídeos guardados para quando não tem Peppa na TV. Achei um vídeo perfeito, de uma hora e pouco, então fui direto no youtube-dl pra gravar:

$ youtube-dl -o peppa-pig.webm 'http://www.youtube.com/watch?v=cgAVKlcs0dc'
[youtube] Setting language
[youtube] cgAVKlcs0dc: Downloading video webpage
[youtube] cgAVKlcs0dc: Downloading video info webpage
[youtube] cgAVKlcs0dc: Extracting video information
[youtube] cgAVKlcs0dc: Encrypted signatures detected.
ERROR: unable to download video


Deu esse erro ali, e eu pensei: "Hmm alguém já deve ter corrigido esse bug!". Mandei um yum update:

$ sudo yum update youtube-dl
...

...
 Updated:
  youtube-dl.noarch 0:2013.10.18.2-1.fc18


E chamei o youtube-dl de novo, confiando que ia funcionar:

$ youtube-dl -o peppa-pig.webm 'http://www.youtube.com/watch?v=cgAVKlcs0dc'
[youtube] Setting language
[youtube] cgAVKlcs0dc: Downloading video webpage
[youtube] cgAVKlcs0dc: Downloading video info webpage
[youtube] cgAVKlcs0dc: Extracting video information
[download] Destination: peppa-pig.webm
[download] 100% of 190.24MiB in 07:40


Não poderia ser mais simples, né? A rapidez e facilidade com que nossos sistemas operacionais livres são atualizados e corrigidos é fantástica! :)

Monday, September 02, 2013

OeSC-Livre e Hackerspaces na FACE 2013

MUITO OBRIGADO aos organizadores da FACE 2013 (Feira de Conhecimento, Cultura e Educação), e muito obrigado também ao Prof. Tiago Zonta, da UNOESC, que nos conseguiu um espaço fantástico para divulgar o OeSC-Livre e, mais importante, os Hackerspaces recém-nascidos de Chapecó e Concórdia. Nós passamos as últimas 3 ou 4 semanas numa correria daquelas para garantir que teríamos uma representação legal dos grupos (projetos, adesivos, panfletos, camisas pólo, e na verdade até o logo e domínios dos Hackerspaces na Internet), e deu certo. Foi um sucesso total!

No primeiro dia, quinta-feira dia 29, montamos nosso principal projeto pensado para a feira, o jogo Genius baseado em Arduino e Raspberry Pi. O Arduino fazia a lógica do jogo, controlando as teclas, som e luzes, e um programa rodando na Raspy mostrava um placar com os três melhores resultados da feira, e cuidava de mandar o Arduino iniciar o jogo e ler o resultado. Logo de início já deu muita gente interessada em brincar na caixa barulhenta. Alguns ficaram verdadeiramente viciados e não aceitavam ter seus resultados fora do ranking na tela.

Já neste primeiro dia rolou a primeira surpresa agradável e gratificante da feira: fui entrevistado pela RBS, em matéria que foi ao ar no Jornal do Almoço. Meus 30 segundos de fama! :-) Nesta curta entrevista demonstrei rapidamente um projetinho muito mais simples, um velho teclado de PC e um buzzer ligados em um Arduino, que rodava um pequeno programa lendo as teclas do teclado e tocando notas musicais correspondentes, representando uma oitava nas teclas QWERTYU (usando também as teclas numéricas acima destas para os sustenidos). Foi interessante ler sobre a Escala Temperada de Bach para este projetinho, e aprender que a frequência do som aumenta 5.94% a cada nota.

No segundo dia, sexta-feira dia 30, tivemos mais membros do grupo ajudando no nosso espaço, inclusive com uma gurizada muito boa que veio de Joaçaba (valeu Eliezer!). O Fábio Beckert e o Oruam Piazza também trouxeram seus projetos, o Fábio com um módulo de GPS fechado que ele está hackeando para criar programas próprios, e o Oruam com um projeto sensor de temperatura com escala em LED. Neste dia tivemos o acompanhamento mais próximo de uma jornalista do evento, que criou esta matéria. Ao final do dia os hackers de plantão Ernesto Albrecht e Ricardo Fachinello apareceram com uma baita estrutura de madeira onde estavam montando controles estilo arcade. Eles canibalizaram um velho controlador de teclado, e passamos algumas horas soldando fios para refazer a matriz de varredura desse controlador, ligando-a nos botões e joysticks do arcade. Acho que esse foi o ponto alto do estilo Hackerspace no evento. Ferro de solda, fios pra todo lado, e no final rodamos um emulador de arcade com jogos antigos usando um projetor de vídeo. Fantástico!

O último dia da feira, sábado dia 31, também trouxe muita diversão nerd. Fizemos um encontrão no shopping, na hora do almoço, onde se juntou a nós o pessoal de Concórdia, que também fazem muitos eventos do OeSC-Livre e estão montando um Hackerspace, o Concas Hackerspace. Com toda essa gurizada junta, nós tomamos conta do espaço na FACE e rolou muita descontração e conversas nerd, até o ponto em que achamos que estava tudo muito calmo e resolvemos trazer umas sucatas pra fuçar. O Gustavo Seitenfus trouxe um velho monitor de tubo que ele precisava arrumar, e o monitor quase pegou fogo umas três vezes. :-D

No sábado também tivemos a presença do João Ricardo, do Tarrafa Hacker Clube (Hackerspace de Floripa), que nos trouxe orientações, dicas e bom papo. Acho que ele gostou do que viu, pois conseguimos dar o pontapé inicial nos Hackerspaces do Oeste deixando claro que levamos isso muito a sério. O João trouxe a infame "Máquina Inútil" do Tarrafa, que deixou muitas pessoas da Feira bem curiosas. :-)

Enfim, foram algumas semanas de preparação, e três dias intensos de fuçadas épicas, conversas de alto nível, explicações, hacks e projetos divertidos. Pude até falar com alguns interessados sobre o Projeto Fedora, e entregar alguns DVDs Live para testarem em casa. Tenho certeza que estou esquecendo de muitos fatos e pessoas que poderia mencionar, que agora estão na confusa e misturada lembrança destes três dias de diversão intelectual. Obrigado a todos os que estiveram por lá, todos os que ajudaram a realizar esta ótima divulgação dos grupos e, novamente, muito muito obrigado ao Tiago Zonta e toda a organização da FACE 2013, por nos cederem este espaço e permitirem que celebrássemos a Cultura Hacker e o Software Livre no nosso cantinho da feira. Certamente estaremos muito interessados em participar novamente nos próximos anos, com mais e melhores projetos!

Tuesday, July 09, 2013

Mais FISL 14: Beyond the 4 Fs: What is Fedora effectively doing for Open Source?

[en_US version below]

Finalmente, depois da viagem de volta, do descanso e de retornar ao trabalho, consegui uns minutos para postar a segunda palestra que apresentei no FISL 14, ao lado do grande amigo e colega de trabalho Leonardo Vaz (obrigado Leo!). Agradeço também a presença e participação de outros Embaixadores Fedora do Brasil, como o Wolnei, Penasio, Marcelo e ainda outros que o cansaço não deixa lembrar (me desculpem!).

A idéia dessa palestra (aqui estão os slides, e aqui está o vídeo oficial) era demonstrar que, nos seus atuais 10 anos de existência, o Projeto Fedora sempre esteve focado na sua missão de avançar o estado da arte do Software Livre e Open Source. Começamos a palestra com uma rápida explicação de como e porque surgiu o projeto, e então fizemos uma recapitulação de todas as principais tecnologias e projetos que o Fedora integrou e ajudou a amadurecer, comentando ano a ano cada um dos releases lançados. O público se demonstrou bastante interessado, e acho que conseguimos demonstrar claramente que existe muito mais no Fedora do que aquilo que cabe no DVD de instalação, e que as pessoas devem não apenas instalar o Fedora, mas também esmiuçar detalhadamente todas as inúmeras funcionalidades que estão aguardando nos repositórios oficiais. Basta procurar o que se quer, tem um pouco-bastante de tudo!

[en_US] More FISL 14: Beyond the 4 Fs: What is Fedora effectively doing for Open Source?

Finally, after traveling back, getting some rest and then back to work, I could free up some minutes to post about the second talk I presented at FISL 14, beside my good friend and workmate Leonardo Vaz (thank you Leo!). I also thank the presence and participation of other brazilian Fedora Ambassadors, such as Wolnei, Penasio, Marcelo and still others that I'm too tired to remember (sorry!).

The idea on this talk (here are the slides, and here is the official video) was to demonstrate that, during its current 10 years of existance, the Fedora Project has always been focused on its mission of advancing the state-of-the-art in Free and Open Source Software. We started the talk with a quick explanation of how and why the project was created, and then we did a recollection of all the main technologies and projects that Fedora has integrated and helped mature, commenting each of the releases launched year after year. The public has shown great interest, and I believe we could demonstrate clearly that there is much more to Fedora than fits into the installation DVD, and that people should not just install Fedora, but also examine closely all the countless functionalities that are just waiting in the official repositories. You just need to search what you want, there's a little-lot of everything!

Thursday, July 04, 2013

Primeira palestra no FISL 14: Vida e Morte de um Pacote de Rede no Kernel

Hoje fiquei extremamente feliz e aliviado de ter conseguido apresentar uma boa palestra no FISL 14. Eu realmente estava com medo de não conseguir abordar bem o assunto, pois já faz algum tempo que eu não fuço na pilha de redes do Linux como eu fuçava há um ano e meio. No fim acabou fluindo tudo bem, e embora a sala não estivesse cheia, tinha bastante gente interessada e fazendo perguntas pertinentes e inteligentes. Fiquei feliz mesmo ao terminar a palestra e sentir que tinha feito um bom trabalho. :-)

Como eu prometi no final da palestra, aqui estão os slides que eu utilizei, e aqui estão os exemplos de pequenas probes para investigar a pilha de redes com systemtap. Quem assistiu a palestra (tem um vídeo aqui, mas só vi um pedaço e não sei se dá pra entender bem) vai ver que nem cheguei a comentar todos os slides, mas tudo bem. Os exemplos são realmente super simples, em geral são apenas verificações que o código do Kernel chegou em algum ponto, mas acho que para quem está começando eles são um bom ponto de partida. No wiki do systemtap existem muitos exemplos, dos mais variados níveis de complexidade, então quem estiver interessado mesmo tem bastante coisa pra estudar.

Como eu geralmente falo demais e estouro o tempo das palestras, eu recebi um slot duplo, de duas horas. Dessa vez eu consegui "passar o microfone" com 1h50 de conversa, então acho que estou aprendendo a respeitar os limites, hehehe. Logo no início foi muito engraçado porque estava dando interferência no sistema de áudio, e enquanto eu estava falando entrava o som de alguma outra palestra junto com a minha. No fim isso até ajudou um pouco a "quebrar o gelo", e acho que o pessoal se soltou um pouco mais. A partir daí foi só ir conversando, explicando, interagindo e acho que o pessoal entendeu bem os conceitos que eu pretendia mostrar.

Espero que minha palestra ajude a inspirar mais alguns Kernel hackers a seguirem "o caminho dos pacotes"! :-) Ah, em tempo, aquele diagrama furioso que demonstra o relacionamento das várias funções da pilha de redes do Linux é de uma página da Linux Foundation, e eu não sei dizer como ele foi gerado. Só sei que vi aquele diagrama um dia e fiquei babando até conseguir imprimí-lo em formato A3 pra colar na parede. ;-)

Sunday, June 30, 2013

Testando Internet móvel no Fedora: que barbada!

Talvez não seja novidade para quem estiver lendo, mas certamente foi uma surpresa pra mim. Fazia tempo que eu queria comprar um modem 3G para usar em viagens ou emergências, porque meu celular (Motorola Defy) já está meio velho e apresentando alguns problemas bizarros, então não dá pra depender dele como modem pro laptop. Hoje comprei um Huawei E303C (avulso, numa lojinha da Vivo, por 98 reais), e me surpreendi ao ver que na caixinha dele dizia que o Fedora era um dos sistemas suportados. Foi só plugar e usar mesmo, nem precisou instalar nada. :-)

Na verdade essa foi a conclusão de uma história que começou há bastante tempo, quando passei algumas horas incomunicável no aeroporto aqui em Chapecó. Sempre que estive no aeroporto usei a WiFi grátis sem nenhum problema, então há algum tempo eu planejei ir bem cedo pro aeroporto e trabalhar de lá mesmo, antes de uma viagem ao meio-dia. Ia facilitar muito a "logística familiar" se eu fosse mais cedo, e eu sabia que podia contar com a WiFi. Infelizmente aquela manhã não foi assim tão fácil.

Cheguei no aeroporto por volta das nove, e fui direto tomar um espresso, para só depois ligar o laptop. Liguei e vi que haviam duas WiFis abertas, sorri e selecionei uma delas pra começar a trabalhar. Conectou e nada, não trafegava um pacotinho sequer. Achei estranho e selecionei a outra. Demorou uns segundos a mais, mas conectou. Novamente, não comunicava com lugar nenhum. Perguntei para algumas pessoas das companhias aéreas, e me avisaram que as duas WiFis de cortesia estavam com problemas, e que seus links seriam restaurados à tarde.

"Ainda bem que tenho Internet no celular", eu pensei. Não é rápido, mas dá pra ler os emails e tal. Peguei o celular na mochila, e a TIM estava completamente sem sinal. Nesse momento começou a dar um leve nervosismo. Caminhei um pouco pelo aeroporto, na rua, por tudo, parecendo um maluco segurando o celular às vezes mais alto, às vezes mais baixo, e nada. Lá pelas tantas notei que outra pessoa estava fazendo um ritual parecido, e confirmamos que a TIM estava quebrada naquela região naquela manhã.

"Ainda bem que tem chip GSM pra vender em qualquer canto", eu pensei, sempre otimista, e realmente tinha. Comprei um chip da Vivo, de cujo sinal sempre ouvi falar bem por aqui. O chip vinha com uns 8 ou 9 reais de créditos, e imaginei que eu conseguiria habilitar algum plano simples de Internet nem que fosse só praquele dia. Depois de alguns torpedos pra configurar e habilitar tudo, vi que precisava colocar mais créditos para poder habilitar o uso de Internet. Não tinha recarga pra vender no café, onde eu tinha comprado o chip, e em nenhum outro lugar do aeroporto.

Tentei então fazer recargas usando o cartão de crédito, e percebi que eu tinha que cadastrar o cartão num dia pra usar no outro, e ligando para o atendimento da Vivo também não tinha muito o que fazer. No fim, joguei o tal chip na mochila e esqueci dele. Simplesmente aceitei que estava de "folga forçada" naquela manhã, e fui tomar mais um café.

Depois, dias mais tarde, acabei conseguindo colocar mais créditos e habilitar um plano de Internet pré-pago, mas o meu celular não quis colaborar no dia em que testei e não funcionou nada. Vi que meu laptop tinha um slot pra colocar um chip GSM, e coloquei o chip ali pra ver se habilitava algum modem interno. Nada, era só o slot, estava faltando o modem. Tentei até colocar um modem interno de outro laptop antigo dentro dele, mas o bichinho não gostou e nem bootava com aquela plaquinha lá dentro. Puro preconceito digital, o ThinkPad só gosta de algumas marcas de modem 3G nas suas entranhas. No fim deixei o tal chip numa gaveta e esqueci dele, e essa foi a minha frustrante tentativa de usar Internet móvel. Até hoje.

Como vou viajar pro FISL na semana que vem, me voltou a preocupação de ter algum tipo de Internet móvel para poder pelo menos ler emails e realizar tarefas básicas em qualquer situação. Casualmente indo almoçar no shopping passamos por uma lojinha da Vivo, e na vitrine haviam vários modelos de modems, então lembrei da história toda. Comprei um modem Huawei E303C, por 98 reais, e fiquei feliz ao ler que Linux era suportado. Eu imaginava que seria tranquilo, mas fiquei ainda mais tranquilo ao ler que havia sido testado com Fedora.

Ao chegar em casa, achei aquele velho chip da Vivo, pluguei no modem, e espetei o modem no laptop. O negocinho piscou verde um pouco, depois piscou azul um pouco, depois a luzinha ficou ligada azul ciano. Olhei no manual do modem e isso significava que estava conectado à rede 3G+. "Nossa!", eu pensei. Cliquei no ícone de redes do Fedora, e realmente indicava ali que já estava conectado na rede da Vivo. "Isso é mágico!", eu fiquei pensando, até lembrar que eu já havia configurado o perfil da Vivo nas tentativas dos meses anteriores. "OK, não é tão mágico, mas é fácil demais" foi a minha conclusão. :-) Alguns testes (git pull no repo do linux) indicaram que estava comunicando a alguns megabits, então estava ótimo pra primeira tentativa, e só plugando o modem sem clicar em nada.

Nisso lembrei que a Oi havia me enviado um chip GSM há muito tempo, conjugado com o meu Oi Fixo, e obviamente pensei em testar ele no modem também. Botei o chip da Oi no bichinho e pluguei de novo, e de novo piscou verde, depois ficou piscando azul um tempo. Eu cliquei no ícone de redes e vi que não tinha conectado ainda. Cliquei então nas configurações de rede, e vi que poderia adicionar uma rede móvel. Cliquei nessa opção, escolhi o país e a rede Oi, e pronto, conectou. Ficou oscilando entre 3G+ e 3G normal, mas navegou muito bem (git pull no linux-stable rolou tranquilo, mas não lembro quantos megabits).

Aí pra completar a noite de testes, saquei o velhíssimo chip TIM do meu celular, e pluguei no modem. Novamente fui nas configs de rede e selecionei Brasil e rede TIM, e pronto: conectou. Neste caso a TIM ficou só em 2G, mas funcionou. Git pull em outro repo veio a alguns KB/s apenas, bem sofrido, então essa vou deixar pra emergências quando nenhuma das outras duas funcionarem.

Enfim, o resultado é que agora tenho não apenas um, mas três links de backup pra situações em que não tenha uma rede comum, wired ou WiFi, disponível. E o Fedora já tinha tudo pronto pra conectar em todas elas, de forma fácil e descomplicada. Alguém ainda acha que Linux é difícil de usar? Fala sério! :-)