Installing Arch Linux on a Microsoft Surface 3

January 26, 2018

A few years ago, I was given a Microsoft Surface 3 tablet that has since fallen into disuse. I was appreciative of the gift, though to be honest the Intel Atom CPU it came with is fairly underpowered when it comes to running Windows 10, so I decided to install a light Linux distro on it to get the tablet back into running order. I came across the blog post Running Arch Linux on a Surface 3 by Chad Voegele, which was fairly useful in getting started, and I wanted to write a post of my own to share some addition details and places where I diverged from Chad’s post along the way.

Read More

El Cuarto Misionero por el Élder Lawrence Corbridge

October 12, 2017

This post is not about technology, computer science, or programming. Instead it’s a call back to my time as an LDS missionary in Paraguay. During my time there, I came across a talk given by an Elder Lawrence Corbridge that I really enjoyed. Some friends of mine were asking about it, and I wanted to make a copy in English and Spanish easily accessible. Please find the links to copies below.

Read More

Send a fax from the command line with Python and Phaxio

August 30, 2017

If you want to send a simple fax quickly, cheaply, and painlessly, Phaxio and Python make a nice combo. Below is a litte script that I wrote, based on this Ruby script by Pete Keen that is slightly out of date. There are Phaxios Python libraries, but I ran into a couple issues, and this seems to be the most brain-dead simple solution. Pros: No external dependencies. Cons: It uses the shell=True parameter for, but that shouldn’t be an issue since you’re only using this to send a quick fax at 2 AM and you don’t want to pay UPS/FedEx/whomever too much money for that privilege tomorrow, right?

Read More

Review of the International version of the 4th edition of Probability and Statistics by DeGroot and Schervish

May 27, 2017

As a computer science graduate student at Brigham Young University, I am taking CS 677: Bayesian Methods in Computer Science, which covers some aspects of using probability within computer science, as you probably guessed from its title. The required textbook for the course is Morris DeGroot’s 4th edition of Probability and Statistics, which at the time of writing this post is selling for about $170 new, $112 used on Between being a graduate student and having a family of my own, I am not exactly swimming in funds for expensive textbooks, and my classmates had already checked out all of the available copies at the excellent Harold B. Lee Library already, so I looked for some alternatives.

Read More

Filtering domain names on with regex

February 20, 2017

Lately, I’ve been looking around for another domain name that’s a little shorter and more flexible than My purposes for that can be explained another time, but I have been trying to search domain names that have top-level domains (the .com part of, for example) that are shorter in length, alongside some other attributes. There are a number of good tools to use for searching for available domain names, but I have not found any that allow for searching by the length of top-level domain.

Read More

Claude Shannon Presentation

October 15, 2016

This is a presentation that I gave as part of CS 611, which is a theoretical computer science course required of PhD Computer Science students at BYU. The subject of the presentation is the life of Claude Shannon and the personal factors surrounding his contributions to computer science. He is a fascinating individual, and I highly recommend learning about him (which can be done in part through this presentation ;).
Read More

PySpark and Latent Dirichlet Allocation

May 10, 2016

This past semester, I had the chance to take two courses: Statistical Machine Learning from a Probabilistic Perspective (it’s a bit of a mouthful) and Big Data Science & Capstone. In the former, we had the chance to study the breadth of various statistical machine learning algorithms and processes that have flourished in recent years. This included a number of different topics ranging from Gaussian Mixture Models to Latent Dirichlet Allocation. In the latter, our class divided into groups to work on a capstone project with one of a number of great companies or organizations. It was only a 3 credit-hour course, so it was a less intensive project than a traditional capstone course that is a student’s sole focus for an entire semester, but it was a great experience nonetheless. The Big Data science course taught us some fundamentals with big data science and normal data analysis (ETL, MapReduce, Hadoop, Weka, etc.) and then released us off into the wild blue yonder to see what we could accomplish with our various projects.

Read More

Technical Interview Cheat Sheet

September 9, 2015

This post is an embedded Github Gist that I forked. I figure that since Interview season is quickly approaching, I wanted to brush up on my skills. This gist from Github user TSiege seemed like a great start, and I have added some corrections and modifications of my own. The source of this post can be found here: The Technical Interview Cheat Sheet. Please note that there is most likely a lot of errors left to find, and surely there is a lot more that can be added. Feel free to fork either my copy or TSiege's original and improve upon our work. I'd love to collaborate with anyone who has any input!

Read More