Análise: VIM for Rails Developers

13 03 2011

http://www.codeulatescreencasts.com/products/vim-for-rails-developers

Eu li recentemente a análise do screencast acima, e fiquei muito interessado.

Uso VIM frequentemente, principalmente depois de ler este post: http://bit.ly/aRNMT4, mas não sei muito além da edição básica e usar alguns plugins. Algo que, confesso, não foi fácil de dominar.

Como os reviews dos sites linkados na página, eram só elogios, enviei então um email para o dono do site, Ben Orenstein que é um desenvolvedor Rails full time, e que se intitula um “vim junkie” (junkie=viciado).

Me dispus a fazer este review e ele gentilmente me liberou acesso ao screencast.

Ele respondeu meu email em 3 minutos, e pelo conteúdo você logo percebe que Ben é um cara entusiasmado:

Alex — that would be AWESOME.
I’ve sent you a free download link.

O screencast está em formato MOV, são 36 minutos muito bem feitos. A qualidade do vídeo é excelente, o áudio está claro e Ben tem uma ótima dicção.

Separei alguns pontos que julguei marcantes:

  • Introdução.

Achei curioso o fato dele abordar digitação. Realmente, passamos horas e horas digitando quando programamos. Quanto mais rápido você conseguir traduzir suas idéias em código, melhor, certo? Ben dá algumas dicas de como melhorar sua velocidade.

Todo bom desenvolvedor deve procurar aumentar sua eficiência, Ben deixa claro que leva isso bem a sério. Tão a sério que ele usa um teclado Dvorak.

Plugin, desenvolvido por Tim Pope.

Com exemplos muito claros, são mostradas as funcionalidades desse plugin obrigatório para todo desenvolvedor Rails.

Outro plugin obrigatório, implementa a aclamada funcionalidade de snipets do Textmate. São apresentadas as principais funcionalidades e exemplos de como criar seus próprios snipets.

Nesta parte eu aprendi muito. Eu não fazia idéia da funcionalidade que estava perdendo por não usar esta ferramenta. A navegação pelo código fica muito prática, a saudade da funcionalidade presente em muitas IDEs foi-se embora.

  • Ack – better than grep

Já precisou procurar por um texto vem vários arquivos? Se você não conhece o Ack, provavelmente usa grep. O ack tem funcionalidade similar, mas é mais foi desenvolvido com programadores em mente. Você aprenderá a utilizar a ferramenta integrada ao Vim.

  • Outras dicas.

Ben fecha o screencast com dicas rápidas de uso de várias funcionalidades, sempre tendo o desenvolvimento Rails em mente, aprendi MUITA coisa.

Conclusão:

Vale a pena comprar o screencast. Quanto você pagaria para ter uma aula com um desenvolvedor experiente em Vim e Rails? Certamente bem mais do os $11.99 cobrados pelo vídeo.





Bizarro: Ruby 1.9.2 no Windows. Nativo x “emulado”

15 12 2010

Mais uma vez, Ruby e Windows num mesmo post hehehe.

Todo mundo sabe, Ruby no windows é lerdo.

Algumas coisas não funcionam, algumas gems são incompatíveis, tudo isso é fato.

Todo mundo também sabe que o @luislavena é um dos grandes responsáveis por tornar essa experiência menos dolorosa. Menos dolorosa.

Você já deve ter ouvido dizer que a ignorância é uma benção, não?

Pura verdade.

Se você experimentar programar Ruby no Linux vai ver que tudo funciona mais fácil e mais rápido.

É gritante a diferença de velocidade, o que acaba impactando no tempo de desenvolvimento também, ou seja, se você pode, use linux (ou OSX).

Se você não pode, vamos lá.

Eu li sobre um jeito de rodar linux dentro do windows, sem emulador.

Sim, sem vmware, sem virtualbox.

Fui caçar no google e achei o bicho: Colinux

Cooperative Linux is the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux (short-named coLinux) is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine. For instance, it allows one to freely run Linux on Windows 2000/XP/Vista/7, without using a commercial PC virtualization software such as VMware, in a way which is much more optimal than using any general purpose PC virtualization software.

A instalação e configuração do Colinux são um parto, mas os caras do andLinux deixaram a coisa um pouco melhor:

