Technical Blog

Semester Finished

14 Dec 2018

I finished the semester! This is how I feel: Don’t you? Well, I still have finals. But those are easy compared to the projects I’ve had to push out. I’ll probably write about my escapades later. :)

Editors, or The Tools of my Trade

6 Dec 2018
programming, tools

I spend a fair portion of every day writing programs. As with all professions, using the right tools makes a huge difference in my productivity and general happiness. Having good tools helps me keep my gumption up. One of my favorite books is Zen and the Art of Motorcycle Maintenance. Contrary to what the title suggests, this book is actually not about motorcycles. It’s about a lot of things; one topic is about tools and caring about your trade. ...

Induction and Side-Effects

8 Oct 2018
programming, math

Today in my proofs class (MATH 290 at BYU) we talked about the concept induction. I like this, because it sounds a lot like recursion. On the Wikipedia article, there’s an excerpt from a book that illustrates the principle with an analogy using a ladder: Mathematical induction proves that we can climb as high as we like on a ladder, by proving that we can climb onto the bottom rung (the basis) and that from each rung we can climb up to the next one (the step). ...

Life Hacks: Text Notifications

11 Aug 2018

Life Hacks: Text Notifications # So many notifications come to us in the form of an audible alert, and this can sometimes be inconvenient. Who likes having their phone go off in church? The problem is that sound propagates regardless of the intended target. Touch, on the other hand, is an inherently personal sensation. Setting your phone to vibrate lets you know you’re being alerted, without notifying everyone else in the room as well. ...


18 Nov 2017

I once asked my dad over email how to improve my the potency of my words and thoughts. His reply came back as one word: Revision. Good writing does not emerge spontaneously; it comes as one practices writing. A “draft” is a pass of writing a particular work. It’s like sketching in art: when an artist starts a painting, they usually start with a rough sketch outlining where the figures will be, what the landscape will be like, etc. ...

Rapid Website Development with Mojolicious and Polymer

9 Nov 2017

My girlfriend works for BYU SA—it’s the division of BYU that’s responsible for planning and running events. As part of her job, she has to review song lyrics and make sure that the song is okay to play at BYU functions. This can get rather irksome. Imagine reading text looking for vulgar words or phrases. Yuck. I took some time this evening to write a little website that checks MetroLyrics for any vulgar words or phrases. ...

Eh, Docker, we have a problem here…

26 Oct 2017

Quick note for those who don’t know about Docker: Docker is a program that lets me take packaged-up programs (called images or containers) and run them without having to worry much about dependencies. Today I decided to upgrade my version of Ghost Blog. I’m using the Docker image on a Digital Ocean droplet. Updating should be simple, I thought. I would take down the blog then spin it back up again after pulling down the latest Docker image. ...

Emacs Tips and Tricks

23 Sep 2017
programming, tools

Emacs Tips and Tricks # To Learn About # ☒ Company-mode (completion framework for lots of stuff) ☒ YASnippets (templates) ☒ Auto-YASnippets (something like that—I installed it for temporary templates) ☒ Alchemist mode (integrates with company mode—tooling for Elixir) ☐ What do M-. and M-, do? ☐ font-lock-add-keywords would let me add new keywords to a language ☐ hi-lock ☐ highlight-phrase, unhighlight-regex ☒ Registers ☐ Auto-loading packages to make startup time shorter Things that make me happy # Undo in region (just highlight something and hit undo) Generate Backus-Nauer Forms with a slightly modified syntax with ebnf-eps-buffer Helm # You can filter buffers by pattern with Helm. ...