Felipe Diesel

Desenvolvedor de software

O melhor carnaval de todos os tempos

February 21, 2007 -

Ontem voltei da praia, saímos no sábado depois do meio dia e voltamos na terça de manhã e foram 4 dias de chuva, as vezes o tempo dava uma melhorada, ficava nublado, mas não por muito tempo!

E por mais incrível que isso possa parecer, não foi ruim. Passamos a maior parte do tempo de pernas pro ar. Apenas entrei no mar, com o Deni 2 vezes, e só por causa dele, por que tava gelada pacas a água.

Pra quem não sabe, o Deni é meu guri! É meu enteado, mas é como se fosse meu filho. Apesar de ser meio cabeça dura, gosto muito dele, uma hora dessas faço um artigo pra apresentar ele e a Bina, mãe dele (e de quebra minha mulher)!

O lado bom disso tudo é que pela primeira vez não me senti deslocado no carnaval, com toda essa falsa alegria transbordando em toda parte. Ficamos na praia de Paraíso, que fica entre Torres e Arroio do Sal, uma praia bem pequena, mas muito legal se você quiser fugir para um lugar calmo!

Espero que o seu carnaval tenha sido como o nosso!

Em breve eu publico algumas fotos. Ainda não estou com elas!

Mudança e tempo (ou a falta dele)

January 29, 2007 -

Olá, mudei o blog da raiz para /blog, devido a outros projetos que estou fazendo. Ainda não consegui corrigir os links antigos, mas como o blog não tem nem um mês, resolvi deixar assim, até por que estou sem tempo nos últimos dias. A demora para novos artigos é devido a esse motivo também. Mas a série sobre a jQuery continua em breve.

Maybe if you used more than just two fingers…

January 18, 2007 -

Uma característica muito legal do sudo é insultá-lo quando você erra a senha!

Para ativar isso (e se divertir com os insultos), altere o arquivo /etc/sudoers e insira a palavra insults no fim da linha que começa com “Defaults”.

Defaults  !lecture,tty_tickets,!fqdn, insults

Agora quando você utilizar o sudo e escrever o password errado, receberá respostas como:

You gotta go owwwww! No soap, honkie-lips. The more you drive — the dumber you get.

Um detalhe que me fez passar um aperto aqui no Ubuntu: O arquivo a ser editado tem permissão de somente leitura até mesmo pelo root, então você tem que cuidar, pois ao editar a permissão, o sistema não te deixa mais usar o sudo, pois a permissão está errada e você não consegue mais voltar atrás!

Não testei, mas acho que o ideal é no terminal abrir o nautilus com o sudo, fazer tudo e voltar a permissão.

Eu voltei ao padrão iniciando o LiveCD e alterando as permissões por lá!

Fonte: Jonh Wendell

jQuery - Expressions

January 17, 2007 -

As jQuery expressions (expressões) são basicamente uma combinação de CSS com XPath.

Se você já sabe CSS, está tudo bem, pois não difere muito. Por exemplo para acessar um div com id foo faz-se:

$('div#foo)

Simples não?

A jQuery suporta completamente as especificações 1, 2 e 3 do CSS.

Exemplos: $(‘*’) $(‘input[@name=login]’)

Também suporta o XPath completamente.

Exemplos:

$("/*/body//p")
$("//p/../div")

E ainda alguns expressões próprias. Algumas muito interesantes, com a :odd que são os itens pares.

Você pode ver isso tudo mais detalhadamente na documentação da jQuery, mas em inglês.

jQuery - Introdução

January 16, 2007 -

Quem começa a usar a jQuery se pergunta como conseguia programar em javascript puro, tamanha a facilidade da jQuery.

Claro que existe Prototype, Dojo e a Yahoo! UI, mas nenhuma facilita a vida tanto quanto a jQuery, além de ela ser muito menor que os concorrentes, apenas 19Kb (já com o módulo Ajax).

Ainda para mostrar a facilidade da jQuery, vamos fazer um comparativo entre javascript, prototype e jQuery. A tarefa será colocar uma classe nas linhas de uma tabela para zebrá-la:

Javascript

É enorme. Tão grande que precisa de um artigo só pra ela, confira no A List Apart

Prototype (versão 1.5)

$$("table").each(function(table){
  Selector.findChildElements(table, ["tr"])
    .findAll(function(row,i){ return i % 2 == 1; })
    .invoke("addClassName", "odd");
});

JQuery (versão 1.1)

$("tbody>tr:nth-child(odd)").addClass("odd");

Simples, fácil e eficiente. A jQuery tem como base a função $(). É ela que gerencia tudo o que você quiser implementar. Alguns exemplos de uso:

Executar comandos ao carregar a página

$(document).ready(function(){
  alert('Página carregada');
});

Adicionar o evento onclick em todos os links

$("a").click(function(){
  alert("Hello World!");
});

A função $(document).ready() é algo que (até onde eu sei) nenhuma outra biblioteca ou framework javascript faz! É semelhante ao onload do body, porém ele não espera carregar imagens e objects, ou seja, assim que estiver carregado todo o HTML ela é executada! Muito útil!

No próximo artigo falarei um pouco sobre jQuery expressions, que é o modo como os elementos da página são encontrados pela jQuery!

jQuery 1.1 final

January 15, 2007 -

Foi lançada ontem a versão 1.1 da jQuery. Além das novidades que eu já havia citado no artigo sobre a versão 1.1a, o site foi redesenhado, a documentação reorganizada, e um livro sobre a jQuery está sendo escrito.

O livro deve ser publicado no meio do ano lá fora. É esperar para conferir.

E como eu já havia prometido no início do blogue, começa a manhã uma série de artigos sobre a jQuery. Acredito que vai ficar um pouco bagunçado, pois para mim é difícil escrever sobre assuntos técnicos com esse, mas vai ser um bom modo de aprender e ensinar um pouco desta biblioteca tão poderosa.

Logando num servidor ssh sem senha

January 12, 2007 -

Eu estava tentando baixar os backups do nosso servidor para minha máquina e esbarrei num detalhe simples: Toda vez que eu iniciava a transferência via rsync tinha que pôr novamente a senha. Troquei umas palavras com o Janio e ele disse que tinha como fazer isso usando export keys. Procurei na web e agora a pedido dele mostro aqui todos os passos.

Para logar no servidor ssh sem uso de senha, mas mantendo a segurança, utiliza-se uma chave pública (no servidor) e uma privada (na minha máquina).

Primeiro devemos criar as chaves de acesso entre os servidores:

ssh-keygen -b 1024 -t rsa

Este comando diz para criar uma chave de 1024 bits usando o algoritmo rsa.

Feito isso aparecerá no seu terminal:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/felipe/.ssh/id_rsa):