andLinux is a complete Ubuntu Linux system running seamlessly in Windows 2000 based systems (2000, XP, 2003, Vista, 7; 32-bit versions only). This project was started for Dynamism for the GP2X community, but its userbase far exceeds its original design. andLinux is free and will remain so, but donations are greatly needed.
andLinux uses coLinux as its core which is confusing for many people. coLinux is a port of the Linux kernel to Windows. Although this technology is a bit like running Linux in a virtual machine, coLinux differs itself by being more of a merger of Windows and the Linux kernel and not an emulated PC, making it more efficient. Xming is used as X server and PulseAudio as sound server.
andLinux is not just for development and runs almost all Linux applications without modification.

A grande limitação é somente poder rodar em win 32. A grande maioria dos desenvolvedores que eu conheço roda win 7 64. Mas se você roda winxp num Pentium E2200 como eu, alegre-se!

A instalação é super simples, padrão next next finish, tem a documentação completa no site.

Não vou entrar em detalhes aqui sobre a instalação do ambiente ruby no ubuntu, mas se vc procurar vai achar montes por ai, viva o santo google.

No teste tenho instalado em ambos “ambientes”

Windows:

ruby 1.9.2p0 (2010-08-18) [i386-mingw32]
Rails 3.0.3

andLinux:

ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
Rails 3.0.3

vou criar uma aplicação nova em ambos com:

rails new testeperformance

vou criar o suficiente para um teste simples com:

rails g scaffold pessoa nome:string

agora vou gerar o banco e rodar os testes padrão com:

rake db:migrate

e

rake test

Resultados:

Windows:

Loaded suite C:/Ruby192/lib/ruby/1.9.1/rake/rake_test_loader
Started
.
Finished in 2.156195 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 11815
Loaded suite C:/Ruby192/lib/ruby/1.9.1/rake/rake_test_loader
Started
…….
Finished in 2.874927 seconds.

7 tests, 10 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 37819

andLinux:

Loaded suite /home/alex/.rvm/gems/ruby-1.9.2-p0/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
.
Finished in 0.190003 seconds.

1 tests, 1 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 29506
Loaded suite /home/alex/.rvm/gems/ruby-1.9.2-p0/gems/rake-0.8.7/lib/rake/rake_test_loader
Started
…….
Finished in 1.020015 seconds.

7 tests, 10 assertions, 0 failures, 0 errors, 0 skips

Test run options: –seed 25629

A diferença é imensa, já imaginou rodar isso em uma aplicação grande?

Ambos ambientes ruby e rails são recém instalados.
Os testes foram executados repetidas vezes.
Em todas as vezes a diferença de tempo é proporcional.

Conclusão:

Bizarro. Nesta máquina usarei o andLinux para desenvolvimento Ruby.

Ah! o GVIM fica perfeito nele também. Rápido e todos plugins funcionam.





Automatizando tarefas e gerando um script Ruby executável

28 10 2010

Ruby é uma linguagem muito prática, e a montanha de gems disponíveis para as mais diversas tarefas torna a escolha perfeita para automatizar tarefas repetitivas (o famoso CornoJob).

Temos um aplicativo web aqui no trabalho com formulários gigantescos que têm que ser preenchidos em uma ordem específica. Eu perdi muito tempo procurando plugins para browser, ferramentas de automatização, mas nenhuma me permitia customizar o suficiente para atender minha necessidade.

Foi então que conheci o Watir.

Instalei a gem, fiz o script que preenche o formulário, valida os dados no BD, entre outras coisas que tomavam um tempo muito grande e eram chatos pra caramba de se fazer. Um trabalho puramente manual e sujeito a falhas de digitação.

Outro script automatiza a criação de sites no IIS, configura um aplicativo PHP para gerenciamento de arquivos remotamente.

Esse segundo me fez procurar um modo de gerar executáveis (.exe) dos meus scripts já que eu não quero instalar o ruby no servidor.

Encontrei então essa a gem OCRA que resolve o problema perfeitamente. Ela embute o interpretador, gems, dlls e arquivos que seu script usa, gerando um executável comprimido.

Desse modo, posso distribuir meus scripts sem que a máquina que vai rodar tenha que instalar o interpretador, e principalmente, sem que eu tenha que trocar de linguagem :D





Reencontro

20 10 2010

Nos conhecemos quando eu tinha meus 18 anos. Eu um menino ainda, inexperiente, cheio de sonhos e ilusões próprios da idade.

