Vestibular IST Paracambi

Estava vendo meu Google Reader e vi um post do Rafael Biriba sobre a abertura do vestibular do IST Rio (universidade onde ele estuda) e resolvi escrever sobre a minha também que é o IST Paracambi. As inscrições já estão abertas e pelo que me parece, vão fechar dia 25 de junho.

Para mais informações sobre o concurso para o Ist Paracambi e para outros cursos da rede da Faetec, segue o link http://200.150.155.210/faetec_2010.2/

O Ist Paracambi se situa no bairro da Fabrica, mais exatamente num polo educacional onde era uma antiga fábrica têxtil que se não me engano foi a primeira da América Latina. No polo educacional, além do  Ist Paracambi, estão a Escola de Música Villa-Lobos, o Cetep com cursos técnicos profissionalizantes, o Cederj com cursos (inclusive de extensão) à distância e o IFRJ com cursos para o Ensino Médio Técnico.

Brasil Industrial 2 
Fábrica Brasil Industrial

Mini curso de algoritmos com Javascript – Aula 5

Olá pessoal. Essa é a última aula do nosso mini curso de Algoritmos com Javascript. Em adição a isso, estou colocando o pdf de todas as aulas para download para quem tem preguiça de ler direto do site ou, como eu, prefere ter tudo impresso pra ler em qualquer lugar.

O link para download é o seguinte: www.mayckxavier.com/public/Algoritmos_javascript.pdf

Estruturas de Controle

As estruturas de controles servem para, como o nome diz, controlar a execução do programa. Imagine que no sistema de uma loja virtual apenas maiores de 18 anos de idade podem realizar compras. Para isso é necessário checar se a idade do comprador é maior ou igual a 18 anos. Utilizaremos a estrutura de controle IF (Se) que serve para executar determinado código caso uma expressão retorne true.
Exemplo:

image

Nesse exemplo será testado se a idade do usuário é igual ou maior que 18 anos. Se o teste entre parêntesis retornar true, será executado o código entre as chaves. Esse exemplo é bastante limitado levando em consideração que nada acontecerá se o usuário tiver idade menor de 18 anos. Sempre que houver a necessidade de que um bloco de código seja executado se a expressão retornar false, basta adicionar a o bloco do ELSE (SENÃO) após os parêntesis do IF.

image

Se houver a necessidade de fazer mais de um teste, basta utilizar o ELSE IF.

image

Você pode perceber que utilizamos o operador lógico && para dizer ao ELSE IF que o valor do produto deve ser maior que 10 e menor ou igual a 20. Você pode utilizar quantos ELSE IF forem necessários.

Switch

O Switch é utilizado quando você precisa de comparações simples como, por exemplo, comparar se a letra digitada é uma vogal ou consoante.

image

Estruturas de Repetição

As estruturas de Repetição são utilizadas quando você precisa repetir um código várias vezes enquanto uma determinada condição não for satisfeita. Em Javascript existem 3 estruturas de repetição.

While

O while irá executar um bloco de código até que sua condição seja satisfeita. Veja o exemplo:

image

Acima temos um problema. O valor de num nunca será igual ou maior que 20, então o programa entrará no que chamamos de loop infinito. Ele entrará nesse bloco de código e executará infinitamente, geralmente travando a o seu navegador. Para que isso não aconteça, é necessário que você faça com que a variável num receba um valor que não satisfaça a condição do while. Um exemplo simples seria incrementar a variável a cada loop.

image

Pronto. Agora o while executará o código um número limitado de vezes e sairá logo assim que a condição não mais o satisfizer.

For

O for funciona do mesmo modo que o while, mas utilizando ele fica mais fácil não esquecer declarar uma variável ou incrementá-la. O For apresenta uma sintaxe mais definida.

image

Podemos ver que o for recebe 3 parâmetros. O primeiro é a variável com o seu valor inicial. O segundo é a condição que deve ser satisfeita e no terceiro parâmetro você pode incrementar a variável como eu fiz ou atualizar o valor dela.

Do/While

O Do/While é mais parecido com o while, porém ao invés de ele fazer o teste antes da execução do bloco, seu teste é feito apenas depois.

image

A grande diferença entre o While e o Do/While é que no do/while o código no bloco será executado pelo menos uma vez, mesmo se a condição não for satisfeita.

 

