Categoria(s): Linux Notas Programação TI

Uma das coisas bacanas de usar Ruby é a forma como se lida com as diferentes versões da linguagem.

Em Java, até hoje nada foi retirado da linguagem, temos apenas classes e método em desuso.

Se isso não quebra a linguagem, por outro lado a torna inchada, além de amarrar um pouco evoluções mais profundas.

Em PHP, basicamente os autores não ligam e você se vira: coisas entram em desuso, outras são simplesmente retiradas, e algumas até voltam.

Em Ruby, existe o RVM (Ruby Version Manager). Com ele você apenas coloca um arquivo na pasta do projeto dizendo qual é a versão do Ruby que quer usar e pronto.

Caso essa versão do Ruby esteja instalada, ela será usada. Se não estiver, o RVM te dá o comando para instalá-la. 

Simples e prático.

A forma comum de instalá-lo e rodar um script na linha de comando. Este script irá baixar o RVM, descompactá-lo, instalá-lo e configurá-lo para o usuário atual.

Aqui alguns inconvenientes:

- você precisa sempre consultar por novas versões e atualizar manualmente;

- se você optar pelas configurações padrão, todo o RVM, todas as versões do Ruby e todas as gemas serão instaladas no diretório do seu usuário;

- e por último, se você optar por instalar o RVM globalmente, ele irá usar a pasta /usr/local/rvm, o que viola uma das convenções do Debian/Ubuntu.

Claro que se você ler o manual do RVM e os scripts de instalação, conseguirá alterar isso e também é possível colocar um script no cron para verificar atualizações.

Mas para que re-inventar a roda, se o apt já faz isso tudo para nós?

Foi com essa idéia que eu criei um pacote do RVM para Ubuntu:

- ele será instalado do mesmo modo que outros programas;

- será atualizável automaticamente;

- é instalado em folders que não sejam o /usr/local;

- por padrão é instalado globalmente, mas permite gemas locais;

- todos usuários sudoers tem permissão para instalar Rubies.

Bom, agora com o PPA e o pacotinho, mão a obra!

1. Adicione o repositório e instale o RVM

Instale o repositório, abrindo um terminal e digite os comandos abaixo:

sudo apt-add-repository -y ppa:rael-gc/rvm
sudo apt-get update
sudo apt-get install rvm

2. Configure seu Gnome Terminal

Agora vamos configurar o Gnome Terminal para que sempre que for aberto, realize um login.

Na janela do terminal, abra Editar > Preferências do Perfil, clique na aba Título e Comando e marque a opção Executar comando como shell de sessão.

Terminal Screenshot

3. Faça logout e login

Um monte de mudanças foram feitas (seu usuário agora é parte do grupo rvm, seu terminal foi configurado, alguns scripts precisam ser lidos. Pra que tudo funcione, você precisa sair e entrar novamente no sistema. Mas não apenas fechar e abrir o terminal: tem que fazer logout de verdade e entrar novamente.

4. Instale um Ruby

Agora sim estamos prontos para instalar a versão mais recente do Ruby. Abra um terminal (Ctrl+Alt+T) e digite:

rvm install ruby




Categoria(s): Jogos Linux Notas Utilidades

O Ubuntu 14.04 já vem com a última versão do driver xboxdrv, que trabalha muito bem com os controles (vulgos joysticks ou gamepads) do X360, tanto na versão com fio ou sem fio, e até mesmo joysticks da Logitech.

O problema é que o pacote que contém o driver (xboxdrv) apenas instala o driver, e não o coloca pra rodar automaticamente.

Pensando nisso, eu criei um pacote que, além de instalar corretamente o xboxdrv, cria um serviço (daemon) que o inicia automaticamente, limpa algumas configurações quebradas, e por útimo, cria um item chamado "Joysticks" no System Settings (o Painel de Controle) do Ubuntu.

Para instalar este pacote, execute no terminal:

sudo apt-add-repository -y ppa:rael-gc/ubuntu-xboxdrv
sudo apt-get update
sudo apt-get install ubuntu-xbobxdrv




Categoria(s): Linux Notas Utilidades

Se você usa um teclado internacional no Ubuntu, já deve ter percebido que o comportamento é diferente de um teclado em português, ou mesmo do comportamento de um teclado internacional no Windows.

Por exemplo: além de não sair o cedilha (e sim um c acentuado), várias pontuações só aparecem depois de se digitar espaço ou usar uma tecla de composição.

Primeiramente: seu teclado deve estar no layout English (US, international with dead keys)

Para verificar isso, vá em System Settings > Keyboard. No canto esquerdo inferior, clique em Text Entry. A primeira opção deve ser English (US, international with dead keys). Se essa opção não estiver na lista, clique no botão + e adicione ela.

Após isso, vamos arrumar o comportamento das letras acentuadas para imitar o comportamento no Windows.

Para isso criei um repositório no Github com as instruções que reproduzo aqui.

Configuração

Rode no terminal:

sudo apt-get -y install uim
wget https://github.com/raelgc/win_us_intl/raw/master/deb/bin/win-us-intl_20140423-1_all.deb
sudo dpkg -i win-us-intl_20140423-1_all.deb

Faça logout e login novamente.

No repositório do Github eu também coloquei instruções para outras distribuições, como Fedora e openSUSE.





Várias melhorias na classe Template: suporte a namespaces, blocos FINALLY, modificadores, blocos automáticos.

Além disso, tanto a classe quanto o tutorial ficarão disponíveis no Github, e aqui na minha página eu passarei a usar apenas uma cópia do tutorial baixada de lá.

Com isso, fica mais fácil das pessoas fazerem suas modificações para uso pessoal (usando o Fork), criarem issues, participarem do desenvolvimento, etc.





Categoria(s): Utilidades

Há uns tempos atrás, a Net trocou meu velho cable modem por um modelo Motorola SVG 1202, que já oferece o serviço de rotear conexões wireless.

O sinal wireless dele é um pouco mais fraco que um bom roteador, mas se você não precisar de mais alcance, sem problemas.

Como eu mudei de casa, e o sinal estava ruim em outros cômodos, eu comprei um repetidor de sinal wireless.

Mas notei, que esse modem/roteador da Motorola não se dá bem com outros dispositivos tentando repetir seu sinal. Tanto usando o repetidor wireless, quanto um outro roteador como repetidor, esse modem da Motorola derruba a internet toda hora.

Chamei um técnico da Net, que "não oficialmente" disse que esse modem realmente não é lá aquela maravilha como roteador.

Então resolvi pegar meu velho (e excelente) roteador de 3 antenas, e colocá-lo de volta, desligando o modo wireless do modem da Motorola.

Para isso, depois de conectar no modem (que fica no IP 192.168.0.1), é preciso desligar os seguintes serviços:

1 - Wireless (Wireless -> Primary Network -> Disable)
2 - NATP (Advanced -> NAPT Mode -> Disable)
3 - DHCP Server (Basic -> DHCP -> Disable)

Conecte então seu roteador ao modem, como faria normalmente, e pronto, seu modem estará apenas conectando ao seu serviço de internet, e o roteador wireless fazendo seu trabalho de distribuir o sinal da rede sem fio.

Com isso, parei de ter os problemas de toda hora o roteador ficar perdendo o sinal quando algum dispositivo tenta repetir seu sinal.

Desfazendo

Se tiver problemas e quiser desfazer tudo, você vai ter que se conectar com um cabo de rede ao modem Motorola SVG 1202 para ligar novamente o wireless, o NAT e o DHCP.