DevNews – 04/04/2013

4 03 2013

 

My First 5 Minutes On A Server; Or, Essential Security for Linux Servers

srp – the single responsibility principle in 5 minutes

CODING CONFESSIONAL – Anonymous Confessions from Programmers.

RubyTapas Freebie: Scanning a String





DevNews – 01/04/2013

1 03 2013

WebKit for Developers

Loader.io is a free load testing service that allows you to stress test
your web-apps/apis with thousands of concurrent connections.

Web development as we know it, is dead

Why Python, Ruby, and Javascript are Slow // Speaker Deck http://j.mp/15Uv5rH





DevNews – 28/02/2013

28 02 2013

Phusion Passenger 4.0 Release Candidate 2: http://blog.phusion.nl/2013/02/27/phusion-passenger-4-0-release-candidate-2/

Robin Ward postou o primeiro post mostrando como eles usam EmberJs no Discourse

Vms “de gratis” com IE 7,8,9 ou 10

Tuning Discourse

ruby 2.0 by example

artoo is a micro-framework for robotics

Don’t find out about vulnerabilities through Hacker News and Twitter

DropTask – Visual Task Management for Individuals and Teams





DevNews – 27/02/2013

27 02 2013

Em novo joguinho em html5 do Google, Seu Smartphone é o controle. Animal!

Rails-3-2-13-rc1 lançado, principal mudança: Suporte ao Ruby 2.0

A uservoice fez um post, mostrando uma gem extraída dos apps deles, chamada Mutations que é o modo que eles encontraram de trabalhar com apps complexos, vale a leitura.

Browserhacks is an extensive list of browser specific CSS and JavaScript hacks from all over the interwebs

iwanttolearnruby uma compilação muito boa de recursos para aprender Ruby e/ou Rails





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 😀