Tuesday, May 29, 2012

Vem aí o Oeste Kurã Kavar UNOESC Chapecó! Participe!

No sábado, dia 02/06/2012, no bloco B do curso de Sistemas de Informação da UNOESC Chapecó, se realizará o evento Oeste Kurã Kavar (Dia Livre, uma forma de Desconferência) a partir das 9h da manhã.

Algumas salas temáticas estão sendo organizadas, e o encontro terá como fechamento uma palestra do Prof. Euler Taveira sobre Bancos de Dados Livres. Todos os interessados em tecnologia do Oeste Catarinense estão convidados, participem!

Mais informações: http://oesc-livre.org/chapeco/

Friday, May 11, 2012

Perdido no YouTube: "Fabio Livelet"

Bah, depois de ver um vídeo recente da Red Hat no YouTube fui procurar vídeos sobre Software Livre e assemelhados, e eis que de repente na lista de vídeos encontrados aparece um cara chamado Fabio Livelet. Eu pensei "bah, que legal, outro Fabio" e cliquei. Eis que apareço eu mesmo, em um vídeo gravado no FISL de 2007. Muito engraçado me encontrar assim de repente cinco anos depois, e com uma corruptela do meu nome. Dá pra notar que eu tava pela capa da gaita de cansado. :)

Wednesday, May 02, 2012

Palestra sobre Software Livre no YouTube

Meu amigo Edson Pagliochi me avisou hoje que já está disponível no YouTube a palestra sobre Software Livre que eu apresentei na Semana Acadêmica de Sistemas de Informação da Universidade do Contestado em Concórdia. Os slides que eu utilizei também estão disponíveis para download.

Nem preciso dizer que fiquei muito feliz de ver este vídeo disponível. Eu já apresentei várias palestas sobre vários assuntos técnicos, mas esta foi a primeira vez que eu falei especificamente sobre o conceito de Software Livre e como ele surgiu, e pra ser sincero eu acho que ficou "bem certinho" :). Depois de acabar esta palestra eu fiquei com uma sensação de "dever bem cumprido" que poucas vezes tive a oportunidade de sentir, então me marcou bastante. O pessoal da UnC em Concórdia organizou um evento muito legal, o público estava bem interessado e receptivo, e fluiu tudo muito bem. Espero conseguir repetir mais vezes esta "performance".

A minha dicção não é uma maravilha, e acho que no calor da batalha eu me enganei sobre algumas datas e fatos mais específicos lá sobre a gênese do Unix e tal, mas no geral acho que ficou bom. Espero que gostem. Pra finalizar fica meu "Muito Obrigado!" ao Edson Pagliochi, Rodrigo Sgarbossa, Bruna Reolon e Ezequiel Barazetti, organizadores da Semana Acadêmica, ao Gustavo Seitenfus, que filmou a palestra, e ao Alexandre Oliva, pela troca de idéias e pela frase "licenças que respeitam a liberdade", que mudou completamente a minha própria visão de como abordar o assunto. Por fim, muito obrigado ao Jackson Laskoski e a todos os membros do OeSC-Livre, pela motivação e pelo "contexto". :)

Tuesday, April 03, 2012

Chamada de Trabalhos: I BootCamp OeSC-Livre em São Miguel do Oeste

O Grupo OeSC-Livre, em parceria com o SENAC em São Miguel do Oeste, convida a todos os interessados da região Oeste de Santa Catarina a submeterem palestras e/ou oficinas sobre os assuntos relacionados abaixo, para apresentação no I BootCamp OeSC-Livre São Miguel do Oeste. O evento se realizará no Auditório do Senac São Miguel do Oeste no sábado, dia 5 de Maio de 2012.

Assuntos de interesse:
  • Firewall;
  • Python;
  • RubyOnRails ou outro framework, talvez para python;
  • PostgreSQL;
  • CakePHP ou outro framework para php;
  • Aplicações gráficas com GTK ou Qt;
  • ShellScript ou SysAdmin;
  • FreeBSD ou *BSD;
  • Git;
  • Escovação de bits generalizada.
As propostas de palestras e oficinas deverão ser enviadas para o email oesc.livre@gmail.com até o dia 21 de Abril de 2012, contendo as informações abaixo:

- Título da palestra/oficina;
- Nome e email do autor;
- Breve currículo do autor;
- Breve resumo da palestra/oficina.

Os autores deverão se comprometer a enviar seus slides em formato PDF, se possível compactado, para o mesmo endereço acima até o dia do evento. Cada palestra deverá ter no máximo uma hora de duração, e as oficinas deverão durar entre uma hora e meia e duas horas.

