Quem já tentou usar rails + mysql, certamente já deve ter se deparado com esta mensagem de erro.
Isso ocorre, como o próprio erro diz, porque o arquivo mysql.sock não está, realmente, na pasta tmp.
Partindo do princípio que o mysql está instalado, para corrigir este bug, basta criar um link simbólico:
sudo ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock
tags: dica, mysql, rails, ubuntu
Veja os 2 Commentários »
Para quem precisar "debugar" seus sites em outros navegadores, basta usar o Firebug Lite, um javascript que adicionado a página, faz com que uma versão simples do firebug seja executada em outros navegadores, como: Internet Explorer, Opera e Safari.
No site do firebug lite você encontra maiores detalhes.
tags: firebug, link, rapidinha
Veja os 2 Commentários »
De uns tempos pra cá venho estudando javascript e, como não gosto de estudar sem praticar, resolvi fazer um mini leitor de RSS.
Um dos problemas que me deparei foi quando precisei trazer a data em formato "amigável". A data (pubDate) do RSS segue as normas da RFC822. Traduzindo, temos uma data assim:
>>"Sun, 15 Feb 2009 05:01:34 -0200"
Para o usuário comum, este formato de data não quer dizer muita coisa. Precisei, "traduzir".
O objeto que trabalha com datas no javascript é o Date(). Este objeto possui um método chamado "parse", que recebe uma string no formato da RFC822 (pubDate) e retorna um timestamp no formato UTC.
var timestamp = Date.parse("Sun, 15 Feb 2009 05:01:34 -0200");
timestamp
>> 1234681294000
Bom, agora que temos a data no formato UTC, tudo fica mais fácil. O objeto Date() possui vários métodos para trabalhar com UTC, tais como:
- getUTCDate(), que retorna o dia de 1 a 31.
- getUTCMonth(), que retorna o mês de 0 a 11, ou seja, precisamos somar 1 para termos o mês numericamente correto ou usar assim para o caso de um array auxiliar com meses por extenso.
- getUTCFullYear(), que retorna o ano com 4 digitos
- getUTCHours(), que retorna a hora de 0 a 23.
- getUTCMinutes(), que retorna os minutos de 0 a 59
Com as funções acima em mãos, fica mais fácil fazer o resto.
var timestamp = Date.parse("Sun, 15 Feb 2009 05:01:34 -0200");
var data_brasil = new Date(timestamp);
var dia = data_brasil.getUTCDate();
var mes = data_brasil.getUTCMonth()+1;
var ano = data_brasil.getUTCFullYear();
[dia,mes,ano].join("/");
>> "15/02/2009"
Mas, ainda não está "bonito". Podemos tranformar isso em uma função.
function pubdateToBr(pubDate){
var timestamp = Date.parse(pubDate);
var data_brasil = new Date(timestamp);
var dia = data_brasil.getUTCDate();
var mes = data_brasil.getUTCMonth()+1;
var ano = data_brasil.getUTCFullYear();
return [dia,mes,ano].join("/");
}
A chamada no seu código passaria a ser:
pubdateToBr("Sun, 15 Feb 2009 05:01:34 -0200")
>> "15/02/2009"
Bom, se você veio atrás de uma função para resolver algo pontual, se quiser, já pode parar por aqui. Mas... dá para viajar mais um pouco. Podemos ter nosso próprio objeto para manipular datas.
// Criando objeto, que recebe pubDate como parametro de entrada.
function myDate(pubDate){
this.timestamp = Date.parse(pubDate); // propriedade timestamp
this.data_brasil = new Date(timestamp); // propriedade data_brasil
this.dia = this.data_brasil.getUTCDate(); // propriedade dia
this.mes = this.data_brasil.getUTCMonth()+1; // propriedade mes
this.ano = this.data_brasil.getUTCFullYear(); // propriedade ano
this.hora = this.data_brasil.getUTCHours(); // propriedade hora
this.minuto = this.data_brasil.getUTCMinutes(); // propriedade minuto
// com as propriedades acima, podemos criar várias combinações
// que podem ser uteis no futuro
this.dia_mes = function(){
// retorna "DIA/MES". Ex: 15/2. Note que temos um array com dois elementos que
// são concatenados com uma barra "/", utilizando o método "join".
return [this.dia, this.mes].join("/");
}
this.dia_mes_ano = function(){
// retorna "DIA/MES/ANO". Ex: 15/2/2009. Note que temos um array com dois elementos que
// são concatenados com uma barra "/", utilizando o método "join".
return [this.dia_mes(), this.ano].join("/");
}
this.hora_minuto = function(){
// retorna "HORA:MINUTO". Ex: 15:30. Note que temos um array com dois elementos que
// são concatenados com dois pontos ":", utilizando o método "join".
return [this.hora, this.minuto].join(":");
}
this.data_hora = function (){
// retorna "DIA/MES/ANO HORA:MINUTO". Ex: "15/2/2009 15:30". Note que temos um array com
// dois elementos que são concatenados com dois espaço em branco " ", utilizando o método "join".
return [this.dia_mes_ano(), this.hora_minuto()].join(" ");
}
}
Exemplos de utilização:
d = new myDate("Sun, 15 Feb 2009 05:01:34 -0200"); // instanciando objeto myDate
d.dia;
>> "15"
d.mes
>> "2"
d.ano
>> "2009"
d.dia_mes
>> "15/2"
d.dia_mes_ano
>> "15/2/2009"
d.hora_minuto
>> "05:01"
d.data_hora
>> "15/2/2009 05:01"
O código acima dá para ser melhorado (e como), mas seria informação demais para um post só. :)
Espero que tenha sido fácil de entender. De posse destas informações eu acho que agora fica mais simples trabalhar com as datas sem precisar ficar fazendo "split" na string.
Valeu, pessoal!
tags: data, Date, funcao, javascript, rss
Deixe seu comentário »
O FlickrFS é um sistema de arquivos virtual desenvolvido "em cima" do FUSE Filesystem que faz nada mais nada menos que montar uma "partição do Flickr" em seu computador.
Uma vez montada a partição, basta copiar as imagens para a pasta do FlickrFS em seu computador que elas aparecerão automaticamente no site.
Antes de começar
Para utilizar o FlickrFS é necessário solicitar ao Flickr sua API KEY. É através dela que você terá acesso aos recursos do Flickr utilizando o FlickrFS.
Como faz? (Ubuntu)
Para instalar, será preciso baixar os módulos do Fuse, biblioteca python e o Imagemagic. No o Ubuntu é bastante simples, basta digitar:
$ sudo apt-get install python2.4 libfuse2 fuse-utils python2.4-fuse Imagemagick
Permissões
Após instalação dos módulos, será necessário configurar a permissão nas pastas do Fuse.
$ sudo modprobe fuse
$ sudo chmod 755 /usr/bin/fusermount
$ sudo chmod u+s /usr/bin/fusermount
$ sudo chmod 666 /dev/fuse
Download
1 - Copie o FlickrFS para o seu computador
2 - Descompacte em uma pasta conhecida, no meu caso coloquei em ~/flickrfs.
Preparando o terreno:
Crie uma pasta chamada .flickrfs no seu home.
$ mkdir ~/.flickrfs
Crie um arquivo chamado config.txt com o conteúdo abaixo:
[configuration]
browser:/usr/bin/firefox
image.size:1024x768
sets.sync.int:300
stream.sync.int:300
Abra o arquivo chamado flickrfs.py e edite o trecho como o abaixo, substituindo pelos seus dados:
# flickr auth information
flickrAPIKey = "Flickr API KEY"
flickrSecret = "SEU CODIGO SECRETO"
browserName = "/usr/bin/firefox" # path do seu navegador
Verifique se o Fuse foi carregado:
$ lsmod | grep -i fuse
Se não tiver resposta, carregue manualmente:
$ sudo modprobe fuse
Montando pela primeira vez
Crie uma pasta para guardar os dados do flickr.
$ mkdir nome_da_pasta
Pedindo autorização ao flickr:
$ python flickrfs.py nome_da_pasta
Na primeira vez que o processo for realizado, abirá uma janela do mozilla firefox pedindo para você "entrar" no Flickr. Digite seu login/senha. Na tela seguinte, confirme sua necessidade de utilizar o FlickrFS e pronto. Autorizado.
Feche a janela e aguarde um pouco, enquanto é feita a "mágica".
Veja como fica a estrutura de pastas :
$ ls -l
total 1
drwxr-xr-x 2 joseluizcoe joseluizcoe 1 2006-07-25 22:34 sets
drwxr-xr-x 4 joseluizcoe joseluizcoe 1 2006-07-25 22:31 tags
Facilitando
Para facilitar minha vida, criei um arquivo chamado install.sh dentro da pasta que estão os fontes do FlickrFS (no meu caso ~/flickrfs) com os comandos para montar o sistema de arquivo, como mostrado abaixo:
sudo modprobe fuse
sudo python flickrfs.py NOME_DA_PASTA
Criado o arquivo, setando as permissões:
$ chmod 755 ~/flickrfs/install.sh
Agora basta digitar ./install.sh que a mágica acontece.
Veja as fotos
Veja as fotos que enviadas utilizando o FlickrFS.
tags: comofaz, flickr, fusefs, Linux
Veja os 3 Commentários »
Agluns plugins para firefox sem os quais eu não vivo sem. Talvez sejam uteis para você também:
- Firebug - Permite debugar javascript, css e cia. limitada.
- Webdeveloper - Um leque de ferramentas para desenvolvedores de interfaces.
- Stylish - Permite usar CSS personalizadas para sites em geral.
- Screengrab - Salva screenshot da tela ou da página que está sendo acessada.
- del.icio.us Post - Posta link direto para o del.icio.us
- Colorzilla - Utilizado para “pegar” o RGB de uma determinada cor (selecionada com o conta-gotas).
- Html Validator
- Download Them All - Faz download de todos links de uma pagina (conforme formatos pre-selecionados)
- Mouse Gestures - Atalhos para diversas ações usando o mouse
- Measure It - Adiciona uma régua. Importante para verificar o alinhamento dos elementos.
Depois me diz o que achou.
Valeu!
tags: plugins firefox
Deixe seu comentário »
Resolvi atualizar o wordpress para a versão 2.7 (lançada em 10/12). A impressão que tive é que os designers ganharam um Mac para brincar e resolveram colocar o sistema com a cara da Apple (eu disse cara, não facilidade de uso)... É impressionante como a ferramenta influencia nesse caso. Lembra quando lançaram o Flash e "todos" os sites tinham uma animação antes de entrar? Estou vendo isso acontecer de novo.
Em termos de navegação, andaram para trás. O menu, com poucas opções, deixou de ser horizontal para ser vertical, ou seja, dá-lhe ginástica de mouse para cima e para baixo para ter acesso às opções. Sem falar que o espaço para edição em uma tela de 800x600, por exemplo, ficou impraticável.
Se empolgaram em querer deixar a cara mais parecida com o sistema da Apple e, a meu ver, perderam um pouco a personalidade.
Fora isso, ficou legal. :)
tags: rápidas, wordpress
Veja os 3 Commentários »

