tag:blogger.com,1999:blog-138435032024-03-13T17:22:01.600-03:00Fábio Olivé's Random BitsInfrequent thoughts about Technology, and sometimes about Consciousness and its infinite forms of expression.Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.comBlogger53125tag:blogger.com,1999:blog-13843503.post-66922353466420455412015-06-04T23:44:00.000-03:002015-06-04T23:44:24.712-03:00Venha pro Wild West Web dia 20 de Junho!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2uMPol7uOFAx8WehXeyrbbFjwfopON5j61hG7Joco_hACZPZF9iBN9Dp30VaznhHeoGFN3jMoxr2UPVLUIuZqFP9Nn9KmMkrIoPxDQHCJfAbdy9U9UwA5MPQzb-N8vHgLNyeNw/s1600/CARTAZ+WWW.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhO2uMPol7uOFAx8WehXeyrbbFjwfopON5j61hG7Joco_hACZPZF9iBN9Dp30VaznhHeoGFN3jMoxr2UPVLUIuZqFP9Nn9KmMkrIoPxDQHCJfAbdy9U9UwA5MPQzb-N8vHgLNyeNw/s640/CARTAZ+WWW.jpg" width="452" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-827514001608576412015-03-22T01:05:00.000-03:002015-03-22T01:11:44.490-03:00Programando pra Atari 2600 no FedoraComo todo cara old school que começou nos 8 bits, eu sempre gostei de estudar e mexer em máquinas antigas ou emuladores. Eu curto a nostalgia de ter instalados no meu <a href="https://getfedora.org/" target="_blank">Fedora</a> todos os computadores ou sistemas antigos que marcaram a minha vida digital, como o <a href="http://www.atariage.com/2600/" target="_blank">Atari 2600</a> (através do <a href="http://stella.sourceforge.net/" target="_blank">stella</a>, via <a href="http://rpmfusion.org/Configuration" target="_blank">RPMFusion Free</a>), o <a href="https://pt.wikipedia.org/wiki/MSX#Gradiente_Expert_XP-800" target="_blank">MSX Expert</a> (através do <a href="http://openmsx.sourceforge.net/" target="_blank">openmsx</a>), o <a href="http://www.oldcomputers.net/amiga500.html" target="_blank">Amiga 500</a> (através do <a href="http://www.rcdrummond.net/uae/" target="_blank">e-uae</a>, infelizmente via RPMFusion Non-Free) e, claro, um <a href="http://dosbox.sf.net/" target="_blank">DOSBox</a> pra não perder o costume. Eu costumava ter uma VM rodando <a href="http://www.freedos.org/" target="_blank">FreeDOS</a>, mas acabei me rendendo à comodidade do DOSBox prontinho. Só cuido pra instalar no DOSBox também o <a href="http://www.nasm.us/" target="_blank">NASM</a> e um bom debugger, como o <a href="http://www.freedos.org/software/?prog=debug" target="_blank">debug</a> do FreeDOS. O <a href="http://www.freedos.org/software/?prog=insight" target="_blank">Insight</a> também é bem interessante pra demonstrar a execução passo a passo de programas x86 16 bits (que eu insisto em "infligir" aos meus alunos).<br />
<br />
Há mais de 10 anos eu tenho vontade de estudar um pouco mais sobre o processador <a href="http://6502.org/" target="_blank">6502</a> e sobre programação pro Atari 2600, já que o 6502 era o "outro" processador de 8 bits que "estragou" a infância de muita gente na minha geração. Eu cresci com o MSX e o processador <a href="https://pt.wikipedia.org/wiki/Zilog_Z80" target="_blank">Z80</a>, e nunca tive muito contato com o 6502, enquanto muita gente (principalmente na América do Norte e Europa) cresceu com o 6502 (<a href="https://en.wikipedia.org/wiki/Apple_IIe" target="_blank">Apple IIe</a>, <a href="https://en.wikipedia.org/wiki/Commodore_64" target="_blank">Commodore 64</a>, e até o <a href="https://pt.wikipedia.org/wiki/TK3000_IIe" target="_blank">TK 3000 IIe</a> aqui no Brasil) e não conheceu o Z80. A idéia era matar a vontade de conhecer o 6502 e já brincar de programar pro Atari 2600 como um desafio divertido.<br />
<br />
Na época em que bateu essa vontade, eu baixei tudo o que achei de referências, datasheets, tutoriais, listas de opcodes e etc sobre 6502 e Atari 2600, imprimi tudo e... guardei. :-( Nunca tive tempo de voltar nesse material, nem de instalar assemblers pra 6502 e realmente meter a mão na massa. Passados uns dez anos, há alguns meses, estávamos conversando sobre realizar oficinas no <a href="http://xap-hacks.org/" target="_blank">Hackerspace de Chapecó</a>, e de repente todo aquele contexto acima me veio à cabeça e pensei: é agora que eu me afundo no Atari! :-) Nada melhor do que me jogar de cabeça na responsabilidade de ter que preparar uma oficina pra finalmente "fazer tempo" e colocar a mão na massa. Pois bem, aqui está o primeiro passo.<br />
<br />
O ferramental é simples: precisa do emulador stella, um assembler pra família 6502 (o Atari 2600 usa o 6507, uma versão capada do 6502) e um bom editor de textos (vim, claro). O Fedora tem alguns assemblers de 6502, dentre os quais eu escolhi o <a href="http://atari.miribilist.com/atasm/" target="_blank">atasm</a> por ser o que me pareceu mais simples e direto (pra não dizer tosco). Ajuda também baixar o arquivo <a href="http://www.atariage.com/2600/programming/2600_101/bin/vcs.h" target="_blank">vcs.h</a>, do <a href="http://www.atariage.com/2600/programming/2600_101/" target="_blank">tutorial "2600 101" do site AtariAge</a>, com as constantes usadas para identificar mais facilmente os registradores e endereços mágicos do hardware. 20 anos de uso de Software Livre me ensinaram a sempre verificar a licença dos códigos encontrados por aí, e esse vcs.h não tem licença nenhuma, o que indicaria que não poderíamos usá-lo. Mas na boa, é só um monte de constantes que qualquer pessoa poderia digitar por si mesma lendo os manuais da arquitetura, então não tem stress. Na minha interpretação não constitui um trabalho relevante, então é meramente uma comodidade.<br />
<br />
O que eu gostei no atasm é que ele vem com um PDF (eu sou da Geração Manual, não da Geração Tutorial) que explica bem as opções de linha de comando, a sintaxe de assembly e diretivas que ele usa, dá exemplos e não é totalmente estranho (alguns outros eram). :-) Usando a opção "-r" o atasm gera uma imagem "raw" (ao invés de um arquivo objeto pra linkar depois), que é exatamente o que precisamos pra criar um "cartucho" do Atari. Uma linha típica pra compilar (tecnicamente é "montar", mas esse termo nunca me soou bem) um arquivo chamado "oficina-1.asm" e gerar um binário "oficina-1.bin" seria "atasm -r -ooficina-1.bin oficina-1.asm". Pra testar dá pra chamar o stella direto, com "stella oficina-1.bin". Mais barbada que isso não tem! :-) Usando a opção "-v" o atasm também gera uma listagem do código compilado na saída padrão. As demais mensagens do atasm vão pra saída de erro padrão, então dá pra capturar a listagem e ainda ver as mensagens no terminal com uma linha tipo "atasm -v -r -ooficina-1.bin oficina-1.asm > oficina-1.lst".<br />
<br />
Dei uma refrescada rápida em alguns tutoriais, e rabisquei o meu primeiro código pra Atari 2600, que só faz um scroll contínuo de todas as cores que ele pode gerar, usando uma cor diferente para cada linha na tela (notem que tem copyright e licença, que chique!):<br />
<br />
<span style="color: lime;"><span style="font-family: "Courier New",Courier,monospace;">; Primeiro teste de kernel simples pra Atari 2600<br />; Copyright © 2015 Fábio Olivé Leite<br />; Licença: Faça o que quiser com este código fonte.<br /><br />.INCLUDE "vcs.h"<br /><br />*= $f000<br /><br />reset sei ; Inicializa flags.<br /> cld<br /> ldx #255 ; Inicializa pilha.<br /> txs</span></span><br />
<span style="color: lime;"><span style="font-family: "Courier New",Courier,monospace;"><br /> lda #0<br />zero sta $00, x ; Zera a RAM e o TIA.<br /> dex<br /> bne zero<br /><br />start lda #0 ; Inicia o frame zerando VBLANK ...<br /> sta VBLANK<br /> lda #2<br /> sta VSYNC ; ... e ligando VSYNC.<br /><br /> sta WSYNC ; 3 linhas de VSYNC.<br /> sta WSYNC<br /> sta WSYNC<br /><br /> lda #0 ; Desliga VSYNC.<br /> sta VSYNC<br /><br /> ldx #34 ; Espera mais 34 linhas de VBLANK.<br />vblank0 sta WSYNC ; Muitos lugares falam em 37 linhas<br /> dex ; mas no Stella o 34 alinhou melhor<br /> bne vblank0 ; com o topo da janela.<br /><br /> ldx #210 ; Desenha 210 linhas visíveis.<br /> tya ; Era pra ser 192, mas 210 fecha até<br />draw sta COLUBK ; embaixo da janela do Stella.<br /> sta WSYNC ; Um dia eu testo em um Atari real.<br /> clc<br /> adc #1 ; Este "desenho" só vai variando a cor<br /> dex ; de fundo nas linhas. :-)<br /> bne draw<br /><br /> lda #2 ; Liga VBLANK porque acabou o frame.<br /> sta VBLANK<br /> ldx #30 ; São mais 30 linhas de overscan.<br />ovscan sta WSYNC ; Acabou ficando com 277 linhas no frame.<br /> dex<br /> bne ovscan<br /><br /> iny ; Incrementa a próxima cor inicial.<br /> jmp start ; Volta pro início pra começar a próxima tela.<br /><br />*= $fffa<br />.WORD reset ; NMI<br />.WORD reset ; Reset<br />.WORD reset ; IRQ</span></span><br />
<br />
Não cabe aqui explicar os detalhes de como se programa pra Atari 2600, ou o porquê do código precisar ser da forma que é. Isso fica pra um próximo artigo, mas adiantando só um detalhe pra assustar: o Atari 2600 só tem "memória de vídeo" pra uma linha da imagem (da TV) de cada vez, então precisamos montar o "frame de vídeo" uma linha por vez durante o retraço horizontal, e processar a lógica do jogo durante o retraço vertical. Seja bem-vindo à programação pra Atari! ;-)<br />
<br />
Os cartuchos simples pra Atari têm 4KiB que são mapeados na parte superior da memória do 6507, que na verdade só tem 13 pinos de endereços, embora o seu núcleo 6502 interno tenha todos os 16 pinos, o que faz com que o 6507 enxergue 8 blocos de 8KiB repetidos (que maravilha). O código então geralmente é gerado para começar no endereço 0xF000, e segundo o datasheet do 6502 as três últimas palavras de 16 bits (little-endian) na memória indicam os endereços para os quais o processador vai saltar em caso de NMI (interrupção não mascarável, cujo pino está faltando no 6507), em caso de Reset (ou quando é ligado) e em caso de IRQ (que também não tem no 6507, ô lasquera). Basicamente o costume é repetir nos seis últimos bytes da memória o endereço onde inicia o código do cartucho.<br />
<br />
Compilando (tá, montando) o código acima com o atasm, ele nos conta que gerou 71 bytes de código de máquina. São 65 bytes de código mais os 6 dos endereços no final, e o binário gerado fica com exatos 4096 bytes, como deveria ser.<br />
<br />
<span style="color: lime;"><span style="font-family: "Courier New",Courier,monospace;">$ atasm -v -r -ooficina-1.bin oficina-1.asm > oficina-1.lst<br />ATasm 1.07 (A mostly Mac65 compatible 6502 cross-assembler)<br />Pass 1: Success. (0 warnings)<br />Pass 2: <br /><br />Assembly successful<br /> Compiled 71 bytes (~0k)<br /> Writing raw binary image:<br /> f000-ffff<br /><br />Compiled to binary file 'oficina-1.bin'</span></span><br />
<br />
É legal olhar a listagem gerada pelo atasm, pra ver os opcodes e os endereços.<br />
<br />
<span style="color: lime;"><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">00:F0 78 reset sei ; Inicializa flags.<br />01:F0 D8 cld<br />02:F0 A2 FF ldx #255 ; Inicializa pilha.<br />04:F0 9A txs<br />05:F0 A9 00 lda #0<br />07:F0 95 00 zero sta $00, x ; Zera a RAM e TIA.<br />09:F0 CA dex<br />0A:F0 D0 FB bne zero<br />0C:F0 A9 00 start lda #0 ; Inicia o frame zerando VBLANK ...<br />0E:F0 85 01 sta VBLANK<br />10:F0 A9 02 lda #2<br />12:F0 85 00 sta VSYNC ; ... e ligando VSYNC.<br />14:F0 85 02 sta WSYNC ; 3 linhas de VSYNC.<br />16:F0 85 02 sta WSYNC<br />18:F0 85 02 sta WSYNC<br />1A:F0 A9 00 lda #0 ; Desliga VSYNC.<br />1C:F0 85 00 sta VSYNC<br />1E:F0 A2 22 ldx #34 ; Espera mais 34 linhas de VBLANK.<br />20:F0 85 02 vblank0 sta WSYNC ; Muitos lugares falam em 37 linhas<br />22:F0 CA dex ; mas no Stella o 34 alinhou melhor<br />23:F0 D0 FB bne vblank0 ; com o topo da janela.<br />25:F0 A2 D2 ldx #210 ; Desenha 210 linhas visíveis.<br />27:F0 98 tya ; Era pra ser 192, mas 210 fecha até<br />28:F0 85 09 draw sta COLUBK ; embaixo da janela do Stella.<br />2A:F0 85 02 sta WSYNC ; Um dia eu testo em um Atari real.<br />2C:F0 18 clc<br />2D:F0 69 01 adc #1 ; Este "desenho" só vai variando a cor<br />2F:F0 CA dex ; de fundo nas linhas. :-)<br />30:F0 D0 F6 bne draw<br />32:F0 A9 02 lda #2 ; Liga VBLANK porque acabou o frame.<br />34:F0 85 01 sta VBLANK<br />36:F0 A2 1E ldx #30 ; São mais 30 linhas de overscan.<br />38:F0 85 02 ovscan sta WSYNC ; Acabou ficando com 277 linhas no frame.<br />3A:F0 CA dex<br />3B:F0 D0 FB bne ovscan<br />3D:F0 C8 iny ; Incrementa a próxima cor inicial.<br />3E:F0 4C 0C F0 jmp start ; Volta pro início do frame.<br /><br />FA:FF 00 F0 .WORD reset ; NMI<br />FC:FF 00 F0 .WORD reset ; Reset<br />FE:FF 00 F0 .WORD reset ; IRQ</span></span></span><br />
<br />
Confirmando que temos um "cartucho" corretamente montado, agora é só chamar o stella e testar (basta rodar "stella oficina-1.bin"). A emocionante :-D captura de tela abaixo mostra que deu certo!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCDLd4cATlF0rA4WTuI4K6JxNVevoDHmVJdt3eOO-Q8LDcVn6g8NpQn4QXDHKeEF_0chGt5F3DG7Hmw5N52jC9WafHI7RbNcjaCNqEEu_NVyiDbNkP_QFirKYQBNk8-l20DzKeUw/s1600/oficina-1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCDLd4cATlF0rA4WTuI4K6JxNVevoDHmVJdt3eOO-Q8LDcVn6g8NpQn4QXDHKeEF_0chGt5F3DG7Hmw5N52jC9WafHI7RbNcjaCNqEEu_NVyiDbNkP_QFirKYQBNk8-l20DzKeUw/s1600/oficina-1.png" height="309" width="400" /></a></div>
<br />
Agora que meu primeiro teste funcionou, estou fadado a passar o resto dos meus minutos livres tentando fazer algo que preste, ou melhor, tentando programar um excitante jogo onde um quadrado verde tenta pegar uma bola azul enquanto foge de um borrão amarelo, ou algo do tipo. ;-) Talvez ao invés de continuar postando no blog eu comece a escrever um material legal sobre 6502, sobre Atari 2600 e contendo exemplos cada vez mais elaborados lá no <a href="http://xap-hacks.org/">xap-hacks.org</a>. Por mais que o Inglês seja uma obrigação básica pra nós que trabalhamos com tecnologia, eu sinto que criar material original e de qualidade em Português Brasileiro cobrindo conceitos fundamentais como Arquitetura de Computadores, especialmente usando processadores que existem de verdade ao invés de processadores "didáticos" que só existem no papel, é um esforço que vale a pena.<br />
<br />
Vamos ver no que dá! :-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com1tag:blogger.com,1999:blog-13843503.post-16069072365555580452014-11-20T18:28:00.000-02:002014-11-20T18:28:07.114-02:00CONVOCAÇÃO: Reunião de Colaboradores do Projeto Fedora de Chapecó e RegiãoBora fuçar no Fedora, pessoal!<br /><br />CONVOCAÇÃO: Reunião de Colaboradores do Projeto Fedora<br />QUANDO: Sábado 29/Novembro, das 14h às 18h<br />ONDE: Lab B202 (Bloco B) da UNOESC Chapecó<br /><br />Chamamos todos os atuais colaboradores do <a href="http://fedoraproject.org/join-fedora" target="_blank">Projeto Fedora</a> de Chapecó e região, bem como os interessados em se tornarem contribuidores deste grande projeto, para uma reunião de trabalho e habilitação de novos contribuidores, a se realizar no Lab B202 da UNOESC Chapecó, na tarde do sábado dia 29 de Novembro, a partir das 14h.<br /><br />Se você já é colaborador e anda meio parado, venha encontrar seus colegas e receber uma nova dose de motivação! Se você tem vontade de participar de uma grande comunidade global de desenvolvimento de Software Livre, crescendo como pessoa e como profissional, venha aprender os primeiros passos conosco, e encontrar novos amigos!<br /><br />A proposta de trabalho e estudo é a seguinte:<br />
<ul>
<li>O que é, como se organiza e como funciona o Projeto Fedora;</li>
</ul>
<ul>
<li>Como instalar e utilizar o Sistema Operacional Fedora;</li>
</ul>
<ul>
<li>Como contribuir para o desenvolvimento do Fedora;</li>
</ul>
<ul>
<li>"Prática" com criação de contas no Fedora Account System, apresentação nas listas de emails dos grupos de trabalho de interesse dos presentes, canais de IRC onde a comunidade se encontra, etc.</li>
</ul>
O ambiente será informal e prático, como um grande trabalho em grupo. Venha aprender e fuçar no Projeto Fedora conosco!<br />
<br />
Tragam seus laptops, pendrives (para criação de imagens Live de uso e instalação) e a vontade de realizar algo novo.Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-71752232394874359742014-10-11T07:06:00.002-03:002014-10-11T07:10:12.334-03:00Conversa: Como participar do Projeto Fedora, 16/Outubro 19hEstou começando a organizar encontros que visam orientar os interessados da região oeste de Santa Catarina sobre como começar a participar do <a href="http://fedoraproject.org/pt_BR/" target="_blank">Projeto Fedora</a>, através do <a href="http://www.unoesc.edu.br/noticias/single/unoesc-inaugura-laboratorio-de-redes-e-novo-espaco-para-garagem-tecnologica" target="_blank">laboratório Garagem Tecnológica da UNOESC Chapecó</a>. Minha idéia é trazer periodicamente profissionais da área de TI que atuam no Fedora, com funções variadas, para que eles possam nos contar como iniciaram, por onde podemos entrar e o que é que os vários times como QA, empacotamento, tradutores e etc fazem para o Projeto.<br />
<br />
Nesta quinta-feira, dia 16 de Outubro às 19h, teremos no Bloco B da UNOESC Chapecó o primeiro encontro desta série, com o <a href="http://xmrbrz.blogspot.com.br/" target="_blank">Bruno Zanuzzo</a>. Ele começou recentemente a atuar no time <a href="https://fedoraproject.org/wiki/QA" target="_blank">Fedora QA</a>, que basicamente realiza testes e controle de qualidade no Fedora. A idéia é que o encontro dure mais ou menos 1h, e que possamos sair de lá já com contas criadas no <a href="https://admin.fedoraproject.org/accounts" target="_blank">FAS</a> e nos "alistando" nos times de teste e QA. O enfoque é "teático": teoria aliada à prática. :-)<br />
<br />
TODOS ESTÃO CONVIDADOS, INDEPENDENTE DE ONDE ESTUDAM OU TRABALHAM. :-)<br />
<br />
Vamos lá gente! Venham conhecer mais sobre o processo de QA do Projeto Fedora e como podemos participar e ajudar a melhorar ainda mais este ótimo Sistema Operacional Livre!<br />
<br />
Já estou conversando também com o Marcelo Barbosa, que é empacotador e tradutor do Fedora, para uma próxima conversa daqui mais algumas semanas, em um sábado. Fiquem ligados. :-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-8697627242075484522014-07-01T09:45:00.000-03:002014-07-01T09:45:28.234-03:00Acompanhando a "limpeza" da LibReSSLQuem me conhece sabe que, apesar de usar e promover o uso do <a href="http://fedoraproject.org/pt_BR/" target="_blank">Fedora</a>, que é o meu Sistema Operacional favorito, eu também gosto bastante do <a href="http://www.openbsd.org/" target="_blank">OpenBSD</a> (que usei de forma quase exclusiva por uns 3 anos, entre 2003 e 2006). Como não curto muito jogar no celular, minha distração digital é ler os <a href="http://marc.info/?l=openbsd-cvs" target="_blank">commits do OpenBSD lá no MARC.info</a>, e ocasionalmente olhar alguns <a href="http://freshbsd.org/search?project=openbsd" target="_blank">diffs no FreshBSD</a>, quando a commit message parece particularmente interessante ou divertida.<br />
<br />
Desde o fork da <a href="http://www.openssl.org/" target="_blank">OpenSSL</a>, que se tornou a <a href="http://www.libressl.org/" target="_blank">LibReSSL</a>, venho lendo com atenção os commits <a href="http://freshbsd.org/search?project=openbsd&q=libssl+OR+libcrypto" target="_blank">nessa parte do repositório</a>, e fiquei bem impressionado acompanhando as atividades de limpeza e refatoração do código, correção de bugs, eliminação de arquivos inúteis ou abandonados, opções de compilação de benefício duvidoso e o "estancamento" de muitos memory leaks. Eu já tinha medido de forma bem "crua" e nada científica a extensão do trabalho, medindo o número de arquivos antes e depois da limpeza, e o espaço em disco ocupado pela <a href="http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libssl/" target="_blank">lib/libssl</a> no meu <a href="http://www.openbsd.org/anoncvs.html" target="_blank">checkout local do OpenBSD src</a>. Tinha chegado à conclusão de que um terço do código já tinha ido pro /dev/null, mas muita coisa lá não era exatamente código, então sempre ficava aquela sensação de que tinha que achar uma maneira mais apropriada de medir essa limpeza.<br />
<br />
Estes dias, lendo um post sobre o <a href="http://pt.slideshare.net/rdonkin/pyglet-and-minecraft-v1-1" target="_blank">Minecraft feito em 500 linhas de Python</a>, me deparei pela primeira vez com o comando "<a href="http://cloc.sourceforge.net/" target="_blank">cloc</a>", que calcula as LOCs de um ou mais arquivos fonte. Quando vi o cloc imediatamente lembrei da LibReSSL. Pode não ser perfeito nem exato, mas certamente já é uma aproximação muito melhor do que simplesmente medir o espaço em disco ocupado, hehehe. Obviamente o cloc está empacotado no Fedora, então é só procurar por ele no Softwares, ou abrir um terminal e rodar "sudo yum install cloc".<br />
<br />
Aqui está o relatório do cloc no lib/libssl do OpenBSD src, com o checkout do que havia lá no início de abril, antes do fork:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">-------------------------------------------------------------------------------<br />Language files blank comment code<br />-------------------------------------------------------------------------------<br />C 911 32917 68531 234548<br />Perl 166 8455 7874 67187<br />C/C++ Header 189 5689 14741 32212<br />make 80 1818 561 15623<br />Assembly 14 1356 1405 11067<br />C++ 26 1860 760 4041<br />Bourne Shell 62 777 702 3411<br />m4 1 514 0 1585<br />DOS Batch 33 413 133 1241<br />Lisp 1 2 19 24<br />HTML 1 2 2 3<br />-------------------------------------------------------------------------------<br />SUM: 1484 53803 94728 370942<br />-------------------------------------------------------------------------------</span></span><br />
<br />
No total eram 1484 arquivos fonte (reconhecidos pelo cloc) com um total de 370 KLOCs. Agora vamos ver o mesmo relatório com os fontes mais atuais:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">-------------------------------------------------------------------------------<br />Language files blank comment code<br />-------------------------------------------------------------------------------<br />C 674 23730 53766 171050<br />Perl 116 7275 6966 60669<br />C/C++ Header 125 4577 11686 25786<br />Assembly 12 1154 1350 8660<br />Bourne Shell 19 365 301 1850<br />m4 1 514 0 1585<br />make 3 19 4 301<br />-------------------------------------------------------------------------------<br />SUM: 950 37634 74073 269901<br />-------------------------------------------------------------------------------</span></span><br />
<br />
Uma bela limpeza! Mais de 500 arquivos e 100 KLOCs foram pro /dev/null até agora, e a LibReSSL continua compatível com a OpenSSL, sem quebrar a API e, a princípio, funcionando melhor, com menos bugs e leaks. É interessante ver também, nos commits, que mais gente tem começado a contribuir, o que parece ser um resultado positivo da limpeza e refatoração do código.<br />
<br />
Se mais gente entende o código, mais gente sente vontade de contribuir. Obviamente reinventar a roda só por reinventar é uma perda de tempo, porém se o objetivo é chegar numa roda melhor, mais leve e com menos defeitos, certamente vale a pena. Alguns projetos de roda livre "coopetindo" entre si certamente levam a mais Software Livre de qualidade para todos. Boa sorte, LibReSSL!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-36017362036966921472014-06-28T18:28:00.000-03:002014-06-29T18:42:46.527-03:00Atualizou o Fedora e o touchpad ficou lento? [FIXED]tl;dr: Não se assuste! Já já vai sair um update pro pacote xorg-x11-server-common que corrige isso. <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1104789" target="_blank">Aqui está o bugzilla deste problema</a>.<br />
<br />
Ontem de noite cometi aquele erro clássico: atualizei uns 200 pacotes no meu Fedora 20, desliguei o laptop e fui dormir. Quando fui dar uma geral nas internerds hoje de tarde, percebi que o touchpad estava incrivelmente lento, tendo que passar o dedo umas 15 vezes pro cursor ir de um canto a outro da tela. Na hora pensei "Putz! Nem vi o que atualizei ontem!".<br />
<br />
Mas tudo bem, nada que uma googlada não resolva. Procurei por "fedora 20 update mouse slower" e achei <a href="https://ask.fedoraproject.org/en/question/49396/how-do-i-now-change-the-touchpad-pointer-speed/" target="_blank">posts</a> e <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1104789" target="_blank">bugs</a> descrevendo o problema. O pacote xorg-x11-server-common-1.14.4-10.fc20.x86_64 inclui uma mudança que deveria ser uma melhoria em algumas situações usando dois ou mais monitores, porém para muita gente acabou "estragando" o uso do touchpad e o QA não pegou essa regressão. Mas logo logo sai o release -11.fc20.x86_64 corrigindo isso (já está no updates-testing).<br />
<br />
Por enquanto eu rodei o workaround que foi comentado no post e no bug: rodei "synclient MinSpeed=6" em um terminal e o touchpad ficou "aceitável" por enquanto.<br />
<br />Update 2014-06-29: Já está disponível a atualização que resolve o problema:<br /><br /><span style="font-family: "Courier New",Courier,monospace;">$ rpm -q --changelog xorg-x11-server-common | head -3<br />* Sex Jun 27 2014 Peter Hutterer 1.14.4-11<br />- Revert the previous fix, it breaks a couple of touchpads (#1104789)</span>Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com1tag:blogger.com,1999:blog-13843503.post-89939869737538195172014-06-19T02:36:00.002-03:002014-06-20T13:55:06.184-03:00Programando um Arduino em estilo old-schoolTalvez o nome mais apropriado fosse "Programando um Arduino da maneira errada" ou "... da maneira mais difícil", mas o fato é que desde que comecei a brincar com Arduinos eu queria "meter a mão na massa" e programar ele à moda antiga, sem IDEs e tal, usando assembly e pior, codificando os opcodes binários manualmente. Sei lá, acho que é cacoete de quem começou com os processadores de 8bits e acostumou a "assemblar" seus próprios programas. Eu sei bem que o objetivo do <a href="http://arduino.cc/" target="_blank">Projeto Arduino</a> não é esse, que o código não será compatível com outras placas, que será incrivelmente mais difícil, etc etc etc. Não interessa, um fuçador tem que fuçar. :-)<br />
<br />
Para começar, a gente precisa olhar a <a href="http://olive.webfactional.com/assembly/atmel-manuals/ArduinoUnopinout.png" target="_blank">plaquinha Arduino</a> (neste caso, a Uno) pelo que ela <a href="http://olive.webfactional.com/assembly/atmel-manuals/Arduino_Uno_Rev3-schematic.pdf" target="_blank">realmente é</a>: uma forma simplificada e prática de usar o microcontrolador ATmega328P. Então o próximo passo é ir lá no <a href="http://www.atmel.com/products/microcontrollers/avr/megaavr.aspx" target="_blank">site da Atmel</a> e baixar o <a href="http://olive.webfactional.com/assembly/atmel-manuals/ATmega328_s.pdf" target="_blank">datasheet do microcontrolador</a> (<a href="http://olive.webfactional.com/assembly/atmel-manuals/ATmega328.pdf" target="_blank">aqui em versão completa</a>, são 36MB), e depois disso baixar também a <a href="http://olive.webfactional.com/assembly/atmel-manuals/AVR-Instruction-Set.pdf" target="_blank">referência do conjunto de instruções da família AVR</a> (à qual o Atmega328P pertence). Com estes dois documentos, já conseguimos entender bem como é que o bichinho funciona, e como são as suas instruções. Imprima e leia algumas vezes.<br />
<br />
O próximo passo é instalar as ferramentas que serão usadas para gravar o programa na plaquinha e para manipular os arquivos de código. O bom é que elas são as mesmas ferramentas usadas pela interface IDE do Arduino: o avrdude para gravar na flash do ATmega328 e as GNU binutils (cross-compilando para AVR). Se você tem o ambiente do Arduino instalado (no <a href="http://fedoraproject.org/pt_BR/" target="_blank">Fedora</a>, sudo yum install arduino) está tudo pronto. Uma maneira legal de começar a sujar as mãos com bits crus devagarinho é compilar um programa de exemplo qualquer na interface do Arduino, e depois ir no /tmp olhar os arquivos intermediários no diretório de build. Arrisque-se a digitar "avr-objdump -d foobar.elf" e olhar o código gerado pelo compilador. :-)<br />
<br />
Para o meu primeiro teste eu quis fazer um pouco mais do que o tradicional Hello World do Arduino, que é piscar um led. Então resolvi fazer um programa que pisque 8 leds em zigue-zague, usando 8 pinos digitais. Decidi usar os primeiros 8 pinos, D0 a D7, porque eles são todos bits da mesma porta D para o ATmega328, o que facilita a programação. O programa basicamente seta um bit em um registrador e o envia para a porta, esperando um delay rápido e depois deslocando o registrador um bit para a direita e escrevendo na porta, em laço até zerar o registrador. Depois disso, recarrega um valor com um bit setado no registrador e faz o mesmo deslocando para a esquerda, até zerar (quando o bit "cair fora" do registrador:-).<br />
<br />
Li <a href="https://sites.google.com/site/blackpoolmakerspace/beginning-arduino-assembler" target="_blank">algumas</a> <a href="http://www.nongnu.org/avr-libc/user-manual/assembler.html" target="_blank">páginas</a> <a href="http://gcc.gnu.org/wiki/avr-gcc" target="_blank">relacionadas</a> a sintaxe padrão de assembly AVR, e depois resolvi fazer tudo manualmente, em um formato livre. Então abri o vim e criei este arquivo, que chamei de teste.asm.<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">; Teste de programação do Arduino "assemblando" manualmente os opcodes<br />; DDRD = 0a<br />; PORTD = 0b<br />; Os opcodes precisam ser convertidos para little-endian no .bin<br />addr opcode instruction<br />0000 ef0f ldi r16, 0xff ; programa porta D como saídas<br />0001 b90a out DDRD, r16<br />0002 e000 ldi r16, 0x00 ; limpa registradores de contagem dos delays<br />0003 e010 ldi r17, 0x00<br />0004 e440 ldi r20, 0x40 ; inicio<br />0005 b94b out PORTD, r20 ; loop1, led para a direita<br />0006 e024 ldi r18, 0x04<br />0007 9503 inc r16 ; delay1<br />0008 f7f1 brne delay1<br />0009 9513 inc r17<br />000a f7e1 brne delay1<br />000b 952a dec r18<br />000c f7d1 brne delay1<br />000d 9546 lsr r20<br />000e f7b1 brne loop1<br />000f e042 ldi r20, 0x02<br />0010 b94b out PORTD, r20 ; loop2, led para a esquerda<br />0011 e024 ldi r18, 0x04<br />0012 9503 inc r16 ; delay2<br />0013 f7f1 brne delay2<br />0014 9513 inc r17<br />0015 f7e1 brne delay2<br />0016 952a dec r18<br />0017 f7d1 brne delay2<br />0018 0f44 lsl r20<br />0019 f7b1 brne loop2<br />001a cfe5 rjmp inicio</span></span></blockquote>
Claro que eu não saí digitando tudo direto. Eu comecei cada linha com dois tabs, e comecei a listar as instruções aos poucos, pensando em como ia usar os registradores. Acabei decidindo usar os registradores "altos" (r16 em diante) para poder usar a instrução LDI (Load Immediate), que só manipula de r16 a r31. Quando eu tiver mais experiência com o conjunto de instruções acho que vou começar a usar mais os registradores baixos também. Depois de prontas as instruções, preenchi a primeira coluna com os endereços, e então fui aos poucos olhando cada uma das instruções na referência do AVR Instruction Set.<br />
<br />
Aqui cabem duas observações interessantes:<br />
<ol>
<li>O AVR é um processador RISC de 8 bits, e os opcodes têm um tamanho fixo de 16 bits (algumas instruções precisam 32, mas isso fica como tema para casa). Embora na referência eles sejam demonstrados como números binários de 16 bits, na hora de gravar na flash eles precisam ser convertidos para little-endian. Minha primeira tentativa de criar o arquivo "binário" com o código acabou dando errado, e tive que digitar tudo de novo invertendo os bytes de cada opcode. :-)</li>
<li>Embora cada instrução ocupe 2 bytes, o Program Counter do AVR aponta para instruções, e não para bytes. Isso significa que os offsets de branches e jumps são offsets em instruções, e não em bytes. Então para pular 4 instruções pra cima, se usa um offset de -4, mesmo que na verdade se esteja pulando 8 bytes para trás. Pra completar a confusão, o objdump mostra o disassembly com endereços de bytes, e ele mostra os opcodes invertidos, já em formato little-endian.</li>
</ol>
<br />
Feita a tradução dos mnemônicos para os opcodes binários (e calcular os offsets de branches contando em hexa em complemento de 2 nos dedos), agora a tarefa é digitar todos os opcodes em um arquivo, que será o "binário compilado" desse nosso esforço manual. Eu uso o hexedit, que é simples e direto, mas qualquer editor hexadecimal serve. Lembre-se de digitar os opcodes convertendo para little-endian. Fazendo um hexdump do "código compilado" teste.bin fica assim:<br />
<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">$ hexdump -C teste.bin <br />00000000 0f ef 0a b9 00 e0 10 e0 40 e4 4b b9 24 e0 03 95 |........@.K.$...|<br />00000010 f1 f7 13 95 e1 f7 2a 95 d1 f7 46 95 b1 f7 42 e0 |......*...F...B.|<br />00000020 4b b9 24 e0 03 95 f1 f7 13 95 e1 f7 2a 95 d1 f7 |K.$.........*...|<br />00000030 44 0f b1 f7 e5 cf 00 00 00 00 00 00 00 00 00 00 |D...............|</span></span></blockquote>
No total são 54 bytes, para 27 instruções de máquina. Eu completei com uns zeros no final, só para fechar 64 bytes e ficar tudo alinhado. :) O opcode do NOP em AVR é 0x0000 então tá tranquilo. :-)<br />
<br />
Um passo interessante, agora, é transformar esse arquivo contendo opcodes de AVR em um arquivo que o avr-objdump entenda e possa desassemblar, para que a gente confira o código e principalmente os offsets de branches, que o objdump nos ajuda a entender. Não é um passo necessário, mas é bom pra ter certeza que o código que montamos está realmente fazendo o que pretendemos que ele faça. Eu não consegui achar uma maneira de convencer o objdump a desmontar o binário "cru" diretamente, então usei o objcopy para transformá-lo em um ELF comum:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">$ avr-objcopy -I binary -O elf32-avr --rename-section .data=.text,contents,code teste.bin \</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> teste.elf<br />$ avr-objdump -d teste.elf <br /><br />teste.elf: file format elf32-avr<br /><br />Disassembly of section .text:<br /><br />00000000 _binary_teste_bin_start:<br /> 0: 0f ef ldi r16, 0xFF ; 255<br /> 2: 0a b9 out 0x0a, r16 ; 10<br /> 4: 00 e0 ldi r16, 0x00 ; 0<br /> 6: 10 e0 ldi r17, 0x00 ; 0<br /> 8: 40 e4 ldi r20, 0x40 ; 64<br /> a: 4b b9 out 0x0b, r20 ; 11<br /> c: 24 e0 ldi r18, 0x04 ; 4<br /> e: 03 95 inc r16<br /> 10: f1 f7 brne .-4 ; 0xe _binary_teste_bin_start+0xe</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> 12: 13 95 inc r17<br /> 14: e1 f7 brne .-8 ; 0xe _binary_teste_bin_start+0xe<br /> 16: 2a 95 dec r18<br /> 18: d1 f7 brne .-12 ; 0xe _binary_teste_bin_start+0xe<br /> 1a: 46 95 lsr r20<br /> 1c: b1 f7 brne .-20 ; 0xa _binary_teste_bin_start+0xa<br /> 1e: 42 e0 ldi r20, 0x02 ; 2<br /> 20: 4b b9 out 0x0b, r20 ; 11<br /> 22: 24 e0 ldi r18, 0x04 ; 4<br /> 24: 03 95 inc r16<br /> 26: f1 f7 brne .-4 ; 0x24 _binary_teste_bin_start+0x24<br /> 28: 13 95 inc r17<br /> 2a: e1 f7 brne .-8 ; 0x24 _binary_teste_bin_start+0x24</span></span><br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> 2c: 2a 95 dec r18<br /> 2e: d1 f7 brne .-12 ; 0x24 _binary_teste_bin_start+0x24<br /> 30: 44 0f add r20, r20<br /> 32: b1 f7 brne .-20 ; 0x20 _binary_teste_bin_start+0x20<br /> 34: e5 cf rjmp .-54 ; 0x0 _binary_teste_bin_start<br /> ...<!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--><!--_binary_teste_bin_start--></span></span><br />
<br />
Legal, com isso já consigo verificar que eu calculei os opcodes corretamente, e que meus offsets de branches e jumps estavam certos. Agora só falta gravar no Arduino. Para isso, temos que converter o binário em um arquivo no formato <a href="http://en.wikipedia.org/wiki/Intel_HEX" target="_blank">Intel Hex</a>, com extensão .hex. Este é o formato usado pelo avrdude, que é quem conversa com o bootloader do Arduino e grava o nosso programa lá. Os comandos abaixo deram conta do recado:<br />
<br />
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">$ avr-objcopy -I binary -O ihex teste.bin teste.hex<br />$ avrdude -P /dev/ttyUSB0 -p ATmega328P -b 115200 -c arduino -U flash:w:teste.hex:i</span></span><br />
<br />
O avrdude gera bastante saída na tela, dá pra ir acompanhando os passos da gravação. Note que eu usei um Garagino com uma porta serial FTDI que o acompanha, e ela é detectada como /dev/ttyUSB0. Uma plaquinha Arduino Uno, por exemplo, é detectada como /dev/ttyACM0, então o comando acima deverá ser adaptado. Feita a programação e montado o circuito, voilà! Está tudo funcionando como esperado, em apenas 27 instruções de código!<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfSjBs6oAiZ_lTTiqBlV5G4SbnYT29FbjPKQcspOEwWFQTANiQY-0CUVkuG70h7U5S9drPQmPL0dRPwCpLVR3Zs5bsVl39dPtUpoD33_aIskGQW3OlC-HfTPWlrTUPGb09ybEewg/s1600/assemblino-1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfSjBs6oAiZ_lTTiqBlV5G4SbnYT29FbjPKQcspOEwWFQTANiQY-0CUVkuG70h7U5S9drPQmPL0dRPwCpLVR3Zs5bsVl39dPtUpoD33_aIskGQW3OlC-HfTPWlrTUPGb09ybEewg/s1600/assemblino-1.jpg" height="240" width="320" /></a></div>
Estou muito feliz de finalmente ter escovado estes bits, que estavam me esperando desde que comprei a primeira Arduino Uno. Só não tinha dado tempo ainda de pensar num projetinho simples porém não tão trivial, sentar e começar a codar. Levei horas codificando os opcodes manualmente, e é claro que não pretendo mais fazer isso. Meus próximos testes serão utilizando o GNU Assembler para facilitar as coisas. Estou commitando estes e outros testes com Arduino <a href="https://github.com/fabioolive/arduino" target="_blank">neste repositório no github</a>, para facilitar a publicação e utilização pelos interessados.<br />
<br />
Ah, antes que me esqueça: desde que a gente não sobrescreva o bootloader do Arduino, que ocupa os últimos 512 bytes da flash, vai continuar funcionando tudo normalmente, e a placa continua compatível com a IDE do Arduino. Continua sendo possível criar e gravar um programa pelas vias normais, usando a IDE e clicando botõezinhos. :-) Se o nosso programa tiver menos do que 32256 bytes não vai sobrescrever o bootloader e tá tudo certo.<br />
<br />
Update 2014-06-20: Na verdade nem precisa converter o arquivo binário para ihex. O avrdude também pode ler arquivos binários sem formato, especificando a opção "raw". Agora mesmo eu mudei um pouco o padrão dos leds e escrevi o teste.bin direto usando "-U flash:w:teste.bin:r". O ":r" no final é que indica o tipo, sendo 'i' Intel Hex, e 'r' raw. Só o que se perde com isso é a possibilidade de especificar o endereço de carga. O ihex pode especificar endereços, para o caso de querermos gravar um conteúdo na flash a partir de um ponto específico. O raw sempre vai ser gravado a partir de 0 na flash. Bom saber que nem precisa fazer a dança do objcopy, embora seja mais reconfortante fazer um objdump e confirmar o código antes de gravar. :-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-69255865396707898162014-05-02T12:08:00.000-03:002014-05-02T12:08:08.572-03:00Encontro de LibreOffice, Arduino Day e FLISoL: OeSC-Livre em movimento!Mas bah! Fazem semanas que eu queria vir postar alguma coisa, pelo menos desde o <a href="https://sites.google.com/site/sisunoesc/home/arduino-day" target="_blank">Arduino Day</a>. Os últimos meses foram de muito movimento divertido aqui no Oeste Catarinense, começando pelo <a href="http://oesc-livre.org/doku.php?id=iii_encontro_libreoffice_sc" target="_blank">3º Encontro Catarinense de LibreOffice</a> que aconteceu no dia 15 de Março lá na <a href="http://www.unc.br/uncmkt/libre-office/" target="_blank">UnC em Concórdia</a>. O Klaibson Ribeiro e o Jackson Laskoski estão de parabéns pela iniciativa de trazer este evento pra cá. Aliás, é muito legal ver eventos cada vez mais diferenciados e específicos acontecendo aqui no bom e velho oeste. Acredito que estamos colhendo os frutos de sementes que vêm sendo plantadas nos últimos anos, com otimismo, tranquilidade e perseverança.<br />
<br />
O <a href="https://sites.google.com/site/sisunoesc/home/arduino-day" target="_blank">Arduino Day organizado lá na UNOESC Chapecó</a> foi um sucesso total. Tivemos laboratórios lotados e muita gente fuçando nas plaquinhas, aprendendo a lidar com bits físicos. Desde os piscadores de LED até gente fazendo sensores de temperatura e mexendo com displays LCD, tinha de tudo e todos os envolvidos saíram de lá tendo aprendido muita coisa. Valeu muito a pena participar. Pra variar eu apresentei uma daquelas palestras que acaba em um terminal aberto cheio de números hexadecimais, e o público adorou! Hahahah evento nerd é assim: projeta uma tela preta com letras e números enigmáticos e o pessoal fica maluco. Eu queria ter <a href="http://olive.webfactional.com/Anatomia-do-Arduino-Bootloader.pdf" target="_blank">melhorado um pouco os slides</a> antes de disponibilizar aqui, já que o código em si eu mostrei no terminal, mas faltou tempo. Fica pra próxima palestra deste assunto.<br />
<br />
No sábado passado tivemos o <a href="http://oesc-livre.org/doku.php?id=flisol_chapeco_2014" target="_blank">segundo FLISoL realizado em Chapecó</a>, desta vez sediado pela UNOESC. Foi um sucesso novamente. Muita gente que já conhecia Software Livre (e Hardware Livre, que tem estado sempre presente) aproveitou pra trocar idéias e renovar conhecimentos, e também muita gente nova nesse mundo aproveitou pra instalar uma distribuição de Linux pela primeira vez com a ajuda dos mais experientes. O Álisson Bertochi e o Tiago Zonta estão de parabéns pelo excelente evento, muito bem organizado. Também foi muito legal o engajamento de pessoas como o Éderson Szlachta (que fez o layout dos crachás) e o <a href="http://blog.eliezerb.com.br/2014/04/flisol-chapeco-2014/" target="_blank">Eliezer Bernart, que falou sobre FirefoxOS</a>, apresentou oficina de desenvolvimento pra esse novo Sistema Operacional, e ainda trouxe muitos swags da Mozilla pra distribuir pra gurizada.<br />
<br />
No FLISoL eu apresentei uma <a href="http://oesc-livre.org/media/slides/2014/abril_flisol_chapeco/Software%20e%20Hardware%20Livres.pdf" target="_blank">palestra sobre Software e Hardware Livres</a>, para dar uma base conceitual às conversas, palestras e oficinas que viriam depois, e mais tarde como é de praxe <a href="http://oesc-livre.org/media/slides/2014/abril_flisol_chapeco/Projeto%20Fedora.pdf" target="_blank">apresentei o Projeto Fedora</a>. No InstallFest da tarde ajudei uma pessoa a <a href="http://fedoraproject.org/get-fedora" target="_blank">instalar Fedora 20</a> em seu laptop em dual-boot com o Windows 8. Tive um pouco de medo no início, e é claro que deu um probleminha (o Fedora bootava legal, mas o Windows não queria mais ligar), mas desabilitando o SecureBoot deu tudo certo. Deve ter uma maneira de deixar os dois funcionando bem com SecureBoot, mas não deu tempo de investigar mais. Distribuimos mídias de Fedora e criamos pendrives para alguns que iam instalar em casa. No geral foi tudo muito legal.<br />
<br />
Fico muito feliz de ver que já podemos dizer que temos uma comunidade de Software e Hardware Livre estabelecida e ativa na região. Muitos eventos, encontros e outros movimentos interessantes vêm acontecendo, como os Hackerspaces que estão tomando forma e se concretizando. Também é muito legal ver que todos estes eventos tiveram apoios variados, inclusive com a <a href="http://www.novatec.com.br/" target="_blank">Editora Novatec</a> se fazendo presente em todos eles, com códigos promocionais e itens para sorteio. Tanto no Arduino Day quanto no FLISoL a empresa local <a href="http://www.fazolo.com.br/site/" target="_blank">Fazolo Componentes Eletrônicos</a> também apoiou, com kits de componentes a preços promocionais e sortendo um kit por evento.<br />
<br />
Agora vem o FISL e fechamos o primeiro semestre do ano com chave de ouro. Teremos muita gente do grupo lá, pra celebrarmos juntos e representarmos nossa região, que cada vez mais demonstra que está caminhando com passos firmes no mundo da tecnologia.Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com2tag:blogger.com,1999:blog-13843503.post-18295703175771736012014-02-23T21:49:00.000-03:002014-02-23T21:50:44.882-03:00Gambiarra do dia: protoboard com bateria "embutida"Fazia tempos que eu queria "cometer" algo parecido com isso. Quem usa <a href="http://pt.wikipedia.org/wiki/Placa_de_Ensaio" target="_blank">protoboards</a> pra montar circuitos divertidos ganha muito em agilidade e mobilidade, principalmente pra quem fuça em <a href="http://arduino.cc/" target="_blank">arduinos</a>, <a href="http://www.labdegaragem.org/loja/garagino-1.html" target="_blank">garaginos</a> (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.<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSIZ75O4A-ug8AJANLZ6p2BgB9IqGVCx19SawnB90xj_cc0-54ZplFZlOQOXspFqJcq7mx7KCzx5OzU5IrKXpcArFrA2s2F4XV1fPuwY7RXOR5ejEG1KAACJFldOiT8xJ1ppdI1w/s1600/protoboard-com-bateria-1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSIZ75O4A-ug8AJANLZ6p2BgB9IqGVCx19SawnB90xj_cc0-54ZplFZlOQOXspFqJcq7mx7KCzx5OzU5IrKXpcArFrA2s2F4XV1fPuwY7RXOR5ejEG1KAACJFldOiT8xJ1ppdI1w/s1600/protoboard-com-bateria-1.jpg" height="212" width="320" /></a>Pois bem, hoje eu estava testando um projetinho simples pra configurar e testar o ambiente arduino do <a href="https://fedoraproject.org/" target="_blank">Fedora</a> (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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_RG3pUBHvZKY6wO0tYyYm3x_m8AQL5bIAjisDoA_97nN41afztIQhrFe7G-Y7t4xsIaV3cCCkGbC3KJOQd3VqvSKXgQH-OBuISb3PaJIkFdEaDbjhgsFwK0furKBwypn406KDEA/s1600/protoboard-com-bateria-2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_RG3pUBHvZKY6wO0tYyYm3x_m8AQL5bIAjisDoA_97nN41afztIQhrFe7G-Y7t4xsIaV3cCCkGbC3KJOQd3VqvSKXgQH-OBuISb3PaJIkFdEaDbjhgsFwK0furKBwypn406KDEA/s1600/protoboard-com-bateria-2.jpg" height="168" width="320" /></a></div>
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 <a href="http://www.icel-manaus.com.br/index.php" target="_blank">ICEL</a>, 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. :-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com2tag:blogger.com,1999:blog-13843503.post-81226475692259767062014-02-19T00:11:00.001-03:002014-02-19T00:15:25.960-03:00Ótimo livro: CODE do Charles PetzoldNo 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: <a href="http://www.livrariacultura.com.br/scripts/resenha/resenha.asp?nitem=440847" target="_blank">CODE, do Charles Petzold</a>. 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!<br />
<br />
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.<br />
<br />
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 <a href="http://pt.wikipedia.org/wiki/Claude_Shannon" target="_blank">Claude Shannon</a>, 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.<br />
<br />
<a href="http://pt.wikipedia.org/wiki/Claude_Shannon" target="_blank">Claude Shannon</a> agora figura entre <a href="http://pt.wikipedia.org/wiki/Ken_Thompson" target="_blank">Ken Thompson</a>, <a href="http://pt.wikipedia.org/wiki/Dennis_Ritchie" target="_blank">Dennis Ritchie</a>, <a href="http://pt.wikipedia.org/wiki/Donald_Knuth" target="_blank">Donald Knuth</a> e muitos outros no meu panteão pessoal da <a href="http://pt.wikipedia.org/wiki/Ci%C3%AAncia_da_computa%C3%A7%C3%A3o" target="_blank">Computação</a>. :-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com2tag:blogger.com,1999:blog-13843503.post-9484065906578686912014-02-13T23:30:00.001-02:002014-02-13T23:33:47.615-02:00Semeando perguntasAcabo de voltar bem energizado do segundo dia de <a href="http://unoesc.edu.br/" target="_blank">Capacitação Docente na UNOESC</a>, totalmente convencido de que uma das coisas que mais gosto de fazer é ensinar, explicar, desmistificar. Durante o <a href="http://inf.ufrgs.br/" target="_blank">mestrado na UFRGS</a>, em 1998 e 1999, tive uma curta experiência docente na <a href="http://www.ucpel.edu.br/portal/?secao=cursos&tipo=1&id=72" target="_blank">UCPel, onde me formei em Ciência da Computação</a>. 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 <a href="http://tchelinux.org/" target="_blank">TcheLinux</a> e do <a href="http://oesc-livre.org/" target="_blank">OeSC-Livre</a>. Mas hoje vejo que a prática do ensino e o ambiente universitário estavam me fazendo falta.<br />
<br />
Vou <a href="http://unoesc.edu.br/cursos/graduacao/engenharia%20de%20computa%C3%A7%C3%A3o/chapeco" target="_blank">ministrar a disciplina de Introdução ao Hardware, no primeiro semestre do nascente curso de Engenharia da Computação da UNOESC Chapecó</a>, e também <a href="http://www.jack.eti.br/pos-graduacao-em-administracao-de-redes-linux-na-unc-concordia/" target="_blank">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</a>. Estou muito feliz e motivado, e agradeço muito aos colegas Jackson Laskoski e Tiago Zonta por me darem estas oportunidades. :-)<br />
<br />
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: <b>Nunca abandone a dúvida, pois quem motiva é a pergunta, não a resposta</b>. 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: <b>It's the question that drives us, Neo</b>. <br />
<br />
Esta noite me veio à cabeça uma versão mais ambientada ao Oeste Catarinense: <b>Assim como na colheita, reserve um pouco das suas respostas para semear novas perguntas</b>. É 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!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com1tag:blogger.com,1999:blog-13843503.post-12057937189293734012013-11-26T15:54:00.001-02:002013-11-26T16:50:50.587-02:00Criando um pendrive com vários Fedoras LiveO fim de semana passado foi de backups e reinstalações de <a href="http://fedoraproject.org/pt_BR/" target="_blank">Fedora</a> 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. :-)<br />
<br />
Eu tinha as <a href="http://fedoraproject.org/en/get-prerelease" target="_blank">ISOs Live do Fedora 20 Beta RC5</a>, 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 <a href="https://fedoraproject.org/wiki/User:Wolnei" target="_blank">Wolnei Tomazelli</a> 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.<br />
<br />
Eu já criei outros pendrives com Lives ou Installs do Fedora, usando o comando <a href="https://fedoraproject.org/wiki/How_to_create_and_use_Live_USB#Command_line_method:_Using_the_livecd-iso-to-disk_tool_.28Fedora_only.29" target="_blank">livecd-iso-to-disk, do pacote livecd-tools</a>, 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.<br />
<br />
<b>Preparando o pendrive</b><br />
<br />
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". ;-)<br />
<br />
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.<br />
<br />
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.<br />
<br />
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:<br />
<br />
$ sudo dd if=/usr/share/syslinux/mbr.bin of=/dev/sdb<br />
<br />
Agora falta apenas colocar o <a href="http://www.syslinux.org/wiki/index.php/SYSLINUX" target="_blank">syslinux</a> no bicho. Rode mais este comando:<br />
<br />
$ sudo syslinux -i /dev/sdb1<br />
<br />
Pronto, finalmente o pendrive está seguramente pronto pra bootar em qualquer máquina. É possível testar o setup até agora usando o qemu, rodando:<br />
<br />
$ sudo qemu-kvm -hda /dev/sdb<br />
<br />
A janela do qemu vai mostrar o prompt do syslinux (boot:), indicando que o pendrive está bootando corretamente. Feche o qemu e siga adiante.<br />
<br />
<b>Gravando as imagens na pendrive</b><br />
<br />
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:<br />
<br />
$ sudo livecd-iso-to-disk --multi --livedir F20_32 \<br />
Fedora-Live-Desktop-i686-20-Beta-5.iso /dev/sdb1<br />
<br />
$ sudo livecd-iso-to-disk --multi --livedir F20_64 \<br />
Fedora-Live-Desktop-x86_64-20-Beta-5.iso /dev/sdb1<br />
<br />
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).<br />
<br />
<b>Arrumando a configuração do syslinux</b><br />
<br />
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. :)<br />
<br />
Dentro do diretório syslinux copiado, haverá um arquivo chamado <a href="http://www.syslinux.org/wiki/index.php/SYSLINUX#How_do_I_Configure_SYSLINUX.3F">syslinux.cfg</a>. É este arquivo quem descreve o que o syslinux vai fazer quando boota, inclusive montar o menu que é interpretado pelo <a href="http://www.syslinux.org/wiki/index.php/Menu.c32">vesamenu.c32</a> do mesmo diretório. Abra esse arquivo no gedit, e passe alguns minutos lendo e entendendo o que ele faz.<br />
<br />
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".<br />
<br />
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.<br />
<br />
A primeira parte do syslinux.cfg ficou assim:<br />
<br />
label linux0<br />
menu label ^Start Fedora Live 64b<br />
kernel /F20_64/syslinux/vmlinuz0<br />
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 <br />
menu default<br />
<br />
label linux1<br />
menu label ^Start Fedora Live 32b<br />
kernel /F20_32/syslinux/vmlinuz0<br />
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<br />
<br />
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.<br />
<br />
<b>Adicionando ainda mais uma imagem</b><br />
<br />
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:<br />
<br />
$ sudo livecd-iso-to-disk --multi --livedir F20_LX32 \<br />
Fedora-Live-LXDE-i686-20-Beta-5.iso /dev/sdb1<br />
<br />
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:<br />
<br />
label linux0<br />
menu label ^Start Fedora Live 64b<br />
kernel /F20_64/syslinux/vmlinuz0<br />
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 <br />
menu default<br />
<br />
label linux1<br />
menu label ^Start Fedora Live 32b<br />
kernel /F20_32/syslinux/vmlinuz0<br />
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 <br />
<br />
label linux2<br />
menu label ^Start Fedora Live LXDE 32b<br />
kernel /F20_LX32/syslinux/vmlinuz0<br />
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 <br />
<br />
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, <a href="http://fleite.fedorapeople.org/syslinux.cfg">aqui está o arquivo syslinux.cfg que eu criei até agora</a>, separado com linhas extras pra facilitar a compreensão.<br />
<br />
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.<br />
<br />
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. ;-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com1tag:blogger.com,1999:blog-13843503.post-12128129419225007972013-11-11T17:21:00.004-02:002013-11-11T17:37:31.520-02:00TecLand, palestras, Fedora e novos hábitos<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgwTumYfl6ycqbjvqoBZXlqzTmvkwqD5M4ETL2WhJDiEiFfPzuTXjUziw8GTOMLoNb7E-HA93WYwC1uosPTTCZw_pjIO_TKaBHmCC1T1g0iRnxZhFTHrlusIBMDZh9vHb_SIt9_Q/s1600/chegando-na-unc-2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgwTumYfl6ycqbjvqoBZXlqzTmvkwqD5M4ETL2WhJDiEiFfPzuTXjUziw8GTOMLoNb7E-HA93WYwC1uosPTTCZw_pjIO_TKaBHmCC1T1g0iRnxZhFTHrlusIBMDZh9vHb_SIt9_Q/s200/chegando-na-unc-2.jpg" width="200" /></a>Este fim de semana foi bastante corrido mas muito proveitoso. Muita coisa legal aconteceu. Eu e o <a href="https://fedoraproject.org/wiki/User:Firemanxbr" target="_blank">Marcelo Barbosa</a> participamos do <a href="http://www.tecland.com.br/iv-encontro-tecland/" target="_blank">IV Encontro TecLand</a>, com uma palestra sobre <a href="http://firemanxbr.fedorapeople.org/TecLand/OPoderdoFedoraARM.odp" target="_blank">Fedora em arquitetura ARM</a>, e o Marcelo também apresentou uma outra palestra sobre o <a href="http://firemanxbr.fedorapeople.org/TecLand/VirtualizandocomooVirt.odp" target="_blank">oVirt</a> (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.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiIYcThY8TSUfzVYjZ6MRKNCzUZjdqEOQko5GdFEf5zdiAFDalu6kZh252Tejruvtcafi36ZHDd3NvfNiAEFFInAjzHJfBEixul7bsOpXX8tIdXHKHM22T_v1hKEFgR4usezo_Nw/s1600/chegando-na-unc-1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiIYcThY8TSUfzVYjZ6MRKNCzUZjdqEOQko5GdFEf5zdiAFDalu6kZh252Tejruvtcafi36ZHDd3NvfNiAEFFInAjzHJfBEixul7bsOpXX8tIdXHKHM22T_v1hKEFgR4usezo_Nw/s200/chegando-na-unc-1.jpg" width="200" /></a><br />
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 <a href="https://plus.google.com/+JacksonLaskoski/posts/PBE5fam9Vmh" target="_blank">Jackson Laskoski e o Adinarte nos levaram pra uma janta buenacha</a>, onde ficamos até meia-noite em altos papos filosóficos e nerds. :)<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz5LRxUtBlrxyhZfVZPEPY3WtuDfRcy4p40O0AdCBH8sin8eQbn07XGXlnfD_yPuprjx0XHJZ0ZS0-aDAJrOFPnb624qkDM62wetMRTH7e4cIM1pAN-covAiQME7uK0vtpjcGCvA/s1600/banners-e-projetor-na-unc.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz5LRxUtBlrxyhZfVZPEPY3WtuDfRcy4p40O0AdCBH8sin8eQbn07XGXlnfD_yPuprjx0XHJZ0ZS0-aDAJrOFPnb624qkDM62wetMRTH7e4cIM1pAN-covAiQME7uK0vtpjcGCvA/s200/banners-e-projetor-na-unc.jpg" width="200" /></a>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.<br />
<br />
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 <a href="https://fedoraproject.org/wiki/L10N_Brazilian_Portuguese_Team" target="_blank">tradutor do Fedora</a>, 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. :)<br />
<br />
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!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-81539027627280565422013-11-02T00:02:00.001-02:002013-11-02T00:02:52.178-02:00Costumes 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:<br />
<br />
<b><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">$ youtube-dl -o peppa-pig.webm 'http://www.youtube.com/watch?v=cgAVKlcs0dc'<br />[youtube] Setting language<br />[youtube] cgAVKlcs0dc: Downloading video webpage<br />[youtube] cgAVKlcs0dc: Downloading video info webpage<br />[youtube] cgAVKlcs0dc: Extracting video information<br />[youtube] cgAVKlcs0dc: Encrypted signatures detected.<br />ERROR: unable to download video</span></span></b><br />
<br />
Deu esse erro ali, e eu pensei: "Hmm alguém já deve ter corrigido esse bug!". Mandei um yum update:<br />
<br />
<b><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">$ sudo yum update youtube-dl<br />...</span></span></b><br />
<b><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">...</span></span></b><br />
<b><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;"> Updated:<br /> youtube-dl.noarch 0:2013.10.18.2-1.fc18</span></span></b><br />
<br />
E chamei o youtube-dl de novo, confiando que ia funcionar:<br />
<br />
<b><span style="font-size: xx-small;"><span style="font-family: "Courier New",Courier,monospace;">$ youtube-dl -o peppa-pig.webm 'http://www.youtube.com/watch?v=cgAVKlcs0dc'<br />[youtube] Setting language<br />[youtube] cgAVKlcs0dc: Downloading video webpage<br />[youtube] cgAVKlcs0dc: Downloading video info webpage<br />[youtube] cgAVKlcs0dc: Extracting video information<br />[download] Destination: peppa-pig.webm<br />[download] 100% of 190.24MiB in 07:40</span></span></b><br />
<br />
Não poderia ser mais simples, né? A rapidez e facilidade com que nossos sistemas operacionais livres são atualizados e corrigidos é fantástica! :)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-33217838208181351332013-09-02T23:05:00.001-03:002013-09-02T23:25:40.318-03:00OeSC-Livre e Hackerspaces na FACE 2013MUITO OBRIGADO aos organizadores da <a href="http://minhaface.com/" target="_blank">FACE 2013 (Feira de Conhecimento, Cultura e Educação)</a>, e muito obrigado também ao Prof. Tiago Zonta, da UNOESC, que nos conseguiu <a href="http://www.zoomfeiras.com.br/site/Face_2013/pt/noticia/272_Software_livre_um_catalisador_de_informacao.html" target="_blank">um espaço fantástico</a> para divulgar o <a href="http://oesc-livre.org/" target="_blank">OeSC-Livre</a> e, mais importante, os Hackerspaces recém-nascidos de <a href="http://xap-hacks.org/" target="_blank">Chapecó</a> e <a href="http://concas-hacks.org/" target="_blank">Concórdia</a>. 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!<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcjV0tmE2pwYSskadCicNbWDObl0HXV97SKn5RdT9XCGCB61JAXXpaa7fCvETRlsGTb0leuEZSlilnqIPQa-F4czlESZSCl6zokNvaQsIhLqqLv4hTB3kCUR8wk2dRGyXSgTXCBw/s1600/2013-08-29_10-23-03_841.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcjV0tmE2pwYSskadCicNbWDObl0HXV97SKn5RdT9XCGCB61JAXXpaa7fCvETRlsGTb0leuEZSlilnqIPQa-F4czlESZSCl6zokNvaQsIhLqqLv4hTB3kCUR8wk2dRGyXSgTXCBw/s320/2013-08-29_10-23-03_841.jpg" width="320" /></a>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.<br />
<br />
Já neste primeiro dia rolou a primeira surpresa agradável e gratificante da feira: fui entrevistado pela RBS, em <a href="http://globotv.globo.com/rbs-sc/jornal-do-almoco-sc/v/feira-face-comeca-nesta-quinta-feira-na-efapi/2790179/" target="_blank">matéria que foi ao ar no Jornal do Almoço</a>. 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.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl9mok4nGJKpY8t0QlQtuzvn2u8xvOdItS4ah9uGpwubzMC-BoMMHtHKcJYV78BgDDj9F5_7eCm15zsJOjLlYEgykUHxxAo1czgkAQlwPbS4Pa_N9llA92nDCDy08rIfnxDx7g9A/s1600/2013-08-30_16-28-02_82.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl9mok4nGJKpY8t0QlQtuzvn2u8xvOdItS4ah9uGpwubzMC-BoMMHtHKcJYV78BgDDj9F5_7eCm15zsJOjLlYEgykUHxxAo1czgkAQlwPbS4Pa_N9llA92nDCDy08rIfnxDx7g9A/s320/2013-08-30_16-28-02_82.jpg" width="320" /></a></div>
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 <a href="http://www.zoomfeiras.com.br/site/Face_2013/pt/noticia/272_Software_livre_um_catalisador_de_informacao.html" target="_blank">esta matéria</a>. 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!<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMeDr-gRo9Coems8G-SWV6mTueNy7MBlqvpYEb4nGawF3gqg-PG9D0CGmhp2QH9JuAevk4kuxegFk4KWykTWAgnANuXYbkfCOuiZH3ZWc04XFEL24vYOmQRQ3R2_lkGUKkkZ10A/s1600/6ztJlLih.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMeDr-gRo9Coems8G-SWV6mTueNy7MBlqvpYEb4nGawF3gqg-PG9D0CGmhp2QH9JuAevk4kuxegFk4KWykTWAgnANuXYbkfCOuiZH3ZWc04XFEL24vYOmQRQ3R2_lkGUKkkZ10A/s200/6ztJlLih.jpg" width="200" /></a>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 <a href="http://concas-hacks.org/" target="_blank">Concas Hackerspace</a>. 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<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-oYOiIvpmqbmG0cOS2shSUBxGEaV7IVwEaBaimyFKNC3bN2NZcRQb15KmlbAYTs4d_ypoE_umacKfxRmezsvWe8LPS-3AaDo67TkdVCK9JzFp_Pn3GI5_D9DiRW3HS5hVrKvd2g/s1600/6oRZECHh.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="150" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-oYOiIvpmqbmG0cOS2shSUBxGEaV7IVwEaBaimyFKNC3bN2NZcRQb15KmlbAYTs4d_ypoE_umacKfxRmezsvWe8LPS-3AaDo67TkdVCK9JzFp_Pn3GI5_D9DiRW3HS5hVrKvd2g/s200/6oRZECHh.jpg" width="200" /></a>No sábado também tivemos a presença do João Ricardo, do <a href="http://tarrafa.net/blog/" target="_blank">Tarrafa Hacker Clube</a> (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. :-)<br />
<br />
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 <a href="http://fedoraproject.org/pt_BR/" target="_blank">Projeto Fedora</a>, 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 <a href="https://garoa.net.br/wiki/Hacker" target="_blank">Cultura Hacker</a> e o <a href="http://br-linux.org/faq-softwarelivre/" target="_blank">Software Livre</a> no nosso cantinho da feira. Certamente estaremos muito interessados em participar novamente nos próximos anos, com mais e melhores projetos!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-76172581802531803502013-07-09T23:23:00.002-03:002013-07-10T00:30:30.734-03:00Mais FISL 14: Beyond the 4 Fs: What is Fedora effectively doing for Open Source?<b>[en_US version below]</b><br />
<br />
Finalmente, depois da viagem de volta, do descanso e de retornar ao trabalho, consegui uns minutos para postar a segunda palestra que apresentei no <a href="http://softwarelivre.org/fisl14" target="_blank">FISL 14</a>, 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!).<br />
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtFbFCEFr0d-tb5139nEjcuuVxKUp75EmCb6-3eF72ZQPLRFSshKJminlER9B4pMU91YElzbvF6r4ACeu9kHaAgDg_YmPuEIuY8k2IC6Gp0nDWtjNQuLxfmiW-uHloHVmQjWKqXA/s1600/Beyond-the-4-Fs-1.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="232" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtFbFCEFr0d-tb5139nEjcuuVxKUp75EmCb6-3eF72ZQPLRFSshKJminlER9B4pMU91YElzbvF6r4ACeu9kHaAgDg_YmPuEIuY8k2IC6Gp0nDWtjNQuLxfmiW-uHloHVmQjWKqXA/s320/Beyond-the-4-Fs-1.jpg" width="320" /></a>A idéia dessa palestra (<a href="http://fleite.fedorapeople.org/Beyond-the-4-Fs.pdf" target="_blank">aqui estão os slides</a>, e <a href="http://hemingway.softwarelivre.org/fisl14/high/41d/sala41d-high-201307051200.ogg" target="_blank">aqui está o vídeo oficial</a>) era demonstrar que, nos seus atuais 10 anos de existência, o <a href="http://fedoraproject.org/" target="_blank">Projeto Fedora</a> sempre esteve focado na sua <a href="https://fedoraproject.org/wiki/Overview" target="_blank">missão de avançar o estado da arte do Software Livre e Open Source</a>. 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 <a href="http://fedoraproject.org/pt_BR/get-fedora" target="_blank">instalar o Fedora</a>, 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!<br />
<br />
<h3>
[en_US] More FISL 14: Beyond the 4 Fs: What is Fedora effectively doing for Open Source?</h3>
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 <a href="http://softwarelivre.org/fisl14" target="_blank">FISL 14</a>, 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!).<br />
<br />
The idea on this talk (<a href="http://fleite.fedorapeople.org/Beyond-the-4-Fs.pdf" target="_blank">here are the slides</a>, and <a href="http://hemingway.softwarelivre.org/fisl14/high/41d/sala41d-high-201307051200.ogg" target="_blank">here is the official video</a>) was to demonstrate that, during its current 10 years of existance, the <a href="http://fedoraproject.org/" target="_blank">Fedora Project</a> has always been focused on its <a href="https://fedoraproject.org/wiki/Overview" target="_blank">mission of advancing the state-of-the-art in Free and Open Source Software</a>. 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 <a href="http://fedoraproject.org/get-fedora" target="_blank">install Fedora</a>, 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!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com2tag:blogger.com,1999:blog-13843503.post-48217103485127596902013-07-04T01:27:00.001-03:002013-07-08T20:44:21.322-03:00Primeira palestra no FISL 14: Vida e Morte de um Pacote de Rede no KernelHoje fiquei extremamente feliz e aliviado de ter conseguido apresentar uma boa palestra no <a href="http://softwarelivre.org/fisl14" target="_blank">FISL 14</a>. 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. :-)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh340t1Kr26GJsWgDQ4WWGZ49rPKnmi8_JEGG6hzkmKtJlSdFaBAbJL5lFir5QMy4tllABIX8wqcMApQexZ3h13YSEbitOnHdouEvWCU4g2trAU3es9g-RANkigkRa2JXuLm52Vsg/s1600/Palestra-FISL14-1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh340t1Kr26GJsWgDQ4WWGZ49rPKnmi8_JEGG6hzkmKtJlSdFaBAbJL5lFir5QMy4tllABIX8wqcMApQexZ3h13YSEbitOnHdouEvWCU4g2trAU3es9g-RANkigkRa2JXuLm52Vsg/s320/Palestra-FISL14-1.jpg" width="320" /></a></div>
Como eu prometi no final da palestra, <a href="http://olive.webfactional.com/Vida-e-Morte-de-um-Pacote-de-Rede-FISL14.pdf" target="_blank">aqui estão os slides que eu utilizei</a>, e <a href="http://olive.webfactional.com/exemplos-systemtap.zip" target="_blank">aqui estão os exemplos de pequenas probes</a> para investigar a pilha de redes com systemtap. Quem assistiu a palestra (<a href="http://hemingway.softwarelivre.org/fisl14/high/41e/sala41e-high-201307031105.ogg" target="_blank">tem um vídeo aqui</a>, 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 <a href="http://sourceware.org/systemtap/wiki" target="_blank">wiki do systemtap</a> existem muitos exemplos, dos mais variados níveis de complexidade, então quem estiver interessado mesmo tem bastante coisa pra estudar.<br />
<br />
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.<br />
<br />
Espero que minha palestra ajude a inspirar mais alguns Kernel hackers a seguirem "o caminho dos pacotes"! :-) Ah, em tempo, aquele <a href="http://www.linuxfoundation.org/images/1/1c/Network_data_flow_through_kernel.png" target="_blank">diagrama furioso que demonstra o relacionamento das várias funções da pilha de redes do Linux</a> é de <a href="http://www.linuxfoundation.org/collaborate/workgroups/networking/kernelflow" target="_blank">uma página da Linux Foundation</a>, 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. ;-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com4tag:blogger.com,1999:blog-13843503.post-80839916770473682012013-06-30T02:14:00.001-03:002013-06-30T02:26:50.753-03:00Testando 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. :-) <br />
<br />
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.<br />
<br />
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.<br />
<br />
"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ã.<br />
<br />
"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.<br />
<br />
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é.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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.<br />
<br />
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).<br />
<br />
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.<br />
<br />
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! :-)Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com1tag:blogger.com,1999:blog-13843503.post-71066316778435136382013-06-07T15:40:00.000-03:002013-06-07T15:52:06.126-03:00Palestra na Semana Acadêmica da Ciência da Computação na URI ErechimOntem a noite tive o prazer de apresentar uma palestra pela primeira vez na URI Erechim, participando da <a href="http://www.uricer.edu.br/new/site/informacao.php?pag_invoked=noticias_principal&id=3981" target="_blank">Semana Acadêmica do curso de Ciência da Computação</a>. Falei sobre <a href="http://olive.webfactional.com/Software-Livre-e-Inovacao-Tecnologica.pdf" target="_blank">Software Livre e Inovação Tecnológica</a>, abordando um pouco da história do Software Livre, quais são as empresas e instituições que usam (na verdade mostrando que todo mundo usa), e depois entrando na questão da qualidade do Software Livre e finalmente chegando no tópico final de Inovação baseada em SL.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxp8Xm41icrEn6F659P8sGM_Gb5YXcfTieHqBH3k_TY1CaqOR5_yWgeAzfIW9_UGjaD1ZnLbQ4Qu68r8DU8RoQ9lu7HCkJZTBTh1_YhGuelk68ew8IGBvO0S_cHBa66jH4J5orZw/s1600/URI-Erechim-2013-2-smaller.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="212" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxp8Xm41icrEn6F659P8sGM_Gb5YXcfTieHqBH3k_TY1CaqOR5_yWgeAzfIW9_UGjaD1ZnLbQ4Qu68r8DU8RoQ9lu7HCkJZTBTh1_YhGuelk68ew8IGBvO0S_cHBa66jH4J5orZw/s320/URI-Erechim-2013-2-smaller.jpg" width="320" /></a></div>
A única coisa inesperada foi que meu laptop ficou sem bateria e se desligou antes de eu terminar a palestra (oops!:-). Acho que o projetor (ou o negócio USB de passar slides) sugou muita energia, sei lá. Anteriormente já apresentei duas palestras no mesmo dia sem ligar na tomada, e a bateria aguentou na boa. Mas tudo bem, segui tranquilo conversando com os participantes e tudo fluiu bem. :)<br />
<br />
Aproveitei para falar sobre o <a href="http://fedoraproject.org/" target="_blank">Projeto Fedora</a> e distribuir DVDs Live do Fedora 18. Procurei salientar a ênfase do Fedora em <a href="https://fedoraproject.org/pt_BR/about-fedora#first" target="_blank">inovação</a>, falar sobre todas as funcionalidades que temos no sistema, e um pouco do que vem no Fedora 19. Eu acho que o pessoal gostou, no final quase todos vieram pegar um DVD. No total foram distribuídos 54 DVDs para os participantes, e o Prof. Alexandro ficou com mais 20 para distribuir para outros alunos interessados nos próximos dias.<br />
<br />
Fica aqui o meu agradecimento aos Profs. Fábio Zanin e Alexandro Adário pelo convite, pela hospedagem, pelo presente ao final da palestra e, claro, pela ótima oportunidade de conversar com seus alunos. Quando for possível eu volto, talvez para falar mais sobre o Projeto Fedora e sobre como participar dele.Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-5016864941474619472013-05-29T22:20:00.000-03:002013-05-29T22:20:40.017-03:00Fedora Activity Day em São Paulo!<b>[en_US version below]</b><br />
<br />
Faltam apenas 3 dias para o <a href="https://fedoraproject.org/wiki/FAD_SP_2013" target="_blank">primeiro Fedora Activity Day</a> (ou FAD) do ano em São Paulo! O Embaixador do Projeto Fedora <a href="https://fedoraproject.org/wiki/User:Lvaz" target="_blank">Leonardo Vaz</a> e o Desenvolvedor <a href="https://fedoraproject.org/wiki/User:Sergiodj" target="_blank">Sérgio Durigan Jr</a> estão organizando um dia recheado de atividades para este sábado, dia 1º de Junho.<br />
<br />
O encontro vai acontecer no escritório da Red Hat e tem como principal objetivo demonstrar aos participantes todas a formas de contribuir e se envolver com o <a href="http://fedoraproject.org/" target="_blank">Projeto Fedora</a>. Será iniciado um processo de mentoria para os novos participantes, que contarão com a ajuda e a orientação dos membros mais antigos nos seus primeiros passos como contribuidores.<br />
<br />
Parte do dia será também dedicada para atividades de QA sobre o Fedora 19 Beta, ajudando a identificar e resolver bugs e garantir um release ainda mais polido. Certamente terão um pouco de tudo e todos vão aproveitar muito!<br />
<br />
<h3>
[en_US] Fedora Activity Day in São Paulo!</h3>
<br />
Just 3 days to go for the <a href="https://fedoraproject.org/wiki/FAD_SP_2013" target="_blank">first Fedora Activity Day</a> (or FAD) of the year in São Paulo! Fedora Ambassador <a href="https://fedoraproject.org/wiki/User:Lvaz" target="_blank">Leonardo Vaz</a> and Developer <a href="https://fedoraproject.org/wiki/User:Sergiodj" target="_blank">Sérgio Durigan Jr</a> are organizing an action-packed day for this Saturday, June 1st.<br />
<br />
The event will take place at Red Hat's office and has the main goal of demonstrating to the participants all the ways in which you can contribute and get involved with the <a href="http://fedoraproject.org/" target="_blank">Fedora Project</a>. A mentorship process will be started for the new participants, who will have the help and guidance of the older members in their first steps as contributors.<br />
<br />
Part of the day will also contemplate QA activities on Fedora 19 Beta, helping identify and solve bugs and ensure an even better polished release. They'll certainly have a bit of everything and everyone is going to enjoy it!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-20747833985845089722013-05-27T17:18:00.000-03:002013-06-18T01:46:52.713-03:00[pt_BR, en_US] III Encontro TecLand em Erechim foi ótimo!<b>[en_US version below]</b><br />
[Update: <a href="http://www.flickr.com/photos/tecland/sets/72157633763594901/" target="_blank">photos do evento</a>]<br />
<br />
O pessoal do <a href="http://www.tecland.com.br/" target="_blank">Grupo TecLand</a> está de parabéns, assim como a <a href="http://www.faers.com.br/" target="_blank">Faculdade Anglicana de Erechim</a>, que hospedou o evento. O <a href="http://www.tecland.com.br/iii-encontro-tecland/" target="_blank">III Encontro TecLand</a>, realizado no sábado dia 25/5 estava ótimo. Bom público, pessoal interessado e ambiente bem acolhedor para o pessoal se soltar e conversar, trocar experiências e conhecimentos.<br />
<br />
Pelo que pude contar rapidamente, o evento teve pelo menos 60 participantes, cuja grande maioria ficou até o final e continuou demonstrando interesse nos assuntos tratados. Eu apresentei uma palestra sobre o uso eficiente da linha de comando, trazendo também um pouco da história dos shells e da CLI, e mais tarde uma palestra sobre programação e exploração de redes usando Python, com a incrível ferramenta <a href="http://www.secdev.org/projects/scapy/" target="_blank">Scapy</a>. Havia um bom número de profissionais e instrutores de Redes na platéia, então eles aproveitaram muito essa apresentação.<br />
<br />
Eu não apresentei uma palestra sobre o Fedora, visto que não era o foco do evento, porém tive a oportunidade de utilizar os primeiros minutos da minha segunda palestra para falar rapidamente sobre as funcionalidades principais do Fedora 18. O pessoal ficou bem interessado em saber que poderiam instalar facilmente pacotes como o JBOSS AS, oVirt, etc. Eu às vezes penso em criar uma palestra sobre o Fedora que demonstre tudo o que tem de interessante para ser instalado, muito além do que vem no DVD de instalação em si. Acho que muita gente sequer imagina a quantidade de funcionalidades que está ali só esperando.<br />
<br />
Eu levei dois pacotes de DVDs (Live e Installation), e TODOS os participantes se interessaram. No fim todos os DVDs que eu levei (58 Live e 58 Installation) encontraram novos donos entre os participantes interessados. Um deles instalou na hora no seu laptop, e aí ajudei ele a configurar o layout correto de teclado no KDE. Ele precisava configurar "English International with dead-keys". :)<br />
<br />
Depois do evento deu pra aproveitar a agradável cidade de Erechim, com uma boa janta na Cantina Giacomel, e no domingo de manhã alguns passeios pelas praças, a pedido da minha filha. No geral, foi um ótimo fim de semana, com passeio, um evento bem legal e, espero, vários usuários novos de Fedora.<br />
<br />
<h3>
<b>[en_US] III TecLand Gathering in Erechim was great!</b></h3>
<br />
My heartfelt congratulations to the folks of <a href="http://www.tecland.com.br/" target="_blank">Grupo Tecland</a>, as well as to the nice people from <a href="http://www.faers.com.br/" target="_blank">Faculdade Anglicana de Erechim</a>, that hosted the event. The <a href="http://www.tecland.com.br/iii-encontro-tecland/" target="_blank">III TecLand Gathering</a> (my free translation from Encontro TecLand), held on saturday, May 25th, was great. Nice public, interested people, and a cozy environment for the participants to interact and chat, exchange experiences and knowledge.<br />
<br />
In my quick reckoning the event had at least 60 people, the majority of which stayed till the end showing interest in the subjects presented. I presented a talk about the efficient use of the command line, also bringing up a bit of the history behind the shells and CLI, and then later on I also presented another talk on network programming and exploration in Python, with the great tool <a href="http://www.secdev.org/projects/scapy/" target="_blank">Scapy</a>. There were quite a few Networking professionals and instructors in the audience, so they enjoyed every bit of it.<br />
<br />
I did not present a talk on Fedora, since it was not the focus of the event, but I could use the first few minutes of my second talk to quickly bring up the main features of Fedora 18. The audience was very interested in knowing they could easily install packages such as JBOSS AS, oVirt, etc. I sometimes think of creating a Fedora talk that demonstrates all the interesting packages you can install on it, way beyond what's on the installation DVD. I believe many people hardly imagine the amount of great stuff that is there just waiting.<br />
<br />
I took two packs of DVDs (Live and Installation) with me, and ALL the participants got interested. In the end all the DVDs I had (58 Live DVDs and 58 Installation DVDs) found new homes among the interested participants. One of them actually installed Fedora 18 on his laptop immediately, and I helped him select the correct keyboard layout on KDE. He needed "English International with dead-keys". :)<br />
<br />
After the event we could enjoy the pleasant city of Erechim, with a nice dinner at Cantina Giacomel, and on Sunday morning some walks in the parks, at the request of my daughter. All in all it was a really nice weekend, with nice walks, a nice event and, I hope, many new Fedora users.Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-26016061028604735572013-05-23T02:00:00.000-03:002013-05-23T02:00:16.666-03:00FLISOL Chapecó: Uma grande estréia!Já fazem quase 4 semanas que tivemos o <a href="http://oesc-livre.org/doku.php?id=flisol_chapeco_2013" target="_blank">primeiro FLISOL de Chapecó</a>, mas as boas lembranças persistem. Tivemos um público de mais ou menos 100 pessoas, reunindo gente de cidades variadas aqui da região. Não saiu tudo como eu gostaria, mas acho que no geral foi muito positivo, principalmente se considerando o pouco tempo que tivemos pra organizar. Gostaria de registrar meu MUITO OBRIGADO ao pessoal do curso de <a href="http://unochapeco.edu.br/computacao" target="_blank">Ciência da Computação da Unochapecó</a>, que ajudou muito mais do que eu esperava.<br />
<br />
Eu apresentei uma palestra rápida sobre <a href="http://www.youtube.com/watch?v=GOogjwuBdEw" target="_blank">Software Livre e Inovação Tecnológica</a> (<a href="http://oesc-livre.org/media/slides/2013/abril_flisol_chapeco/Software-Livre-e-Inova%c3%a7%c3%a3o-Tecnol%c3%b3gica.pdf" target="_blank">slides</a>), junto com meu colega do <a href="http://oesc-livre.org/" target="_blank">OeSC-Livre</a> Andrei Zuse, e também uma palestra sobre o <a href="http://www.youtube.com/watch?v=E3o7WzzAL3k" target="_blank">Projeto Fedora</a> (<a href="http://oesc-livre.org/media/slides/2013/abril_flisol_chapeco/Projeto-Fedora.pdf" target="_blank">slides</a>). Os vídeos são do amigo e "colega de Software Livre" Ivan Fuzzer (obrigado!). Parece mentira, mas foi a primeira vez que apresentei uma palestra especificamente falando do Fedora em si, como o projeto funciona e se organiza, o que é, o que faz, seus valores essenciais e tudo mais. Não ficou uma maravilha, mas foi um bom primeiro passo. Pretendo ser um <a href="https://fedoraproject.org/wiki/User:Fleite" target="_blank">Embaixador do Fedora</a> mais ativo a partir deste FLISOL, e assim vou ganhando também mais experiência ao falar do projeto.<br />
<br />
O Install Fest, ponto alto de qualquer FLISOL, foi bem movimentado, e chegamos a distribuir 42 DVDs de instalação e também 42 DVDs Live (coincidência!) do Fedora 18. Infelizmente eu perdi um bom tempo gerando e assinando os certificados dos participantes (já aprendi a lição: fazer o modelo com assinatura digitalizada), então não pude participar tanto quanto eu gostaria, mas o Andrei Zuse ajudou bastante gente a conhecer melhor o Fedora. Acho que o Fedora ganhou um novo colaborador, pois o Andrei já está me pedindo o caminho das pedras para criar uma conta e começar a contribuir. ;-) Muito bom! Quero começar a organizar <a href="https://fedoraproject.org/wiki/Fedora_Activity_Day_-_FAD" target="_blank">Fedora Activity Days</a> por aqui, e aos poucos encontrar mais futuros colaboradores.<br />
<br />
O que me deixou impressionado mesmo foi o pessoal do Arduino. Eles realmente tocaram fogo nos participantes, apresentando uma série de projetos mostrando todas as possibilidades dessas plaquinhas. Eu tinha resistido até agora, mas acabei me convencendo a brincar também. Já comprei uma Uno R3 e estou estudando tudo o que posso (no meu incrível tempo livre) sobre o ATmega328P. Pra quem começou com um Z80 lá em 1987, estudar um processador de 8bits de novo é muito gostoso, mas confesso que a "Arquitetura Harvard" não me apetece muito facilmente. Eu quero executar a RAM! Hahaha! Outra coisa legal que saiu do FLISOL foi a idéia de termos uma oficina "itinerante" de Arduino, realizando uma reunião por mês, cada vez em uma instituição de ensino diferente. Vamos ver como isso vai rolar. Acho que vai ser muito bom.<br />
<br />
Pra finalizar, nosso colega <a href="http://casemodder.com.br/?p=3888" target="_blank">Felipe Baptista</a> disponibilizou <a href="https://www.dropbox.com/sh/v4tgd68cel1orcu/VOp9QROdGK/FLISOL%202013" target="_blank">algumas fotos do evento</a>.Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-69528537021093673562013-04-08T19:40:00.001-03:002013-04-08T19:40:22.080-03:00FLISOL Chapecó: Inscrições abertas!<a href="http://oesc-livre.org/flisol/chapeco" target="_blank">Confira a programação</a> e <a href="http://oesc-livre.org/inscrever/chapeco" target="_blank">faça a sua inscrição</a>! :)<br />
<br />
Teremos palestras sobre Software Livre, debates sobre desenvolvimento com ferramentas livres, Install Fest e lab de Hardware Livre. Tem alguma coisa interessante para todos!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-87506237042279898012013-04-06T11:21:00.001-03:002013-04-06T11:21:57.283-03:00Venha para o FLISOL em Chapecó e Concórdia!<div class="separator" style="clear: both; text-align: center;">
<a href="http://oesc-livre.org/flisol/" target="_blank"><img border="0" height="640" src="http://oesc-livre.org/media/flyers/flyer-flisol-2013-final.jpg" width="457" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0tag:blogger.com,1999:blog-13843503.post-58503385760357166062013-03-27T19:52:00.001-03:002013-03-27T19:52:52.896-03:00FLISOL no Oeste CatarinenseFalta um mês! O pessoal do <a href="http://oesc-livre.org/" target="_blank">OeSC-Livre</a> está intensificando o trabalho de organização e divulgação, para garantir que dia <b>27/4</b> tenhamos duas sedes do <a href="http://flisol.net/FLISOL2013/Brasil" target="_blank">FLISOL</a> por estas bandas: <a href="http://oesc-livre.org/flisol/chapeco" target="_blank">Chapecó</a> e <a href="http://oesc-livre.org/flisol/concordia" target="_blank">Concórdia</a>. Veja qual cidade fica mais próxima e participe!Anonymoushttp://www.blogger.com/profile/04061317148782399103noreply@blogger.com0