Ben Burwell's Blog

I occasionally write things, and when I do they usually end up here. There's also an RSS feed.

2018-10-09 How does DHCP work?

DHCP (Dynamic Host Configuration Protocol) is an integral part of most networks, from small home network to campuses serving thousands of devices. I recently realized that I didn’t have a solid understanding of how it functions. I knew that DHCP was used to obtain an IP address from a central server when joining a network, but wasn’t clear on how that negotiation takes place. How could a machine without an IP address talk to a server that it didn’t know the address of?

2016-04-08 Whitelisting Tor on CloudFlare

On March 30th, 2016, CloudFlare posted a blog entry entitled “The Trouble with Tor” outlining the issues Cloudflare has with serving clients’ sites to Tor users. The Tor project quickly followed it up with their own post, “The Trouble with CloudFlare”, which presented an analysis of the situation from Tor’s perspective.

2015-04-23 Getting Login to Work on Ubuntu 15.04 with NVIDIA Drivers

When I upgraded to Ubuntu 15.04, I was unable to log in. The machine started normally and I was presented with the login window. But when I entered my password, the screen went black for a few moments and then the login screen came back.

2015-03-28 How to Reset a Lost Password on a LUKS-Encrypted Disk in Ubuntu Linux

Here’s the situation I recently found myself in:

2015-01-16 Your Website is not Special, Don't Make Visitors Make Accounts

One of my pet peeves in website usability design is forcing people to create unnecessary accounts. My recent purchase of some concert tickets from Ticketfly required me to make an account to buy them. For people who buy a lot of concert tickets, having an account may make a lot of sense. But for me, as someone who buys concert tickets at most once every year or two, having an account on a site that I will probably only use once is not only unnecessary, it’s annoying.

2014-12-14 Using Showoff for Markdown Presentations

Recently, I had to give a presentation and decided to do some research on using Markdown. By coincidence, I had also been looking into Puppet, a flexible and powerful configuration manager, when I stumbled across Showoff, another Puppet Labs project.

2014-10-11 Configuring CloudFlare’s Universal SSL

On September 29, 2014, CloudFlare, a web security company and CDN provider, announced that they would begin offering free, automatic SSL to all its customers (including those on their free plan). This is an enormous step forward for enhancing security and privacy on the Internet; while website owners would previously need to purchase an SSL certificate for their site and often pay extra for SSL hosting, CloudFlare now makes this all free. Plus, you get the benefits of their other services such as DDoS protection.

2014-05-31 LESS File Compilation for Jekyll and GitHub Pages

I recently wrote about migrating my website to GitHub Pages and noted that I wasn’t completely satisfied with my deployment workflow. Ideally, creating a build should be done in a single step. As I wrote, my previous build workflow required me to manually compile my LESS files before committing if I’d made changes. While my stylesheet doesn’t change often, this method is certainly not ideal.

2014-05-03 Enhancing Printing at Muhlenberg

A common frustration of Muhlenberg students is to print a document to a dorm printer only to find that the printer had no paper when going to collect it. This leads to both frustration and wasted paper, since when more paper is put into the printer, it will print out all the queued jobs from when the tray was empty. By that time, students have often given up and printed their document to another printer.

2014-05-01 Migrating to GitHub Pages and Jekyll

I’ve always been a fan of using Markdown to create web content. Several years ago, I created MDEngine, a small PHP script to render Markdown files in HTML dynamically. For a while, it was responsible for much of the content on my website. In October 2013, I began work on a fresh design. I decided to use a custom Node.js app deployed on Heroku for processing the Markdown. While this worked effectively, I always had some reservations.