É isso aí pessoALL. Algumas pessoas pareceram interessadas quando eu disse que queria colocar algumas dicas de jQuery. Estou pensando também em falar um pouco mais sobre Code Igniter. O que acham?

Abraços

Mini curso de algoritmos com Javascript – Aula 4

Continuando com nosso mini curso de algoritmos com Javascript, veremos hoje Incremento e Decremento, e funcções.

Incremento e Decremento

Para incrementar em 1 uma variável, basta utilizar duas vezes o sinal “+” após a variável. Para decrementar em um, faça o mesmo, porém utilizando o sinal de “-”.
Exemplo:

image

Comentários

Comentários são utilizados quando você precisa descrever parte de um código ou apenas para sinalizar algo importante como um lembrete. Em Javascript existem comentários de linha e de bloco. É importante sempre fazer comentários quando for necessário.

O interpretador do Javascript irá ignorar tudo o que estiver comentado. No comentário de linha, tudo o que estiver após as barras será ignorado. Já no comentário de bloco, tudo o que estiver entre o “/*” e o “*/” será ignorado.

image


Funções

Algumas vezes será necessário que você execute uma mesma rotina várias vezes. Para que você não precise reescrever o mesmo código várias vezes, existem as funções. Uma função permite que você passe parâmetros para ela. A função irá realizar o bloco de código definido dentro das chaves com ou sem os parâmetros passados.
Exemplo:

image

No exemplo anterior nós temos a função “soma” que recebe dois números. Ela soma esses dois números e retorna o resultado da soma.
O comando return utilizado no final da função retorna a soma das duas variáveis que pode ser utilizado do lado de fora da função como mostra o exemplo baixo.

image

É isso aí pessoal. Na próxima aula veremos Estruturas de Controle e Estruturas de Repetição, que são fundamentais para o desenvolvimento de uma aplicação.
Abraços

Mini curso de algoritmos com Javascript – Aula 3

Continuando com o mini curso, hoje veremos como pegar dados dos usuários e operadores relacionais.

Pegando dados externos

Como já falamos anteriormente, para um programa funcionar ele deve ter uma entrada de dados para que eles sejam processados e serem enviados para uma saída. Utilizando o comando “window.prompt” do seguinte modo:

image

Ao executar o código acima, serão exibidas duas janelas no navegador, uma para cada comando “window.prompt” e o que for digitado será inserido na variável correspondente.

image

image

A opção “Impedir que esta página crie caixas de diálogo adicionais” foi adicionada pelo próprio navegador.
Agora que podemos pegar dados dos usuários, podemos utilizar esses dados para que nossos programas comecem a ter vida.

Exercício:
1 – Utilize as caixas de prompt (window.prompt) e faça um pequeno programa que peça alguns dados para o usuário e os imprima em tela, um por linha.

Operadores

Operador de Atribuição

Como já vimos anteriormente, para atribuir um valor a uma variável, é utilizado o sinal de “=”. Você pode atribuir valores numéricos, Strings e booleanos às suas variáveis.

Operadores Aritméticos

Operadores Aritméticos servem para calcular números e valores em variáveis. Em Javascript nós temos os seguintes Operadores Aritméticos:

Operador Simbolo
Adição +
Subtração -
Multiplicação *
Divisão /
Módulo (Resto da Divisão) %

 

Utilizaremos o sinal de % quando precisarmos ter o resto de uma divisão, diferente de / que retorna o resultado de um número dividido pelo outro.

Exemplo:

image

Operadores Relacionais

Os operadores relacionais são utilizados quando você precisa descobrir a relação entre um valor e outro. Os Operadores Relacionais são:

Operador Símbolo
> Maior que…
< Menor que…
>= Maior ou igual a…
<= Menor ou igual a…
== Igual a…
!= Diferente de…

 

Os Operadores Relacionais retornam sempre um valor booleano, ou seja, true (verdadeiro) ou false (false). Podemos testar os operadores do seguinte modo:

image

Operadores Lógicos

Os operadores lógicos servem para se utilizar várias operações relacionais em uma mesma linha.

Operador Símbolo
&& E
|| Ou
! Não

 

Os Operadores Lógicos “&&” e “||” seguem a lógica da tabela verdade, descrita abaixo:

A B A && B
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Falso
Falso Verdadeiro Falso
Falso Falso Falso

 