As informações da organização do evento estão aos poucos sendo atualizadas em: http://oesc-livre.org/saomiguel/

Participe! Nos vemos em SMO!

Wednesday, March 14, 2012

Evento buenacho em Xanxerê!

No sábado dia 10 tive o prazer de participar de um evento memorável em Xanxerê, organizado em parceria do OeSC-Livre com a Unoesc. Fui com o bom velho chapéu vermelho da Red Hat, e levei um banner do Fedora, pra fazer o "personagem" completo.

Memorável por vários aspectos: público recorde para o OeSC-Livre (é um grupo ainda modesto, então umas 80 pessoas é ótimo), participantes realmente interessados, palestrantes variados, e faltou energia a manhã inteira. Pois é, lá pelas 9h15 quando o pessoal já estava praticamente todo inscrito e sentado no auditório, eu fui começar a "abertura" oficial do negócio e de repente desligou tudo!

Nos primeiros segundos parecia alguma brincadeira de gente desligando as luzes, aí de repente caiu a ficha que também tinha desligado projetor, ar condicionado, etc. Resolvemos esperar uns minutos pra ver se era apenas um problema rápido, mas depois de esperar algumas ligações confirmaram: a companhia elétrica teve algum problema sério e toda a cidade estava desligada. Ficou assim até a hora do almoço.

Ficamos meio "apatetados" nos primeiros vários minutos mas, já que tínhamos até o pró-reitor acadêmico lá para receber os convidados, resolvemos então abrir as cortinas, chamar o pessoal pra sentarem mais perto (nada de microfones, claro), e abrimos o evento, começando pela minha palestra, que sem os slides pra me guiar virou uma passeada geral pela história da indústria de software, história do Unix, do Software Livre como conceito e movimento, sobre projetos de Software Livre, etc. Até sobre o Ken Thompson inventando o UTF-8 durante uma janta e rabiscando em guardanapos nós falamos. Nem sentimos falta dos slides. :)

Quando o pessoal não me aguentava mais, saímos pra um almoço um pouco mais cedo. Ao retornarmos já tínhamos energia e as demais palestras então puderam ser realizadas a contento. Arrecadamos mais de 100kg de alimentos, tivemos 6 palestras de muito bom nível (apesar da minha palestra-conversa sem energia), e fizemos ainda novos contatos para futuros eventos do OeSC-Livre. Obrigado Unoesc!

Monday, February 27, 2012

I BootCamp OeSC-Livre Xanxerê: Inscrições abertas!

O Grupo de Usuários de Software Livre do Oeste Catarinense, em parceria com a Unoesc Xanxerê, tem o prazer de convidar a todos os interessados para o evento I BootCamp OeSC-Livre Xanxerê, a se realizar no Auditório da Unoesc no sábado dia 10 de Março.

A grade com palestrantes de várias cidades da região já está disponível, e as inscrições estão abertas. Se você é da região, participe! Ajude a divulgar e reforçar a cultura do Software Livre no Oeste Catarinense, participando do OeSC-Livre e prestigiando os nossos eventos!

Friday, February 10, 2012

Números divertidos: 0xAAAAAAAA e seu irmão 0x55555555

Ontem estava começando a ler um livro, chamado Hacker's Delight (hacker no sentido original, fuçador e escovador de bits), meio desconfiado porque ele me foi indicado por um colega que é engenheiro de compiladores (bichos raros e bizarros). Ficava pensando se eu realmente iria gostar de ler sobre centenas de operações curiosas e micro-algoritmos otimizados em um assembly RISC hipotético e aritmética modular (claro que sim).

Eis que no prefácio o livro já me cativou, falando sobre as correções do Guy Steele e sobre os fatores do número hexadecimal 0xAAAAAAAA, que são 2, 5, 17, 257 e 65537. Quem fuça em bits desde pequeno já deve ter ficado intrigado pelo 65537 e pelo 257, e talvez também pelos outros (mas o 2 meio que sobra, veremos o porquê). Observando um pouco os números, e brincando com os comandos factor e bc, eis que percebi que realmente os números 0xAA... e 0x55... (em 8, 16 e 32 bits) são números muito bonitos e divertidos. :)

Comecemos pelo 0xAAAAAAAA mencionado no livro. Sua representação em binário é 10101010101010101010101010101010, e em octal é 25252525252 (que inclusive é um palíndromo). Em decimal dá um 2863311530 chato. Mas agora olhemos os seus fatores 2, 5, 17, 257 e 65537:

    2 = 4 ^ 0 + 1
    5 = 4 ^ 1 + 1
   17 = 4 ^ 2 + 1
  257 = 4 ^ 4 + 1
65537 = 4 ^ 8 + 1

