Q:

`firebase deploy` just hangs

I'm trying to deploy a site to firebase. 
firebase init worked fine.  I then ran firebase bootstrap and chose the tetris template.  So far so good.  But when I run firebase deploy I get Preparing to deploy Public Directory... and then it just hangs forever. 
How can I figure out what's going wrong? 
Random info in case it helps:
My firebase-tools is version 1.0.1; node is version 0.8.20; npm is version 1.4.23.  I ran sudo npm install -g firebase-tools to get the CLI.  I'm running on a debian chroot on Android 4.4.3 device.  My wifi works fine.  On a lark I even tried running sudo firebase deploy in case it depends on ICMP packets or something, but there was no difference. 

A:

Firstly, the main reason it's not working is that Node.js version 0.10 or greater is required. 
However, even once you've upgraded Node (and I'd recommend getting the latest of firebase-tools too) you're likely to be attempting to deploy the directory that you ran the initial firebase init command from, or at least the folder you specified in the setup (which defaults to the folder you ran the command from). 
You should change directory and run the firebase deploy command from the folder that was created by the bootstrap command - which would have been named after the name of the Firebase it was created with, and you can delete the firebase.json file created in the parent directory. 
The reason is that firebase init and firebase bootstrap are two different ways of doing the same thing - getting a folder in a deployable state.  firebase init is for existing projects with files that will eventually be deployed, and firebase bootstrap is for creating a project from one of the existing templates.  By running both, the initial firebase init would have created a firebase.json file containing the settings specified by the prompts, and then the firebase bootstrap command would have created a whole new sub-folder with its own firebase.json for the different settings.