Browsed by
Month: September 2010

Vídeo da minha apresentação no encontro do Guru-SP #11

Vídeo da minha apresentação no encontro do Guru-SP #11

Como eu expliquei neste post, mensalmente o Grupo de Usuários Ruby de SP (Guru-SP) organizam encontros em São Paulo, onde os integrantes se reunem pra discutir tecnologias e novidades do mundo Ruby.

O último encontro aconteceu sábado (18/09/2010) com uma série de 17 palestras de 10 minutos. Eu fiz uma pequena apresentação falando sobre gerência de estados de objetos Ruby utilizando a gem state_machine.

Seguem o vídeo da minha apresentação:


Os slides podem ser vistos aqui: http://blog.lucascaton.com.br/?p=491

Outros vídeos do grupo (inclusive desse encontro) podem ser vistos aqui!

Parabens a todos e valeu Guru-SP!

Lá vem mais um Windows (ou “Motivos pelos quais não volto pra Matrix”)

Lá vem mais um Windows (ou “Motivos pelos quais não volto pra Matrix”)

Acabei de receber um vídeo de um amigo chamado “Windows 8 Concept”. Segue o vídeo abaixo e logo após alguns motivos (pessoais!) pelos quais eu não volto pra “Matrix”.

Antes que me atirem pedras, quero deixar claro duas coisas: primeiro que essa é a minha opnião. Você tem todo o direito de não concordar (dê sua opnião nos comentários :)). Segundo, que eu – sinceramente – não sei se esse vídeo é ou não oficial. Mas este não é o ponto. As coisas que vou falar se aplicam inclusive ao Windows Seven.

Ok, o Windows 8 e até mesmo o 7 podem ter recursos de usabilidades interessantes. Eu adimito isso. Mas o que me desagrada é o fato de existirem coisas definitivamente mais importantes do que uma boa interface. Boa usabilidade e interface bonita são coisas boas… mas desde que o funcionamento geral também seja bom (OSX é um bom exemplo). Exitem funcionalidades absurdas que ele deveria fazer e até hoje não faz (por exemplo ter um terminal decente, através do qual você possa realmente ter controle total sobre sua máquina).

Novamente: não sei se esse vídeo é uma versão oficial, mas se for, tem algumas coisas copiadas do Mac OSX, por exemplo o preview dos documentos (assim como ela copiou o Dock no Seven). A parte irônica disso é que me lembro de propagandas do Windows (pouco antes do Seven) que diziam: “O Mac só é bonitinho… você precisa de um S.O. de verdade”… e agora fazem exatamente o contrário: enchem de “coisinhas bonitinhas” e esquecem do resto…

Não é ser xiita (e cego)… só que o Janelas não me “pega” mais!

Slides da minha apresentação no encontro do Guru-SP #11

Slides da minha apresentação no encontro do Guru-SP #11

Mensalmente o Grupo de Usuários Ruby de SP (Guru-SP) organizam encontros em São Paulo, onde os integrantes se reunem pra discutir tecnologias e novidades do mundo Ruby.

O último encontro aconteceu sábado (18/09/2010) com uma série de 17 palestras de 10 minutos. Eu fiz uma pequena apresentação falando sobre gerência de estados de objetos Ruby utilizando a gem state_machine.

Seguem os slides da minha apresentação:



Parabens a todos e valeu Guru-SP!

Pequenas soluções usando linha de comandos – III (Script de backup)

Pequenas soluções usando linha de comandos – III (Script de backup)

Nesse post vou compartilhar um script simples e eficiente pra fazer backup no Linux, usando o Rsync.

Atenção! Se você estiver fazendo backup numa partição FAT, recomendo este post do Leandro Lazarte.

Teremos dois diretórios: um diretório “fonte” contendo os arquivos os quais devem ser feito backup e outro “destino” que é onde a cópia será realizada. O Rsync é um software mais de sincronização do que de backup propriamente dito. Isso signfica que as alterações que você fizer no diretório “fonte” – ao rodar o Rsync – se refletirá no diretório “destino”, incluindo criação, alteraração ou exclusão de arquivos e pastas.

O script é este:

#! /bin/bash
#---------------------------------------
# Script que realiza backup automatizado
# by Lucas Catón
#---------------------------------------

SOURCE_DIRECTORY=/home/caton/
DESTINATION_DIRECTORY=caton@10.10.10.2:/home/anyuser/bkp

sudo rsync -Cavz --progress --partial --delete --numeric-ids --exclude="*.gvfs" $SOURCE_DIRECTORY $DESTINATION_DIRECTORY

clear
echo Backup realizado com sucesso.
echo

Explicando: as variáveis SOURCE_DIRECTORY e DESTINATION_DIRECTORY são apenas pra deixar o script mais organizado e fácil pra alterar os diretórios. Note que o segundo diretório que eu coloquei é um diretório remoto, acessado via protocolo ssh. A sintaxe é simples: usuário@ip:diretório.

Sobre os parametros utilizados (progress, partial, etc), vale a pena dar uma olhada no man pra entender e customizar, de forma que te atenda melhor. Por exemplo: comigo, às vezes dá pau em arquivos .gvfs, que ficam no /home, então eu mandei ignorá-los.

Se for interessante pra você, é possível salvar um log de cada backup:

#! /bin/bash
#---------------------------------------
# Script que realiza backup automatizado
# by Lucas Catón
#---------------------------------------

SOURCE_DIRECTORY=/home/caton/
DESTINATION_DIRECTORY=caton@10.10.10.2:/home/anyuser/bkp

LOG_FILE=~/logs/bkp_"$(date "+%F")".log
touch $LOG_FILE

sudo rsync -Cavz --progress --partial --delete --numeric-ids --exclude="*.gvfs" $SOURCE_DIRECTORY $DESTINATION_DIRECTORY > $LOG_FILE

clear
echo Backup realizado com sucesso.
echo O log encontra-se em: $LOG_FILE
echo

Outra coisa interessante é colocar esse script no cron. Assim, de tempos em tempos ele será executado automaticamente.

Pra finalizar, uma solução alternativa. Dependendo do tipo de backup, em vez de criar um script, um simples alias no ~/.bashrc já resolve:

alias runrsync='sudo rsync -Cavz --progress --partial --delete --numeric-ids --exclude="*.gvfs" /home/caton/ caton@10.10.10.2:/home/anyuser/bkp'

Afinal, “Simplicidade é a sofisticação máxima” (Leonardo da Vinci)