Se não fosse pelo 2 (chato), dava ainda pra fazer outra série mais bonita:

    5 = 2 ^ 2 ^ 1 + 1
   17 = 2 ^ 2 ^ 2 + 1
  257 = 2 ^ 2 ^ 3 + 1
65537 = 2 ^ 2 ^ 4 + 1

Em binário, o 2 fica chato, mas os demais ficam bonitos:

    2 = 10
    5 = 101
   17 = 10001
  257 = 100000001
65537 = 10000000000000001

O legal é que, como este número divertido 0xAAAAAAAA tem 2 (chato) como fator, fica óbvio que teremos outro número bonito e divertido retirando o 2 dos fatores (dividindo por 2, ou deslocando um bit pra direita): 0x55555555. Como tiramos o 2 da história, os fatores ficam 5, 17, 257 e 65537, que são todos números bonitos e dão séries contínuas de exponenciação como visto acima. :)

0x55555555 em binário é 01010101010101010101010101010101 e em octal fica um pouco menos bonito que o seu irmão: 12525252525. Em decimal fica um desinteressante 1431655765. E pra fechar, olhem que massa: as versões menores destes números de 32bits também continuam interessantes, e a série de fatores deles fica interessantíssima!

    fatores de 0x55 = 5 17
  fatores de 0x5555 = 5 17 257
fatores de 0x555555 = 5 17 257 65537

O mesmo acontece com 0xAA, 0xAAAA e 0xAAAAAA, somente adicionando o 2 inicial. :) Pena que indo pra 64bits aí já entram outros fatores menos divertidos.

Update: Acabaram as reuniões do dia. Mais diversão com o bc pra ver que a série continua bem legal:

$ bc
bc 1.06.95
...

2 ^ 2 ^ 5 + 1
4294967297
 
2 ^ 2 ^ 6 + 1
18446744073709551617

obase=16
 
5 * 17 * 257 * (2 ^ 2 ^ 5 + 1)
555500005555
 
2 * 5 * 17 * 257 * (2 ^ 2 ^ 5 + 1)
AAAA0000AAAA
 
5 * 17 * 257 * (2 ^ 2 ^ 5 + 1) * (2 ^ 2 ^ 6 + 1)
5555000055550000555500005555
 
2 * 5 * 17 * 257 * (2 ^ 2 ^ 5 + 1) * (2 ^ 2 ^ 6 + 1)
AAAA0000AAAA0000AAAA0000AAAA
... e assim por diante. :)

Tuesday, February 07, 2012

I BootCamp OeSC-Livre em Xanxerê vem aí!

Me sinto realizado ao ver que está tudo se resolvendo rapidamente para, no sábado dia 10 de março, realizarmos um belo evento do OeSC-Livre no auditório da Unoesc em Xanxerê. :) Já saiu a chamada de trabalhos (até 18/2!), e espero que o pessoal da região submeta palestras interessantes sobre o que andam fazendo com Software Livre.

O que mais me deixa feliz é ver que neste ano vamos finalmente expandir nossos horizontes além da dupla Chapecó-Concórdia, onde o OeSC-Livre já está bem conhecido e tem participado regularmente de eventos e seminários. Está garantido o evento em Xanxerê, e acredito que está bastante certo um evento em São Miguel do Oeste.

Se o OeSC-Livre conseguir manter a regularidade, organizando pelo menos um evento por ano em cada uma dessas quatro cidades, acho que vamos realmente ter um impacto muito positivo na área de tecnologia do Oeste Catarinense. Vamos começando com pequenos eventos, acostumando o pessoal a participar e se ajudar na organização, e então quem sabe em um futuro próximo teremos eventos maiores e com participação muito mais expressiva. :)

Vale lembrar que o OeSC-Livre é um grupo de voluntários, que em geral têm família e trabalho para cuidar, mas que ainda assim acreditam que com pequenas ações organizadas e bem intencionadas aqui e ali vamos conseguindo semear as fundações de um movimento profundo e transformador. Se você é do Oeste Catarinense, participe do OeSC-Livre!

Wednesday, November 02, 2011

Someone please create a Multi-Tablet User Interface

With tablets becoming an increasingly viable option for manipulating all kinds of information, and with their prices coming down so much that we'll soon have people with multiple tablets (perhaps you have your new tablet, your old/smaller tablet and your phone (mini-tablet)), it is about time someone create a way to operate on all tablets at the same time, with them cooperating and alternating their function between data visualization, selection and specialized controls to affect the selected data.

