III SDSL - Seminário de Desenvolvimento em Software Livre

19 a 23 de julho de 2004, Lajeado - RS

Durante a semana do dia 19 de Julho de 2004, aconteceu em Lajeado - RS o III SDSL, nas salas do Centro Universitário Univates. Eu fui convidado pelo amigo César Brod a participar para ministrar o mini-curso de Expressões Regulares no dia 21.

Foi tudo bem corrido, com saída numa noite e volta no dia seguinte. Mas o curso foi bom, com aprendizado rápido dos alunos e discussão de temas avançados. E claro, o reencontro com os amigos, como já é costumeiro nesses eventos.

Muito Obrigado ao amigo César pelo convite e à Conectiva por ter me liberado para o evento.

Links para os materiais:

Cheguei, Falei, Voltei

O vôo era cedo, às 19h30, então fui direto da Conectiva para o Aeroporto. Trânsito tranquilo, tempo de sobra. Como é bom levar apenas uma mochila nas costas, não precisa despachar malas nem ficar esperando depois. A viagem até Porto Alegre foi rápida, menos de uma hora de vôo.

No desembarque encontrei o Rodrigo, motorista da Univates que me esperava com um cartaz com meu nome. Continuo achando isso engraçado :) Ele também estava esperando alguns professores para aproveitar a mesma "carona". Lajeado deve ficar a uns 100 Km de POA, e com pouco mais de uma hora de carro, chegamos lá.

Muito palha chegar de noite em um lugar desconhecido. Você roda, roda e ele continua desconhecido... Uma coisa interessante que descobri na conversa, é que como a maioria lá é descendente de alemão, na rua se fala português, mas dentro de casa é alemão. As crianças desde cedo já aprendem as duas línguas, isso é massa.

Cheguei no Hotel já era tarde, lá por 11 e meia da noite. O pessoal estava festando num boliche em algum lugar da cidade, mas eu estava cansado e com fome, então só pensava em comer e dormir, e foi o que fiz. Pizza boa, Ki-Kão era o nome da lanchonete.

Pensei que ia pro Rio Grande sentir bastante frio, mas estava como em Curitiba. Frio, mas nem tanto. O dia seguinte amanheceu clássico serrano:

Encontrei com o Luciano Ramalho no café da manhã, ele ia ministrar o curso de Python. Fomos juntos papeando para a Univates, a pé. Deu uma meia hora de caminhada, que serviu para espantar o frio e conhecer um pouquinho a cidade, que é bem simpática.

Nota 10 para a Ana Paula e a organização do evento. Chegamos lá e estava tudo pronto, funcionando, sem estresse. O curso começava às 9 da manhã, e assim foi.

Minha sala estava cheia, tinha 14 interessados em Expressões Regulares. Tinha um pessoal da Solis, cooperativa local tocada pelo César e outros de longe, como o pessoal do Exército que veio lá de Brasília até o interior do RS para nerdear.

Alguns já conheciam algo do assunto, outros não. Comecei do início, devagar e fomos avançando. Já de manhã conseguimos ver mais da metade da apostila, foi um aprendizado bem rápido!

Pausa para o almoço e encontro com mais camaradas: Leo, Julio, Pablo, Nassair, Malheiros, César. Só faltou o Rubens mesmo, que acabei nem vendo.

Na volta, vimos a parte avançada do assunto e esmiuçamos a já tradicional ER para casar números IP. Vou colocá-la aqui, com espaços para ficar mais fácil de entender:

# Expressão Regular para casar números IP: N.N.N.N, onde 0 <= N <= 255
\<
   ( [0-9]{1,2} | 1[0-9][0-9] | 2[0-4][0-9] | 25[0-5] ) \.){3}
   ( [0-9]{1,2} | 1[0-9][0-9] | 2[0-4][0-9] | 25[0-5] )
\>

Como o pessoal estava afiado, lasquei exercícios neles, e fizeram sozinhos a expressão para casar horários e no final a temida expressão para casar datas, que respeita a diferença de dias possíveis em cada mês.

Para minha surpresa, além de conseguirem entender a abrangência do problema e fazer a expressão, apareceram duas respostas diferentes e fechamos o curso fazendo uma análise detalhada para decidir qual era a melhor solução. MEGA NERD.

A turma de feras em Expressões Regulares, com suas crias no quadro

As duas expressões de data que exercitaram os neurônios do pessoal

Para facilitar a leitura, as expressões espaçadas:

\<
  ( (0?[1-9] | 1[0-9] | 2[0-8]) / (0?[1-9]   | 1[012]) |
    (29 | 30)                   / (0?[13-9]  | 1[012]) |
     31                         / (0?[13578] | 1[02] )
  ) / [012][0-9]{3}
\>


\<
  ( (0?[1-9] | [12][0-9] | 3[01])  / (0?[13578] | 1[02]) |
    (0?[1-9] | [12][0-9] | 30)     / (0?[469]   | 11   ) |
    (0?[1-9] |  1  [0-9] | 2[0-8]) /  0?2
  ) / [012][0-9]{3}
\>

Assim como no curso de ERs do II SDLSL em Campinas, no início eu pedi para cada aluno dar um valor de 1 a 10 sobre o nível do conhecimento em ERs que ele julgava possuir naquele momento. No final do curso, cada um colocou o número que seria o nível após o curso.

Nem todos lembraram de anotar o número no final, mas dos que o fizeram, todos aumentaram. E alguns aumentaram bastante. Missão cumprida!

NOME       ANTES   DEPOIS
-------------------------
Armando        1        9
Daniel         0        -
Diego          2        7
Eduardo M.     2        -
Edurado D.     0        5
Fabrício       1        8
Jamiel         2        9
Júnior         5        8
Luiz           5        -
Marcos         5        -
Niumar         0        7
Paulo          0        5
Tiago          1        6
William        3      8,5

Depois do curso, um lanche rápido com o pessoal, e às 18h eu já estava no carro de carona com o Egídio, rumo a Porto Alegre para pegar o avião de volta. A cidade vista de cima com as luzes acesas estava muito legal.

Enfim, foi corrido pra caramba, mas foi muito gratificante. A turma está de parabéns e a organização do evento também. Também consegui terminar de ler o livro do Kelly Slater, o hexa campeão mundial de surfe que lançou sua biografia, show de bola.

Luciano Ramalho, César Brod, Julio Neves e eu

— EOF —

Gostou desse texto? Aqui tem mais.