You Get Linux! And You Get Linux! a.k.a. Some of My Linux Story

As alluded to in a previous post,  I originally became familiar with Linux out of necessity.  Since those days of running Ubuntu on an old desktop (and running a 50′ Ethernet cord across my house whenever I needed to install new packages or updates), Linux has popped up on all kinds of devices.  I think this phenomenon can be attributed to both the flexibility of the Linux platform, as well as the passion of the Linux community, but either way I’m glad that I, and countless others are able to reap the benefits of this versatility and hopefully contribute back in some small ways.

The Journey

From that first computer, I then discovered there was a port to the Nintendo DS.  While the setup was easy and straightforward, the resulting OS wasn’t terribly useful, except on one noted occasion in the Orlando airport where I was able to get it connected to one of their access points and entertain myself with the Lynx browser: mainly Google searching and checking my email, but a novel experience nonetheless.

DSLinux Image

Someone running DSLinux

 

My appreciation grew exponentially when I started using Linux as my daily OS.  I had configured my laptop to work as a dual boot with Windows, and my work laptop ran exclusively on RedHat.  Coupled with my investigation into “Plug” computers, and managing a few servers at work, it was a veritable submersion into the various flavors and utilities of Linux.

At this point, I knew enough to be dangerous, and I was having some delusions of grandeur on what I could make with a Raspberry Pi (first a Tomcat server, then a MythTV backend, but it’s most effective use at the time was a wireless bridge for my network switch).  I had more ideas than a single Raspberry Pi could handle and lacked the bank account to be able to scale up, so I diversified a bit.

While I had a number of these “headless” systems, what I didn’t have was a laptop attached to my hip 24/7.  However, at this point I had a smartphone (it even had a keyboard…with a tab key!) which might as well have been attached to my hip.  Thanks to hardworking developers and Google, I found Connectbot, and later VXConnectbot, and I loved feeling like I could do anything since I had access to Linux in my pocket.  But the more I thought about it, the more I wondered about the Linux that was literally IN my pocket: Android.  I knew it was based on the Linux kernel…so what about actual Linux?  The rooted nature of the phone lent itself to a plethora of options (some better than others) and soon I saw that little command prompt.  It was also at this point that I began to somewhat understand how VNC was working, and it was quite the exciting day when my phone was on my laptop screen, looking very much like a very limited laptop of it’s own.  Mind. Blown.

In parallel with my OS-inside-an-OS adventures, it seems that companies were exploring the plausibility of the same thing, and to my excitement, some were looking at simply unifying the OS across the board.  While it would be years before any of that would see a useful release, I still felt that there was tremendous opportunity in this area.

Moving on in the timeline, I found myself serving as a graduate student assistant in the Dean of Students office at Stony Brook.  We had not only switched to Google Apps for Education, but my job responsibilities coincided heavily with office software suites. At this point I sometimes wondered: outside of the odd job here or there, how much of my job could I do from my phone?  My sneaking suspicion was 100%, but there were definitely tradeoffs in speed and usability.  In a similar vein, our CIO at the time was doing a lot of experimenting with Chromebooks, and being in the mobile/cloud mindset at the time, I was completely behind the idea, well, mostly.  While I thought a Chromebook may be perfect for some people, I still felt I had some atypical needs (like an attachment to Linux and the fact that I was a CS major and needed to code).  In classic fashion, great developers and Linux to the rescue: Crouton!  While I wasn’t able to acquire a Chromebook at that time, you can bet that I was following them closely.  When I finally managed to get my hands on one, I think it spent all of a half hour not being able to run a chrooted Linux, which it does quite well.

Since the Chromebook, I feel like the majority of my ponderings have related to building or leveraging things on top of Linux rather than getting Linux on as many electronic devices as possible.  I did back the C.H.I.P. on Kickstarter, and carefully researched the Pi Zero, but a lot of time these days goes towards work and doing fun things with my girlfriend, who understandably doesn’t assign a high value to random hacking in the same way I don’t assign a high value to random shopping, but the itch is always there.

So when I was making a bootable USB drive to upgrade one of my computers and I wondered if I could use my phone as a bootable USB drive, which led to what if it could be ChromiumOS, which instead of being bootable, was actually running, which if the filesystems could be shared would be a seamless mobile/desktop experience in my pocket, which would be great if ChromiumOS could do more things…kind of like Linux…so can I get Linux on an Android again?

At this point I’m no longer running rooted, but I DO have a Galaxy Note Pro, which has, in my opinion, the best multi window experience on mobile to date.  That could make for quite the desktop-like experience indeed.  As an added bonus, I could potentially update my old post about running Emacs on Android, even if it was still a questionable endeavor.

I ran into a lot of the same results that I did years ago when hacking on my phone, with one noted exception: GNURoot.  What once seemed like a limited implementation had received quite the facelift, and met a very important requirement: no root required.  I did some checking, then downloaded the p-trace contained Debian Jessie app and launched away.  A short while later, I was met with that familiar little cursor (though not so little, it is a 12″ screen after all) and began exploring my little system.  True, it doesn’t have a terribly up to date kernel, but it does have access to my files on the tablet, and managed to apt-get not only Emacs, but nodejs and node-RED as well!  Naturally I used node-RED to tweet this success, and discovered that while I could get a node+express app running (if the files where within the container for npm install) and accessible from the Chrome app at http://localhost, nodemon seemed to be unable to refresh & restart the application (a pity really, not sure where the breakdown is occurring).  Despite that, I still consider the preliminary experience a resounding success for both ease of setup and exceeding initial expectations, and of course having multi window support.

Tweet of Node-RED

Successful Tweet!

Conclusion

I look forward to testing out VNC and/or an X system on the Galaxy Note Pro.  As far as systems go it’s got a formidable processor and amount of RAM, so there are lots of possibilities, especially when combined with this nice little 2-in-1 I discovered in college (originally for the Webtop mode of my old phone) which provides a nice little mouse cursor on the screen, for what limited support it gets offered. I do realize that there’s the Microsoft Surface, but where’s the fun in that?

I would like to close with a concession.  While it would appear that I’ll put Linux on just about anything, I have refrained from, and most likely will forever refrain, from hacking it onto my PS3.  While it would be cool, I hardly get time to play it anyway, so I wouldn’t want to finally have a couple days and power it on only to find out that my Assassin’s Creed is no longer welcome.  That aside, Linux is an incredibly powerful and flexible OS once you figure out things to do with it, and the ability to get it running on such a variety of devices can be a great encouragement for those looking to experiment and push the envelope on their technology a bit, happy hacking!