Suppose I like to design race cars (really a supposition, since I don't know the first thing about it) and I'm having a coffee at my preferred café. The sinuous forms of the vapour coming out of the espresso inspire me and I fetch my main 12" tablet and start sketching with the digitizer pen (ThinkPad tablet has it) until I create a beautiful shape. I decide this could become a serious design, so I fetch my older, 7" tablet and pair it with the larger tablet as an additional control pad.

In this moment, I am able to select the shape I just drew on the larger tablet, and the smaller tablet immediately shows me the manipulations I can do with this object. Perhaps some color cubes, shading, texture, etc. Then I select another object on the larger tablet, and the smaller tablet again changes with inputs and manipulators for that kind of object. Perhaps the whole of it becomes a smart keyboard for me to describe my design, typing text into the larger tablet.

Now I want to easily rotate the shape around and watch it under different kinds of lighting. My phone has a digital compass, accelerometer and other such nice controls already, so I get my phone out of my pocket and pair it with the other tablets. I can immediately rotate my phone on the table and the design on the larger pad rotates accordingly. At the same time that I rotate or tilt the phone (and the design), I can slide my finger around on the 7" tablet to change how the lighting is positioned to achieve the effects I want to visualize.

Is this too difficult to implement? Certainly not, as we have everything we need, tablets and phones with bluetooth. Just throw the necessary bluetooth protocol in there for the pairing and exchanging of input events, and make applications aware of the fact they can ask the other paired tablets to represent any kind of input control they want. Or allow one tablet to "export" input controls into the others so that the other tablets would run those controls and feed the input events back to the originating tablet. I really think it would be easy to sit down and implement this kind of stuff with existing technology right now.

It is funny that months ago I dreamt about a computer made of transparent sheets of touchscreen-like material, and one could "unfold" it to allow for a larger operating environment, or even "rip" parts of it for smaller pieces of dedicated control pads. Each part of the remaining surface was able to present information and receive touch input, so you could start with a screen, but unfold it (like opening a transparent book) and have the lower portion present a keyboard, and then perhaps unfold that part again to the side, and that side-screen would present additional controls and input such as digital sliders and knobs. And then now I suddenly realize we can actually come fairly close to that with a Multi-Tablet User Interface. :)

Thursday, May 26, 2011

Fedora "Face" header for email


Express your love for Fedora in every email you send! Add a color "Face:" header in your email client using a very optimized 48x48 Fedora logo. The file is 628 bytes, and expands to 846 bytes in total when base64 encoded and after adding the "Face: " header name.

If your email client does not have a way to insert a Face header explicitly, but lets you add a custom header, here is the line claws-mail created for me:

Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4
c6QAAADNQTFRFgE1yJD1tKUFxLEh9MlOOP1aEOmetS2eaO263VmyVWITBbo
GkjaTHrr/Y0dzo7fL1/f/89Nam/gAAAAF0Uk5TAEDm2GYAAAABYktHRACIB
R1IAAAACXBIWXMAAAUzAAAFMwHIE+vbAAAAB3RJTUUH2wUaDwEFIUT8NAAA
Aa1JREFUSMetlumygyAMhSVA2GR5/6e9KIsgoHbmnh+dTns+EoEkbtsoqNo
+CG760f6CwEJf7SRphQx24FwpxTklU2Lwc2NdiHI7pxNiWF7ZULTjSAz5G1
/9wWlktCeGfExoZKWUrIsx+FVe3zvnvNUoZZ/VkJBLdmuUMkbLQ9gktUjIG
3qeA8WTaEIMQNogk84MMnE9xeCn5xO46xdWcoI5IHwKcK2AbU6w2CMxA2AK
pEPj/wXAO9A8dCTegbKtc+A4qR5oD+4GRAflUQkw8TuNSvaSUQNQhtL60Mv
vN38FjoVwv/svgkEPnIHRhlH2/IdBD9AUdg/zCDWfAiS/lNr6Q9l6yiJGO+
mBvBEYK1fExpLL3xwSNLpJ19SuhFhuXPUcahvrmmD8wLRvZHk1bkA+eQKfg
T7AI7A1APwIjLd10fcnKaUbAi9AfWiS2pgji8Fy31aSA9gHgOULnA4q921F
FpOrXg1EJWLx5JKwy0lXihy1O1RunlhOxtIWdFcMZj1Jc3lK7ZoiePCXimP
yiuDU06SuPUBkwhn+ONib33kcN4rTt/cAeNYPbxhz9x/7pCg2het4mQAAAA
BJRU5ErkJggg==

OK, this means you'll bloat every email you send with another 846 bytes. Here's how you can compensate:
1. Do not send HTML email. Ever.
2. Do not use a signature containing all your personal information.
3. Do not use large/useless disclaimers in your signature.
4. Make them count! Do not send crap or useless email. :)