Arquivo da categoria: Profissional

Licenças de Software Livre e de Código Aberto

Ontem dei uma palestra no Serpro, onde trabalho, na Regional Brasília. sobre o tema Licenças de Software Livre e de Código Aberto. O conteúdo está disponível para download na página aulas e palestras.
UPDATE: pode-se assistir ao vídeo da apresentação e baixar o vídeo aqui.

Rogue'm Up

English version below.
Linux Application Development book
Uns dois anos atrás, comprei numa promoção o livro Linux Application Development, e até hoje não consegui acabar de lê-lo. Acontece sempre isso com todo livro técnico que compro. Nunca consigo ler pelo menos um parágrafo de uma só sentada, sempre perco o interesse e vou fazer outra coisa.
Resolvi então mudar de estratégia: vou lendo os capítulos fora de ordem, procurando por temas que me interessem no momento. Vi então que o livro tem um capítulo sobre uso da lib S-lang, que serve para abstrair o acesso ao terminal (console). Tradicionalmente se usa a biblioteca ncurses, mas a S-Lang parece ser mais moderna.
Enfim, não só finalmente li um pouco mais do livro, como comecei a brincar com as funções da S-Lang e fiz um pequeno jogo, um shooter lateral, com o mesmo. Como a nave é representada pelo caracter @ e os inimigos são, digamos, familiares para quem já jogou um certo jogo em modo caractere, resolvi chamar este de Rogue’m Up – mistura de Roguelike com Shoot’em Up.
Ou seja, é um shooter para se jogar em modo caractere. Não espere nada muito bem feito, afinal foi só o resultado de uma tarde brincando com as funções da lib S-Lang. Movimente-se com as teclas wasd ou hjklyubn (todas minúsculas), atire com o espaço, saia com Q (maiúsculo). Cada colisão com um inimigo tira 2 pontos de HP.
Atualizado: agora com mais de uma versão e usado como exemplo de programação em C, aqui.


Linux Application Development book
Two years or so ago I bought the book Linux Application Development at bargain price, but I still didn’t finished reading it. This always happens with all technical books I bought: I sit down to read the book, and before I finish even a chapter, I shift my attention to something else and drop the book.
I decided to change my strategy: now I’ll try reading the chapters out of order, selecting chapters by its themes, looking for something I’m interested in reading at that moment. Then I found that this book had a chapter about the S-lang lib. S-Lang provides an abstraction of the terminal (console), easing the programming of console applications. Traditionally the ncurses lib is more used and talked about, but S-Lang seems to be updated more often.
So I’ve finally advanced a little more in reading this book, and also spent some time playing with the S-Lang functions, enough to make a small game – a lateral shooter. The ship is an @ character and the enemies are, let’s say, somewhat familiar to anyone who ever played a certain character-mode game. And so I named this little experiment Rogue’m Up – from the wordsRoguelike and Shoot’em Up.
In other words, it’s a character-mode shooter. Don’t expect anything nice, this was just a result of an afternoon’s play with the S-Lang lib functions. Move the ship with the keys wasd or hjklyubn (all lowercase), shoot with the spacebar, quit with Q (uppercase). Every time an enemy collides with you, you lose 2 HP.
Updated: now with more than one version and used as example of C programming, here.

Plonq

English version below.
Faz um tempo que encontrei por acaso um joguinho chamado Qonk. Simples, pequeno, mas criativo. Exige estratégia e rapidez. Basicamente, o objetivo é conquistar um sistema solar, eliminando os concorrentes, conquistando outros planetas, e usando as naves espaciais produzidas por esses planetas para conquistar outros.
Também faz um tempo que conheci a linguagem Lua. Simples, pequena, mas criativa e bem flexível. E para conhecer melhor a linguagem e brincar um pouquinho com ela, instalei uma variante da mesma no meu Palm Tungsten: Plua. Como a melhor forma de aprender uma linguagem de programação é escrever um programa nela, resolvi tentar fazer um joguinho: um pequeno clone do Qonk. O jogo ainda não está completo mas já está funcional. Coloquei o jogo e o código fonte aqui:
Plonq


