Backup no Mac OS
12/10/2008 — Comente! — Tags: backup, mac, softwareFelizes são os pessimistas… porque já fizeram backup hoje! Depois do dia que o HD do meu MacBook morreu misteriosamente (sem motivo algum!), fiquei simplesmente viciado em backup. Na busca de um software perfeito, encontrei várias opções e resolvi escrrever sobre isso. No meu caso, buscava um software que fizesse backup da minha partição onde está o Leopard e que também espelhasse minha outra partição de dados, em FAT32 (sim, FAT32, acredite!).

O Time Machine resolve o problema de backup da partição do Leopard. Assim sendo, não tenho muito o que falar sobre ele, além do óbvio: USE.

O SilverKeeper é atualmente o software que estou usando para fazer backup da minha partição FAT32. É um software da Lacie, aquela marca famosa de HDs e é grátis. Além de todas essa vantagens, ele tem um log beeeem completo e dar para acompanhar, em tempo real, qual arquivo ele está copiando no momento (modo neurótico ON).

O Carbon Copy Copier é talvez o mais interessante dos softwares. Ele possui tarefas automatizadas e poderia criar uma que, ao conectar meu HD USB, executasse o backup previamente estabelecido. Só parei de usá-lo porque descobri que minha partição de destino do backup não poderia ser diferente de HFS.

O RsyncX, conforme sugerido pelo nome, é uma interface bonitinha para o Rsync. Eu estava utilizando esse software e do nada ele parou. Foi aí que o substituí pelo SilverKeeper. Mesmo assim, pode funcionar pra você.

