Victus Spiritus

home

Welcome to Ruby, Javascript and Ubuntu Linux Ben

26 Jun 2010

[caption id="attachment_4300" align="aligncenter" width="500" caption="You asked for the Firehose"][/caption]

My friend Ben Carroll recently expressed some interest in learning the basics of web programming through a high level scripting language. I figured he may not be the only one that may benefit from some of the web documents I have come across and grown to rely on heavily, while making my splash into sea of web development over the past eight months.

Begin with Ruby:
tryruby.org

Main web doc:
http://www.ruby-lang.org/en/
20minutes starter
http://www.ruby-lang.org/en/documentation/quickstart/

I really appreciate Design Patterns in Ruby (affiliate linkage!)

Why's Poignant Guide to Ruby W(p)GtR, the poignant guide
web pdf

Ruby Tutorial with Code Samples by Mitch Fincher (his current blog)

Almost forgot the Book of Ruby

Miscellaneous ruby help google doc.

nice cheat sheets for syntax:
http://www.quicklycode.com/cheatsheets

Package Manager

sudo apt-get will be your friend (synaptic package manager)

Dropbox a great tool to share code (you can explore git later on)

Web Frameworks

After you feel comfortable with basic ruby, move on to reading about web frameworks.

start simple with Sinatra
http://www.sinatrarb.com/intro.html
http://sinatra-book.gittr.com/

Rails the most popular MVC framework for Ruby
http://rubyonrails.org/
https://help.ubuntu.com/community/RubyOnRails
back when I had windows: http://victusfate.github.io/victusspiritus/uncategorized/2009/11/15/walking-down-the-tracks-of-ruby-on-rails/

Web Hosting

Free hosting:

Engineyard is a paid hosting option we tried out and got some mileage out of. But they don't have a minimum free level for untested apps. Overall we found Rackspace to be more flexible for paid hosting. I heard some good things about Amazon's EC2 but haven't had experience with it.

Front End & Scripting

HTML has become more important than the English language. Seriously it's fundamental to any web programming. I've referred to many searches on specific syntax for styling pages. CSS will be your friend as you flush out details in divs and add effects. Some of the new stuff in html5 is pretty impressive.

JavaScript:
the definitive guide :D
http://docstore.mik.ua/orelly/web/jscript/

JQuery, a javascript library that does nifty stuff:
http://jquery.com/

Good example of Javascript and JQuery, my friend Matt Nowacks Jquery 1.4
http://ihumanable.com/jquery/presentation.html#slide1

Ubuntu Linux OS stuff for a browser (I use Firefox with Firebug to debug script, and Chromium for fun)
Just in case you were curious:
you can get the nightly build of chromium (open source browser chrome is based on) here
https://launchpad.net/+help/soyuz/ppa-sources-list.html
https://launchpad.net/~chromium-daily/+archive/ppa

Gems

almost forgot when building native gems (c or c++ using gems) you'll need some other packages installed
http://packages.debian.org/sid/build-essential
try installing build-essential:
sudo apt-get install build-essential

Sometimes you'll see a require 'xyz' but when you sudo gem install xyz it can't find the gem or grabs the wrong one.
Just bug me if you can't find the right version of the gem name
here are the gems I have installed (always remember sudo gem install to make sure it goes into the correct system folder, sudo means super user do)

In case you need to see a name, an example of a gem install would be:
sudo gem install dm-core on your unix command line anywhere

*** LOCAL GEMS ***

actionmailer (2.3.5, 2.3.4)
actionpack (2.3.5, 2.3.4)
activerecord (2.3.5, 2.3.4)
activeresource (2.3.5, 2.3.4)
activesupport (2.3.5, 2.3.4)
addressable (2.1.2)
appengine-apis (0.0.17, 0.0.15)
appengine-jruby-jars (0.0.7)
appengine-rack (0.0.10, 0.0.8)
appengine-sdk (1.3.4, 1.3.3.1)
appengine-tools (0.0.14, 0.0.12)
aws-s3 (0.6.2)
bcrypt-ruby (2.1.2)
builder (2.1.2)
bundler08 (0.8.5)
cgi_multipart_eof_fix (2.5.0)
configuration (1.1.0)
crack (0.1.6)
daemons (1.0.10)
data_objects (0.10.2)
datamapper (1.0.0)
dm-aggregates (1.0.0)
dm-constraints (1.0.0)
dm-core (1.0.0, 1.0.0.rc2)
dm-do-adapter (1.0.0)
dm-is-self_referential (1.0.0.rc2)
dm-migrations (1.0.0, 1.0.0.rc2)
dm-serializer (1.0.0)
dm-sqlite-adapter (1.0.0)
dm-timestamps (1.0.0)
dm-transactions (1.0.0)
dm-types (1.0.0, 1.0.0.rc2)
dm-validations (1.0.0)
do_sqlite3 (0.10.2)
em-http-request (0.2.8, 0.2.7)
em-websocket (0.0.6)
eventmachine (0.12.10)
extlib (0.9.15)
fastercsv (1.5.3)
fastthread (1.0.7)
ffi (0.6.3)
gem_plugin (0.2.3)
gemcutter (0.5.0)
git (1.2.5)
google-appengine (0.0.14, 0.0.12)
haml (3.0.12, 2.2.24)
hashie (0.2.0)
heroku (1.9.9)
hpricot (0.8.2)
httparty (0.5.2)
jeweler (1.4.0)
jruby-jars (1.5.1)
jruby-rack (1.0.1, 0.9.7)
json (1.4.3)
json_pure (1.4.3, 1.2.4)
launchy (0.3.5)
madeleine (0.7.3)
mediawikiapi_client (0.2)
mime-types (1.16)
mongrel (1.1.5)
nokogiri (1.4.1)
oauth (0.4.0)
promise (0.1.0)
rack (1.0.1)
rails (2.3.5, 2.3.4)
rake (0.8.7)
rdf (0.1.10)
rdf-isomorphic (0.1.2)
rest-client (1.4.2)
rspec (1.3.0)
ruby-hmac (0.4.0)
ruby-openid (2.1.7)
ruby-prof (0.8.1)
rubyforge (2.0.4)
rubyzip (0.9.4)
sinatra (1.0)
spira (0.0.1)
stringex (1.1.0)
twitter (0.9.5)
uuidtools (2.1.1)
xml-simple (1.0.12)
yajl-ruby (0.7.6)

Related articles by Zemanta