Tackable looks like a fun way of mixing curated and user-generated content
I just wrote up a brief synopsis of how I use my CR-48 for development and submitted it to Google. I thought I’d share it here. If there are others who have found other, better ways of doing development via a netbook, I’d love to hear them.
I’ve been using my CR-48 for web development and have finally found a groove that seems to work well. Firstly, being a netbook, the CR-48 assumes that all development must occur in the browser or in the limited shell. To do any serious development this required that I connect to a remote server. My solution was to run a Cloud9 server on my Ubuntu desktop at home and it’s been working rather well.
To sum up my process in a few steps I…
- Ssh to my desktop via the shell
- Fire up a cloud9 server
- Connect to the cloud9 server via chrome
- Open another shell to my desktop
- Fire up my development server
- Open a new tab to my under development project
- Open a 3rd shell and ssh to my desktop for command line access to the environment, useful for downloading and installing libraries, running tests, etc.
While this works pretty well, there are a couple downsides.
- I have not found a suitable secure development environment. While I can ssh to my server, I tend to avoid most of the terminal-based editors in favor of a more full-featured IDE. E.g. Cloud9, Komodo, etc. As a result I only run the cloud9 server when needed and have my desktop firewall block external access. This requires me to be on the same network as my desktop. If I’m not on the same network, I’d have to update my firewall every time I want to do any sort of development (just plain annoying). Even in that case, access wouldn’t be entirely locked down—the other folks at the bar would also have access; using wifi at a bar is much more enjoyable than at Starbucks.
- Without the use of ssh keys my sever is slightly more open for intrusion than if it required keys for access. While this is OK for now, I would want something more secure when I move the server(s) to a cloud infrastructure.