A fresh work enviroment for Node.js and Express on Ubuntu 10 in about 30 minutes

Hello and welcome.

Node.js came to me as likely the smartest choice for web development, as you are constrained at JavaScript for dynamic programming server side (ActionScript and Java, please don’t cry). Having all String, and Date operations the same as server or client is just a big thing! Also validations come to my mind as not-anymore duplicated code. Besides, the concurrency performance seems really nice. (most importantly, people smarter then me thinks the same)

This post intention is to document my efforts under Ubuntu 10.04 to install everything needed from Node.js to the actual work environment.

Lets start by some git and a good working java for Aptana, and some dependencies for Node.js install itself.

sudo aptitude install git-core sun-java6-bin sun-java6-jre sun-java6-plugin sun-java6-jdk python libssl-dev socat curl libev

Now, you should be good to both install version 0.4x as referenced here: https://github.com/joyent/node/wiki/Installation and I also recommend you start dl Aptana Studio 3 this is my IDE of choice for web dev. (as Rails developer)

If you are new to Aptana, I also recommend going to Window > Preferences and choosing a theme(Aptana>Themes) you like, as well as configuring JS to not alert apparent errors(General>Editor>Texte Editor>Errors : uncheck boxes), since it does not know Node.js functions.

Install NPM, which is the best package handler at the moment and all packages to head into web dev, I will explain later on

curl http://npmjs.org/install.sh | sh
npm install jade
npm install less
npm install -g express
npm install -g node-dev
npm install -g node-inspector

About Express, you can have noticed, it is close to ruby’s Sinatra web framework MVC, which is pretty cool, and has a great performance. I recommend some learning from their web-site videos.

In my machine, AMD Phenom II X4 965, 3.2GB Ram (bla bla) running some intensive apache ab, I got these fantastic results:

ab -n 100000 -c 100 http://127.0.0.1:3000/

Document Path: /
Document Length: 11 bytes

