Email: contact@williamparrott.com
Cell: 785.813.1039
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.
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.
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
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.
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
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
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.
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.
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.
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.
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.
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.