segunda-feira, 28 de fevereiro de 2011

Ferramentas na Web: YQL

Estou voltando nos meus tempos de Yahoo! :)

O YQL é uma ferramenta web que executa instruções SQL nos serviços disponíveis do Yahoo! (é possivel usar outros serviços, utilizando o Open Data Tables), é bem legal para quem mexe e sabe fazer "SELECTS".
Por exemplo, quero obter as dez primeiras fotos do Flickr que contenham "Cat" na descrição:

select * from flickr.photos.search where text="Cat" limit 10

Se alguém quiser testar a ferramenta (utilizando o exemplo acima), basta usar o "console" disponível on-line:
http://developer.yahoo.com/yql/console/

O interessante que a resposta pode ser tanto em JSON ou em XML.

Para mais informações, acesse o site do Yahoo Developer:
http://developer.yahoo.com/yql/

Quem disse que o Yahoo! não faz coisas interessantes! :)

O fim de uma era?

Quando eu entrei na faculdade (em 1995), naquela época, só se falava em Clipper. Eu ouvia frases do tipo:

"Quem programa Clipper esta com o emprego garantido!"
"Programador Clipper ganha bem!"
"Tenho que aprender Clipper!"

E o tempo passou...

Quando eu voltei a ver informática no Colégio Técnico (é, eu fiz o técnico depois da faculdade... hum, vamos dizer que é uma longa história... :P) em 1999, eu ouvia frases do tipo:

"Quem programa em VB esta com o emprego garantido!"
"Programador VB ganha bem!"
"Tenho que aprender VB!"

E o tempo passou...

Ai, resolvi voltar a faculdade (hum, a história é realmente longa e complicada... :P) em 2002 e terminando o curso de Análise de Sistemas em 2005, eu escutava:

"Quem programa em Java esta com o emprego garantido!"
"Programador Java ganha bem!"
"Tenho que aprender Java!"

Será que vai ser o fim de mais uma era?
Hum... Não sei, só o tempo dirá.
Mas, se eu fosse você, começaria a ver outras linguagens de programação com mais "carinho". :P

Até mais!

Ferramentas de Desenvolvimento: MongoDB

Alguém já ouviu falar em NoSQL?

NoSQL, em termos gerais, é um tipo de classe de bancos de dados que não usam a estrutura relacional e que, geralmente, não trabalham com a linguagem SQL. Ou seja, não dá para fazer "SELECTS" com "JOINS" entre "TABLES"... :P
Se não entendeu, a Wikipédia explica. :)

Um dos bancos de dados que empregam este tipo de "filosofia" é o MongoDB.

O MongoDB baseia-se em uma estrutura parecida com JSON, ou seja, uma estrutura de chave e valor. Ele foi feito em C++ e é open source, possuindo "drivers" para várias linguagens, inclusive Java.

Para mais informações, acesse o site do projeto:
http://www.mongodb.org/

domingo, 27 de fevereiro de 2011

Dicas de Programação: Como ler o ID3v1 tag de um arquivo MP3 em Perl

Agora uma dica em Perl :)

Para ler o ID3v1 tag de um arquivo MP3 em Perl, você pode usar o módulo MP3:Tag (baixando do cpan), ou usar a seguinte dica:

1o.) Abrir o arquivo para leitura.

#!/usr/bin/perl

use strict;
use warnings;

open(my $in, '<', 'teste.mp3') or die 'Arquivo não encontrado';

2o.) Colocar todo o conteúdo dele em uma variável.

my $data = join('', <$in>);

3o.) Verificar se nos dados do arquivo existe a TAG+ ou TAG

if ($data =~ /TAG\+/) {
...
}elsif ($data =~ /TAG/) {
...
}

4o.) Se for TAG+, a gente pega os 227 ultimos bytes do arquivo e separa as informações.

$data = substr($data, length($data) - 227);
(my $header, my $title, my $artist, my $album, my $speed, my $genre, my $start_time, my $end_time) = unpack('a4a60a60a60a1a30a6a6', $data);

5o.) Se for TAG, a gente pega os 128 ultimos bytes do arquivo e separa as informações (igual, que nem :P)

$data = substr($data, length($data) - 128);
(my $header, my $title, my $artist, my $album, my $year, my $comment, my $genre) = unpack('a3a30a30a30a4a30a1', $data);