A B A || B
Verdadeiro Verdadeiro Verdadeiro
Verdadeiro Falso Verdadeiro
Falso Verdadeiro Verdadeiro
Falso Falso Falso

 

Obrigado pelos comentários pessoal e até a próxima.

Mini curso de algoritmos com Javascript – Aula 2

Nessa nossa segunda aula veremos como iniciar na programação com Javascript.

Programando

A partir de agora, utilizaremos uma linguagem de programação. Assim podemos ver melhor os resultados e realmente programar. Utilizaremos a linguagem Javascript por ser fácil e não ser necessário a instalação de nenhum programa na maioria dos sistemas operacionais atuais no mercado, entretanto é recomendado que você utilize um editor de textos que faça a coloração do seu código para que fique mais fácil o aprendizado. Nos exemplos da apostila será utilizado o GVim (http://www.vim.org/).

Antes de começarmos a escrever é necessário saber o que é o Javascript. Javascript foi inicialmente criada pela Netscape em 1995 para se desenvolver websites dinâmicos tendo em vista que no inicio da internet todos os sites eram estáticos, ou seja, não haviam mudanças em seu comportamento inicial. A linguagem tem total integração com o HTML por meio do DOM (Document Object Model), assim a mesma pode manipular qualquer elemento em uma página. Devido ao seu sucesso, o Javascript hoje é suportado pela maioria dos navegadores que seguem os padrões W3C () e outros no mercado.

O que é necessário para programar em Javascript?

Apenas um navegador, como o Mozilla Firefox, Internet Explorer, Google Chrome e Safari, e um editor de texto, como o Bloco de Notas (Microsoft Windows), GEdit (GNU/Linux com a interface Gnome) ou Vi (Utilizado em grande parte das distribuições GNU/Linux), pode ser utilizado para programar em Javascript. Recomendo que utilize um editor que tenha highlight (utiliza cores para mostrar diferentes elementos no programa), como o Notepad++ (http://notepad-plus.sourceforge.net/), para que a programação seja mais fácil e encontrar erros mais rapidamente. É necessário também salvar o arquivo com a extensão “.htm” ou “.html” para que o navegador execute o que está escrito no arquivo.

Variáveis

Variáveis são espaços em memória onde podemos alocar algum valor temporariamente. Como o nome diz, o valor de uma variável pode ser alterado.

image

Acabamos de inicializar uma variável, mas a mesma ainda não tem valor algum. A seguir, um exemplo de uma variável recebendo valores.

image

O código acima cria a variável “num”, atribui o número 10 como valor para ela e por fim imprime o valor da variável em tela com o comando “document.write”. Sempre que precisar imprimir um texto, um número ou o valor de uma variável utilize-o.

Após esses pequenos exemplos já podemos definir algumas regras para trabalhar com o Javascript com linguagem.

1 – Sempre que for definir criar uma variável, escreva “var” antes do nome da mesma. Isso será bastante útil e seu benefício será mostrado quando falarmos sobre escopo de variável mais à frente;

2 – Toda linha deve terminar com o sinal de “;” (Ponto e vírgula). Assim o interpretador saberá que aquela linha de código acabou.

3 – Um código em Javascript deve ser colocado entre as TAGS “<script>” e” </script>”. Isso é apenas para realizar nossos algoritmos. Caso você trabalhe com Html seguindo os padrões W3C, será necessário mais informações dentro da Tag “<script>”, mas esse não é o nosso foco no momento.


Tipos de Variáreis

O Javascript tem três tipos de variáveis: Numérico, Booleano e Cadeias de Caracteres.
As variáveis numéricas contem números, sejam eles inteiros ou de ponto flutuante e podem ser utilizadas para fazer cálculos de qualquer tipo.
Exemplo:

image

Os dois modos para criação de variáveis e atribuição de valores estão corretos. Podemos declarar uma variável e depois atribuir um valor à ela ou no ato da declaração da variável, definir um valor à ela.

As variáreis booleanas podem conter apenas dois valores: “verdadeiro” ou “falso”.
Exemplo:

image

As variáveis do tipo cadeia de caracteres podem receber qualquer tipo de texto. Para isso é necessário colocar aspas duplas (“) ou simples (‘) no início e no fim da cadeia de caracteres.

Exemplo:

image

Exercícios:

1 – Esse exercício é apenas para fixação de conceitos. Crie variáveis com nomes diferentes e atribua valores a elas. Imprima o valor das variáveis com o comando “document.write”.

Obs.: Para fazer uma impressão por linha, você pode utilizar a tag de HTML “<br>”. Para isso, basta escrever o código como no exemplo abaixo.

image

No exemplo acima, estamos utilizando o sinal “+” para concatenar as cadeias de caracteres, que agora chamaremos de String. Concatenar significa ligar, então utilizaremos a palavra “concatenar” para dizer que estamos ligando duas Strings.

Arrays

Traduzir “array” de um modo fácil seria dizer que ele é uma “variável que tem o valor de várias variáveis”. Dentro de um array é possível colocar vários valores diferentes.

image

Para utilizar um array é necessário que antes de atribuir valores aos seus índices (Um índice é um espaço dentro do array onde podemos armazenar dados), você o declare com o comando “new Array()”. Após isso basta atribuir valores aos seus índices, que podem ser numéricos ou associativos.

Índices Numéricos

São os índices de um array representados por números.

image

Do mesmo modo que você atribui valores aos índices, você pode acessar seus valores utilizando o nome do array e seu índice entre chaves como no exemplo acima. Se você atribuir dois valores a um mesmo índice, o mesmo será substituído.

Índices Associativos

Índices Associativos funcionam como os numéricos, mas ao invés de números, strings são utilizados para sinalizar um índice.

image

 

É isso aí pessoal. Na próxima aula vamos ver como pegar dados digitados pelo usuário.
T+

Mini curso de algoritmos com Javascript – Aula 1

Fala galera. Há algumas semanas que criei um material de Algoritmos para a empresa onde eu estava trabalhando, mas como a linguagem escolhida por mim para o material foi Javascript eles pediram para eu refazer em Português Estruturado. Considero Javascript uma boa linguagem para começar por não precisar de nada instalado (geralmente o sistema operacional terá tudo o que você precisa) e por você já poder trabalhar com ela assim que aprender bem. Caso haja algum erro, por favor avise por comentário ou por e-mail.

Sem mais delongas. Vamos ao curso.

Algoritmos

Um algoritmo é uma seqüência de instruções definidas para serem executadas mecanicamente. Todos os dias realizamos algoritmos e não percebemos. Basicamente todas as manhãs nós nos levantamos da cama, tomamos o café da manhã, nos arrumamos e vamos ao trabalho. Entre cada uma dessas ações descritas, realizamos várias outras ações. Nosso próprio corpo realiza algoritmos o tempo inteiro realizando decisões. Se nos machucamos, sentimos dor. Se o ambiente externo tem temperatura baixa, o corpo treme para tentar aumentar a temperatura novamente.

Todo algoritmo segue uma seqüência lógica. Geralmente um algoritmo é lido de cima pra baixo e da esquerda pra direita. Cada linha de código é lida e, caso não haja nenhum erro, executada e logo depois é lida a próxima linha e assim sucessivamente até terminarem as linhas do algoritmo.

Como exemplo de algoritmo podemos pensar em um ser humano andando. Observe:

1. Levantar a perna direita

2. Inclinar o corpo para frente

3. Baixar a perna direita

4. Apoiar o pé direito no chão

5. Levantar a perna esquerda

6. Baixar a perna esquerda

7. Apoiar o pé esquerdo no chão

8. Levantar a perna direita…

Outro exemplo de algoritmo seria fazer um calculo simples como a soma ou multiplicação de dois números como no exemplo abaixo:

1. Ler primeiro número

2. Ler segundo número

3. Somar os dois números lidos

4. Exibir o resultado

O que é um programa?

Um programa é um ou mais algoritmos escritos numa linguagem de programação. Existem diversas linguagens de programação atualmente. A grosso modo as linguagens mais fáceis são chamadas de “linguagens de alto nível” e as mais difíceis são chamadas de “linguagens de baixo nível”. As Linguagens de Baixo nível são assim chamadas por que você precisa trabalhar mandando comandos e recebendo respostas direto para o hardware. As Linguagens de Alto nível são assim chamadas por que elas “escondem” as tarefas difíceis como trabalhar direto com hardware, o que facilita o desenvolvimento do código e aumenta a velocidade de programação.

Exercícios:

1. Escreva um algoritmo para pentear o cabelo. Tente ser bem especifico e detalhado em cada ação realizada.

Entrada e saída de dados

Muitas vezes não percebemos, mas para haver o processamento de informações, é necessário ter informações para que elas sejam processadas. Um programa precisa que dados sejam inseridos nele para que eles sejam processados e retorne algum resultado daquele processamento. Esses dados podem ser inseridos pelo usuário do programa e algumas vezes o usuário não sabe que está inserindo dados. Digitar texto em um formulário eletrônico ou o simples ato de copiar um arquivo para o seu computador é considerado entrada de dados.

entrada_saida_dados

Exercício: Escreva alguns modos de entrada e saída de dados. Ao lado de cada um, diga se é entrada ou saída.

 

Por enquanto é só pessoal. Aguardem a próxima aula até o fim da semana.

Warcraft 3: Cut Scenes que não aparecem

Recentemente eu comprei os games Warcraft 3, Diablo 2, Starcraft e suas respectivas expansões. Sempre fui muito fã dos games da Blizzard e sempre quis ter esses games originais pra poder jogar pelo Battle.net com meus amigos.

Comecei pelo Warcraft pois sempre quis jogar ele até o fim, mas nunca tive tempo. Uma coisa que percebi foi que as Cut Scenes não apareciam. Ficava tudo escuro e só escutava o som.
Depois de muito tempo mexendo em resolução de vídeo e revirando os fóruns da Blizzard eu me deparei com uma situação parecida com a minha, mas que o cara dizia que era necessário reinstalar o game por que o arquivo de nome “Blizzard.ax” poderia ter sido perdido. Eu não queria perder tempo de reinstalar o game, mas resolvi dar uma olhada. Foi aí que vi que o arquivo não tinha desaparecido. Ele estava lá, mas com o nome de “blizzard.ax”. Renomeei o arquivo para “Blizzard.ax” e tudo começou a funcionar. Simples assim =)

Entrevista com Edison Mackeenzy

Ano passado eu comecei a fazer um curso de Empreendedorismo no CEDERJ de Paracambi e um dos trabalhos foi entrevistar um empreendedor. A primeira pessoa que veio em minha cabeça foi o Mack do Videolog.tv, que me deu a entrevista que ele me deu no ano passado. Obrigado ao Mack pela entrevista e um feliz aniversário atrasado =)

