William G. Parrott, IV

Email: contact@williamparrott.com
Cell: 785.813.1039

Open Source Contributions
Personal Projects

I am extremely passionate about open source software. At every company I have worked for, I have advocated for the adoption of open source tools where appropriate and for the creation of policies to allow employees to give back to the broader community.

Though I am not nearly as prolific as some developers, I enjoy contributing to and creating open source software. Below is a list of a few projects which I have created or to which I have contributed in some way in the past.

August 2017 — CORS Demystified: It's Simpler Than You Think
Kansas City Developer Conference

Abstract

CORS stands for Cross-Origin Resource Sharing. But what does that really mean? In short, any time a client-side application running on one site requests a resource (image, script, json file, etc) from another site, that request is cross-origin.

As web applications become more complex, a growing percentage of traffic between sites stems from one CORS request or another. Almost any developer working today has dealt with CORS at some point, or will in the future. In many cases, CORS "just works" without any thought from the developer. But in more complex cases, it's easy to fall into the trap of copying a server config or chunk of JavaScript without truly understanding the interaction between the client and server.

This session is intended to help developers understand exactly what CORS is and how it works. We'll talk about some reasons that CORS is a crucial part of the modern web, what it enables, and some things that it can't do. Ultimately, we want to pull back the curtain and reveal the truth behind CORS. It is a simple, powerful tool that helps developers build better and more robust applications.

2016–2018 — Automate Your Life
Personal Project

This was a personal project I worked on with a friend. Our long-term goal for the site was to build a community focused on solving life's problems with automation. Plenty of communities exist which focus on tools and technology in automation, but we wanted to reverse the discussion and approach it from the human perspective. Due in equal parts to other personal obligations and minimal interest, we decided to put the project on indefinite hold in 2018.

My Role: Developer, Presenter

Technologies/Languages Used: Jekyll, HTML5, CSS3, Bootstrap, Gulp, Node.js

URL: http://automateyourlife.org/

2016 — ChimericDream.com v7
Personal Project
Version 7 of ChimericDream.com

ChimericDream.com is my personal blog. I post about whatever catches my fancy, whether it be goings-on in my life, technologies or news that interest me, and anything in between.

For this iteration of my blog design, my goal was simplification and ease of updating. I took inspiration from a number of blogs I read which use minimal aesthetics successfully. In addition, I moved from hosting my site on a shared web server and running WordPress to hosting the site at GitHub and building it with Jekyll.

My Role: Designer; Developer; Blogger

Technologies/Languages Used: Jekyll, Ruby, HTML5, CSS3, SASS, JavaScript, Responsive Web Design, Bootstrap.

URL: http://chimericdream.com/

2014–Jan 2017 — Data Integration Platform
Lexmark Enterprise Software

I worked on an enterprise data integration platform which facilitates communication and automated data processes between a variety of enterprise systems.

My team's product is primarily deployed as the backbone for data integration between a customer's existing systems and those developed by Lexmark. Our direct customers are primarily other internal Lexmark engineers, who use the APIs and other tools provided by our runtime to create and configure custom solutions tailored to an external customer's specific business needs.

Because our product is used by both internal developers and external business administrators, our team works to provide a scalable, fast, and easy-to-use system.

My Role: Software Engineer

Technologies/Languages Used: Java, Scala, OSGi, Maven, HTML5, JavaScript/ES6, CSS3, LESS, AngularJS, Gulp, Grunt, Node.js

2013–14 — Project Phyra
University of Kansas, Group Capstone Project

As part of a capstone project for my degree, I worked with a team to build a proof-of-concept collaborative online radio service. The concept was to create a social website that provided a modern, online equivalent of listening to music with friends.

Our final goal for the project included the ability to synchronize users' Spotify accounts via a web service, which, combined with a chat system and collaborative station management, gave users the experience of building communities around shared musical interests.

In addition to helping develop the web application itself, I created a virtual machine for use by our team that would allow us to share a common development environment without worrying about the differences between our normal operating systems.

My Roles: Front-end developer, back-end developer (Symfony), system developer (Vagrant virtual machine)

Technologies/Languages Used (web application): PHP, Symfony, MySQL, HTML5, CSS3, JavaScript, Python, Bootstrap Framework, Grunt, Node.js, Responsive Web Design, Spotify API, EchoNest API

Technologies/Languages Used (virtual machine): Vagrant, VirtualBox, Chef, Ruby, Apache, MySQL