6o.) Depois, fechamos o arquivo

close($in);

Hum... Acho que é mais fácil baixar o módulo :P

Até a próxima!

sábado, 26 de fevereiro de 2011

Ferramentas de Desenvolvimento: Free Pascal e Lazarus

Esta é para quem tem saudades de criar aplicações nativas ou de usar a linguagem Pascal (foi a minha primeira linguagem, e como dizem: "A primeira a gente nunca esquece..."). :)

Free Pascal é um compilador para linguagem Pascal (dã....) livre, possuindo versões para Linux, MacOSX, MS-Windows e FreeBSD.

Lazarus é uma ferramenta para geração de aplicativos gráficos, muito parecido com o Delphi, porém é open source.

Para download e mais informações veja os links abaixo:
http://www.freepascal.org/
http://www.lazarus.freepascal.org/

Dicas de Programação: Como escrever em um dispositivo no Linux usando PHP

Mais uma dica, agora para PHP :)

Você pode usar os dispositivos disponíveis do Linux no PHP, através do comando fopen:

<?php
//Aqui, estou abrindo o dispositivo de impressora para escrita
$dev = fopen('/dev/lp0','w');
?>

Agora, para escrever no dispositivo, você pode usar o comando fwrite:

<?php
//Escrevo uma frase no dispositivo
fwrite($dev,'Estou escrevendo na impressora pelo dispositivo do Linux!');
?>

Depois de usar o dispositivo, não esqueça de fechá-lo:

<?php
//Fecho ele depois que usei (senão ninguém mais usa...)
fclose($dev);
?>

O legal disso, é que é possível usar qualquer dispositivo mapeado em /dev (inclusive USB) :)

Espero que isso ajude!

sexta-feira, 25 de fevereiro de 2011

Curiosidade: Qual foi o primeiro jogo de video-game com um personagem brasileiro?

Hum... Sobre este assunto, eu não pesquisei, mas acho que sei a resposta.

A maioria dos jovens pensa que o primeiro jogo com um personagem brasileiro foi "Turma da Monica no Castelo do Dragão" do Master System.

Mas se enganam! :P

Eu acho que o primeiro jogo de video-game que tinha um personagem brasileiro foi "Didi na Mina Encantada" do Odyssey lançado pela Phillips©.

O Odyssey era o único video-game lançado no Brasil que vinha com um teclado embutido.

Uma revolução na época!

Obs.: Desculpe, é que deu uma vontade de relembrar o passado (coisa de velho saudosista :P) e, também, estou meio sem assunto (e é Sexta, dia de longas noitadas e baladas :)).

Quem quiser saber como é, de uma olhada no vídeo abaixo:

Ferramentas de Desenvolvimento: Faça jogos em Python com Pygame

Quando eu estava no colégio, eu queria ser programador por causa de jogos de video-game (na época, o video-game do momento era o Atari 2600...).

O tempo passou, sou um programador, mas até agora não fiz um jogo (pelo menos, um jogo decente...).

Agora que quero aprender Python, vi uma boa oportunidade de juntar o útil (sempre é bom aprender uma nova linguagem) ao agradável.

Esta oportunidade veio com o Pygame! :)

O Pygame é uma biblioteca em Python que ajuda o desenvolvedor desta linguagem a criar jogos. Ela utiliza a biblioteca SDL (C/C++) por baixo dos panos. :P

Possui versões para Unix, Windows, MacOSX, Linux e BeOS. Existe um port (beta, portanto, não esta estável...) para dispositivos móveis que usam Android.

Para saber mais, você pode ir ao site oficial:
http://www.pygame.org/

O port para Android se encontra aqui:
http://pygame.renpy.org/

Sobre meu jogo? Ah... estou tentando fazer um jogo musical (tipo Guitar Hero), mas é meio que segredo :P

Até mais!

quinta-feira, 24 de fevereiro de 2011

Dicas de Programação: Como escrever/reescrever um método de um objeto em Javascript

Vamos a mais uma dica de programação, agora de Javascript :)

Quem nunca quis usar algo assim em Javascript:

var teste = " aaaa ";
teste = teste.trim();
alert(teste);

Mas sempre ficamos decepcionados, pois não existe o método trim em um objeto String...

