Hi, I’m Josh. :wave:

Strengths | Experience | Side Projects | Open Source | Work History | Education

refresh if you don't see a 'taylor waving.gif'

I love writing Ruby & Go :sparkling_heart:, rocking out to Taylor Swift :notes:, and using gifs to make others smile :smile:.

I’m looking for a light-hearted, collaborative team, that could benefit from my strong back-end development skills.

Strengths :muscle:

:back: to the top

refresh if you don't see a 'taylor swift strong.gif'

  • I :heart: Ruby & Go. I love the communities, and the languages.
  • I aspire to be an excellent software craftsman.
  • I enjoy writing good documentation, as I find it highly valuable.
  • I think of myself as a very good mentor.
  • I always consider future maintainers.
  • I desire to contribute to open source.
  • I was called “Gif Captain” by my manager.

Experience :scroll:

:back: to the top

refresh if you don't see a 'taylor swift whats up.gif'

  • Eight years of Ruby.
  • Six years of Ruby on Rails.
  • Two years of Go.
  • Eight years of being a huge Taylor Swift fan.
  • Thirteen years of PHP, MySQL, and JavaScript.
  • Eleven years of managing critical on-line systems.

Side Projects :wrench:

:back: to the top

refresh if you don't see a 'taylor award dance.gif'

I’ve written some fun things over the past few years.

I :heart: Ruby :ledger:

My somewhat active blog. I post about development-related topics, from Ruby and Rails, to Heroku and command-line tools. Uses Jekyll so I only have to use markdown, and is hosted on GitHub pages.

I have a lot of gifs in my Dropbox, so I wanted a simpler way to get a publicly viewable URL. It connects to Dropbox’s api and creates a public share, caches that in a key-value store (in said Dropbox), and provides an embeddable URL. Great for markdown and BBCode support.

Originally written in Ruby, now written in Go.

Caring for Karen Sue :golf:

A charity-focused site that holds annual golf-based events, built in Ruby using Rails. Uses PayPal for payment processing.

Book Notes :notebook:

Where I put notes from books I’ve read. Makes it much easier to study across machines, and provides a handy, searchable reference.

Book Notes Generator :repeat:

Extracted from the early version of my Book Notes, it reads a YAML file (example link) and generates the core markdown files for the chapters and sections. It also places them directly into the above Book Notes project in a new folder, with a handy Readme link provided at the end. I should really change this into a gem or a binary.

Game Selector :space_invader:

A Ruby application with the Sinatra framework that accesses the /games endpoint of my blog, and uses Nokogiri to parse lists, caches it in Redis for five minutes, and returns a randomly selected title.

Dead To Us :skull:

A goof project to display team members at CMM that are “dead to us” (read: anyone that has left the team). Originally a Rails 5 project, I converted it to a basic HTML site on AWS S3 for faster load times, and no monthly cost.

Go, Deathbonus! :video_game:

As someone that enjoys watching people play games on Twitch (and generally does so from a mobile device), I wanted to create a simple, easy-to-use site that could take me to a streamer’s subscribe page, their chat in a browser window, or directly to their stream. So, as Dexbonus is one of my favorite content creators, I created a basic website using an alias of theirs, crafted it as a JavaScript-powered HTML page, and hosted it on AWS S3.

TimeToTaylor :clock7:

This consists of an AWS Lambda that I wrote in Go, and a web page on AWS S3 that interacted with it using an AWS API Gateway endpoint. They don’t talk to each other anymore now that the showtime has passed, but I’m keeping it around for the next one. :microphone:

Go! Call Me (Maybe)! :rotating_light:

Originally a Sinatra-based Ruby application called Alexa Alerter, I converted this into a Go-based binary that works with Twilio and can be uploaded to the AWS Lambda service, with environment variables controlling some of the features. It then can have an Alexa-based skill pointed towards it, enabling features like, “tell Josh I need him”.

Go! Call Me Notifier :pager:

Since I always have my watch or phone on vibrate when I’m working (and often charging at that time), I tend to miss an alert from the above Alexa Alerter. To fix that, I developed a Go program that subscribes to the remote Redis server, which then pings me on my MacOS desktop that my attention is needed. Note: No longer maintained due to work-related VPN restrictions.

Global Pandemic Goofs 🦠

This abomination of a website was created because of the absurdness of the global pandemic. At one point, this pandemic will pass, and then this site will be useless, so we goof on it while we can. It is a Ruby application utilizing Sinatra and has weighted logic to select random elements that make up the phrases. It reads from text files to provide options to replace the phrase, “In this global pandemic?”, with something like, “In this gleaming pop concert hall?”, or “In this gothic Pulp Juice And Smoothie Bar?”. It even has a simple, but effect, API.

Food Tracker :hamburger:

A personalized Ruby application with the Sinatra framework that displays what we have to eat. Uses YAML files to store data, so that it can be edited on-the-go (no database interface required).

Open Source Contributions :octocat:

:back: to the top

refresh if you don't see 'taylor swift epic.gif'

Kitty :cat:

Migrated to a cross-platform terminal emulator called kitty and realized it did not support the default Emoji keyboard on MacOS. Submitted a PR which added the missing support, and (although the PR was closed), it was addressed minutes later in a new commit by the maintainer, with a reference included.

Discovered an IE8-related bug in Turbolinks and submitted a PR to the project. It was merged later that same day.

Stoplight Admin :traffic_light:

Found two bugs in the project related to a previous user’s PR. One related to support for the Redis version dependency being increased when it made no sense, the other related to missing library support for sinatra/json. Not only were both the bugs fixed, but I also introduced tests into the project to make sure that at least the core framework would load without issue.

Work History :office:

:back: to the top

refresh if you don't see a 'taylor mountain.gif'

CoverMyMeds (2015 to present) :pill:

  • Mentored multiple software apprentices.
  • Ushered in a gif revolution.
  • Handled the upgrade process for multiple applications through different Rails and Ruby versions.

Vya (2007 to 2015) :envelope:

Senior Software Developer (2010 to 2015)

  • Migrated the marketing portal codebase to run on both Windows Server 2008 and CentOS.
  • Transitioned the codebase version control system from SVN to Git.
  • Became a Zend Certified Engineer for PHP 5.3 – License ZEND022958

Internet Application Developer (2007 to 2010)

  • Created a dynamic reporting system to offload work from support.
  • Migrated the marketing portal codebase to from Mac OS X Server to Windows Server 2008, in production.
  • Introduced the use of coding standards.

Self-Employed Contractor (2004 to 2007) :house:

  • Maintained the Advanced Office System (AOS) REALTOR-focused showing system.
  • Worked with REALTOR-based listing services to create custom data imports for clients.
  • Created an integrated online support system for managing user-submitted tickets.

Education :apple:

:back: to the top

refresh if you don't see a 'taylor swift studying.gif'

ITT Technical Institute :mortar_board:

Associate of Computer Science in Software Applications and Programming

Thanks for Reading! :sparkling_heart:

:back: to the top

refresh if you don't see a 'taylor heart.gif'