Sobre o empreendedor e a empresa

A entrevista abaixo foi realizada com o empreendedor Edson Mackeenzy, CEO do portal Videolog.tv, que “é a principal comunidade de produtores de vídeos do Brasil. Criado em Maio de 2004, seu objetivo é promover a cultura nacional, incentivando o talento e a produção de conteúdos de qualidade. Sua comunidade de 400 mil usuários cadastrados, exibe mensalmente para mais de 4 milhões de brasileiros cerca de 12 milhões de vídeos. Uma empresa brasileira de capital próprio, pioneira no mercado de vídeos mundial. O portal Videolog.tv, está no ar desde maio de 2004 e foi o primeiro na américa latina a permitir compartilhamento de vídeos em alta definição (HD) para usuários a partir de 2MB de conexão. Isto só foi possível devido sua tecnologia proprietária que economiza até 96,7% do peso original do vídeo. Esta tecnologia lhe rendeu em 2009 o prêmio RioInfo de melhor ferramenta de distribuição de conteúdo com o projeto Tivi.tv.” (Release Institucional do Videolog.tv)

A entrevista

Mayck Xavier: O que o levou a criar a sua empresa?

Edson Mackeenzy: Tínhamos uma produtora e muitas dificuldades. Percebemos que, para entregar nossas produções, tinha um alto custo e uma logística complexa. Resolvemos criar um sistema para facilitar isso e liberamos para nossos amigos. Sem saber, criamos o primeiro portal de compartilhamento de vídeos do mundo.