Pois é... Mas com esta dica, você pode criar algo assim!
Para que isso ocorra, você só precisa usar a propriedade prototype de qualquer classe. Por exemplo, na classe String:

String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}

Agora, você consegue executar o primeiro código!

Você pode fazer isso para qualquer tipo de classe em Javascript. Também existem métodos especiais que você pode reescrever, como o toString:

var Fracao = function() {};
Fracao.prototype.numerador = 0;
Fracao.prototype.denominador = 0;
Fracao.prototype.toString = function() {
return this.numerador + "/" + this.denominador;
}
var a = new Fracao();
a.numerador = 1;
a.denominador = 3;
alert(a);

É isso ai! Espero que isso ajude :)

Ferramentas na Web: Trac

O Trac é uma ferramenta web para gerenciamento de projetos. Ela é feito em Python, possui integração com ferramentas como o Wiki e o Subversion, faz gerenciamento de tiquetes (defeitos e tarefas) e o mais importante: ele é livre e com código aberto (já existem até plugins para ela). :)
Mais informações no site: http://trac.edgewall.org/

quarta-feira, 23 de fevereiro de 2011

Dicas de Programação: Como criar um Captcha em Java

Para quem não sabe, o Captcha é um sistema de segurança que consiste em criar uma imagem com letras e/ou números que verifica se o usuário não é um robo (bot) através da inserção destes caracteres em um campo digitável.
Vou tentar ensinar, de um modo simples, como criar um destes em Java. :)

1) Primeiro,  é preciso criar um método que gere uma String com letras aleatórias (a instrução abaixo gera 4 letras):

String letters = "";
//Cria string com 4 digitos
for (int i = 0; i < 4; i++) {
//Escolhe um caracter entre 'A' e 'Z' (26 caracteres)
char character = (char)(((int)'A') + Math.random() * 25);
letters += character;
}

2) Para desenhar os caracteres, você precisa usar os objetos BufferedImage e Graphics dos pacotes java.awt e java.awt.image:

BufferedImage image = new BufferedImage(<largura_da_imagem>, <altura_da_imagem>, BufferedImage.TYPE_INT_RGB);
Graphics graphics = image.getGraphics();

3) Coloque o fundo da imagem na cor branca, através dos métodos setColor  e fillRect do objeto Graphics:

graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, <largura_da_imagem>, <altura_da_imagem>);       

4) Utilize os métodos drawString, setFont e setColor do objeto Graphics para desenhar e colorir a String:

graphics.setFont(new Font("Arial", Font.BOLD, <tamanho_da_fonte>));
graphics.setColor(Color.BLUE);
graphics.drawString(letters, <posição_horizontal>, <posição_vertical>);

5) Para criar linhas sobre as letras, utilize o método drawLine do objeto Graphics:

graphics.drawLine(<posição_horizontal_inicial>, <posição_vertical_inicial>, <posição_horizontal_final>, <posição_vertical_final>);

6) Para salvar a imagem, você deve usar as classes FileOutputStream e ImageIO dos pacotes java.io e javax.imageio:

image.flush();
FileOutputStream output = new FileOutputStream("captcha.png");
ImageIO.write(image, "png", output);
output.close();

7) Se em vez de salvar em arquivo, quiser salvar em memória, utilize a classe ByteArrayOutputStream do java.io:

image.flush();
ByteArrayOutputStream output = new ByteArrayOutputStream();
ImageIO.write(image, "png", output);
byte[] data = output.toByteArray();
output.close();

Tomara que isso ajude alguém. :P

Clique aqui para o código-fonte completo.

Ferramentas de Desenvolvimento: CHARVA = Java Swing + Text Terminals

Quando eu iniciei em programação no colégio, adorava criar telas de texto em Pascal, aquelas feitas com bordas de caracteres que a gente digitava o CTRL + Numero ASCII no teclado.

Saudades daquele tempo... :)

Agora que programo em Java, vejo que não tem como criar este tipo de aplicativo em modo de texto...

Quer dizer, não tinha! :P

Encontrei uma biblioteca em Java que constrói aplicações em modo texto com botões, janelas e tudo mais! Sua API é baseada na do Swing/AWT e utiliza o GNU ncurses (como ela usa uma biblioteca nativa de C/C++, ela não é considerada "Java Puro").

