Genetic Palindrome – A Programming Challenge Problem

Laptop with software development editor open
Programming challenges can be fun.

When hiring software developers a common technique for assessing their aptitude is the “programming challenge”. These come in a variety of forms, but they all generally involve a staged example where the candidate is tasked with solving some type of a task where multiple solutions exists. The candidate is then graded (in no particular order) on their ability to: read more

Compilers, Python

Getting Started with ANTLR for Python

Jason / February 8, 2021

ANTLR is a compiler writing tool, similar Lex/Yacc or Flex/Bison but much more capable, modern, and generally less frustrating. I am currently reading through The Definitive ANTLR 4 Reference by ANTLR’s creator, Terence Parr. It’s a wonderful reasource on the workings and usage of ANTLR, but it’s written in Java – one of my least favorite languages. Thankfully ANTLR targets multiple languages, so I figured I’d follow along in Python – also one of my least favorite languages. read more


Relearning Calculus

Jason / February 4, 2021

I graduated college in December of 2005, but my last math class was a year and a half earlier when I took Calculus III over the first summer 2004 term. As of the time of this writing that is just over 16 years, 7 months since I’ve last used a large portion of what I learned in Calculus III. read more

Databases, Quick Tips

Monitoring Running Queries in Postgres

Jason / January 31, 2021

Another one for the Quick Tips category – have you ever needed to see what queries are running against your Postgres database? Perhaps a nightly process hasn’t finished yet and you’re curious if it’s deadlocked? Or maybe the database server is using 100% CPU and you’re not sure why? These, along with many others, are all reasons I have needed to peek under the hood of Postgres. read more