I’m becoming a Node.js developer

A little over a year ago I switched my primary development platform to browser-based JavaScript. Fargo came out of that, and soon there will be Fargo 2.

But we needed a solid back-end, and we didn’t have one as of the end of the summer. It was obvious that it had to run in Node.js. I made a bunch of approaches, but it didn’t come together until my longtime friend Brent Simmons gave me a Hello World server app in Node. That was what I needed.

Now I’ve been immersed in Node on Unix for the last few weeks. Last time I seriously used Unix was in the late 70s when I was a computer science grad student at UW-Madison. Unix is still the same, but the tools have developed, deepened. It’s a little like time travel for me, having missed about 34 intervening years. 😉

The Unix docs rarely put it together for you. I need to do X. Fumble around, and read a bunch of Stack Overflow pages, but I’m still not getting it. Or maybe I’m more acclimated to the client side, and I just have to develop stronger sea legs on server JS. I’ll let you know.

Dan MacTough, also a longtime friend, helped guide me through the Unix/Node setup. I started by reading the code he released on GitHub, and eventually we Skyped so I could ask a series of questions. Every answer saved me days.

Now I have a server on an Amazon EC2 Ubuntu micro instance. It’s running my fargoPublisher prototype. I have a pretty smooth deploy method with a folder shared between my desktop and the server, and the Macintosh Terminal program. I can upload a changed version of the software and reload the app in a few commands, a few seconds.

I miss the easy setup I had in Frontier. I could have a table of scripts that all ran concurrently. They could attach themselves to a port and off we go. Servers were easy to write and deploy. I want that same smoothness on Unix.

Ideally I’d like a browser-based Node app that let me manage a list of concurrently running Node apps. A checkbox next to each enables or disables (load or unload as necessary). Stats about each app, how long it’s been running, how many hits its taken, etc. I want it to “just work” of course, which is most definitely not the Unix way. 😉

I’m also considering various hosted setups. But I like having my own server. I’m trying to do it without a GUI interface, all through web interfaces and the command line.

Advertisements

About Dave Winer

Dave Winer, 54, pioneered the development of weblogs, syndication (RSS), podcasting, outlining, and web content management software; former contributing editor at Wired Magazine, research fellow at Harvard Law School, entrepreneur, and investor in web media companies. A native New Yorker, he received a Master's in Computer Science from the University of Wisconsin, a Bachelor's in Mathematics from Tulane University and currently lives in Berkeley, California.
This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s