Num artigo anterior eu já havia descrito os passos de como sincronizar o Nokia 2630 com o Evolution. Como eu estava usando uma versão antiga do Ubuntu (8.04, se não me engano), alguns pacotes estavam diferentes, mas uns comentários no blog explicaram as mudanças.
Recentemente adquiri o HTC Touch com Windows Mobile 6.1 e imediatamente busquei formas de sincronizar com o Linux. Como já estava “treinado” pelas minhas tentativas anteriores com o 2630, não achei grandes dificuldades com esse Smartphone, pelo contrário, percebi que é até mais fácil.
Adicionando o repositório do SynCE
- Certifique-se que tem algum usuário criado no Evolution (programa de e-mails padrão do GNOME). Se não tiver, basta abrir o programa pela primeira vez e seguir os passos. Não precisa configurar um e-mail válido com servidor e tudo mais, será necessário apenas o usuário.
- Digite “sudo gedit /etc/apt/sources.list” e adicione a linha: “deb http://ppa.launchpad.net/synce/ubuntu jaunty main” (se for o caso da sua distribuição ser a Ubuntu Jaunty. Caso contrário, siga a seguinte lógica: “deb http://ppa.launchpad.net/synce/ubuntu VERSÃO main“. Salve e feche o arquivo.
- Adicione a chave pública. Copie o texto abaixo criando um arquivo e salvando com o nome “synce.key” na sua área de trabalho.
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: SKS 1.1.0 mI0ESXQ6XAEEAOtHMAT/drqMvyLjUEZBXdhrZWH1JUnjp2jr/LrZlZiQTgb+KL0bEjh5fAvB e1B1d0ewfRcosFiCLudk303yLv7SIB93YaM8u2k9/PhDtgRmoE379AzDWPAln5snZ8EnvN5u FzOIoqVfptdMHQfHKr8ZNUMOI6r7Zh7iCFpg2JGVABEBAAG0F0xhdW5jaHBhZCBQUEEgZm9y IFN5bkNFiLUEEwECACAFAkl0OlwCGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIXgAAKCRCxUvBC 0kbCXXaEA/dCubeqDKc6km37meBlXOkO9+AcZRh3zJLcbrFicze+Apdijue34MJxo+nlkwCI Ayf2mHLbhD4+cKMzUp4n2ktKDf91dikcYmQyts17vN9wSM8RRNaKnZA0gQWSaNuDOJbkegQh 7tgpfzVHEvITL6dgsZcXz6zmUdrhC6nhHF4O =Yrhm -----END PGP PUBLIC KEY BLOCK-----
- Importe a chave para o Synaptic: Sistema > Administração > Gerenciador de pacotes Synaptic > Configurações > Repositórios > Autenticação > Importar arquivo chave
- Selecione o arquivo “synce.key” na área de trabalho e clique em “OK”.
- Abra o terminal e digite: “sudo apt-get update“
Até aqui você adicionou o repositório de arquivos do SynCE no seu sistema. O SynCE é o programa que fará a sincronização dos arquivos e dados do Windows Mobile com o Linux.
Acessando os arquivos do aparelho
- Digite “sudo apt-get install synce-hal synce-gnomevfs synce-gvfs synce-trayicon librra-tools librapi2-tools synce-sync-engine” e reinicie o Nautilus (melhor reiniciar o sistema todo).
- Conecte o Smartphone na entrada de USB.
- Entre no Nautilus (gerenciador de arquivos do GNOME) e digite “synce:///” na barra de “Localização”. Uma unidade chamada “Mobile Device” será mapeada e lá você terá total acesso aos arquivos contidos no aparelho.
Sincronizando agenda e contatos com o Evolution
- Digite “sudo apt-get install multisync-tools opensync-plugin-evolution opensync-plugin-synce multisync0.90“
- Conecte o Smartphone na entrada de USB. Um ícone de um smartphone irá aparecer ao lado do reloginho.
- Clique com o botão direito no ícone do reloginho e selecione: Pocket PC > View device status
- Crie um novo registro de dispositivo clicando em “Create” na aba “Partner”. Digite um nome e quais campos você deseja sincronizar com o Desktop.
- Abra o Multisync clicando em: Aplicativos > Acessórios > Multisync-gui
- Clique em “Adicionar” e dê um nome ao dispositivo (pode ser “celular”, “mobile”, “seu nome”)
- Clique em “Editar”. Na janela que aparecer, clique em “Add member” e selecione “Plugin to syncronize with Windows Mobile 5 and later devices
- Adicione um novo membro clicando novamente em “Add member” e selecionando “Evolution 2.x”
- Feche a janela “Editar” e clique em “Atualizar”.
Pronto, agora você acabou de sincronizar os dados do celular com o computador. Se houver algum conflito de dados (alteração em alguma das partes) ele irá perguntar qual versão você quer que sobrescreva a outra. Sempre que quiser sincronziar, basta abrir o Multisync e clicar em atualizar.
Filed under: Informática | 9 Comments
Tags: celular, evolution, HTC Touch, linux, mobile, multisync, opensync, sincronizar, smartphone, sync, ubuntu, Wndows Mobile

