terça-feira, 5 de março de 2013

Uma dica

Se você está fazendo um script Ruby e de repente se depara com
syntax error, unexpected keyword_end, expecting $end
Não está sozinho! Lembro da vez que passei horas procurando o motivo da exception. Mas pra lhe ajudar, se for esse o seu caso, provavelmente foi um do que você esquece

require "sinatra"

get "/"
   ...
end

# correto


get "/" do
   ...
end


# Um exemplo de código que daria a exception acima


segunda-feira, 5 de novembro de 2012

Valores Complexos | JavaScript

  1. var arr1 = arr2 = [ ];
  2. arr1.push( 5 );
  3. console.log( arr2 );
No exemplo acima o log daria o output "[5]", isso porque ao alterar o Array arr1 o Array arr2 também é alterado. O mesmo vale para objetos:
  1. var obj1 = {}; 
  2. var obj2 = obj1;
  3. obj1.man = "Man!!!";
  4. console.log( obj2.man );
O output no console seria a mensagem "Man!!!".

Curioso pra saber porque isso ocorre? DON'T PANIC!

Primeiro de tudo, você deve entender como JavaScript armazena os valores das variáveis.
O Array e o Objeto diferem dos outros tipos por serem tratados como valores complexos ( WHAT?! ) e o que ocorre quando eu faço var arr1 = arr2 = [ ]; é que eu não estou copiando o valor de arr1 em arr2 e sim copiando para arr2 a referência da memória arr1, e assim ocorre com todos os demais valores complexos em JS. Então entenda: Valores complexos são armazenados e manipulados por referência de memória.

Os outros tipos, os primitivos, - Number, String, Boolean - são armazenados/copiados por valor mesmo. Nos próximos posts eu vou continuar explicando melhor como isso funciona :D

Espero que tenha entendido, qualquer dúvida ou sugestão será bem-vinda nos comentários.

quarta-feira, 31 de outubro de 2012

Konichi-wa noobies!

http://aprendaaprogramar.rubyonrails.com.br/ 
Pra quem ainda tá querendo aprender programação de um jeito mais fácil ou tiver com dificuldade de entender algum conceito. :D 
Para aprender com o tutorial "Aprenda A Programar - Ruby" você vai precisar de:

  • - Um Cérebro
  • - Foco
  • - Tempo, à gosto.

Bonne étude! - E qualquer dúvida que não dei pra resolver sozinho, comente abaixo que lhe ajudarei com o maior prazer! -

sábado, 6 de outubro de 2012

Wordor, Ruby File Organizer

Esses dias resolvi criar um script mais simples que o Leran (o código parece meio POGamado pra mim hoje, mas o Gabriel do passado fez o código achando-o incrível :p). Então a esse novo script feito em Ruby, claro, dei o nome de WordOr (Word Organizer).

Tá, chega de blá blá e enrolações e vamos ao ponto que você já deve estar se pergutand: "O que ele faz?".
Primeiro vamos a uma demo de uso:
# Entra na dir e "joga" os arquivos que contiverem no seu nome o trecho '.mp4' em
# uma pasta chamada .mp4 (o script cria automaticamente a pasta caso ela não exista)
ruby wordor.rb /home/gabriel/Videos .mp4

Nice? Yeah! Que tal organizar os arquivos que contiverem no seu nome a o trecho 'ga'?

ruby wordor.rb /home/gabriel/Documentos ga

Casaria com 'gabriel', 'gato', 'gatildo', 'agataiado', etc...

Bom, espero que tenha gostado. :D

quarta-feira, 5 de setembro de 2012

Animelt, complex animations with jQuery

I would like to share with you my jQuery plugin for complex animations, you can meet it at GitHub http://grsabreu.github.com/Animelt-Plugin/

Enjoy it!

Leran - Ruby File Organizer

Leran - Ruby File Organizer

Leran ( https://github.com/grsabreu/Leran ) é um projeto desenvolvido por mim a um tempo atrás. A sua utilidade já está altamente explicita pelo subtítulo do post.

Ele é mesmo uma mão na roda pra organizar os arquivos, criei ele porque já estava cansado de organizar manualmente (se é que eu organizava né). Se você quer tentar usar ele, let's go my friend:

 1o instale ele com o comando
$ gem install leran

$ leran /home/diretorioDosArquivosBaguncados -e

O código acima organizará os arquivos encontrados no dir /home/diretorioDosArquivosBaguncados. A opção -e serve para dizer que os arquivos serão organizados e deixados no mesmo diretório, caso você passe outro diretório os arquivos serão movidos para lá

$ leran /home/SóBagunça /home/OrganizaçãoFinalmente

Também existe a opção -d. Quando está ativada aciona o modo recursivo do Leran, ou seja, faz o Leran procurar arquivos nos subdiretórios da pasta de origem.

E é só isso pessoal.
Enjoy Leran!

sexta-feira, 31 de agosto de 2012

Script JavaScript para download de vídeos do YouTube

Ôpa! Esse script está obsoleto, eu criei um novo há um tempo. Acesse clicando aqui.

A um tempo eu vi um vídeo no YouTube e fiquei com vontade de baixá-lo, mas logo vi que as ferramentas que existem pra pode fazer isso são muito frescas demoradas e cheia de processos. Então resolvi olhar o código do vídeo e cheguei a esse script feito em JS, que me permite agora baixar qualquer vídeo rapidamente :D
javascript:var url=ytplayer.config.args['url_encoded_fmt_stream_map'],download=unescape( url.match(/(url)=[^&]+/g)[0].replace("url=","") )+'&signature='+unescape(url).match(/sig=[^&,]+/gi)[0].replace('sig=','');window.open(download);

Arraste este link para sua barra de favoritos ->  DownloadVideo

Para usar, é só entrar na página do vídeo e clicar em "DownloadVideo" na sua barra de favoritos.

Ai está ele, o script que criei. O uso é simples, existem dois jeitos de usá-lo [leia tudo!]:
1. Acesse a página do YouTube do vídeo que se quer baixar, e depois substitua a URL da barra de endereço pelo script, copie e cole. Cuidado ao copiar, às vezes os browser tiram automaticamente a parti inicial "javascript:" que é importante para que o browser entenda que é um script e deve executá-lo.
2. Certamente a maneira mais fácil, apenas arraste este link DownloadVideo para sua barra de favoritos. Depois, entre na página do vídeo no Youtube ( espere a pagina carregar ) e acesse o DownloadVideo na barra de favoritos.

OBS: Em breve vou melhorar o script para você possa também selecionar o formato do vídeo