Já faz um (pouquinho de) tempo que venho utilizando o iconfinder, site buscador de ícones, uma vez que sou um inútil quando o assunto é desenhar. Descobri este site assistindo um vídeo no Youtube.
O interessante do iconfinder é a interação com o usuário. Conforme você digita uma palavra-chave para pesquisar ele já vai sugerindo algo que existe em sua base de dados. No resuldado da busca, você pode optar pelas dimensões do ícone, por exemplo: 12x12, 16x16, ..., 120x120. Outra opção interessante é o "search clowd", onde você pode conferir o que as outras pessoas estão procurando - para quem gosta de fofocar é um prato cheio. :)
Enfim, se tem uma coisa que todo programador sempre sonhou em ter de "pronta entrega" é o tal do ícone, portanto, usem o iconfinder, mas lembre-se: ele não é a salvação da lavoura. Uma ferramenta mal utilizada, principalmente quando o assunto é design, pode ser um tiro no pé. Tenha sempre alguém que realmente entenda do assunto por perto.
Informação parada não enche a Internet. Vamos postar! :)
tags:
Veja os 5 Commentários »
Para os que insistem em citar o wordpress apenas como "gerenciador de blog", segue uma listinha, publicada na comunidade brasileira de wordpress (no orkut), para ver se acabam com essa idéia (limitada). Todos os sites abaixo são gerenciados pelo wordpress:
Judão
http://www.judao.com.br/
Antes de la Fama
http://www.antesdelafama.com/
CineXcepcion
http://www.cinexcepcion.com/
Clutch Magazine
http://www.clutchmagonline.com/
Destination Biak
http://destinationbiak.net/
Format Magazine
http://formatmag.com/
Giant Magazine
http://www.giantmag.com/
Hellbiscuit
http://www.hellbiscuit.com/
Kineda
http://www.kineda.com/
Pingmag
http://www.pingmag.jp/
Sambenedetto Oggi
http://www.sambenedettoggi.it/
Smashing Magazine
http://www.smashingmagazine.com/
Split Magazine
http://split-magazine.com/
The Social Justice
http://justice.anglican.org.nz/
We The Voices
http://wethevoices.com/
XXL Magazine
http://www.xxlmag.com/
Se você souber algum outro, deixe um comentário.
tags:
1 Comentário »
O que você faria se tivesse acesso aos textos da constituição brasileira e pudesse alterar as leis sem pedir autorização a ninguém?
É com essa proposta "tentadora" que o Frederick Van Amstel, editor do website Usabilidoido, criou a Assembléia Constitwiki, um wiki (site colaborativo cujo conteúdo pode ser editaro por qualquer internauta) com o objetivo de estimular a "discussão da Constituição brasileira".

