let rant: (Bool, Bool, String) -> Void = { (isRant, isDev, contents) in

rant(false, true, "

So, a year ago more or less, I set out to teach myself some server-side programming on the side.

Many (MANY) tutorials, Digital Ocean droplets created and destroyed, coffee mugs and FMLs later, I can say 'Hello World' from Node.js - built from source and not running as a sudoer - using express and forever on Ubuntu, behind another Ubuntu server running nginx - also built from source so to add headers-more and naxsi - using all sorts of goodies to enhance security and talking to each other via SSH. Oh, and taking to the world over HTTPS with a grade A on SSL Labs (I know this doesn't mean much to you. Yeah you, rolling your eyes over there. So why don't you just bugger off before even commenting? Haha)

Feels good man.


  • 1
    Forever isn't a sure thing against failures, you might want to look into clustering yourself and verifying threads don't freeze. It can be a hassle at first, but it really pays off in the end. It's also nice to have a thread-aware master for your app.
  • 1
    @Neotelos Thanks, that's really helpful! I have pm2 on my to-do list, but I'm not sure if it does all the magical things you speak of.
Add Comment