MX: Quais foram os maiores desafios que você enfrentou?

EM: Os maiores desafios sempre ainda estão por vir, amigo. Nesses cinco anos de Videolog.tv, já passamos por quase tudo: tivemos momentos em que o mais dolorido foi administrar o dinheiro – ou a falta dele – em outros, administrar o ego das pessoas; em outros, sair da zona de conforto de uma empresa estável e com visibilidade na mídia; e, em outros, acreditar que estávamos na zona de conforto. Estava agora pensando que responder a esta pergunta foi um desafio gigante.

MX: Quem o apoiou na sua trajetória empreendedora?

EM: Na realidade, uma das principais características do empreender é não ter apoio. Nadar contra a maré ou, em outras palavras, fazer acontecer. Mas, claro, que não posso esquecer-me de todas as pessoas que me ajudaram com palavras amigas e com a compreensão de estávamos tentando. Se mesmo assim se você quiser que eu agradeça a alguém, quero agradecer a todas as pessoas que acreditaram que eu não conseguiria.

MX: O que a sua família acha de você ter escolhido abrir um negócio próprio em vez de procurar um emprego formal?

EM: Bom, quando eu resolvi empreender, eu já tinha uma vida estabilizada, emprego numa grande empresa e carteira assinada. Meus pais me chamaram de louco por largar um emprego daqueles, mas acredito que isso é da natureza da pessoa, pois minha mãe é assim e eu não poderia ser diferente.