Você deve especificar o nome do arquivo, o melhor é não alterar, portanto apenas pressione ENTER.

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

Agora foi pedido uma ‘passphrase’ que é uma ‘frase-senha’. Como queremos logar sem senha, não coloque nada e pressione ENTER 2 vezes.

The key fingerprint is:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00

Aparecendo isso, quer dizer que tudo ocorreu corretamente. Esta fingerprint será diferente em cada caso. Agora temos que copiar nossa chave pública para o servidor. Faça isso com o seguinte comando:

usuario@local:~$ scp /home/usuario/.ssh/id_rsa.pub usuario@123.123.123.123:/home/usuario/.ssh/

Não esqueça deve ser a chave PÚBLICA. A privada nunca sai de sua máquina.

Logando-se no servidor você perceberá que ele ainda pede senha, isso acontece por que você deve renomear o arquivo enviado para ‘authorized_keys’:

mv id_rsa.pub authorized_keys

Update: O comando acima apaga qualquer outra chave que você já tenha no servidor. Para adicionar a chave as já existentes, faça da seguinte forma:

cat id_rsa.pub >> authorized_keys

Agora logue-se novamente que tudo irá funcionar!

Referências: SSH sem senha, Logando com segurança num servidor ssh sem uso de senha e Rsync sem senha

YouTube liberado

January 9, 2007 -

Acabo de acessar o YouTube e aparentemente ele foi liberado novamente.

E os vídeos da Cicarelli continuam dando (digo aparecendo) por lá… :D

Aqui tenho conexão via Brasil Telecom.

Primeiro foi o YouTube e o que vem depois?

January 9, 2007 -

Hoje cheguei aqui no escritório, liguei meu PC e fui acessar o bloglines e ler meu emails como sempre faço.

Porém algo muito estranho estava acontecendo. A internet não funcionava.

Pensei “pronto, a cicarelli mandou derrubar todos os sites que falaram dela!”. Os mais conspiradores diriam que foi o governo que derrubou toda a internet, ou pior, as máquinas haviam assumido o controle.

Mas não, não foi dessa vez, apenas o bairro de Languiru que estava sem internet.

Mas essa assunto da Cicarelli tá rendendo… Ela deve ser a mais odiada na internet brasileira. Já se falou muito sobre isso e a imagem do Brasil está mais manchada ainda lá fora. Eu apenas vou botar uns links aqui:

Apesar de tudo que já foi dito, eu fiquei com uma dúvida:

Por que se o vídeo foi feito na Espanha, exibido por uma tv espanhola, fica hospedado num servidor (YouTube) nos EUA, ela colocou um processo aqui no Brasil? Por que apenas os brasileiros não podem acessar este vídeo no YouTube? (Repare que pode ser encontrado no Google Video, emule, torrent, …)

Lançada a jQuery 1.1a

January 8, 2007 -

Hoje foi lançada a versão alpha da jQuery 1.1. A versão final está agendada para 14 de janeiro, data do 1° aniversário da jQuery.

Lista de melhorias:

  • Os seletores ficaram 10-20x mais rápidos em comparação com a versão 10.4
  • A documentação foi revista.
  • Redução da API de 47%
  • Correção de bugs

Baixar a versão sem compressão. Utilize apenas para teste.

Mais informações no blog da jQuery.