Para download ou mais informações, vá ao site: http://www.pitman.co.za/projects/charva/index.html

terça-feira, 22 de fevereiro de 2011

Ferramentas na Web: Apache Lenya

Muita gente já ouviu (ou ouve) falar em CMS (Content Management Systems).
Se alguém não sabe o que é: basicamente, é um aplicativo para web que gerencia conteúdos (como artigos, notícias, fotos e vídeos) de um site. Muitas empresas de midia utilizam este sistema para criar e atualizar seus portais (tipo: Globo.com, Terra, UOL e outros).
Se você não entendeu nada do que eu escrevi, tente na Wikipédia. :)
Existem vários tipos no mercado para PHP (Joomla e Drupal), para Python (Plone) e para .Net (DotNetNuke).
Como uma opção barata, a Apache Software Foundation tem um projeto chamado Apache Lenya, que é um CMS feito em Java/XML, Open Source.
Para mais informações, acesse o site: http://lenya.apache.org/.

Valeu!

Bboy Joker


Este é um jogo feito no YouTube©, é bem simples, mas deve ter dado trabalho aos criadores.
Utiliza stop motion e action figures (bonecos de ação).
Parabéns, Patrick Boivin!
Congratulations, Patrick Boivin!

segunda-feira, 21 de fevereiro de 2011

Jackie Chan in Street Fighter


Um dia, eu disse para um colega que assisti um filme onde Jackie Chan interpretava personagens do jogo Street Fighter II da Capcom©.
Então... Encontrei este filme! Ele se chama "City Hunter".

Os efeitos especiais são o que há de mais moderno. :P

Sistema Operacional: ReactOS

Da categoria "Sistemas Operacionais estranhos que nunca ouvimos falar". :P

ReactOS é um sistema operacional livre (sobre a licença da GNU General Public License) que tenta criar uma alternativa ao MS-Windows©.

Inicialmente utilizando o Wine como base de seu núcleo, hoje possui dezenas de desenvolvedores, que melhoram a cada dia a compatibilidade do sistema com aplicativos construídos para o sistema operacional da Microsoft©.
Como o código-fonte é aberto, quem tiver interesse de saber (em tese) como o MS-Windows© funciona, poderá ter um pequeno vislumbre.

O site oficial é: http://www.reactos.org

Obs.: Como vocês devem supor, ainda está em uma versão instável, o que não garante compatibilidade com todos os aplicativos feitos para MS-Windows©.

Somente a título de curiosidade. :)

Ferramentas de Desenvolvimento: PhoneGap = HTML + CSS + JS + Mobile App

Hoje, vamos escrever sobre ferramentas de desenvolvimento de software! :)

O PhoneGap é um framework de desenvolvimento, que permite você criar aplicações para dispositivos móveis utilizando Javascript, HTML e folha de estilos (CSS).
Além da facilidade das "linguagens" utilizadas (ou, pelo menos, da grande maioria dos programadores que já utilizaram HTML, CSS e Javascript uma vez na vida... :P), outra grande vantagem é que se pode criar aplicações para várias plataformas (incluindo iPhone, iPad, Android e BlackBerry).
Para saber mais sobre o PhoneGap, você pode entrar no site oficial deles:
http://www.phonegap.com
E existe uma página com aplicações feitas com esta ferramenta:
http://www.phonegap.com/apps
Obs.: O framework é livre, sobre a licença MIT e pode ser usado comercialmente.

domingo, 20 de fevereiro de 2011

Pergunta da Semana: Aonde comprar coisas geeks ou nerds?

Então, me fizeram esta pergunta a algum tempo... Não queria fazer propaganda no blog (para falar a verdade, eu nem começo os donos e não faço nem idéia de onde a loja fica), mas as pessoas ficam vendo minha caneca ou a minha camiseta (que ganhei de amigo-secreto o ano passado -- valeu pelo presente!) e me fazem esta pergunta.
Opa, estou enrolando... :P
A resposta:
Compro na Linux Mall.

Boa compras, pessoal! :)

Ferramentas na Web: O Google App Engine

