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!

Tasker: Forwarding Texts and Creating Your Own Android Features

I’m about a year in from when I talked about my current phone, and I’m happy to say that things are going great.  Well, they’ve been going great, but as I write this it seems that Motorola may be making some poor choices as far as supporting phones goes, so we’ll see how things pan out.  But I digress, my Moto X has been working really well, and I’ve been really pleased with the additions from Motorola in Lollipop, and sincerely hope that this experience continues into Marshmallow.  However, despite the features added into Android and those provided by Motorola or the apps you download, there’s always personal tweaks and alterations that users may want.  Thanks to the open nature of Android, these are possible, and thanks to Tasker, it’s possible for all users, wherever you have your phone, even when you’re watching chefs play in a band at your girlfriend’s job.

The Idea

So the situation is this: I’ve got a “work phone.” That’s correct, I’m one of those obnoxious people that you can find carrying around multiple phones on the weekend, checking one, then the other, then pocketing one and putting the other one back on my belt.  And while that’s great and all, I don’t always want to be carrying both around…like when I’m at work and moving around from office to office, meeting to meeting.  It’s hard enough for me to try and remember a water bottle, never mind multiple phones. So what’s a nerd to do?  Normally, I end up leaving my personal phone at my desk when I head out on these little adventures, thereby missing any notifications that may occur in my absence.  Thanks to these wonderful things called apps, and “the cloud,” most of these will be mirrored to the work phone, with the noted exception being calls, and texts.  To stereotype, being a millenial means I don’t have to worry much about missed calls, which leaves texts, which of late I’ve missed quite a number of important ones, including a “you locked me out and I can’t get to work”…definitely room to improve here.  So it was while listening to some chefs cook up some classics, I saw a feature in Tasker that read “Send SMS,” and an idea was born: What if my phone could text my work phone and let me know I’m missing something?

The Task

I immediately created a simple task to send a text, ran it, and watched it appear on the other phone.  Then while poking around the settings, I realized Tasker could identify the sender, message body, and sending number.  Suddenly my simple notification was becoming more advanced.  With my phone forwarding all this information, I began to wonder if the converse was possible…could I get my phone to respond to messages as well?

I needed a way for my phone to be able to differentiate between me replying to a text, and someone else sending me a new one.  Luckily, I had Tasker Variables at my disposal.  I stored the work phone’s number in a variable, and could now compare a sender’s number against it.  If they matched, I knew it would be a reply from myself and if they were not the same, that would be a new message that would need to be forwarded.  This worked great with one notable exception: how would my phone know who to reply to in the event of multiple texts?  I needed a format of some sort.

Expanding the Use and Functionality

Delving deeper into Tasker, and with a little substantial help from Google, I discovered the numerous ways to manipulate variables.  This allowed me to segment and parse variables I already had, most importantly the body of a text message.  With this I was able to create and decode a sort of “message header” with the texts.  By using a format to specify a person, their number, and the associated message body, when receiving a new text I was now be able to know who it was from and what phone number they were using, and when replying, my phone would be able to determine what number to send the text to as well as what the message was.  I had been able to turn my phone from an endpoint, to a forwarding device, and finally to a middleman in about an hour of tinkering.  By subsequently revising my regular expression, I was able to account for some bugs such as newlines, and even get emojis working (an absolute MUST, I know).

With the chef band getting late into their second set I knew I didn’t have too much time left, but I did know that Tasker had some more to offer me.  Since it would behoove me to know when this Tasker profile was active, I added a persistent notification that tells me as much, and threw in the forwarding number for good measure.  I then made it actionable, so that I’d be able to disable it right from the Notification Shade.  I had now taken care of everything except turning this forwarding on.  Leveraging one of my favorite features of the Moto X (constant activation-phrase detection), I used the AutoVoice plugin to set the profile up to be activated when I tell my phone to “forward my texts,” at which point my phone will audibly respond letting me know that it is activated.  Unnecessary? Yes, but then again isn’t this whole process?

