What I learned today about server-side programming

Attended PDX Web & Design meetup tonight, where Eric Redmond delivered a primer on modern server-side programming. What’s cool about Eric’s talks is he gives us a smattering of the stuff that’s he’s touched in the last few months – and he’s got a voracious appetite for fun, productive tools that support the lazy programmer. (Kindred spirit here – don’t make me do anything more than I absolutely have to to get the job done.)

Here’s the notes I took tonight as Eric was entertaining me (and the rest of the room). Mostly noted what technologies he mentioned, a few key lessons, and a few opinions that resonated with me.

http://www.socketstream.com (& GitHub)
– CoffeeScript
– Socketracer.com
– “ws://” protocol
– Server-side frameworks:
— PHP (easy/messy – bad programming practices)
— Express.js (difficult) – built on Node.js
— Sinatra (just right – “Ruby on Rails’ little brother”)

– CMD shell: SharpEnviro (win), iTerm (mac)
– txt editor: Notepad++ (win), Sublime Edit (mac) — or Sublime for windows
– httpd for win: WinLAMP or XAMPP
– Codeacademy.com/Tracks/JavaScript
– heroku.com – hosting provider for hosting Express.js apps (and tons more frameworks)
– Express.js takes care of implementing things like sockets that Node.js makes you write on your own
– HTML templating languages = jade, slim
— jade templates remove , instead of “end block” tags it uses indenting to define hierarchy
– Sinatra – ruby-lang.org, sinatrarb.com, rubygems.org
– erlang is now Eric Redmond’s favoured programming language (doesn’t recommend it)
– TryRuby.org – teach yourself Ruby from scratch
– larger-scale frameworks (generally MVC): RailwayJS (RailwayJS.com), Django (www.djangoproject.com), Ruby on Rails (rubyonrails.org)
– CMS’s: refinery, redmine, typo3

“Learning to program teaches you how to think. Computer science is a liberal art.” — Steve Jobs