Addictive Drums
Há um tempo postei uma dica no blog Linux Vst Compatibility indicando os passos para instalar o Addictive Drums no Linux.
O Addictive Drums é um fantástico VSTi (instrumento virtual) de bateria que pode ser utilizado com um teclado ou pads de bateria eletrônica. Para mim é o drum kit mais convincente que encontrei, daí o meu esforço em consegui-lo fazer rodar no Linux.
Primeiramente você precisará ter o DSSI-VST instalado. Demonstrei os passos em outro artigo do meu blog: Compilando o DSSI-VST ou então baixando um pacote de instalação para o Ubuntu: Instalando o DSSI-VST facilmente com um .deb. Em seguida, complete os seguintes passos:
- Instale o Addictive Drums completo.
- Na pasta .wine/Program Files/XLN Audio/, entre em “Addictive Drums” e copie as pastas “Sound Data” e “Factory Presets” para algum lugar temporário.
- Copie os arquivos “GUIData.xpak” e “Resources.xpak” para o mesmo lugar.
- Copie o arquivo .wine/Program Files/VST Plugins/Addictive Drums.dll para o mesmo lugar.
- Desinstale o Addictive Drums completo
…agora, baixe o Addictive Drums Demo no site da XLN Audio e…
- Instale Addictive Drums Demo
- Na pasta .wine/Program Files/XLN Audio/, entre em “Addictive Drums Demo” e apague (ou, se preferir, crie um backup antes, para então remover) as pastas “Sound Data” e “Factory Presets” e os arquivos “GUI Data.xpak” e “Resources.xpak”. Então substitua pelos arquivos que você havia salvado na pasta temporária anteriormente.
- Substitua o arquivo “Addictive Drums.dll” na pasta “VST Plugins” também.
- Execute o Addictive Drums no DSSI-VST digitando “vsthost Addictive Drums.dll” na shell.
Se não carregar nenhum preset assim que carregar, você precisará fazer isso manualmente. Clique na barra de preset (no topo, à esquerda) e escolha algum preset. É isso! Os arquivos da bateria irão ser carregados.
Fiz isso no meu Ubuntu 9.04 com o DSSI-VST 0.8.
Em inglês / In english
If you give (buy) the Addictive Drums (not demo), you will have problems to load in Linux. To solve this, I find a solution:
- Install the Addictive Drums full package
- In .wine/Program Files/XLN Audio/ path, go to “Addictive Drums” path and copy “Sound Data” and “Factory Presets” paths in a temporary place.
- Copy “GUIData.xpak” and “Resources.xpak” to same place
- Copy .wine/Program Files/VST Plugins/Addictive Drums.dll to same place.
- Unistall Addictive Drums full package.
now… download the Demo in XLN Audio site.
- Install the Addictive Drums Demo
- In .wine/Program Files/XLN Audio/ path, go to “Addictive Drums Demo” and remove (or create a backup and remove) the “Sound Data” and “Factory Presets” directories and “GUI Data.xpak” and “Resources.xpak” and replace to files in temporary place that you was saved.
- Replace the “Addictive Drums.dll” file in “VST Plugins” directory too.
- Run Addictive Drums in DSSI-VST using “vsthost Addictive Drums.dll”
If dont load a preset on startup, you need load manualy. Just click in preset bar (top, left) and choose a preset. Thats it! The drum files will be opened.
In my Ubuntu 9.04 with DSSI-VST 0.8 (compiled by me).
Filed under: Informática | Leave a Comment
Tags: addictive drums, dssi, dssi-vst, ez drummer, instrumentos virtuais, linux, virtual instruments, vst, vsti
Anteriormente eu já havia publicado um artigo ensinando como compilar o DSSI-VST no Linux. Como eu tinha feito o passo-a-passo com determinada versão dos pacotes, ocorreu que algumas pessoas tiveram dificuldades de compilar seguindo as instruções. Resolvi, portanto, compilar e criar um pacote .deb para disponibilizar a todos.
Vale ressaltar que o pacote criado foi o dssi-vst0.8 no Ubuntu 9.04. Se você está querendo utilizar em outra versão do Ubuntu ou no Debian, ou em outra distribuição, não posso garantir que vá funcionar, apesar de crer que outras versões do Ubuntu não irão divergir ou dificultar a instalação.
Basta baixar e clicar duas vezes para começar a instalação.
Você pode baixar o arquivo .deb no seguinte link: http://www.4shared.com/file/130990149/7b7c979e/dssi-vst_08-1_i386.html
Para compilar para a sua distribuição, siga os seguintes passos: http://henriquegogo.wordpress.com/2008/05/27/compilando-o-dssi-vst/
Filed under: Informática | 3 Comments
Tags: dssi, dssi-vst, instrumentos virtuais, virtual instruments, vst, vsthost, vsti
Disseram-me IDE! Então eu VIM
Existem muitos artigos e flamewars (principalmente entre vim x emacs) sobre “a melhor IDE para se desenvolver qualquer coisa”. Não vou dizer qual a melhor, até mesmo porque a melhor é a que você gostar mais, mas nesse artigo vou tratar de um programa bem rico e customizável: o VIM.
De início, utilizar o vim parece um “parto”. Tudo é comando, as teclas de atalho mais conhecidas não funcionam, aquela interface simples chega a dar repulsa. Felizmente, isso passa. Nada do que um bom :help para aprender a mexer mo bichinho. Seguir o tutorial padrão do sistema é uma ótima ideia para se aprender o básico, e, daí, aproveitar o máximo que esse editor de textos pode proporcionar.
Uma das características principais do vim é sua customização. Praticamente tudo é customizável, e até programável. A possibilidade de fazer plugins e outras coisas mais como “syntax highlight” vão incrementando sua área de edição a ponto de deixar da maneira que você quiser.
Já utilizo o vim há um tempo, inicialmente para montar HTML + CSS e atualmente para programar em Rails. Praticamente abandonei o Eclipse e o Aptana para utilizar somente o vim. Para chegar a tal ponto de “migrar” de IDE, tive que passar por um relativo processo de customização do editor para que ele ficasse “no ponto”. Existe um arquivo chamado “.vimrc” na pasta raiz da aplicação. É lá que você vai aplicar as alterações propostas nesse artigo.
O arquivo que disponibilizo é uma versão customizada do vim criada por mim, e está todo comentado.
Inicialmente, recomendo a instalação dos seguintes plugins:
- NERDTree :: Lista os arquivos em árvore
- colorsel :: Seleciona uma cor hexadecimal
- html_autoclosetag :: Fecha as tags HTML com seu “par”
- ir_black :: Color scheme elegante e organizado
Depois, instale um corretor ortográfico da língua portuguesa. Para isso você precisará ter a versão 7 ou superior do vim.
- Faça o download do dicionário
- Descompacte o arquivo
- No vim, digite o comando ‘:mkspell pt /caminho/do/descompactamento/pt_BR’
- Copie o arquivo gerado para a pasta ~/.vim/spell/
- Ative a correção: ‘:set spell’
- Escolha o dicionário: ‘:set spelllang=pt’
Pronto, esses são os plugins que eu recomendo para a utilização do vim e transformá-lo numa verdadeira IDE, mas não basta só isso. Vamos agora para o principal: o arquivo de configuração .vimrc. Eu configurei um arquivo que pode ser utilizado tanto no vim para windows como na versão linux. Peguei um apanhado de configurações da internet e personalizei ao meu gosto. Acredito que provavelmente seja do gosto da maioria.
Se você utiliza o vim no Windows, adicione seguinte linha no início do arquivo:
source $VIMRUNTIME/vimrc_example.vim
Abaixo, o arquivo comentado e explicado.
"""""""""""""""""""""""""""""""""""
" CONFIGURAÇÕES PADRONIZADAS GOGS "
"""""""""""""""""""""""""""""""""""
set number " Numera as linhas
set nobackup " Não salva arquivos de backup~
set wildmode=longest,list " Completa o comando com TAB igual o bash
set ignorecase " Ignora o case sensitive nas buscas
set smartcase " Se tiver alguma letra maiúscula, ativa o case sensitive
filetype plugin indent on " Detecta o tipo de arquivo e já aplica a indentação
set smartindent " Auto-indenta
"set expandtab " Identa com espaços
set tabstop=2 " Quantidade de espaços por identação
set shiftwidth=2 " Quantidade de espaços da auto-indentação
colorscheme ir_black " Escolhe o tema
" Corretor ortográfico
set spelllang=pt " Escolhe o dicionário
" Atalhos para plugins
map <F5> :NERDTree<CR>
map <F6> :ColorSel<CR>
map <F7> :set spell<CR>
" Cria e escolhe as abas
map <C-t> :tabnew<CR>
map <C-TAB> :tabnext<CR>
map <C-S-TAB> :tabprevious<CR>
" Mover texto com os TABs
vnoremap < <gv
vnoremap > >gv
map <TAB> >
map <S-TAB> <
" Auto-fecha parênteses, chaves etc.
inoremap { {}<LEFT>
inoremap ( ()<LEFT>
inoremap [ []<LEFT>
inoremap " ""<LEFT>
inoremap ' ''<LEFT>
" Auto-completa segundo a sintaxe, caso não haja dicionário omnicomplete
setlocal omnifunc=syntaxcomplete#Complete
" Função que usa o omnicomplete apenas com o TAB
function! CleverTab()
if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
return "\<Tab>"
elseif exists('&omnifunc') && &omnifunc != ''
return "\<C-X>\<C-O>"
else
return "\<Tab>"
endif
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
""""""""""""""""""""""""
" Menus personalizados "
""""""""""""""""""""""""
" SVN
menu SVN.Status :!svn status<CR>
menu SVN.-SEP1- :<Nop>
menu SVN.Update :!svn update<CR>
menu SVN.Commit :!svn commit -m=" "<CR>
menu SVN.-SEP2- :<Nop>
menu SVN.Ajuda :!svn help<CR>
"""""""""""""""""""""""""""""
" Atalhos de teclado comuns "
"""""""""""""""""""""""""""""
" Permite selecionar com SHIFT + SETA como no Windows
set selectmode=mouse,key
set mousemodel=popup
set keymodel=startsel,stopsel
set selection=exclusive
" Backspace no modo de visão apaga a seleção
vnoremap <BS> d
" CTRL-X e SHIFT-Del corta
vnoremap <C-X> "+x
vnoremap <S-Del> "+x
" CTRL-C e CTRL-Insert copia
vnoremap <C-C> "+y
vnoremap <C-Insert> "+y
" CTRL-V e SHIFT-Insert cola
map <C-V> "+gP
map <S-Insert> "+gP
imap <C-V> <C-R>+
imap <S-Insert> <C-R>+
cmap <C-V> <C-R>+
cmap <S-Insert> <C-R>+
" CTRL-S salva
noremap <C-S> :update<CR>
vnoremap <C-S> <C-C>:update<CR>
inoremap <C-S> <C-O>:update<CR>
" CTRL-Z desfaz
noremap <C-Z> u
inoremap <C-Z> <C-O>u
" CTRL-Y refaz
noremap <C-Y> <C-R>
inoremap <C-Y> <C-O><C-R>
" CTRL-A seleciona tudo
noremap <C-A> gggH<C-O>G
inoremap <C-A> <C-O>gg<C-O>gH<C-O>G
cnoremap <C-A> <C-C>gggH<C-O>G
onoremap <C-A> <C-C>gggH<C-O>G
snoremap <C-A> <C-C>gggH<C-O>G
xnoremap <C-A> <C-C>ggVG
" CTRL-F4 fecha a janela
noremap <C-F4> <C-W>c
inoremap <C-F4> <C-O><C-W>c
cnoremap <C-F4> <C-C><C-W>c
onoremap <C-F4> <C-C><C-W>c
" Plugins recomendados:
" - NERDTree :: Lista os arquivos em árvore
" - colorsel :: Seleciona uma cor hexadecimal
" - ir_black :: Color scheme bem bonito
" Para utilizar o SVN, basta usar o comando que executa comandos externos,
" como por exemplo: ':!svn up'
" Corretor ortográfico em português brasileiro:
" - Faça o download do dicionário em: http://www.broffice.org/verortografico/baixar
" - Descompacte o arquivo
" - No vim, digite o comando ':mkspell pt pt_BR'
" - Copie o arquivo gerado para a pasta ~/.vim/spell/
" - Ative a correção: ':set spell'
" - Escolha o dicionário: ':set spelllang=pt'
Filed under: Informática | 20 Comments
Tags: addons, aptana, autocomplete, editor de textos, emacs, gvim, ide, netbeans, plugins, shellscript, vim
Mongrel no lugar de Webrick
Vou ser bem direto: Webrick não é uma opção para servidor Ruby on Rails. Nem para testes.
Recentemente trabalhei no desenvolvimento de um sistema de indicações de oportunidades de negócios. O sistema era bem simples, e o desenvolvimento só não foi mais rápido pois foi o primeiro projeto adotado a ser desenvolvido em Ruby on Rails pela empresa. Como já citei num artigo anterior, “as primeiras semanas foram doloridas. Pensar tudo de trás para frente, uma nova linguagem, e tudo o mais que uma migração assim nos permite sofrer, pode ser um pouco dolorido, mas vale a pena.”
Uma das coisas que passei mais sufoco foi, com certeza, a dificuldade de configurar um servidor de entrega. Diversos fatores entraram em questão, a própria decisão de qual máquina seria escolhida, a criação da máquina virtual (já haviam outras máquinas virtuais instaladas) e outras particularidades que não dizem respeito ao RoR.
Se tratava de um servidor simples, que seria utilizado apenas para mostrar aos clientes o sistema funcionando e permitir que eles pudessem “brincar” um pouco com o sistema. Pensei logo: “ora, já usamos o Webrick para testes locais, logo não encontraremos problemas.” Mas não foi bem assim.
Rodar o Webrick localmente pode fazer tudo o que você pretende, mas tente rodar de um IP remoto. Pensando bem, tente rodar utilizando seu póprio IP da rede (não vale 127.0.0.1). No caso do nosso sistema, o carregamento de uma página simples de login durava cerca de 3 min. Quando entrava, enfim, no sistema, além da demora, alguns elementos (imagens) não eram carregadas. O Webrick era a grande dor de cabeça.
Parece besteira de iniciante. E realmente era, mas naquele momento eu simplesmente não poderia ter perdido tanto tempo com isso.
A segunda tentativa que nos parecia óbvia foi instalar o Passenger: um mod_rails para o Apache que supostamente seria a opção mais viável. A instalação não foi tão diferente quanto qualquer mod para Apache, e suas configurações. O problema foi a inconstância do pacote e das gems. Primeiro que é quase impossível desinstalar a gem. Quando assim o fiz, simplesmente a gem continuava lá na “gem list”, mesmo desinstalada. Depois de formatarmos a máquina virtual e instalarmos tudo do zero novamente, funcionou perfeitamente. Nos demos por satisfeitos.
No dia seguinte, sem maior explicação ou alguém ter sequer acesso ao servidor, o passenger não funciona mais. E isso já era véspera da entrega do sistema. Algo assim não poderia falhar. Não era uma opção.
A essa altura, depois de muitas tentativas de correção, já havíamos desistido de entregar através do servidor de testes. Continuamos o desenvolvimento do sistema, pois alguns tópicos precisavam ser finalizados.
Dia seguinte, dia de entrega. Lendo alguns artigos em blogs que tratavam de Rails, me veio a possibilidade de testar o Mongrel. Fui meio sem esperança, pensando se tratar de algo “como o Webrick”, que serviria apenas para testes locais. A instalação é bastante simples, não passando de um “gem install mongrel”. Para rodar, bastava digitar “mongrel_rails start”. Nenhuma configuração foi necessária, nenhuma palha foi mexida, nada mais foi feito. Simplesmente duas linhas e lá estava meu servidor de testes funcionando e rodando a aplicação perfeitamente.
Em 2 min concluí uma operação que me custou cerca de 20 horas sem sucesso. Mais tarde, ao me aprofundar e ler casos de uso, descobri que o mesmo servidor Mongrel é o servidor Rails utilizado pelo Twitter. Sem sombra de dúvidas, poderia ser facilmente utilizado no servidor final, de produção.
Filed under: Informática | 1 Comment
Tags: http server, mongrel, passenger, rails, ror, ruby, ruby on rails, webrick
Entradas recentes
- Sincronizar Windows Mobile com o Linux
- Addictive Drums no Linux com DSSI-VST
- Instalando o DSSI-VST facilmente com um .deb
- Disseram-me IDE! Então eu VIM
- Mongrel no lugar de Webrick
- Programação orientada a layout
- Maré de Agilidade em Fortaleza
- CodeIgniter + Ruby on Rails + Django
- A internet e o usuário
- Blender Day Fortaleza – Um resumo
- Novo tempo Geek