Ignorávamos os defeitos um do outro, a imaturidade, a falta de experiência. Éramos felizes juntos.

O tempo passou, e por diferenças de objetivos e planos acabamos nos separando. Nos encontramos algumas vezes no trabalho, mas foram encontros rápidos, superficiais, frios.

13 anos se passaram. Li sobre ele num site. Ele tinha amadurecido, crescido, virado gente grande. Assim como eu. Muito das coisas em que não concordávamos já não existiam mais, nossos objetivos pareciam convergir.

O destino é uma coisa engraçada. Por motivos profissionais acabamos nos reencontrado. Como tinhamos mudado! Toda imaturidade, toda aquela visão romântica e utópica ficou pra tras junto com os anos que nos separaram.

O novo eu, e o novo ele nos demos muito bem. O trouxe-o pra casa, e aos poucos ele foi se tornando cada vez mais importante.

Ele? Ah! É ele: http://www.ubuntu.com/

10.10 está bom demais!





O profissional de informática e o jogador de futebol.

15 10 2010

Quanto eu tinha mais ou menos 16 anos, fiz um curso de Basic. O curso era ministrado num moderno PC-XT com monitor de fósforo verde. Aprendi o básico do básico: variáveis, loops, saidas e entradas… Ali eu tive a certeza do que eu queria fazer da minha vida profissional.

Fui estagiário, programador jr, pleno, sênior. E então, o mercado de informática estragou a brincadeira. Subir na carreira não significava mais dominar técnicas e/ou linguagems, nem me destacar entre os demais, mas sim, me trasformar em um novo profissional, o “Analista”.

O mercado agora esperava que, além de ser um excelente programador, eu tivesse capacidade de fazer levantamentos, controlar prazos, participar de reuniões, ou seja muitas vezes deixar de lado o que eu mais gostava de fazer.

Façamos um paralelo com o futebol. O Ronaldo arrebentou muito novo. Maior atilheiro de todas as copas, melhor jogador do mundo etc. E se no futebol, para ganhar bem, você tivesse que ser técnico?

O Ronaldo seria tão bom técnico quanto foi atacante? Vale a pena para o mercado da bola, pros torcedores e pro Ronaldo, deixar o que ele nasceu pra ser pra ganhar mais?

O futebol é meritocrático. Cada um ganha conforme seus méritos dentro da sua posição. O atacante ganha muito bem, assim como um grande camisa 10 e também o técnico vitorioso.

É mais raro, mas jogadores de defesa também conseguem seu espaço nas contratações e salários milionários.

Uma empresa/departamento de informática também não pode ser comparada a uma equipe de futebol? Em linhas bem gerais e bem simplistas, temos:

  • O planejamento e estratégia do técnico (Gerente);
  • A segurança da defesa (Infra/Suporte);
  • E o pessoal da criação/ataque (desenvolvedores/analistas/designers)

Assim como no futebol, muitas dessas posições dividem responsabilidades de criação/defesa.

E porque raios os nossos atacantes são considerados menos importantes nessa estrutura? Deveria o Ronaldo ganhar menos que o Felipão?

Não podemos questionar o papel de todo o time nas conquistas, ninguém ganha nada sozinho, mas lembram de Romário em 1994 e Ronaldo em 2006? Quanto dessas copas dependeu da genialidade e habilidade desses dois craques?

Em uma empresa de informática comum, os Romários e Ronaldos iriam embora de ônibus depois da festa de entrega de um produto, enquanto a comissão técnica sairia carregada pelo povo para desfile em carro público. Tem lógica?

O mercado de informática devia aprender com o futebol. Valorizar seus talentos pela colaboração que eles trazem para o time, reconhecer que sem os “atacantes” não sai gol, e que os craques devem ser tratados como tais.





Porque se contentar com migalhas…

6 10 2010

… quando você pode ter o pão inteiro?

Diz a lenda que o NET nasceu da recusa da Sun de aceitar as alterações/contribuições da Microsoft ao Java.

Desde então, muito dos acertos do mundo Java vem sendo clonados para NET. Creio que o Nhibernate seja o caso mais famoso, mas podemos também citar Log4Net, Spring.Net etc.

Explodiram então os frameworks MVC. Spring, Struts, Django, CakePHP, Zend Framework, Symfony e claro: Ruby on Rails.

