Welcome to Jekyll!

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

Vigenère – Encrypt All the Things!

This is the story of a service that began its life as a literal water cooler conversation and progressed from conception to a working beta in less than two hours. My coworker and buddy Eli (an administrator working for User Support) and I had just gotten out of an unrelated meeting and were talking about the various nonsense going on in our particular areas when he mentioned that he was having a problem with users inputting PHI (Protected Health Information) into the description field of our ticketing system. This is really less of a problem than it sounds as it was mainly identifiers so that application admins could lookup the patient record that was experiencing the issue, but it’s still PHI and should really be encrypted nonetheless.

Cronkite Story Engine (un)Optimization

One of the primary web services that we provide via our Legion framework is Cronkite, our story engine. Basically, Cronkite is a centralized repository of all the content that our Public Affairs team wishes to make available on our websites and various internal applications. Each item or article of content in Cronkite is called a “story”. On the surface this seems like a simple application, but given how the company is structured this almost immediately balloons in to a monster of complexity.

Coding by Coincidence

I learned a lot of things in college, but the most important lessons were not facts or algorithms or theories but rather ways of thinking about and approaching problems. One of the strongest lessons that has stuck with me over the years was a phrase that one of my professors, Dr. Ford, repeated ad nauseam: “coding by coincidence.”

Pagination