O iBackup também é um software interessante e faz backup de uma série de coisas, como configurações dos seus aplicativos (Firefox, Adobe, por exemplo), dos seus System Preferences, além de suas pastas de usuário (Sites, Music, Movies…). Para backup de pastas, o achei bem lento.
PS: todos os softwares que uso no Mac estão no meu iUseThis.
Artigos da semana sobre Rails
28/09/2008 — Comente! — Tags: railsAndo muito sem tempo para postar, basicamente devido aos meus dois trabalhos. Essa semana vi várias coisas interessantes e abaixo um comentário para cada uma delas.
Rails Security Checklist - dicas básicas para implementar segurança em suas views, models e controllers.
Getting Started with Rails e DataMapper - estou num meio de um projeto onde cogitamos a possibilidade de substituir o ActiveRecord pelo DataMapper. Para quem não conhece a solução, é um bom start.
Meaning 400s and 500s - um rápido código abordando erros
Clone Pastie with Sinatra and DataMapper - Sinatra é um pequeno framework em Ruby bem interessante. O link levanta como fazer um app que manipula dados em um banco através do DataMapper.
ps.: quem está assinando o rss do site está recebendo meus códigos no codestacker.
Impressione todo mundo com o LiquidMac
21/09/2008 — Comente! — Tags: mac, softwareTem um Mac? Mate seu amigos (e inimigos) de inveja com o LiquidMac
Edge Rails no Windows Vista
10/09/2008 — Comente! — Tags: mysql, rails, windowsUma das mudanças do Rails 2.2 é não inclusão do bundle do MySQL, responsável por conectar seu projeto ao banco. Mês passado eu postei sobre isso e hoje, ao tentar instalar o gem do MySQL no Windows Vista de um co-worker, me deparei com um problema na DLL libmySQL.dll.
A solução encontrada foi copiar esse arquivo (geralmente em C:\Program Files\MySQL\MySQL Server 4.1\bin\) para a pasta bin do Ruby (por exemplo: C:\ruby\bin).
Que fique documentado ;)
Acelerando seu Textmate
16/08/2008 — 2 comentários — Tags: mac, rails, textmateEstou trabalhando em um projeto usando o Edge Rails. No Textmate, a tecla de atalho CMD + T é uma mão na roda para localizar e abrir qualquer arquivo, entretanto, com o Edge estando na pasta /vendor/rails, a busca pode se tornar lenta e encontrar, além dos seus arquivos, os arquivos do framework. Foi então que encontrei essa dica do Dr. Nic (sempre ele):
É possível mudar a forma default de como funciona os patterns para localizar os arquivos. Para isso, acione as preferências do software, escolha Advanced, depois Folder References e substitua, em Folder Pattern, o valor padrão, pelo seguinte:
Caso queira reverter, o valor padrão é:
Após isso, alguns diretórios não serão mais 'encontrados' e você terá uma busca mais rápida.
Ruby on Rails na WebMobile
10/08/2008 — 2 comentários — Tags: rails, webmobile
Ruby on Rails é um framework minimalista que chama cada vez mais atenção do mainstream. Dia-a-dia a comunidade avança, com encontros (Rails Summit está chegando), publicações e artigos e reportagens em revistas especializadas. E é com grande satisfação que divulgo que a WebMobile, da editora DevMedia, traz, a partir dessa edição, um micro curso apresentando as funcionalidades do RoR.
Vale a pena correr a banca e me conferir lá ;)
P.S.: Mês que vem tem Minas on Rails '08. Em breve novas informações desse evento.
Mudanças no Rails 2.2
02/08/2008 — Comente! — Tags: railsO Rails 2.2 está chegando e ao baixar o Edge para testar o novo recurso de internacionalização (uma das grandes novidades), me deparei com a primeira diferença da versão: o arquivo de conexão com o MySQL não está mais integrado ao framework. É isso o que diz o log do development.log:
Como o próprio log já sugere, é só instalar o gem, mas atenção: é preciso especificar o path do arquivo mysql_config, através do flag "--with-mysql-config". Para o Mac OS X, a instalação pode ser feita com:
e no Ubuntu, com:
Depois disso, é só correr pro abraço!
MacLimpeza Pro
20/07/2008 — 3 comentários — Tags: mac
Eu era um feliz dono de um MacBook branco acizentado até que resolvi experimentar o Limplex. Após utilizar métodos como borracha branca (trabalhoso) e algodão, sem sucesso na limpeza do MacBook, resolvi finalmente experimentar o produto que muita gente já utilizava, e que já estava em casa por quase 3 meses sem uso.
O produto, segundo o site do fabricante, é vendido em lojas como a Saraiva, Extra, Kalunga (onde comprei), entre outras. A aplicação é simples: basta usá-lo com a esponja que vem junto no kit em movimentos circulares. Depois, é só usar um pano branco macio para tirar o excesso do produto. Para limpar o display, usei algodão seco.
ps. Aproveitei e tentei limpar meu Nokia 1108, que estava amarelado. Não tive nenhum sucesso em obter o branco original.
Protegendo projetos com o .htaccess
16/07/2008 — 2 comentários — Tags: apache, htaccessO Apache pode te ajudar a proteger um projeto com seu sistema de autenticação. E isso é mais fácil do que você pensa. Para tal, crie um arquivo .htaccess com o seguinte conteúdo:
AuthGroupFile /dev/null
AuthName "Restricted Access"
AuthType Basic
<limit GET>
require valid-user
</limit>
Após isso, crie um .htpasswd com os dados de usuário e senha (atenção ao caminho do arquivo). A senha é criptografada e o conteúdo do arquivo é algo como o seguinte:
Para criptografar a senha use um dos vários serviços por aí existentes. Para proteger um projeto em Rails, a solução também funciona bem, desde que seu .htaccess esteja na pasta public de sua aplicação
Usando ApacheBench para testes: Apache/mod_rails e Nginx/mongrel
15/07/2008 — 3 comentários — Tags: apache, benchmark, railsO ApacheBench é um software do Apache usado para fazer testes de perfomance de servidores web, independente do servidor usado. Isso é muito útil para comparar o desempenho de diversas configurações, mas nem sempre pode apresentar a realidade do ambiente.
O ApacheBench é distribuído nos ambientes Linux pelo pacote apache2-utils - versões para Mac OS e Windows podem ser encontradas no site do software. Em distribuições como o Ubuntu, para instalá-lo basta um apt-get install apache2-utils (como super-usuário). A partir daí, o comando ab fica disponível em seu terminal e é só correr para o abraço!
Um teste pode ser feito com o comando:
O Flag '-n' indica o número de requisições, enquanto a opção '-c' indica a ocorrência de conexões simultâneas. A saída do comando acima é semelhante a:
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/
Benchmarking www.leonardofaria.net (be patient).....done
Server Software: Apache/2.2.8
Server Hostname: www.leonardofaria.net
Server Port: 80
Document Path: /
Document Length: 0 bytes
Concurrency Level: 5
Time taken for tests: 16.460184 seconds
Complete requests: 100
Failed requests: 0
Write errors: 0
Non-2xx responses: 100
Total transferred: 41600 bytes
HTML transferred: 0 bytes
Requests per second: 6.08 [#/sec] (mean)
Time per request: 823.009 [ms] (mean)
Time per request: 164.602 [ms] (mean, across all concurrent requests)
Transfer rate: 2.43 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 255 291 21.2 287 361
Processing: 442 506 131.1 485 1732
Waiting: 438 492 42.9 484 655
Total: 698 797 137.9 774 2040
Percentage of the requests served within a certain time (ms)
50% 774
66% 804
75% 812
80% 818
90% 878
95% 925
98% 982
99% 2040
100% 2040 (longest request)
Dezenas de possibilidades podem ser traçadas com esses testes.
Nos meus benchmarks, realizei basicamente 2 testes: a renderização do index.html default do framework e a renderização de um Time.Now do Ruby. Em ambos os testes, o desempenho do nginx + mongrel_cluster foi superior ao Apache + mod_rails. Esse teste também foi feito por aí, e com resultados semelhantes ao meu.
Desse modo, em uma balança estão Apache/mod_rails e Nginx/mongrel_cluster. De um lado, pesam a facilidade de deployment e o crescente uso em shared hosts. De outro lado pesam a rapidez do servidor e a 'dificuldade' do deployment. E aí? De que lado você vai ficar?