Projekt Vagabond Isn’t Dead. I Swear.

I’m starting to get back to a point where I can start working on this thing again and it’s like flipping through a kindergarten yearbook. Every now and then I’ll find something that makes me think I had a stroke of genius. Other times it’s like seeing a photo of that one kid you hated more than bees. Like you’d prefer taking nails hammered into your ears than listen to that twat for a single second more than you had to.

Tonight I had more of the latter instead of the former.

This thing has taken several forms starting out as a PoC Bash Script that was around sometime shortly before Ohio Linux Fest 2014 to a full-blown 15,000+ line C++ program which would have worked but I didn’t realize how insanely asinine packaging software has to be (I don’t have that kind of time, especially these days). But then I had the bright idea to simply make a Vagrant Box (I was already using Vagrant in the backend for handling a lot of things) and just distribute that instead of all this rigmarole. Funny thing here is that there are still quite a few snags.

As I’m typing this, the box is uploading to a cloud store that I’ll make available to the public tomorrow. I ran into some problems during this process.

  • I wanted to be a somewhat normal person and upload the Box to Atlas, HashiCorps repository of Base Boxes. I thought that would have been a great way to make this available to people. But nope! I don’t know if there’s a size restriction on the Box size or what but it just wouldn’t take it. FYI – the Box is about 780MB in size. The goal here is that someone would have simply been able to issue “vagrant up gregfmartin/vagabond” and get the VM. Man that would have been nice…
  • Google pisses me off to no end these days. Tonight was no exception. It still blows my mind that I can’t update or configure an Android SDK Installation from the terminal without either (A) getting bitched at for some ridiculous reason or (B) having to press ‘yes’ to accept fifty licenses for these libraries instead of just being able to use an option that will opt-in to any license requests that would come up. The former makes it literally impossible to automate an installation. Some people on GitHub have described a work around for this but it’s really hacky and I’m a little concerned about the platform portability of solutions like those so I’m avoiding them like the flu.
  • This all lead to my idea of just making the Box and distributing the Box that I’ve manually tweaked. This has issues in and of itself in that (A) the bundled software is static unless the user wants to manually update or (B) wait for me to to update and republish an updated Box (which I REALLY don’t want to do if I’m being honest). This leads into supplementary tutorial material that will be on the project’s website.

In case anyone is wondering, the reason why the Box is so huge is because it contains a fully updated Ubuntu 14.02 64-bit base image, required prerequisite software to use the Android SDK and associate tools/IDE, the Android SDK installation with all 5.0.1 components as well as all Support Libraries that are compatible with Linux (important to note), and the recent version of IntelliJ Community Edition. So yeah, it’s a little fat. That’s the size it would be on your disk anyway.

Tomorrow I’ll get all of the stuff up on the website like documentation and how to do things with it and what you can expect by using it as well.

Something tells me I’m going to have to make some changes to this before too long. 🙂

Never Underestimate the Role of the Sysadmin

The past few weeks have been a rather interesting adventure in my technology career. Not only has it been a eye-opening experience but it’s been a humbling one as well.

Ever since I started eleven years ago when I chose IT as a profession, I’ve been one of the following at any point in time:

  • Software Engineer (I still actively participate in this)
  • Tech Support Monkey
  • Cog-in-the-Machine Glorified Maintenance Guy
  • Consultant
  • Independent Contractor
  • Evangelist
  • Public Speaker (Still do this and want to do more)

These days, I’m getting the unadulterated taste of what it’s like to be a manager/system administrator/network architect. If I’m being honest, I wasn’t totally prepared to be put in a position like that but what’s life if not an opportunity to learn new things.

Learning is what I’ve been doing since starting this new job almost a month ago. I wasn’t totally unprepared for the networking side of things but it certainly was not my forte. So when we started having all sorts of issues with DNS, routing different kinds of traffic between two ISPs, modest but improper implementation of VLANs, investment in monitoring and NACs, my life became this seemingly endless cycle of banging my head against the wall, reading technical manuals until the wee hours of the morning, working on maybe four hours of sleep a day and loving every second of it.

One thing I picked up on though is that system administrators deal with way more acronyms than programmers ever do in their entire careers. In three weeks I may have learned more acronyms with regard to networking than I have in ten years of software engineering.

The really cool thing about all of this is that I can remember back in high school when I started taking the CCNA courses and I seriously was falling asleep during them. As it would turn out, that’s not an uncommon thing to happen as most every other sysadmin I’ve talked to about CCNA says the same damn thing. But I never thought in a million years that I’d use any of that and guess what? I am now. What a world of difference your life becomes when you completely understand the OSI/DoD Networking Models and what each piece of networking hardware does. I love building Nagios and pfSense boxes and configuring them. It makes my nerd giggles happy when I start configuring a switch/router/firewall. DNS? I’m up to my neck in BIND and it’s great. DR and Failover? Let’s do it!

Speaking of switches, can we just start making it a point to boycott further production of Dell PowerConnect switches and find the existing ones and toss them in a lake somewhere on Mars? I mean if we were ever afraid of an alien invasion of some sort, just show them that those monstrosities were made and they’ll turn right the fuck around. They’re proof that intelligent life was not found on this planet.

The really great thing about being a sysadmin, I think, is that there are more chances for you to be faced with do-or-die situations and that’s where I work best at. When things are so hard that you’re the only person to turn to and even you don’t have anything near close to an answer. Not only that but being able to orchestrate all of these technologies to work smoothly in tandem with each other is a bit exhilarating. AND I GET TO USE AS MUCH OPEN-SOURCE SOFTWARE AS MY LITTLE HEART DESIRES!!! :)))) Save for Windows Server. Oh and by the way Microsoft, your CALs can go rot in hell.