Na contramão do mundo, a Microsoft defendia o Webforms, que trazia para Web o paradigma de desenvolvimento Client-Server, facilitando a inclusão dos seu exército de programadores VB6 no inevitável domínio dos WebApps.

Foram criadas algumas alternativas para NET, o MonoRail é um exemplo. Mas no mundo NET, dificilmente algo se torna “o jeito certo de se fazer” se não vier de dentro da nave mãe. E o MonoRail nunca perdeu o rótulo de gambiarra / ferramenta de/para hackers.

Eis que então, a Microsoft começa a surpreender. o C# 3 traz o LinQ, algo novo e pela primeira vez, uma novidade cobiçada pelos desenvolvedores das outras linguagens. O time de desenvolvimento bloga, ouve opiniões, tudo indica que uma nova era estava por vir.

Não que não houvessem coisas que provassem o contrário como o Ajax Control Toolkit (ou Toolshit?).

Rob Conery foi contratado e seu enfoque pragmático no SubSonic me deixou bem esperançoso quanto ao avanço nas ferramentas e frameworks da Microsoft.

Vem então o Asp.NET MVC. Embora fosse mais um dos casos onde a Ms reinventa a roda e ignora alternativas open-source dentro do próprio ecossistema, dessa vez a fonte de inspiração deixa todo mundo surpreso.

O Rails, framework de desenvolvimento web que incentiva boas práticas recheado das siglas do momento tais quais MVC, TDD, Agile, foi a fonte onde a Ms foi beber para fazer o seu framework MVC. E, como se não pudesse ser melhor, utilizando por padrão JQuery.

Parecia que finalmente o que se entende por melhores práticas de desenvolvimento se tornaria padrão entre os desenvolvedores Ms. Infelizmente começam os tiros no pé. Linq-to-Sql é declarado morto (zumbi poderíamos dizer…) e é anunciado o EF, alardeado como a solução final para acesso a dados (datasets? procedures? L2S também não eram?)…

Oras, o Nhibernate, maduro, rápido, com uma comunidade vibrante não seria uma melhor opção? Afinal, não era o que tinham feito ao matar o Ajax Toolkit e o MS Ajax e adotar o Jquery? Não era isso que as novas caras da Ms (Haack,Halselman,Conery,Gu) fariam SE tivessem poder de decisão?

Rob Conery deixa a MS e a coisa passa a ficar mais e mais suspeita…

Os avanços no Net Framework não pararam, a BCL trouxe o Python e o Ruby para dentro do radar do desenvolvedor Ms e muitos como eu foram ver como era esse tal Ruby que os “nerds do linux” falavam nos seus blogs anti-Ms.

O fama do Rails só crescia e hora ou outra respingava nos blogs que eu acompanhava do mundo Ms.

Como bom curioso, eu fui dar uma espiada no bicho, encontrei tudo que esperava no mundo Net, tanto em ferramentas, comunidade, suporte e material de estudo. O resto é história.

Se vc leu até aqui, deve estar se perguntando: o que o título tem a ver com esse bla bla bla todo?

Hehehe vamos lá.

Hoje foi anunciado o beta do Asp.NET MVC 3. Entre as novidades está o Nupack. Um gerenciador de pacotes para Net. Simplificando com alguns comandos em pasme… LINHA DE COMANDO, vc adiciona ao seu projetos pacotes como Nhibernate, Elmah etc.

Um monte de tontos, isso mesmo TONTOS, tentou criar uma ferramenta nesses moldes (Nu entre outras) , trazer todos os inúmeros benefícios que as Gems trazem ao Ruby. Tontos porque não havia dúvidas que, se os desenvolvedores quisessem mesmo isso, a MS faria sua própria implementação.

Quem perdeu tempo tentando ajudar, colaborar pode fechar seus sites pois serão ignorados pelos desenvolvedores. Há pouco ou nenhum futuro para iniciativas do tipo. Quem é tonto o suficiente para continuar fazendo software open source para Net? Pra ser devorado? Atropelado pela nova e brilhante “idéia” que eles tiveram em Redmond ( e que na maioria das vezes fica aquém das alternativas da comunidade )? Com muita sorte você será comprado e renomeado.

O que muitos desenvolvedores experimentarão com o MVC3 e NUPack os desenvolvedores Rails tem a anos. O Asp.MVC, ainda que em sua mais nova versão está a anos luz atrás em maturidade, ferramentas, comunidade e praticidade para o Rails.