Concurrency Level: 100
Time taken for tests: 10.789 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Total transferred: 13200000 bytes
HTML transferred: 1100000 bytes
Requests per second: 9268.48 [#/sec] (mean)
Time per request: 10.789 [ms] (mean)
Time per request: 0.108 [ms] (mean, across all concurrent requests)

Jade and Less are about the View layer

Now… node-dev and node-inspector.. CLASSY STUFF!

If you are used to developing Rails or Sinatra, you are used to have your code auto-reloaded (development-mode or shotgun), node-dev accomplishes just that! everytime you make any changes to any file.js from the current folder it will kill and restart your Node app for you; nice!

Now, node-inspector this it the coolest debug tool I’ve ever seen! And you can use it along with node-dev with no problem 🙂

You can learn more from then at their Github page

If you want to develop along with CouchDB, you should install it too.


sudo aptitude install automake spidermonkey-bin autoconf subversion-tools libtool help2man build-essential erlang erlang-manpages libicu38 libmozjs-dev wget libicu-dev libreadline5-dev checkinstall
sudo aptitude install couchdb
npm install cradle

If couch installed fine, you can see it via http://127.0.0.1:5984/_utils/index.html. And a daemon is started along with your machine every boot.

About cradle, they have a real good documentation at their website, you should start there.

And that’s it! Due aptitude and npm you can have it all done in about 30 min, heavily depending on your network connection. Good coding! 😀

Aptana RadRails cool as TextMate (look)

UPDATE – 2011-03-31 :Aptana 3 has been released a long time ago, it looks awesome, and a lot like Textmate. IMO, you should give it a try.

Ok! I just mixed 2 guys themes over Aptana 2, tweaked, and added the proper Font (Monaco) and it is just awesome!

Kudos for: Rob Conery and Rémi Prévost

Take a peek:

HTML-ERB

Ruby

JavaScript

CSS

To Install:

  1. Have Aptana RadRails installed
  2. Download the Monaco Font for Linux (really do this first!)
  3. Download my preference set (sorry for shitty file host)
  4. On Aptana: File – Import – Preferences, select my preference set (uncheck the keys, to not swap your shortcuts with mine)
  5. Done

If you had a problem with .CSS (as my friend Tadeu) just go to http://remiprevost.com/2007/07/aptana download the zip and apply to your aptana like this: Window – Preferences – (filter typing ‘color’) – CSS – colors – import; and select the css file 🙂

Only tested on Ubuntu 9.10. Let me know what you think

Ubuntu 9: linux para o usuario padrao

Linux é conhecido por ser aquele sistema operacional de difícil aprendizado, isto é quando o usuário é logo tachado de hacker ou de nerd. Ubuntu 9 muda completamente essa visão!

Desde a instalação o sistema oferece pouquissima dificuldade, já vem com a todos padrões de teclado e diversas linguas, diferente do windows que vem somente com aquela que você comprou. Sem complicações o sistema roda muito bem desde sua instalação, vem com o um pacote Office completo chamado Open Office (um Office mais básico), opções de temas visuais, leitor de PDF, FireFox (navegador de internet), MSN, editores de imagem, texto, softwares de multimídias, drivers de vídeo e som, e sua vantagem mais conhecida sistema comprovadamente mais imune a virus. Precisa de algum Software que não veio instalado? É super simples usar o Adicionar/Remover Programas! Busque o software do tipo desejado, escolha algum(s), ele baixa e instala automaticamente.

add_remove

Gerenciador de Software

Para as tarefas cotidianas: navegar por páginas da internet, assistir vídeos, músicas, abrir planilhas e documentos o sistema é extreamente robusto oferecendo quase tudo que você pode precisar desde a instalação.

Porém é fato que alguams necessidades podem não ser atendidas logo de cara, como por exemplo para aqueles que gostam de baixar músicas e animes os infames codecs de vídeo não veem instalados, mas sem drama, tendo conecção à internet o próprio programa tocador de mídia baixa os codecs para você instantânemante! É isso mesmo, diferente do Media Player do Windows que mal aponta o problema e você que se vire, no Ubuntu ele resolve para VOCÊ.

Para algum programa essencial do windows que venha a faltar existe a possibilidade de usar o WINE para executar programas Win sem perda de performance. Ele ainda sabe lidar com partições padrões do Windows como NTFS e você pode ver seus arquivos de mídias e backups do outro sistema sem dificuldade.

O sistema é bastante eficiente, mesmo rodando música, internet e várias tarefas o uso da memória a velocidade não foram prejudicadas!

recursos do sistema

Uso de memória abaixo de 512Mb, Processador Livre

Meu computador é modesto, Pentium Dual Core 1.6GHz, 2GB de memória.

Até agora apontei os pontos positvos, mas agora vamos a sujeira.. Existirão dificuldades para um usuário acostumado com o Windows, algumas delas são: dificuldade em se localizar no sistema de pastas; não existe Internet Explorer mas o Firefox fazer um papel ainda melhor; atalhos de teclado e a posição dos elementos na tela; mesmo com WINE alguns programas do Windows não vão rodar facilmente; o sistema de multiplos desktops é de uso opcional mas pode confundir muito um desavisado.

Concluindo: recomendo instalar Ubuntu inicialmente em casa para aqueles que desejam sair da ilegalidade, desejam experimentar um sistema diferente e menos exposto a virus, possuem um computador com pouca memória ou tem um filho de mais de 8 anos em casa, perfeito, recomendo. Mas não recomendo para aqueles que dependem de realizar tarefas a curto prazo no computador, querem uma plataforma para games, ou se depende do uso Internet Explorer para acessar algum site específico.

Difícil é acreditar num ciêntista da computação para falar de Linux né?! Mas garanto como usuário doméstico que sempre usei Windows (que vergonha) e não queria nem experimentar Linux em casa (só no trabalho e olha lá hein..); que esses 3 dias de Ubuntu foram mais agradaveis que Windows.

Mais informação (chato) | Mais desinformação ( informação mergulhada em sarcasmo)