Google App Engine é uma ferramenta, ou um conjunto de ferramentas, para publicação de aplicações web.
Com ela, é possivel criar um sistema web utilizando a infra-estrutura do Google com apenas algumas configurações.
Existem cotas grátis nos quais é possivel colocar aplicativos pessoais ou de testes e cotas mais "especiais", com mais "features" disponíveis.
É o Cloud Computing dominando o mundo! :P
Possui suporte a linguagem Python e mais recentemente a Java (acho que faz mais de 1 ano que existe este suporte, mas como no site diz que é recente...).
Vale a pena dar uma olhada:
http://code.google.com/intl/pt-BR/appengine/

Obs.: Dicas de alguns amigos. Valeu, pessoal!

Pergunta da Semana: Afinal, o que a galinha e o porco tem em a ver com o SCRUM?

Algumas pessoas me fizeram esta pergunta no fim-de-semana e resolvi responde-la (não que eu seja um expert em SCRUM, muito pelo contrário, mas a gente quebra um galho...).

Afinal, o que é ou quem é a galinha?
Na brincadeira, define-se que as galinhas são as pessoas que não estão envolvidas diretamente no processo de desenvolvimento de um projeto. Os exemplos mais claros são os gerentes, os usuários (de seu projeto e não de drogas... -- esta bem, a piada é tosca :P), os vendedores e outros mais.

E o porco? É o pessoal que torce para o Palmeiras?
O porco é o pessoal que esta envolvido diretamente no projeto. São eles, o Scrum Master, o Product Owner e o time de desenvolvimento (no SCRUM, o time tem que ser "multidisciplinar", portanto, quando se fala em desenvolvimento, se fala também em teste, em arquitetura, em análise e em planejamento, ou seja, não existem papéis definidos dentro do time -- é como diz a lei: todos somos iguais :P ).
E sim, também é o pessoal que torce para o Palmeiras (e dá-lhe Porco!). :)

E por que disso?
Por causa da clássica história envolvendo os dois personagem:
http://www.implementingscrum.com/2006/09/11/the-classic-story-of-the-pig-and-chicken/
Se quiserem, existem traduções disponíveis em vários idiomas:
http://www.implementingscrum.com/index.php?s=portugues
Se você observar bem a história, o porco vai se sacrificar (pois para ter bacon, é preciso matar o porco) e a galinha somente precisará dar uma parte importante do seu serviço (botar ovo -- tem gente que diz que a galinha sacrifica os outros, pois o ovo possui uma outra vida, mas isso é uma outra história…).

E isso é verdade? Deve ser seguido?
Isso é da opinião de cada um. Mas eu acho que não: a participação de ambas as partes no comprometimento de um projeto deve ser a mesma, principalmente por causa da perspectiva e do "mal" que isso pode gerar -- tipo, sou gerente, vou cobrar da equipe e se der uma "zica", digo que a culpa é totalmente deles, ou, sou desenvolvedor, faço horas a mais todos os dias, e vejo a gerência levar todos os lucros e gratificações -- pensamentos simplistas e medonhos de ambas as partes.

É isso... Não sei se respondi as dúvidas das pessoas, mas eu tentei... :P
Um bom domingo a todos! :)

sábado, 19 de fevereiro de 2011

Tag Match - Thousand Pounds Fight Team


Adrenalina pura! E a garota é muito boa... de luta! :)
Me lembrou do tempo que eu ia no fliper jogar "The King of Fighters' 94"
Música por: Takanashi Yasuharu.
Câmera: Canon 7D 10-22mm, 28-135mm, 50mm
Aplicativos: Final Cut Pro e Adobe After Effects

Parabéns ao Thousand Pounds Fight Team!
Congratulations for Thousand Pounds Fight Team!

Onde estamos? Para onde vamos?

Uma vez, eu fiz uma palestra no COTUCA (eu sei que pode parecer íncrivel, mas eu realmente fiz!) e disse que o mercado atual no Brasil ainda é um mercado voltado a Web, mas disse que daqui alguns anos, ele vai tender á aplicativos móveis (celulares, iPod, iPad (que na epoca não existia) e Android (que também não existia)).

Isso foi a 2 ou 3 anos atrás.

Na época, disse aquilo meio que sem pensar, pois era a minha primeira (e talvez, seja a única) palestra da minha vida.

E não é que, sem querer, acertei? :P

Não que, no Brasil, todas as empresas estão fazendo aplicações para iOS ou Android, mas elas já tem um olhar diferente sobre este tipo de aplicativo.

