Recent Posts

Automatically editing code

I really enjoy making automated changes to large codebases. When sed won’t suffice and the task would take too much elbow grease to do by hand, my favorite tool (for python) is redbaron. In this post, I’ll walk through a simple sounding operation that would be tough without a tool like redbaron.

Bad dog! Practice your Spanish flashcards

I wrote baddog.py to manage my time a little better. It wont let you download textbooks into your brain or even let you leave work early, but it does annoy you if you slack off online before finishing your to-do list and that might add up to a new skill in a year.

Expert System for Picking Outfits (#1)

This is the first of a series of posts walking through how I built a robot valet that picks clothing combinations. This post picks safe outfits, but structures the knowledge base that eventually can pick interesting outfits.

Extending IPython to run Prolog from a Jupyter Notebook

This post will walk through creating an IPython magic command to run code like this from a Jupyter notebook.

%%prolog
sandwich(caprese).
sandwich(reuben).

run:-
  findall(X, sandwich(X), Y),
  write(Y), nl.

:- initialization run, halt.

Solving a Logic Puzzle with Prolog

Have you ever run into a puzzle where you have a list of people that got scrambled up but you managed to keep track of some clues about who is who? This post walks through writing a fast constraint solver for a Zebra puzzle.

Finding Senators with Gap Terms on Wikidata using SPARQL

A few days ago, I went in search of United States senators who had pulled a [Grover Cleaveland](https://en.wikipedia.org/wiki/Grover_Cleveland) and served multiple non-consecutive terms. I couldn't think of any examples, but it's happened a lot of times including recently with senator Dan Coats (R-IN) who was a senator from 1989 to 1999 and from 2011 to 2017.

Finding Senators with Gap Terms on Wikidata using SPARQL

A few days ago, I went in search of United States senators who had pulled a Grover Cleaveland and served multiple non-consecutive terms. I couldn’t think of any examples, but it’s happened a lot of times including recently with senator Dan Coats (R-IN) who was a senator from 1989 to 1999 and from 2011 to 2017.

Script to Publish a Jekyll Post

I really hate typing dates. Home row is easy, but I typo numbers and symbols frequently. After publishing two posts manually, I decided to look for a script to help out and found jekyll-compose which has similar command under publish. Unfortunately, it didn’t timestamp the files and it didn’t intend to integrate with any SCM.