Introducing the Personal *nix Cluster Manager

I was at home this holiday, with the family enjoying the Thanksgiving Holiday.  I was messing around with stuff on my netbook and realized I wanted files from my desktop back in my apartment.   Only problem was — I have no idea what my IP is back there (I moved recently).  I’m also too lazy to setup my own or pay for a proper dyndns solution.  Why is it that in 2010 I still have this kind’ve problem?  Shouldn’t there be some application I can run on all my client pcs which keep them meshed together?

A bit of digging, couldn’t find anything.  So I wrote one.  Introducing the “Personal Cluster Manager for *nix/ssh systems”.

First, an important assumption: This software is meant to be used by you and you only.  It probably won’t scale to 1000 machines and I’m perfectly fine with that.  I have a handful (10?) machines I care about keeping track of for my stuff and I imagine most of the people who are interested in this are on the same order of magnitude.

Ok, enough nonsense, what is it?  There are three pieces:

  1. A client daemon that maintains a reverse ssh tunnel with a master, always connected and accessible node.  Theres a good bit of configuration to get this right, so theres also a little helper script to ask the user questions to get the right config values for the client.
  2. A “master” script.  This provides  an interface to a sqlite database which keeps track of what hosts we’ve seen, what ports their tunnels are on etc.  You can ask the master “show me all hosts you know about” or “which tunnels are active and usable right now?”.
  3. A curses based UI.  The UI pulls all its data from the master program, and doesn’t do any direct querying.  (This is intentional, as I intend to build other kinds of UIs and want all the data stuff to be handled underneath the UI).  The UI shows you what tunnels are active to which hosts, and with one keypress can give you a shell on any of the remote machines (using the reverse tunnel setup by the client).

All 3 of the above are working in version 0.1 in github.

A very poor quality screencast with typos and minor bugs left and right, but you’ll get the idea: (nevermind the ‘scrollz’ stuff, thats something particular about my local bashrc and nothing to do with PCM)

AMD Joins Meego with Nokia and… Intel?

Source Press Release

Wow.  My first thought was “What, AMD and Intel working together?”  My second thought was “Awesome!  More people behind Meego!”   My third thought was “Wait, AMD is supporting a software platform?  That’s new.”

One at a time:

First — Intel and AMD both understand that they are in the fight for their lives right now, but necessarily just with each other, but with ARM.  ARM via Android and iPhone is taking over more and more market share in the global processor market.  All of our smartphones are running ARM, most of your tablets are running ARM and ARM is moving more and more into the netbook space.  A quick Google for “ARM vs X86” turns up not technical comparisons of the two ISAs but instead recent article after recent article of market analysis between the different chips.  It therefore makes sense for both of them to get into the game and promote some cross-platform software.

Second — I honestly believe right now that smartphone OS’s are a two horse race, iPhone vs. Android.  RIM and WP7 will fight it out for a small bit of enterprise market, but the lions share is the two goliaths.  Meego could very well be a solid third contender, which I think is awesome for many reasons.

  • More competition means consumers win.
  • Meego is also my personal favorite.  Debian in your pocket?  Sweet.  Meego promotes free and open source linux-desktop technologies whicih benefit not just the Meego platform but Linux desktops everywhere.  That’s right — every dollar that Intel, Nokia and now AMD sink into Meego goes into a technology that, more often than not, will be integrated into the next version of your Ubuntu or Fedora desktop.  Examples?  Telepathy, dBus, Tracker, gstreamer, webkit,  gtk, qt, clutter, kernel power management, low power drivers, apt, rpm and the list goes on.

Thirdly, and what I think is by far the most interesting, is the possibility that this is the begining of a new era for AMD.  AMD for the longest time was heads down on designing and fabricating chips.  About 18 months ago AMD spun off the fabricating part of that equation into a company named Global Foundaries.  Since then AMD has been chip and system design through and through.  AMD’s chief competitor though, Intel, has for the longest time been a big hardware and software shop.  This strategy has worked rather well for Intel — promoting software which promotes their Intel chips.  Things like Moblin, the Intel C compiler etc. all contribute here.  AMD could really take advantage of this idea and run with it, running with what I am going to call the “Google Trick”.   There is probably a much better term for this, but what I mean is to support products and services which might not be direct revenue drivers in order to support complimentary products which do drive revenue.  Google I think is king at this — products like Picasa, Wave, Google Voice, Goog 411, Google Sketchup, Google Earth, etc. etc rarely make a dime, yet they all contribute to “Googliness” and eventually drive Google search, which is key.

Thoughts?

Full Disclosure:  I own AMD stock.

A Must Watch: Barack Obama’s Post-Election Press Conference

I do recommend downloading the mp4 and watching at 2-3x speed though… a bit slow otherwise.

http://www.whitehouse.gov/blog/2010/11/03/president-obama-s-press-conference-lets-find-those-areas-where-we-can-agree

Some great questions and responses from Barack:

  • What I feel is accurately describing WHY america is so frustrated with the current political situation
    • “In such a hurry to get things don’t we didn’t get a chance to reform HOW we get things done”
  • Working on economy, job creation
  • Describing how to reasonably go forward with respect to dissenting opinions on healthcare
  • “Talk specifics” — which previsions do we like and don’t like and how can we compromise to make the most progress and do the best for our country (as opposed to meaningless ‘lets just repeal this’ type conversation).