OK… I can now control household power. What should I do with it?

More Morse code! Tried to verbally explain what I was showing in the video and I don’t care for how I sound! Nevertheless, here it is: Arduino text to Morse code.

Post #4: Morse code! Piezo the sensor can become Piezo the annoying tone-maker :)

Project #3: using the same three LEDs from before: an impact sensor with the intensity divided between the lights.

Project #2: Three fading LEDs! (not a big increase in complexity >.<)

Note: I took a second look at this video and realized that I made them fade later, this is the simpler “three alternating LEDs” demo…

One of my first Arduino sketches: fading blinking LED.

Wordpress is awesome!  … and horrible. Rival Rockets had been faithfully hosted by the PHP CMS behemoth on my hand-picked hosting provider’s shared Linux server since March 2008. Problem is, it’s overkill for my needs.

I had briefly dabbled in switching to Tumblr about a year ago (during what was apparently one of the worst series of outages and poor uptime in Tumblr history) seeing this, I promptly switched back to my trusy Wordpress install.

So what made me change back to Tumblr again? Well… I broke it. I broke my beloved 3 year old Wordpress install.  A Small Orange had diligently let me know that I had used up more than 90% of my available storage, my folly was clicking the “update” button to install the latest (and presumably greatest) version of Wordpress. [Insert violent implosion sounds here].

So with a couple of my favorite posts recovered, I’m back. I’ve canceled my dedicated hosting and hope to see rivalrockets.com live on cheaply and usefully as a tumbelog.

Cheers and accolades!

I feel like I need a project, something in which to get lost in the tiny details.

Software side projects appeal to me, but the initial pain of starting seems to be keeping me at bay. Oh, and the fact that I don’t really have any ideas of what I’d like to build.

My software interests are more utility than outright new globally useful social etc. etc… one thing that “floats my boat” if you will is typesetting or markup to document generation. I like the idea that a system can let you simply edit a block of text and with no repeated thought, simply apply a process to the source and viola! — you have content.  See DocBook, Lyx/LaTeX, Sphinx, Markdown to see some of the cool things that are out there… perhaps I should build something with one of those.

I had never even heard of NX technology until I began researching better ways to set up a VNC capable server on an Ubuntu machine that I had planned on running “headless”.  To make matters more confusing, this promising technology is scarcely documented, so I’m putting my findings here.

NX Technology, to briefly summarize, is similar in concept to RDP or Terminal Services on Windows, it basically provides a network ready way to log in and connect to a graphical desktop environment on a computer that you are not physically in front of.  The X Window System, the de-facto graphical backbone for Linux, has been able to send GUI over the network for years, but in practice it has proven inefficient and only feasible on the fastest of networks.  NX on the other hand, uses a combination of compression and caching on top of traditional X11 making for a much more bearable remote desktop experience.  As always, Wikipedia has a better explanation than I’m able to provide here.

A company called NoMachine provides commercial client and server NX software, selling Linux and Solaris server software while providing a free NX client for all the major OSes (including Windows).  Until recently, the only notable freely available NX server for Linux was FreeNX which took NoMachine’s open source core libraries and wrapped it up in a bunch of convoluted script files.  A small team has been incorporating the FreeNX code into an Ubuntu PPA, but have been having trouble maintaining compatibility and releasing bugfixes to the FreeNX code.  One quick glance at the author’s site reveals that it has been a couple years since any official updates have occurred.   Now here’s where it gets interesting: last year Google GPL’ed its own internal version of the Free NX server called Neatx, which gives the open source community a fresh platform to work with.

Installing Neatx on Ubuntu 10.04

I found the process of installing the NX server to be fairly straightforward, using the new PPA add script introduced in 9.10, I added the FreeNX Team PPA repository:

$ sudo add-apt-repository ppa:freenx-team

This slick command takes care of finding the FreeNX Team’s Launchpad PPA software repository and adds all the necessary keys etc. to be able to get the software contained within.  After the script has finished its magic you’ll need to update the repository cache:

$ sudo apt-get update

Then, install the necessary pieces:

$ sudo apt-get install neatx-server

This will gather all of the necessary NX server components and dependencies including things like the OpenSSH server.  And that’s it!  I had to reboot to get the SSH server up and running, but other than that, no additional configuration was required!

Update: a comment left by a reader indicated that rebooting the server is not necessary even after a fresh OpenSSH server install, and I am to expect that everything is ready to go as the install finishes (thanks to Woden for the feedback).

Connecting to the NX server from another computer

On a your client machine, point the freely available client from NoMachine to the new Neatx server’s address, accept the key and presto!  You now have a slick remote desktop solution for Linux, congratulations!