Some time ago I found a little game called Qonk. Simple but creative, it requires strategy and quick thinking. Basically, the goal is to conquest a solar system, eliminating the adversaries, conquering more planets, and using the spaceships produced by those planets to conquer others.
Some time ago, I also knew the Lua language. Simple, small, but creative and flexible. And in order to know it better, I installed a variant of it in my Plam Tungsten: Plua. Since the better way to learn a new programming language is to write a program in it, I decided to try making a little game: a Qonk clone. The game isn’t complete yet but already works. I’ve uploaded the game and its source code here:
Plonq

Código fonte disponível é coisa antiga

Ao ouvir hoje em dias os termos “software livre” e “código aberto”, geralmente se pensa que são idéias recentes, de apenas alguns anos atrás, e para muitos trata-se apenas de uma “moda passageira” ou apenas mais “buzzwords”, coisa que não seria novidade no ramo da informática. Os mais desavisados provavelmente vão pensar que isto é uma moda que se iniciou no fim dos anos 90. Os ainda mais desavisados devem achar que é uma moda de “um pessoal aí” sobre “esse negócio de todos os programas serem de graça”. Mas não é de conceitos mal compreendidos que eu queria falar ainda – é da idade dessas idéias. A origem disso está mais distante que os anos 90.
Continue lendo

Porque Livre?

Ontem dei uma palestra sobre software livre e de código aberto no I Encontro Nacional do GITEC, ocorrido na sede do Interlegis, que é um programa desenvolvido pelo Senado Federal para modernização e integração do poder Legislativo.
A palestra foi uma espécie de “condensado” de algumas aulas que dou na Pós em Software Livre do Instituto Fátima. O título é ambíguo de propósito; pode ser entendido como “porque usar, ou se interessar por, software livre?” ou como “porque (ou para que) um software é livre?”.
Está disponível para download na página de aulas e palestras.

2º ESLIF – Encontro de Software Livre do Instituto Superior Fátima

O 2º ESLIF – Encontro de Software Livre do Instituto Superior Fátima – ocorrerá em 07/07/2007. Veja a grade de palestras aqui ou clique no banner abaixo para entrar no site do evento.

2º ESLIF (Encontro de Software Livre do Instituto Superior Fátima)

Update: fotos do evento em http://df.softwarelivre.org/index.php?option=com_content&task=view&id=180&Itemid=1

Bash Shell Shortcuts

All about Linux: Bash Shell Shortcuts
English version below.
Algumas combinações de teclas úteis para se usar a linha de comando no Linux.
Diga-se de passagem, muitas destas combinações de teclas são parecidas com as usadas no editor de textos Emacs. Por exemplo: para mover o cursor para o começo ou fim da linha usa-se ctrl+a e ctrl+e; para saltar de uma palavra para a outra, alt+b e alt+f; para capitalizar (mudar de minúscula para maiúscula), alt+c e assim por diante.
Mais algumas coisas interessantes sobre o shell: Simplify data extraction using Linux text utilities


Some useful key bindings to use while in Linux command line.
Just as a side comment, some of these bindings are similar to the ones used by the text editor Emacs. For example: to move the cursor to the start or the end of the line, use ctrl+a or ctrl+e; to jump from one word to another, alt+b and alt+f; to capitalize the current word/character use alt+c and so on.
Some more shell goodies: Simplify data extraction using Linux text utilities

Ideas for HLBR

English version below.
Segue abaixo algumas idéias sobre o HLBR… não necessariamente coisas que serão implementadas, apenas idéias soltas.

  • Novos decoders: HTTP e SMTP
    • Disponibilizar vários campos HTTP como testes
    • Decodificação de anexos – base64, binhex etc.
    • Verificação de anexos (outra thread?)
  • Manuseio de sessões
    • Score para sessão. Até 100 a ação afeta apenas o pacote, 127 a sessão toda.
  • Alguma linguagem interpretada para definição de regras?
    • Python, Lisp?
    • Acesso a campos de structs internos…

Some ideas about HLBR… not necessarily stuff that will be implemented, just some random thoughts.

  • New decoders: HTTP, SMTP
    • Make HTTP fields available for tests
    • Attachment decoding – base64, binhex, …
    • Attachment verifying (another thread?)
  • Session handling
    • Session score. Up until 100 the action only affects the packet, 127 affects the entire session.
  • An interpreted language for rule definition?
    • Python, Lisp?
    • Access to internal struct fields…