Não comam migalhas amigos, o pão está na mesa, quentinho e é de graça.

http://www.rubyonrails.pro.br/





Aprendendo VIM

10 08 2010

Quando comecei a estudar Ruby on Rails, a primeira coisa que procurei foi uma IDE.

Anos trabalhando no Visual Studio tornaram inconcebível a idéia de desenvolver sistemas sem ter um ambiente integrado com debug, editor visual e de código, wizards, integração com controle de versão etc.

Antes trabalhar com .NET eu tinha longos anos trabalhando somente com editores de texto, tanto em PHP quanto em ASP e PL/SQL. Voltar a usar um simples editor me parecia um retrocesso. Procurando por uma experiência no mínimo semelhante ao VS, encontrei o RubyMine que foi o que me fez sentir mais “em casa”. Fiz muito dos meus aplicativos de estudo nele, e não tinha do que reclamar. O autocomplete estava lá, debug, integração com controle de versão, code highlight…

Mas os desenvolvedores ROR mais famosos não o usavam. Estavam todos divididos entre o TextMate e o (G/Mac)VIM. Li um pouco sobre o TextMate e os bundles não me empolgaram, não havia nada de novo ali para mim. O TextMate faz o que a maioria dos editores avançados faz (até onde minha pesquisa chegou, pelo menos), e a obrigatoriedade de usar o OSX matou qualquer possibilidade de usá-lo.

Já o VIM, era um velho conhecido. Sabe aquele cara que você encontra todo dia no trabalho e cumprimenta, mas não sabe nem o nome e nem em que trabalha? Esse era o VIM pra mim. Nos encontramos no Linux, no Solaris e no BSD mas sempre foram encontros rápidos. Nada além de abrir um arquivo, apertar “i”, editar algumas linhas, ESC, :wq! e adeus editor bizarro. Instalar o nano, quando possível era o que eu fazia, afinal era um editor normal que eu conseguia usar naturalmente. Porém, todo post que eu lia sobre o VIM falava maravilhas. O ganho de produtividade era imenso, as tarefas mais complexas eram triviais.

O Akita fez um post onde ensinava a deixar o VIM pronto para o desenvolvimento em Rails que eu decidi seguir e….

… realmente o bicho ficou bonitinho! Mas continuava bizarro. Ficar alternando entre modos não era nada natural e eu mais uma vez, desencanei.

Continuei meus estudos e num dia falando com o Leo, pedi para ele mostrar o uso do VIM. Puxamos a config dele do github, configuramos e realmente, algumas coisas pareciam amigáveis e sem dúvidas muito inteligentes. Havia muito pra aprender, muitas funcionalidades estavam em plugins e integrações com outras ferramentas.

Passei a usá-lo como editor principal, não só em Rails, e procurando na internet, no livro free tudo que não sabia fazer fui aprendendo a me virar. A curva de aprendizado é grande. Grande não, imensa! No início, tudo parece disperdício e perda de tempo. São muitos comandos para fazer tarefas simples, que num editor comum seriam triviais. Afinal, você está acostumado a apertar uma tecla, e a letra aparecer na tela.

Eu não sou nenhum pioneiro na migração para Rails. Muitas pessoas que eu acompanho dos tempos de .net também estão no mesmo caminho, muitos também começaram a usar o VIM como editor principal. Um caso em especial, é o do Rob Conery, um cara que eu sempre admirei pelo modo de pensar e pela qualidade do código. Em alguns posts recentes, ele falam sobre a experiência com o VIM. A comparação do VIM com cerveja é genial!

Enfim, o investimento tem se pagado, tenho me tornado cada dia mais produtivo. Passo então a ser mais um dos que diz: Cerveja é uma delícia! (leia o post do Conery!) Eu sei que você acha amarga e acha bizarro que eu e um monte de gente tome com tanto prazer.

Talvez provando você também possa entender os motivos. Eu vou compartilhar em alguns posts curtos a solução de alguns problemas que for encontrando no dia a dia (Com VIM, não com cerveja) e espero que sejam de alguma utilidade.

Seguem algumas fontes para pesquisa/estudo:

Vim 101 (dicas)
http://twitter.com/vim101

VimCasts
http://vimcasts.org/

PeepCode
http://peepcode.com/products/smash-into-vim-i
http://peepcode.com/products/smash-into-vim-ii

