A pink heart outline created through a sinusoidal function
A pink heart outline created through a sinusoidal function
Creating a Heart Using a geom_line() Argument

I made a Valentine’s Day Card! Before you click/tap away, there’s more to it.


It’s easy enough to make a card by hand or with a word processor and some images. For that matter, you can even buy a pre-made card with ease. But what happens when you’re a nerd and know that your significant other would appreciate a fabulously nerdy card you made yourself?

I found myself in that position and went on a wild chase to create a card in HTML and PDF form using ggplot2 to generate images and RMarkdown to develop the cards themselves. I also…

The code is as ugly as this cable management solution. Courtesy Nate Vack on Flickr.

This one took a long time to figure out. I started last Sunday and finally got an answer today. Based on how busy my life is getting now, I may have to move to solving one problem every two or even three weeks. I will experiment with the official answer soon to learn from it, but first to explain what I did on my own.

The Problem

The problem is finding the lowest common multiple of every integer between 1 and 20. …

Palindrome shown in a car’s odometer, courtesy of John Meyer on Flickr


The fourth problem set asked to find the largest palindrome as a product of two numbers of size N (specified in the problem). A palindrome is a number with bilateral reflective symmetry (if the digit count is even). 123321, 90000600009, and 33 are all examples. As you can see with the middle example, the middle number can be any other number, so long as the other even digit-count numbers on either side follow the same bilateral reflective symmetry.

Things I Tried

My first idea was to create a list of numbers in the range of possible factors, squaring each number to check for…

Image courtesy of Bill Smith on Flickr


The third Euler Project Problem asks you to decompose a large integer to find its largest prime factor. Sounds simple enough. However, it took me four days and twice as many hours going through multiple tacks before I finally got an answer. Unfortunately, it doesn’t feel like a win though, because I wound up having to execute someone else’s Python code. I converted it from Python 2.7 to 3.6 using this tool. I then saved it as a local Python script and ran it using the Anaconda IDE, obtaining an answer within less than half a second.

That answer allowed…

2020 was a wild year for the history books.

I started the year concerned that we were about to go to war with Iran. Thanks to our space forces’ strength giving early warning and politicians worldwide showing restraint, we managed to avoid that problem. I thought the Australian wildfires were likely one of the worst natural disasters we would see. That was before the Amazon Rainforest started burning, and the global pandemic took center-stage.

The Australian wildfires burned actively across the landscape. The fire season in Australia has been unprecedented. The United States has sent Department of the Interior (DOI) and U.S. Forest Service (USFS) wildfire personnel to assist with ongoing wildfire suppression efforts in Australia. Based on requests from the Australian Fire and Emergency Service Authorities Council, the U.S. has intermittently deployed wildland USFS and DOI fire personnel throughout December and early January. Image from Flickr.

The Pandemic

In January, the New York Times started reporting on a strange new form of pneumonia in China that was killing many people. At the time, this…

Fibonacci staircase to illustrate the topic
Fibonacci staircase to illustrate the topic
Fibonacci staircase at St John’s College, Cambridge, UK, Flickr

The Problem

It’s time for the second Project Euler problem set! The problem requires finding the even Fibonacci Sequence numbers below 4,000,000. I calculated the sum of the Fibonacci sequence using this formula:

I first heard of Project Euler about a week ago on a Twitter thread I’ve since lost. It excited me enough to get started! I wish I knew about it earlier because the way these are set up provides ample opportunity to develop good computing intuition. I plan to do one of these a week. I’ll be posting my code with explanations on this blog for the first 100 problems (those are the only problems allowed to be distributed like that).

Before I explain the code for problem 1, I will drop it with the included comments here for your…

How much do you know about the minutia of how the United States of America runs its elections? Before I worked at the Guilford County Board of Elections, I knew about districts, gerrymandering, the electoral college, distinctions between city, county, state, and national contests, filing deadlines, and some history of how voting worked in our nation’s past. After 48 days working at my local county board of elections office leading up to, during, and after the 2020 General Election, I learned far more than I had expected.

The author stands ready to assist the next customer at the service window. Local news video footage screengrab.
The author stands ready to assist the next customer at the service window. Local news video footage screengrab.
On my first day on the job, a news crew collected footage of the service window while voters turned in registration forms and absentee envelopes.

How I Started

The US Census Bureau estimated the 2019 Guilford County population to be about…

I’ve been vicariously living on the outskirts of data visualization, data analysis, and data science since I graduated from college in May. I decided to take the plunge in creating public visualizations about two weeks ago. But first — storytime!


I have a long history with data. My first experience was in grade school as a human web-scraper, grabbing information off webpages to put in Excel spreadsheets for my dad.

The next set of notable experiences were in middle school. I got excited about aviation (planes still hold a special place in my heart) and had started regularly flying a…

David Vermillion

Telling stories with data to accomplish mission objectives, improve outcomes, increase efficiencies, and boost profitability

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store