MX: O que os seus amigos acham de você ter escolhido abrir um negócio em vez de procurar um emprego formal?

EM: Bom, quando eu pedi demissão para abrir minha empresa, eles foram muito educados comigo e me chamavam apenas de maluco na minha frente. Ninguém conseguia entender como eu poderia rejeitar um emprego que todos sonhavam em ter. Acho que hoje, eles pensam diferente, mesmo estando no mesmo lugar.

MX: Você se sente valorizado como empreendedor/empresário?

EM: Claro, quando eu estaria sendo entrevistado por você se não fosse empreendedor?

MX: Conte uma situação em que você ficou constrangido por ser empreendedor/empresário.

EM: Bem, não me lembro de ter sido constrangido por ser assim “diferente”, vivemos num mundo moderno e as pessoas aprenderam a respeitar as diferenças (risos). Talvez a pior parte de todas seja a de você sempre ter dificuldade para comprovar renda. Uma vez, no banco, o gerente não acreditou que eu era o dono da empresa, só porque eu andava de bicicleta.

MX: Conte uma situação em que você se sentiu valorizado por ser empreendedor/empresário.

EM: Uma vez, me fizeram esta pergunta referindo-se às palestras fora do país e entrevistas para a grande mídia, e eu disse que não me sentia especial por isso. Mas, agora que você perguntou de outra forma, me sinto valorizado quando acordo e sei que vou contribuir para os sonhos de muitas pessoas, para o sustento de famílias e, principalmente, para um mundo melhor.

Sugestões de Edson Mackeenzy

Assista a este vídeo com minha narração: <http://videolog.uol.com.br/mack/videos/467848>

Que venha 2010!

2009 foi um ano bem corrido pra mim. Saí do Centro do Rio de Janeiro no final de 2008 pra trabalhar em Copacabana, tive que fazer mais matérias na faculdade pra compensar o tempo perdido nos outros períodos por causa do trabalho e acreditem isso faz muita diferença quando você mora em Paracambi. Depois dos últimos 2 meses só fazendo freelas, tive um convite para trabalhar na NSI Trainning, o que é muito bom, pois quando era mais jovem e ainda estava dando meus primeiros passos em TI, pensava se algum dia iria poder fazer uma formação na NSI e me certificar. Hoje estou trabalhando lá e tendo a oportunidade de me certificar.

Aprendi bastante com desenvolvimento. Aprendi e adotei o Code Igniter como meu framework Php, aprendi C# e .NET na marra pra desenvolver um projeto de Freelancer que ainda estou trabalhando e decidi que que quero aprender mais de Java e aprender mesmo Ruby e Rails pra desenvolver um projeto pessoal.

Devido ao desgaste de morar e estudar em Paracambi e trabalhar no Rio, resolvi me mudar para o Rio pra poder economizar várias horas de viagem e aproveita-las melhor estudando ou dormindo, coisa que eu não fazia muito.
A parte da mudança não foi tão difícil por que tenho amigos já morando no Rio, mas a transferência está me deixando meio preocupado por que não consigo decidir para qual faculdade particular me transfiro. Minha preferência é por universidades perto do Largo da Carioca, o que me faz ter um leque de escolhas menor. Só espero resolver isso o mais rápido possível.

É isso aí galera. Tenham um ótimo 2010.

Convites para o Google Wave

Galera, estou com 24 convites para o Google Wave. Quem quiser, deixa um comentário.