Brad Lucas

Programming, Clojure and other interests

Building An Image Location Service With Clojure

September 21, 2019

Recently I was building a small library to extract information from image files. While doing so I thought a simple site to extract GPS information from images would be useful to build as well as to describe how it was created using Clojure.

The source code for this project is available on GitHub at while a running example is available at If you don't have a photo handy and would quickly like to see what the site returns see the About page


I'll assume that you the reader have some experience with Clojure and have build something in the language. With that in mind I'll just go through the steps I went through to build up the application.

Continue reading →

CharacterStringTooLong Value Is Too Long While Creating Txt Record In Route 53

September 20, 2019

While setting up Mailgun with a domain who's DNS records are setup inside AWS's Route 53, I received the following error:

CharacterStringTooLong (Value is too long) encountered with '"k=rsa; ...more..."'

This was in response to creating a TXT record (DKIM) which hs a very long value. 400 characters in fact.

The reason is that the TXT record is limited to 255 characters but you can have multiple strings in the record.

Continue reading →

Downloading the TTD API documentation site

May 17, 2019

Recently I've been working with The Trade Desk API whose documentation is hosted on a password protected web site. The site requires a username and password to access. These you get from your TTD representative.

Now, the site is fine but very dense. In a few cases I wanted to search the entire site and having a copy of the site locally would make this possible.

How to download the site is described in this post.


Continue reading →

Run A Local Amazon Linux 2 Instance

November 10, 2018

Amazon Linux 2 is available as virtual machine images for development on-premises. If you are using Amazon Linux 2 EC2 instances it is a compelling idea to have a local version of the same for testing and development.

But how? The follow details a path to running Amazon Linux 2 locally in a VirtualBox VM.


Before continuing it's assumed that you've worked with VirtualBox before. To continue realize that Virtual Box creates a virtual machine inside a named directory and uses an associated virtual disk image. This disk image as you can imagine is the virtual machine's hard disk.

Continue reading →

Updating Your Pip Requirements File

November 9, 2018

While revisiting an old Python project you may come to realize that your requirements.txt file contains out of date versions. You could go through and research each library and get it's latest version number but may be discouraged if there too many.

The following is a technique to update the entire file without having to take too much time.

This technique is good if your goal to to update each library to it's most recent first.

Step 1 Change the == to >= for each entry

Continue reading →