2013–14 — KU Template
University of Kansas

The previous KU homepage used Bootstrap for much of the front-end code. The next phase of the project involved recreating the existing KU template from scratch using Bootstrap 3 as the base. Doing so helped further KU's transition to a fully responsive web presence. The new template was intended for use across all KU web properties, including the homepage, second-level pages, the Drupal CMS, and other departmental websites and applications.

My Role: Lead Developer

Technologies/Languages Used: PHP, HTML5, CSS3, LESS, JavaScript, Bootstrap Framework, Grunt, Node.js, Responsive Web Design.

URL removed: Because I am no longer an active member of the KU web team, I do not want to imply that any of the current KU websites are my work.

2013 — ChimericDream.com v6
Personal Project
Version 6 of ChimericDream.com

ChimericDream.com is my personal WordPress blog. I post about whatever catches my fancy, whether it be goings-on in my life, technologies or news that interest me, and anything in between.

For this iteration of my blog design, I aimed to make the site fully responsive. I also built the site using the Bootstrap framework. I used the opportunity to play with different methods of presenting my blog's content based on the viewing environment, such as screen size, pixel density, and touch features.

My Role: Designer; Developer; Blogger

Technologies/Languages Used: PHP, HTML5, CSS3, SASS, JavaScript, Responsive Web Design, Bootstrap Framework.

URL: http://www.chimericdream.com/

2012 — KU Homepage and Second-Level Pages
University of Kansas
The KU homepage using the 2012 version of the template

In late 2012, I was tasked with implementing a new design for the KU homepage and second-level pages. This template was based largely on the template used in the Drupal DMS.

For this version of the template, we chose to begin a transition to using the Bootstrap front-end framework. The resulting product is a hybrid of much of the Drupal template and Bootstrap code. As part of this project, I created a Makefile to compile the different variations of the template. This allowed me to keep the majority of the CSS and JavaScript code in modular pieces that are easier to maintain. As changes are made to the template files, we re-run the Makefile to compile and minify the asset files. This results in smaller and fewer files (and therefore fewer HTTP requests).

My Role: Lead Front End Developer

Technologies/Languages Used: PHP, HTML5, CSS3, LESS, JavaScript, Responsive Web Design, Bootstrap Framework.

URL removed: Because I am no longer an active member of the KU web team, I do not want to imply that any of the current KU websites are my work.

2012 — Drupal Content Management System
University of Kansas
The informational website for the new (2012) KU Content Management System

In early 2012, KU began the long process of migrating our entire web presence into a single CMS. We chose Drupal for this project. I was given the task of taking a design created by the Marketing department and turning it into a Drupal template.

For the new template, we chose to implement a responsive web design, serving the same web content to all users, regardless of their device or screen resolution.

My Roles: Lead Front End Developer; Module Developer

Technologies/Languages Used: PHP, Drupal, HTML5, CSS3, JavaScript, Responsive Web Design.

URL removed: Because I am no longer an active member of the KU web team, I do not want to imply that any of the current KU websites are my work.

2011 — SimpleSwitch
First National Bank of Olathe
The SimpleSwitch website for the First National Bank of Olathe

The SimpleSwitch website was based around a new initiative at the First National Bank of Olathe. The website's core purpose is to aid new customers in the process of migrating their automated transactions (direct deposit, auto-bill pay, etc.) from their old bank to FNBO.

My Role: Front End Developer (in tandem with a designer from FNBO); Back End Developer

Technologies/Languages Used: MySQL, PHP, XHTML, CSS, JavaScript, AJAX

URL removed: In early 2012, the First National Bank of Olathe was bought by another financial institution. Shortly after, the new parent company decided not to continue offering this service.

2009 — University Advising Center
University of Kansas
University Advising Website (before redesign)
Before
University Advising Website (after redesign)
After

I worked with a team of staff from the University Advising Center at the University of Kansas to rebuild their entire website. I guided the process from inception through each phase and assisted in developing the information architecture, designing the look and feel of the site, and implementing the finished product.

The original site was busy, with the main navigation menu containing nearly 60 items. The goals for the rebuilt site were to have a cleaner interface, to make the informational structure more logical, and to update dozens of pages that were out of date (some by several years).

My Role: Designer; Front End Developer; Information Architect

Technologies/Languages Used: XHTML, CSS, JavaScript, Adobe Photoshop CS5

URL removed: Starting in 2012, KU began migrating all departmental websites into a common Content Management System.