vimbook (Livro sobre o Vim em português)
http://code.google.com/p/vimbook/

Vim Tips Wiki
http://vim.wikia.com/wiki/Vim_Tips_Wiki





Ruby e Rails no Windows 7 – Atualizado

22 04 2010

Fica claro quando você começa a dar os primeiros passos em Ruby no Windows
que eles não foram feitos um para o outro.

Faça uma pergunta num forum/mailing list e você vai receber, em 99% dos casos, um “instale linux”.

Não que não seja uma boa idéia, o ruby é muito mais rápido e estável atualmente em ambiente unix e certas coisas simplesmente não funcionam no Windows. Mas nem sempre é possível trocar de S.O.

Seja lá qual for o seu motivo, é possível (e nem tão ruim assim) instalar, desenvolver e rodar aplicações Ruby no Windows.

Vou detalhar neste e nos próximos posts a instalação e configuração do ambiente.

1. Passo: Configuração do Console.

Baixe o Console2, um excelente substituto para o cansado Prompt do DOS, o Console2 tem tabs, transparência, montes de configurações é grátis e open source.

Console2

Console2

2. Passo: Instalação do Ruby

Our goal, in combination with the official rubyinstaller.org website, is to provide users and developers working on Windows® systems an easy way to quickly get started using Ruby by providing Windows-based installers (and 7zarchives) containing a fully functioning baseline MRI (Matz’s Ruby Implementation) Ruby environment tuned for Windows-based systems.

While the RubyInstaller allows you to easily enhance and customize your Ruby installation using Ruby’s standard RubyGems packaging system, we also provide tools such as the Development Kit that enables both users and developers to build native Ruby C extensions on their local Windows-based systems.

Although building native Ruby C extensions on Windows-based systems has historically been a problem, we believe the combination of the RubyInstaller, our development tools, and the growing community of Ruby on Windows users and projects will help make this a concern of the past.

Enjoy!
The RubyInstaller Team

Precisa dizer algo?

Vá em download, e baixe a versão 1.8.6 1.9.2, a instalação é no clássico next, next, finish. Recomendo que você deixe o caminho padrão que o instalador sugere.

Na mesma página, baixe o devkit  e descompacte-o  no diretório onde instalou o ruby ( c:\devkit é uma boa idéia), vamos usá-lo para instalar gems que usam código nativo (C), portanto precisam ser compiladas. Lembre de fazer isto em todas versões de ruby que baixar do RubyInstaller.

Mais info sobre como instalar e o que faz exatamente o devkit aqui.

Abra o Console, e digite:

 C:\gem update --system 

Para atualizar suas gems.

Se você não sabe o que são e como funcionam as Ruby Gems, é bom dar uma lida antes de continuar: http://docs.rubygems.org/

Quando você instala uma gem, são instalados os arquivos de documentação para o Rdoc e ri (entenda mais). Eu prefiro ler a documentação online, e acho que a instalação dos docs demoram demais.

Para evitar que a documentação seja instalada você pode usar as flags –no-ri e –no-rdoc. Ex.:

gem install nomedagem --no-ri --no-rdoc

Você pode deixar esta opção como padrão, crie um arquivo de nome .gemrc no seu diretório Home, no meu caso c:\Users\Alex com o seguinte conteúdo:

gem: --no-ri --no-rdoc

Você pode querer ter mais de uma versão de ruby no seu PC, o RubyInstaller tem disponível versões da série 1.8.x e 1.9.x. Você pode também querer utilizar IronRuby ou Jruby.

No linux e ruby, usa-se o RVM e não ter algo semelhante no Windows me impedia de fazê-lo.

Acontece que os caras do RubyInstaller não estão brincando quando dizem que pretende facilitar a vida de quem usa Windows, e fizeram o pik, o equivalente do RMV no Windows.

O pik está disponível como gem, logo, a instalação é trivial:

gem install pik

Agora instale o executável do pik em algum lugar que esteja no seu PATH:

pik_install C:\Windows

Pronto, agora instale quantas versões de ruby quiser, tomando o cuidado de não reescrever o path, nem o diretório de instalação.

Para cada versão instalada, você deve configurar o pik:

pik add C:\ruby187\bin

Na página do pik no github você encontra a referência completa dos comandos e funcionalidades.

3. Passo Instalando o Rails

