If you’re here, you’ve probably already looked over my resume. However, I decided that not only would it be fun to put together a couple stories about things I did at work, but also that you might find it significantly more entertaining than another bulleted list of THINGS I DID AT MY JOBS. (I’m sure you get enough of those.)
IT Administrator June 2013 – Present
Mainstreethost, Amherst, NY
Oh, man, where to start? I guess the first big project I took on at Mainstreethost involved writing a web-based timeclock for the company. I didn’t know PHP at the time (at all), but I had started working with another employee to try and pick it up – and when my boss came in and said we were looking into timeclock services online, I took on the project of building a timeclock system in house instead. Almost two years later, employees here are still using that homegrown solution, along with many other internal web applications that I coded to help make life easier – all collected nicely in a CodeIgniter-based internal dashboard.
A few months later, we were running into some latency on many of the sites that we hosted – we had outgrown our current systems. I was heavily involved with the decision to migrate everything from Windows-based IIS hosting to Linux hosting with Apache. Since then, I’ve been a big part of speeding up our processes through automation of everyday tasks like setting sites live on our new CentOS 7 servers via Jenkins CI or simplifying maintenance via shell scripts as well as continuing our migration of other systems onto Linux-based servers. All together, these processes have easily reduced the time it takes Operations to accomplish an average task by 80%.
Most recently, I’ve been working on improving our server infrastructure by implementing more new technologies for our developers to leverage, like a Redis caching server or taking some steps into Amazon Web Services. I designed a full environment, including two continuous integration pipelines, to push code from development into a fully scalable solution hosted in the Amazon butt for a recent project.
RTA Coordinator/Supervisor June 2012 – May 2013
Student Affairs Information Technology, University of Montana, Missoula, MT
One of my favorite projects to talk about has to be the collaborative effort between me and one of my coworkers to turn our old thin clients into digital signage machines in an effort to make deployment and maintenance easier and save electricity. At the time we started, many of the digital signage displays across the UM campus were running off of bulky desktop machines which pulled a ton of power. Some of these machines were even stashed in the ceilings of buildings across campus! We modified the hardware in the thin clients in order to allow us to run live OS’s from USB sticks, then customized a build of Damn Small Linux to automatically load up signage based on the thin client’s MAC address on boot. For the 1080p+ displays around campus, this solution wasn’t quite good enough, though; for those, we had to use some slightly more beefy thin clients (with 256 MB RAM instead of 128!) and install a distribution of Puppy Linux directly on the flash memory. These machines were far more able to support the hi-def displays, and still ran with minimal power consumption. By the time I left, we had replaced over 10 displays around campus with our thin clients, saving likely hundreds of dollars per year in power costs.
SAIT was responsible for building departmental computers as well, and when I started working there we were installing the OS from scratch, which often meant an entire day spent performing system updates and application installs. During my second and last year there, I spent time building a FOG server to automate system deployments and worked on a system to keep the image on the FOG server up to date. This saved us hours on every system build, dramatically decreasing our system turnaround time.
I built FastInviter as a response to a perceived need to easily schedule events and manage RSVP’s easily. It’s done in the CodeIgniter PHP framework, which I’m very comfortable with. While it hasn’t really taken off, I’m still very proud of it; it’s a great feeling to build something and have it work, and I enjoy challenging myself outside of my work environment.
As a server administrator, I love being able to see exactly what my servers are doing at any given time, but there wasn’t really a good piece of software out there that fit my needs. I loved the depth of data that Zabbix or Nagios gave me as well as the historical views, but trying to fit twenty-plus servers into one view just wasn’t happening. To solve this problem, I wrote a jQuery-based API frontend for Zabbix that organized server data into one easy-to-digest view and released it for public development on GitHub as zabbixweb. This is one of my favorite projects both because it’s still being actively developed and because it was a great way to bring some web skills into the server administration sphere.
I designed ISBN2Dewey after my move from an apartment to a house in an effort to make it easier to organize my books. It leveraged the OCLC Classify API to get the proper Dewey Decimal number based on an entered ISBN. It got lost when my server’s hard drive blew up, but it certainly fulfilled its use case and I’m proud that I was able to build it.