A Feature Complete

At this point the band was saying their thank yous, and the place was getting ready to close up for the night, but I had a working, voice-activated Text-Forwarder.  It was a little rough around the edges, but it was unmatched in terms of the ease of creation.  I even went so far as to combine this with my Google Voice (…err Hangouts?) number, and got myself a poor-man’s version of iMessage, not too shabby in my opinion.  Now with my increased knowledge and experience with it, I can’t wait to see what else comes to mind the next time I’m exploring the features of Tasker!

The “About Me” Update

So it’s been quite awhile since I’ve gotten around to posting anything here, which I blame partly on graduating and all the fun and change that happens with it.  Luckily, I’m able to keep this site and maintain it for the foreseeable future despite no longer attending Stony Brook as a student, not a bad deal =).

So What’s Up?

In December I graduated with my MS in Computer Science.  Both my BS and MS was no easy chore (often I felt that getting my BS was “BS”) but definitely a rewarding experience for me.  It’s been about 6 months since then and I can only hope that the lessons I’ve learned and the friends and acquaintances I’ve made stay with me as long as the memories will.

After graduation I accepted a full-time job with IBM, a company I couldn’t be more excited to work for, as a Product Engineer for the z Systems mainframe.  I had been interning in this area before, and was excited to be taking a more direct role in the day-to-day challenges and rewards of supporting such integral machines around the world.

Being in the “real world” has been both thrilling and terrifying, much like I thought it would be.  While I had been “responsible” for my finances for years, the game changed when the government was no longer helping me pay rent, and scholarships weren’t footing the dinner bill.  So while I’m slowly learning the ins and outs of organizing expenses, living within my means, and even doing a little bit of saving, I also enjoy the freedom of being able to make purchases and investments that weren’t possible until now.  Certainly not least among these is a new car (sadly a necessary purchase after my faithful 2000 Camry 5-speed took an early retirement) and fun little gadgets such as my Chromebook, new tablet (for work of course…), and some equipment I intend to tinker with to make a fun (and awesome) home entertainment setup.

So long story short, I’m onto the next phase, and loving *almost* every minute of it, but still enjoying fooling around with technology, trying new things, and hopefully continuing to learn each and every day.  Until next time…

Hello World – Chris Weber Edition

Well I suppose the title says it all.  I’d like to think that there’s something profound I can say here to kick off this site in some dramatic fashion, but I’m not sure there is.  I think part of this stems from my indecisiveness as to what I want this site to be: political commentary? Not really my strong suit. Technological advancements? I’m a pretty busy student (maybe we’ll get to this more later), I don’t think we’d have many updates, and even fewer remarkable ones. A collection of hilarious GIFs and cat videos? In addition to being partial to puppies, I think there are plenty of sites doing a much better job of that.  What I do know, is Stony Brook has given me some web space, and like all other resources you get in college, why not use it?

So here we are, a site with some potential, but somewhat lost in terms of a direction, not so unlike its author.  I’m an alumni of Stony Brook University and also a current Graduate Student there as well, both in Computer Science.  Originally from the Hudson Valley Area of New York, college is both far enough away and not too far at the same time.  As a Computer Scientist I’ve been able to study a subject that I find both challenging and rewarding for a number of years, however my interests lie on a far broader spectrum than just behind a keyboard.  These interests have been able to occupy and employ myself and my time for quite some time now, and one of my fears of getting older is that my job, family, personal life, interests, and everything else that goes into a life may fall out of whack while I’m not looking.  Luckily I’ve been fortunate enough to be surrounded by some amazing people, and all told, it’s been a great time.

So what is this site? I’m not sure anyone knows (but I know of some snarky texts I’ll be getting because of it haha), but I’m excited to find out, and if anyone has some insight they’d like to share, feel free to let me know in the comments section…I think I have a comments section at least…

The guy behind the keyboard.

The guy behind the keyboard.