O modo mais simples é instalar a gem. Usando o pik você consegue instalar a gem em tudas versões de ruby que tiver instaladas:

pik gem install rails

Se você está começando agora com rails, provavelmente vai querer fazer o clássico tutorial do Blog.

Nesse tutorial é necessário um banco de dados, então, vamos fazer nossa instalação conversar com o sqlite.

No site do sqlite, na sessão de downloads procure pela versão para windows, “This ZIP archive contains a DLL for the SQLite library version  3.x.x.”.

Eu costumo descompactar dentro da pasta bin de cada instalação de ruby.

feito isto, é só instalar a gem:

pik gem install sqlite3-ruby

Pronto, agora você tem o básico necessário para começar a brincar de Ruby e Rails no Windows.

Divirta-se!





Finalmente!

15 01 2009

Aparentemente pessoas que pensam foram contratadas para o desenvolvimento do Windows 7. O que acontece em versões anteriores quando você tenta excluir um arquivo que está em uso?

image

O 7 informa qual programa está usando o arquivo.

image
É o tipo de funcionalidade óbvia que devia existir desde sempre, mas é bom ver as coisas estão mudando.

Atenção:

Alguns arquivos foram deletados na produção deste post.

Descobri que o Windows Media Player não “locka” os arquivos (pelo menos de música).

Post descaradamente inspirado neste aqui.





Testando o Windows 7 Beta

12 01 2009

image

A microsoft lançou o Windows 7 Beta para o público geral no final de semana passado. O que era para ser um beta fechado, virou um beta público. Você pode baixar e testá-lo aqui.

Baixei inicialmente a versão 64bits que estraguei ao forçar a instalação de emuladores de cd/dvd. Achei que talvez instalando o 32bits a coisa melhoraria, mas não obtive sucesso. Como o 32 já estava instalado e configurado fiquei com ele mesmo.

Meu Hardware:

  • Gigabyte 965P-DS3
  • Intel E2180 @3.0GHz
  • 2x Barracuda 7200.7  200GB em RAID 0
  • DVD-RW LG
  • Ati 2600HD Pro
  • Realtek HD Audio ALC888 (Onboard)

O processo de instalação muda muito pouco em relação ao VISTA. Usei um pendrive para carregar o driver da controladora de disco ( do VISTA). A instalação foi rápida (cerca de 25min) com 1 reboot.

Todo meu hardware foi reconhecido coisa que não acontecia no VISTA. Instalei o driver da ATI para o VISTA, e o windows update trouxe 2 atualizações, um drive beta da ATI e o driver da placa de rede onboard.

Instalei o driver da Realtek para o VISTA e o primeiro problema apareceu. O software de configuração não mostrava nada. Baixei a última versão do site oficial, mandei atualizar os drivers e depois de um boot estava tudo funcionando normalmente.

Apliquei o patch que corrige a corrupção de mp3 pelo WMP12.

Software

Firefox, Notepad++, Office 2007, Visual Studio 2008, Windows Live Essencials, MediaMonkey, KMP  e 7-ZIP instalaram sem problemas.

SoftPhone Vono, Nokia PC Suite e CheckPoint VPN tiveram que ser instalados em modo de compatibilidade.

O MediaMonkey e o KMP apresentam lentidão em alguns momentos e não pude identificar nenhum padrão para apontar a causa.

Vono e Nokia Pc Suite tiveram que ser configurados para rodar em modo de compatibilidade, mas funcionam perfeitamente.

Um alerta foi dado pelo Action Center pedindo para que eu instalasse um software antivirus. Cliquei e uma página da Microsoft tinha links para o AVG, Kaspersky e Norton que possuem versões de teste. Instalei o Kaspersky.

Nenhum emulador de cd/dvd que eu testei funcionou (MagicDisk, Daemon Tools, VirtualClone, ISODisk ). Testarei outros assim que precisar.

Impressões

O 7 boota e desliga mais rápido que o VISTA, o mesmo vale para hibernação. Acostumar-se com a SuperBar é muito fácil o funcionamento é intuitivo e deixa a tela bem livre, gostei muito.

Tudo que preciso para meu dia a dia funciona bem e estável até agora. Atualizarei o post com quaisquer problemas e incompatibilidades.

O Neowin está fazendo um review das novas funcionalidades, recomendo:








Seguir

Obtenha todo post novo entregue na sua caixa de entrada.