I've picked up coding again after quite a few weeks off. I've been noodling on a version of Jawaya, completely stripped down, and just simplifying everything.
But from the time I rebuilt it using Node.js (which was what, December?), I haven't popped it onto a public server.
And today was when I remembered the 20 things or so you need to know to get an app up and running--versions, dependencies, different syntax for 5 different environments and services...but the thing is, I actually did remember most of it.
What's interesting is that the dependencies have changed in several (or more) of the modules, and even node itself in all likelihood.
So after getting git up and running on my linux instance over on Rackspace (don't forget to add a new RSA token from the instance to GitHub or you'll get errors), and pushing to GitHub and pulling, I fired it up
$ node app.js
Fail. But well! It failed perfectly. Node's got line-level error messages, so each time I fixed and fired it up again and failed, I went in and cleaned it up. For instance, the JSDOM module depends on CONTEXTIFY, which failed. I didn't feel like going down that rabbit hole (again--that one's burned into my memory) so I just removed references to it.
Then it was simple stuff, like setting the right baseURL to the server in 3 different locations (which I can consolidate someday).
But then there was Mongo. Oh, Mongo, me thoughts I knew thee. It's now enforcing its sort rules and requires an object or a string, and it had been lax on the syntax prior. So I fixed that in about 6 places, and away we go.
So now the only bugs and omissions are the ones I had this morning when I stopped coding and started working on going live.
What feels so good about this is that I've more than a few debacle days of chasing down dependency errors, config issues, and versioning nightmares.
This time, it was pretty easy to get through. I might even open it up someday and call it an app :)