Technical Blog

FreeBSD on a Raspberry Pi

12 Feb 2020
freebsd, tools

I’m a FreeBSD guy. My first computer was a FreeBSD machine that my dad had running in a closet. I learned how to use Emacs as well as the command line on that black-screen white-text no-mouse interface. That’s how real programmers spend their childhood! 😎 😜 I’ve only heard good things about FreeBSD. While not known as particularly desktop-friendly (various Linux distros win here) I’ve heard tales of its rock-solid stability. ...

Switching from Helm to Ivy

13 Dec 2019

Yet again, I’ve tweaked my emacs configuration. The big change this time is switching to Ivy from Helm. I’d like to say right off the bat that Helm is a great tool. I used it for several months and enjoyed it. Once thing that I love about helm is how discoverable it makes commands and functions. helm also got me into using bookmarks. I don’t keep many bookmarks; I tend to collect a few when working on a multi-file project long-term. ...

Macros with Elixir

27 Feb 2019

I gave a presentation at the Utah Elixir Meetup this February. Here’s the recording of my presentation: Watch on YouTube I’ve posted the slides as an HTML file, along with some materials to follow along with, on my GitHub account. Check it out!

Citations with Pandoc

6 Feb 2019
tools, writing

Today I figured out how to get Pandoc to automatically generate MLA citations for me! I used Pandoc and the Biblatex bibliography format. What’s nice about this is that you can enter in all the information you know about the source, keep it nice and organized in a file, and then change the citation style on the fly. Imagine if you thought you had to use MLA, but then realized you needed to switch to APA citation styles. ...

Marked Man

24 Jan 2019
tools, happy-things, programming

Marked Man (mm) is a little program I wrote to view Markdown files like UNIX man pages. (Because who wants to leave their terminal just to open a file?) It uses Pandoc to convert between Markdown and the groff format. As a happy side-effect, this program can read basically anything as a man page: HTML, LaTeX, Word files (seriously), ePub, etc. Anything that Pandoc can read, Marked Man can handle. ...

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. ...