Lets just try it
25 September 2023
The consequences of casually implementing changes in a work process with a "let's just try it" mindset. Discerning changes which are measurably positive or widely accepted by your team.
The Napkin Plan
22 February 2023
A techinque to avoid prematurely optimizing your code and architecture.
Break the Glass
29 January 2023
Allow employees to get emergency elevated credentials safely and accountably
Setting up Grafana to persist in PostgreSQL with Helm
14 January 2023
There are tons of Grafana and Helm tutorials out there, but I could not find any that did not use the default option of a Kubernetes persistent volume to store Grafana's data. It wasn't difficult, but wanted to document it here for the next person.
k9s EKS Context Error
26 October 2022
k9s broke and only showing list of contexts. Turned out to be old EKS KUBECONFIG was the culprit
Lavender In The Time of COVID-19
22 March 2020
Our brush with staph scalded skin syndrome during a pandemic.
Install Helm in a Namespace
10 February 2020
Installing Helm 2 into a namespace other than kube-system can be a little tricky to get right. Learn how to do it quickly and easily with an example.
OSX El Capitan USB Audio Issue
14 April 2016
Does your USB Audio devices sometimes just cut out and stop working causing things like Spotify and YouTube videos to stop playing completely?
The Listeners Movie
21 March 2016
A documentary about HQCC where I used to be a Board Member
Django Template Variable or Else
09 March 2016
Easy way to display a Django template variable or show a default value.
Wagtail InlinePanel TypeError
01 March 2016
If you've been using Wagtail for awhile, this is an easy problem to run into but a hard one to find the solution to. TypeError: getattr(): attribute name must be string at related = getattr(model, self.relation_name).rel
Kansas Legislature Website Problems
22 January 2016
Kansas Legislature Website is unusable in Chrome. A browser with over 50% of marketshare.
The day I did something
29 November 2015
Frank discusses the specific steps he used to get ready to work for himself. Not necessarily a plan, but more a history of what worked for him.
Rebuild Sphinx Docs Automatically + Live Reload
16 September 2015
Working on a lot of Sphinx documentation? This PyPI module helps auto-rebuild your docs and includes livereload so you can more quickly see your changes.
Suicide by the numbers
13 September 2015
Suicide and other mental health problems are higher in tech workers than many other fields, yet we seem to recognize and do less than most professions.
Ubuntu apt Hash Sum Mismatch
04 December 2014
How to fix getting hash sum mismatch error when using apt-get
carbon-cache supervisord FATAL start
10 November 2014
Why carbon-cache having a 'FATAL start' with supervisor, isn't really an error.
Interviewed about Grove.io on CrazyEngineers.com
30 April 2014
Interview with Frank Wiles, CEO - Grove.io on CrazyEngineers
OSX Shell Clearing Tip
10 April 2014
Handy shell tip for clearing the display without losing the current command you're typing.
Configuring Mailgun with SaltStack
02 April 2014
Quick HOWTO on setting up Mailgun with SaltStack
Government Tech Contracts
15 January 2014
Rant on how bad our government contracts have gotten.
SaltStack and multiple pip requirements files
04 November 2013
Using multiple pip requirements files with SaltStack
Easy Crontab Mistake
07 May 2013
A super easy mistake to make when working with a crontab file