Então, será que sou algum tipo de vidente? Será que tenho poderes especiais? Será que posso viajar no futuro? :P

Ah... se eu pudesse, teria ido no futuro e obtido os números da mega-sena da virada do ano passado...

Mas, então, como eu soube que o mercado brasileiro tenderia a isso?

No começo, eu não percebi (tanto que achei que era vidente e joguei na mega-sena da virada -- não, eu não ganhei... :( ), mas o que eu tinha feito, mesmo sem querer, foi enxergar os sinais do mercado, através de artigos e notícias. Por exemplo, naquela época as notícias eram:

"IPhone é um sucesso de vendas nos EUA."
"Steve Jobs reergue as ações da Apple."
"Google pretende lançar o Android, um SO para dispositivos móveis."
"Mercado brasileiro não sofre muito durante a crise."

E foi juntar dois mais dois e dizer para os estudantes do COTUCA:

"A maior parte do mercado ainda trabalha com aplicativos Web, mas daqui a um ou dois anos, os aplicativos móveis serão uma tendência do mercado."

Com essa frase, me dei bem! Fiz futurologia! :P

Mas, na verdade, eu só conclui uma coisa que já era evidente, que era uma questão de tempo, nada de mais.

Agora, podemos fazer um teste para ver se isso dá certo. Vamos a algumas notícias:

"A nova mania do mercado de informática: Tablet."
"Telas sensíveis a tocar, como viver sem elas."
"Rede social é o filme do momento."
"Kinect para Xbox 360 é um sucesso de vendas."
"Oracle compra a Sun."
"Oracle processa a Google por usar uma JVM que ela não autorizou."

Agora vamos as suposições:

"Mercado tende a criar aplicações que utilizam redes socias, principalmente para dispositivos móveis."
"Video-games terão integração com redes sociais."
"Em até 5 anos, será lançado um dispositivo móvel com reconhecimento visual de face e de movimento."
"Daqui a alguns anos, Java será uma linguagem ultrapassada."

Hum... será que eu acerto todas? :)

Até o próximo post!

sexta-feira, 18 de fevereiro de 2011

Dez princípios fundamentais para quem esta iniciando em informática

Dez dicas para o pessoal que esta entrando agora na área:

1) Sexta-feira, é sempre dia da balada e/ou do Happy Hour! (fundamental)
2) Não critique o código-fonte alheio, que um dia este vai ser o seu.
3) Nunca reclame do cliente, pois alguma hora, o cliente pode ser você.
4) Pelo menos uma vez em sua carreira, peça pizza.
5) Se o código-fonte compila e roda com perfeição, não mexa (nem se for só para formatar).
6) Nunca mexa no banco de dados de uma aplicação que esta em produção. (importante)
7) Não pense que você é um mau programador, sempre existem piores do que você.
8) Se esta em casa, desligue seu computador e vá fazer outra coisa (a não ser que você esteja fazendo "Home Office").
9) Nunca ache que você é um bom programador, sempre existem melhores do que você.
10) Faça aquilo que você gosta. Se você esta pensando em ganhar somente dinheiro, você esta apenas se iludindo.

É isso, espero que ajude :)

quinta-feira, 17 de fevereiro de 2011

Momento cultural: Improvável

Nem sempre o nerd vive de informática, algumas vezes ele fica normal e vai assistir alguma coisa diferente das palestras do pessoal da Google Inc. ... :P

A Cia. Barbixas de Humor (por que será que tem esse nome? :P) é um grupo de atores que fazem teatro de humor (ou seja, humoristas?).
Eles estão a um bom tempo fazendo sucesso com o espetáculo "Improvável" (pelo menos, nos vídeos que eles postam no youtube, a platéia está sempre cheia -- eu ainda não tive a oportunidade de vê-los ao vivo...) e ,aparentemente, este parece muito bom.
Se alguém se interessar, eles geralmente postam um vídeo novo toda quinta-feira.
O site oficial deles é http://www.improvavel.com.br/.

Obs.: Se for bom, alguém me escreva! (no Brasil, o ingresso de um espetáculo não é nada barato... :P)

Valeu!

quarta-feira, 16 de fevereiro de 2011

O radical Richard Stallman

