More and more im falling in love with my raspberryPi not so much for its ultra small form factor computing power, but because its forcing me to learn more Linux bits and bobs and i love that.
today : Screen
Ever wanted to log into an ssh shell and have things exactly where you left them? ‘screen -R ‘
be able to have multiple windows open in your session ‘ctl+a, ctl+c’ and see a list ‘ctl+a, ctl+” ‘
be able to see tow things at the same time ‘ctl+a, ctl+s’
coming late into the command line ninja game this is all probably old to most people, for me its like a whole new lease of life on computing in the command line.
Ive long been a fan of Cloud9 IDE and with my recent purchase of a RaspberryPi what better way to start some native code development than with the IDe i already know and love.
Cloud9 started off with a heavy Node.JS bias, in fact the majority is written in node, but with ACE editor at the heart and its increasing ability to access the command line, configure ‘deplyment’ commands i figure it will make a fantastic IDE for C / C++ / Python or obviously Node.js development on the PI.
So flashed my SD card with a fresh Adafruit image to get some of the kernel module bells and whistles for later use and went about getting C9 up and running.
Step 1 : Node
This was simple enough
sudo apt-get install nodejs and I’ve installed node, but seeing as this is only version 0.6.* from the repo ill need npm as well
sudo apt-get install npm a hop back to the command line and bobs your fathers brother
Step 2 : Cloud9
Cloud9 have some great instructions on there github readme so off to work i go. unfortuneatly this is where the wheel start to come off…
/usr/local/bin/sm -> /usr/local/lib/node_modules/sm/bin/sm
> email@example.com postinstall /usr/local/lib/node_modules/sm
> node ./scripts/postinstall.js
npm ERR! TypeError: options.uid should be a number
npm ERR! at ChildProcess.spawn (child_process.js:429:26)
npm ERR! at Object.spawn (child_process.js:342:9)
npm ERR! at spawn (/usr/share/npm/lib/utils/exec.js:103:22)
npm ERR! at exec (/usr/share/npm/lib/utils/exec.js:40:12)
npm ERR! at Array.0 (/usr/share/npm/lib/utils/lifecycle.js:141:5)
npm ERR! at EventEmitter._tickCallback (node.js:190:39)
npm ERR! You may report this log at:
npm ERR! <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR! reportbug –attach /usr/share/cloud9/npm-debug.log npm
npm ERR! System Linux 3.2.27+
npm ERR! command “node” “/usr/bin/npm” “install” “-g” “sm”
npm ERR! cwd /usr/share/cloud9
npm ERR! node -v v0.6.19
npm ERR! npm -v 1.1.4
npm ERR! message options.uid should be a number
npm ERR! Additional logging details can be found in:
npm ERR! /usr/share/cloud9/npm-debug.log
npm not ok
Som more google shows no real answers so i figure im going to plow on and just do a standard npm install.
More updates to come. . . .
I’ve found over my few years of ‘learning by doing’ that one of the hardest things to get is feedback. If an application works, some would say that that’s enough, but for whatever reason i would love to get some feedback from other developers, so I’m putting this post out there and willing to listen and discuss anything that may come up.
My quote book project has gone though a recent change on the ‘Dev’ Branch of this Git hub repo. if anyone would like to take the time to have a read (its not that complex) and give me some feedback either in comments or emails, that would be awesome. My current development can also be seen in cloud9 IDE
In my ongoing learning with Node.js i find at each turn im more and more surprised at just how much it can do for me. Recently this surprise took the form of a problem ive been having froa while now with configuring Apache for proxy and reverse proxy to multiple web apps on my local server.
Here’s the run down of the situation:
i have 4 main web-app’s running on my server for various reasons and on various ports
- Transmission on port 9091
- SickBeard on port 8081
- CouchPotato on port 5000
- sabznbd+ on port 8085
- XBMC on port 8080
- Ajenti on port 8000
Currently i can reach each service in turn by sticking in the port as part of the URL
http://server:5000/ gets me CouchPotato for example, but this isnt the nicest of URL’s to remember so what i really want is
http://server/couchpotato instead. So some quick googling later and i find out that i can configure my allready installed and running Apache httpserver to do this with proxies and reverse proxies, excilent, and it all looks relatively simple to modify a few htaccess and other such setup files.
NO SUCH LUCK i consider myself a reasonable software developer and a fairly advanced computer user, so modifying a couple of files and reading a few API docs are not beyond me, but for love nor money i cannot get this stuff to work.
Skip ahead 6 months of nasty urls
I wonder if Node can do this sor of thing, quick google later and i find node-http-proxy and a 3 minute express config file later and ive got my proxies working like a dream.
With this experience and others ive decided to uninstall Apache completely and reply on Node.JS as my sole web server for just now. Hopefully this will simplify my life dramatically.
Just a quick update to something I mentioned last week, I tried moving from google reader to a twitter list. I can’t even last a week and I’ve gone back.
Twitter is a great tool and rss feeds may be an old fashioned tech, but for me it works best. I think mostly it’s just the user interface rather than the underlying technology.
Anyway for now, reader is my choice
So just for gun this morning i tried playing about with Adobe Brackets and i have to say well done to the guys who are building this. So far (Sprint build 12 at the time of this post) all the main functionality is there and this could well be used for simple JS development.
I love what adobe are up to here, a complete IDE (lightweight) written in the language its going to develop. Obviously this isn’t the first time this has happened but it is an exciting time for developers and im sure ill be writing some extensions soon enough. Until then, im still a big fan of Cloud9
Since giving up Facebook (a little, we all need it now i’m not nieve) i’ve been using twitter as my primary social network, i like its simple and effective design. So why not get my news from there as well?
I’m not pretending that I’m the first person to come up with this idea but for a while i’ve been holding back, convinced that 140 characters (less because each tweet needs a link) isn’t enough to explain an article and get me interested, but I feel now is the time to set asside my reservations and actually give it a go. Updates to follow.