Category Archives: Git

NodeFu – Free Hosting of Your Node.JS Apps In The Cloud!

NodeFu.jpgHave you been experimenting with Node.JS (as I have) and wished you had a place to host your Node.js apps? If so, you may want to check out NodeFu.com, a new hosting service that just launched today.

Created by my friend and co-worker Chris Matthieu out of frustration with not getting invites for some of the other new Node.js hosting services, NodeFu is hosted up in Amazon EC2 and currently offers free hosting of Node.js apps to anyone interested.

Getting Started

As shown on the NodeFu home page, the process of using NodeFu is fairly straightforward. You request a coupon (an invite) via a commandline curl:

curl -X POST -d "email=[email protected]" http://nodefu.com/coupon

When you get an email confirming your invite, you can register an account, provide our ssh public key, etc.

From then on out all deployments happen purely through git commands. You start out by registering a new NodeFu application via another command-line curl command:

curl -X POST -u "testuser:123" -d "appname=myapp&start=hello.js" http://api.nodefu.com/app

NodeFu will respond with some JSON that includes the port number your app will run on and the name of the git repo you will push to. You then just do two git commands:

git remote add nodefu the_url_returned_by_our_api
git push nodefu master

And your NodeFu app will be live at http://appname.nodefu.com. As you work on your app, you just do more commits to your local git repo and then do a “git push nodefu master” when you want to update the live app. Once you push to NodeFu, your app should automagically be updated.

A Very Basic Example

You can see NodeFu in action in a VERY basic form at:

http://dany2.nodefu.com

As I write this post today, that app is literally a super basic “Hello, World” Node.js app. The code is visible up on GitHub at https://github.com/danyork/nodefu-dany2 and hopefully in the next bit I’ll have a chance to turn it into something a bit more involved.

Building Voice and SMS Apps with NodeFu

I’ve also created a Tropo app at http://tropohello.nodefu.com which uses the Tropo WebAPI library for Node.js to return JSON to Tropo.com where you can connect to the app using voice, SMS, IM or Twitter. Right now I only have voice and SMS wired up, but you can try out the app at any of these numbers:

Voice & SMS Messaging: +1-850-462-8472
Skype Voice: +990009369991478810
SIP Voice: sip:[email protected]
INum Voice: +883510001827346

Tropo is providing the voice and SMS connectivity and then communicating with my app running over on NodeFu.com. Pretty cool stuff!

Learning More and Trying It Out

You can just go to NodeFu.com to learn more and ask for an invite. Chris has invited 50 people in so far and plans to be giving out more invites over the next few days. It’s notable that Chris has open-sourced the entire codebase for NodeFu, so anyone else could really just download Chris’ code and set themselves up with their own NodeFu-like site:

https://github.com/chrismatthieu/nodefu

Here’s a video explaining what Chris is trying to do:

Other Options

I should note that Chris isn’t alone in coming up with a service like this. The comments to the Hacker News story about Chris’ site (and also the Mashable story) show a range of other Node.js hosting options, including:

… and a couple of others were listed, too, but they seem to offer other forms of hosted JavaScript versus Node.JS hosting.

The key point of all of this is that for those of us experimenting with Node.JS, this is truly a wonderful time to be trying it out, because we now have so many options before us!

Git Immersion – A New Tutorial Site About Git

Git Immersion - Brought to you by EdgeCase.jpgWant to learn more about the Git version control system? I recently was pointed to a new site called Git Immersion that provides some great, simple, step-by-step tutorials to get you started with using git. I love the premise:

Git Immersion is a guided tour that walks through the fundamentals of Git, inspired by the premise that to know a thing is to do it.

For those of you wanting to learn more about git, Git Immersion s definitely worth a walkthrough…

Video Book Review: Pragmatic Guide to Git

pragmaticguidetogit.jpeg

Last night I recorded a new episode of my Emerging Tech Talk video podcast (as part of my One Day of Content Creation) where I reviewed the Pragmatic Guide to Git written by Travis Swicegood and published by Pragmatic Programmers in November 2010.

As I note in the video embedded below, I found the book quite useful as a reference and a solid intro to git for people who may have experience with other version control systems and want to come up to speed with git. It is not a tutorial on version control systems, so if you have no experience with VCS’s, you’ll need to read some other book first. (Or watch my earlier ETT episode where I explain version control systems.)

Enjoy the review…


In full disclosure:

  1. O’Reilly sent me a copy of this book to review, but I would have purchased it anyway since I have a passionate interest in git.
  2. The links to Amazon.com above use my affiliate code and so if you actually buy the book I will receive a tiny amount of money.

Using Git Submodules (to build a USB key distro, in this case)

As noted previously, I’m a huge fan of git and an avid user of Github. Given that, I appreciate learning new ways to do cool things with git. Here was a new one to me – using git “submodules” to build a package consisting of other git repositories. In this case, Adam Kalsey wrote about how he used the “git submodule” command to package up a number of different components for a USB key drive.

The key point is: each of the components remains in its OWN git repository – yet the overall “package” is ALSO under git revision control.

This is cool to me as I’ve wanted to do something similar in the past – I’ve now added “git submodule” to my internal “git toolbox” list. Looking forward to trying it out at some point.