Para quem não sabe, Richard Stallman é o fundador do projeto GNU e da Free Software Foundation (a Wikipédia não me deixa mentir: http://pt.wikipedia.org/wiki/Richard_Stallman)
Quando ele veio ao Brasil, algumas pessoas que o conheceram disseram que ele é um chato, um radicalista que não consegue ouvir e enxergar a realidade, que ele é estranho (bem, não posso negar que a primeira impressão, pelas fotos...) e que não sabe dialogar.
Eu não posso dizer nada, pois não o conheci (e, para falar a verdade, nem sei se um dia vou conhece-lo...).
Mas, por que estou falando disso?
Porque, algumas vezes, a gente é um pouco Richard Stallman...
Como assim?
Vou citar umas frases comuns que nós, programadores, já ouvimos ou falamos pelo menos uma vez:
"Mas a tarefa não pode ser pontuada em horas!"
"Quem programa em VB não é programador!"
"Java é a melhor (ou única) linguagem de programação!"
"Mas isso não esta descrito no SCRUM!"
Isso também não é radicalismo? :P
Estou me criticando com isso também, pois a maioria das frases foi dita pelo menos uma vez por mim.
E vejo, agora, como fui radical (e até preconceituoso).
Acho que eu devia ter ouvido mais os outros e refletido sobre as coisas...
Afirmar, somente por que esta escrito em algum lugar, não significa uma verdade absoluta...
Afinal, a única verdade absoluta é que vamos morrer (e nem isso parece que é uma verdade absoluta).
Sei lá, acho que foi um pedido de desculpas. :P

Obs.: Ah... Eu consegui acentuar graças a um amigo. Valeu pela dica! :)

A nova mania de informática: o SCRUM!

O mercado de informática hoje, no Brasil, parece que vê um grande potencial em uma metodologia chamada SCRUM.
O SCRUM é uma das chamadas metodologias ágeis para gerenciamento de um projeto.
Anos atrás, eu ouvia de um analista: "O XP (outro metodo ágil) não serve para gerenciar projetos, é uma visão minimalista (opa, tá falando díficil... :P) voltada a satisfazer o programador e não ao cliente, o método que satisfaz o mercado é o RUP, pois é coeso, possue fases definidas e mantém uma descrição detalhista do projeto".
Agora, para quem trabalha com SCRUM, dêem uma olhada nas práticas de XP que estão na Wikipedia:
http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_Extrema
Incrivel como a maioria das equipes que seguem a metologia SCRUM, seguem as práticas de XP. E como, naquela época em que o XP foi criado, a maioria das pessoas desprezava e não aceitava como uma boa prática do mercado (para falar a verdade, eles ridicularizavam, dizendo que isso só servia para projetos pequenos, em empresas pequenas...).
Agora vejo as pessoas ridicularizando o RUP (dizendo que é uma metologia "quadrada" -- nem sabia que existia uma metodologia "redonda" -- ops, me lembrou da cerveja do final de tarde :P) e falando que o SCRUM é a metodologia definitiva do mercado...
Afinal, o que eu quero dizer com isso? Para falar a verdade, eu não sei... :P
Mas gostaria que você (computeiro ou não :P) que esta lendo, pensasse sobre isso, e que me falasse sua opinião, afinal, dar uma conclusão a um artigo é muito simples, mas ouvir (neste caso, ler) a opinião dos outros é o principal para mim.
E também, estou com preguiça de concluir... :P

Valeu para quem chegou a ler até aqui ;)

Até mais!

Seja bem-vindo!

Bem, como eu comeco?!?
Como bom implementador, criei este blog mais para testar as aplicacoes que a gente faz durante nossa carreira... Agora que naum preciso mais para isso, decidi que vou postar alguma coisa descente (jah que criei, vamos utiliza-lo). :)
Sei lah, neste primeiro post, naum falarei de assunto nenhum, nem de mim (que acho que naum compete a mim falar de mim :P) e nem de nada...
E soh para dar um alo mesmo!
Sejam bem-vindos! (apesar de talvez, ser o unico que vai realmente ler alguma coisa deste blog :P)
Obs.:
1) Estou com um teclado sem acentos, portanto, as palavras estao sem acentos :P
2) Nunca fui bom em materias escolares relativas a linguas (seja inglesa, seja portuguesa ou seja japonesa (?!?)), portanto me perdoem por qualquer erro...

Valeu!
Ateh o proximo post!