J Rob Gant

Web Application Developer

About

Hey, I'm Rob, a full stack developer specializing in web applications. I'm a jack of all trades and utilize my skills to fulfill multiple roles. Mostly I write code, but before that I often need to setup databases, servers, DNS records, etc. I write modular, tested, and documented code. Even when speed is primary I find the time to come back and finish what I started. My goal is always to write code for myself 6 months in the future. I have sixteen years of experience helping build up development teams. As things progress and the development team expands I enjoy working with and mentoring other developers.

Outside of work I find myself frequently coding a solution to annoyances and problems I find. Automating away the pain is one of the joys of being a developer.

Top

Relevant Experience

Senior development team lead with experience building web application software and guiding startup development teams.

Experience

  1. Senior Software Engineer, Sober Grid, Inc.
  2. Chief Technology Officer, sixQ
  3. Senior Software Engineer, True Impact, Inc.
  4. Software Development Engineer, Tervela, Inc.
  5. Senior Software Engineer, Happier, Inc.
  6. Product Manager, SiteSpect, Inc.
  7. Advanced Solutions Engineer, SiteSpect, Inc.
  8. Senior Web Developer, RPM Communications
  9. Senior Developer, Workflow By Design

Education

Worcester Polytechnic Institute
Bachelor of Science Degree, Computer Science

Skills

Complete CV

Top

Programming

All of my programming projects utilize open source code. I prefer to build applications for the web using RESTful APIs, HTML, and JavaScript. Native apps have their place, but for the most part if it can be done using a browser then that is how I prefer to do it.

Project Repositories

rob.gant.ninja
Code for this website.
saas-api-boilerplate
Boilerplate setup for SaaS JSONAPI in Python using Flask & SQLAlchemy.
homedir
OS X Home Directory Files documenting how I setup my environment.
APODDownloader
Download the Astronomy Picture of the Day Every Day. Keeping only the most recent 100.
SublimeLinter-pylint fork
Makes it possible to use pyenv with SublimeLinter.
sublimehq/Packages fork
Support Angular 4 attributes in HTML syntax highlighting.
webargs fork
Add support for multidict in querystring (Flask), and add DelimitedPaths field type for JSONAPI spec.
js-data-jsonapi fork
Assisting primary developer add features to js-data plugin for JSONAPI spec.

Most of my work is published in my GitHub Account.

Top

Tips and Tricks

Life is quickly becoming a software problem; which is great because I like fixing software problems. Here are some of the tweaks I've made to make things a bit better for me.

User.js Scripts

GreaseMonkey Scripts I use to make the website I visit a bit better for me.

Block In Page JavaScript
Prevents all scripts from executing on certain websites, because they abuse the privilege.
Fix Most Pages
Common fixes for many websites to enable autocomplete, sanitize password inputs, disable _gaq links, enable video & audio controls, and show info on YouTube embeds.
Fix Fark
Automatically navigate to article when opening link in new tab. Enable keyboard navigation for comments.
Fix Reddit
Open posts in a new tab. Enable keyboard navigation for posts.
Fix Slack
Make Slack keyboard shortcuts respect when the ⌘ key is pressed.
Fix Youtube
Hook into the single page app custom spf events to detect a page transition and turn off the autoplay video setting in lists.
Remove UTM
Remove the tracking codes from URLs so I can share clean links.
TTRSS Open Background Tab
Add keyboard shortcut to open articles in a background tab from Tiny Tiny RSS. When expanding an article with YouTube embeds show info so I can add to my watch later list.

Other Customizations

Always Show Reader Mode Icon
Reader mode in Firefox is great, but it's a bit too conservative when deciding preemptively that it cannot handle a page. This CSS always shows the button which will work most of the time.
Symlink Configuration Folders
Firefox and Sublime Text both store important customizations in folders buried deep in the disk. But on UNIX-y environments you can symlink the folders to other locations. For example a git repository tracking your settings:
ln -s $PATH_TO_REPO/user.js $PATH_TO_FF_PROFILE/user.js
ln -s $PATH_TO_REPO/chrome $PATH_TO_FF_PROFILE/chrome
ln -s $PATH_TO_REPO/User $PATH_TO_SUBLIME_PACKAGES/User
Top

Organizations I Support

Electronic Frontier Foundation

I've supported the EFF for over a decade. They work to support Network Neutrality, Internet security, and Internet Privacy. I'm proud to use HTTPS Everywhere and Privacy Badger extensions in my browsers. They also help create the Let's Encrypt Certbot tool that I've used to setup my web applications under HTTPS.

The Mozilla Foundation

I've long supported Mozilla through my use of the Firefox browser, and I also support the Mozilla Foundation. Like the EFF Mozilla works to create an open internet usable by everyone. I develop web applications so it is vital to me that the internet be a place innovation thrives. Through my support I hope to help keep the internet from walled gardens and mono-cultures.

American Civil Liberties Union

As an American I believe that the ACLU is a vital part of our democracy. My donations to the ACLU and ACLU Foundation protect my and all American's civil liberties. It is not always easy to defend the Constitution, and I support those that do this vital work.

Southern Poverty Law Center

I believe that the Southern Poverty Law Center provides important services to my country by shining a light on the hate that is attempting to infest our society. Tolerance and justice aren't things that just happen, but causes that we must champion. Through my support I hope to promote civil rights and legal reforms that will benefit everyone.

Top