O website, no formato de Wiki (como o wikipedia), contém todos os textos da constituição e, ao lado de cada Artigo, existe um link "editar" que dá ao internauta o poder de ser um "parlamentar" e alterar alguma "coisinha" para se prevalecer. A vantagem é que no caso da "nova constituição", não existe a necessidade de pagar mensalão a ninguém :)
Divirta-se e volte aqui para me dizer o que você sugeriu para a nova constituição brasileira.
(O que vai ter de "velhinho" liberando os bingos... :P)
IMPORTANTE: A Assembléia Constitwiki não é um site oficial do governo. Se você chegou até aqui através de um site de busca à procura da constituição em vigor,
clique aqui e seja feliz.
tags:
Veja os 9 Commentários »
Interessante este tópico da lista arqHp.
Copiar: http://www.yahoo.com/
Colar: http://www.aol.com/?optin=beta3
E ai? Quem veio primeiro? O ovo ou a galinha? :)
tags:
Veja os 4 Commentários »
No mundo da "organização das finanças" eu já vi de tudo. Desde programas de 300 Megabytes com chave, lincença de 30 dias a sharewares, passando por planilha no excel, etc. Mas o que eu indico não é bem um software, mas sim um arquivo HTML que usa Javascript e CSS para organizar as finanças denominado MoneyLog, criado pelo Aurélio.
Para "instalar" é bem simples basta acessar este endereço e salvar o arquivo html para o seu computador (arquivo->salvar como).
Para utilizar o script, basta abrir o bloco de notas e substituir as ultimas linhas do arquivo conforme exemplo que já vem junto. Para ver o resultado, basta abrir o arquivo no seu navegador.
Divirta-se! :)
tags:
Veja os 11 Commentários »
Para os malucos por Linux, telinhas pretas e Fotografia, existe uma maravilha chamada FlickrFS.
O FlickrFS é um sistema de arquivos virtual desenvolvido "em cima" do FUSE Filesystem que faz nada mais nada menos que montar uma "partição do Flickr" em seu computador.
Uma vez montada a partição, basta copiar as imagens para a pasta do FlickrFS e pronto, aparece automaticamente no site.
Se interessou? Veja o tutorial na área de dicas (meu wiki pessoal).
tags:
Veja os 4 Commentários »