Automated Let’s Encrypt DNS challenges with Rackspace Cloud DNS

Let’s Encrypt has taken the world by storm by providing free SSL certificates that can be renewed via automated methods. They have issued over 1.4 million certificates since launch in the fall of 2015. If you are not familiar with how Let’s Encrypt operates, here is an extremely simple explanation: Create a private key Make a request for a new certificate Complete the challenge process You have a certificate!

Rotate GNOME 3’s wallpaper with systemd user units and timers

NOTE: This works in Fedora 21, but not in Fedora 22. Review this post for the fixes. GNOME 3 has improved by leaps and bounds since its original release and it’s my daily driver window manager on my Linux laptop. Even with all of these improvements, there’s still no built-in way to rotate wallpaper (that I’ve found). There are some extensions, like BackSlide, that enable background rotation on a time interval.

Quickly post gists to GitHub Enterprise and

The gist gem from GitHub allows you to quickly post text into a GitHub gist. You can use it with the public site but you can also configure it to work with a GitHub Enterprise installation. To get started, add two aliases to your ~/.bashrc: alias gist="gist -c" alias workgist="GITHUB_URL= gist -c" The -c will copy the link to the gist to your keyboard whenever you use the gist tool on the command line.

Compare commits between two git branches

I found myself stuck in a particularly nasty situation a few weeks ago where I had two git branches with some commits that were mixed up. Some commits destined for a branch called development ended up in master. To make matters worse, development was rebased on top of master and the history was obviously mangled. My goal was to find out which commits existed in development but didn’t exist anywhere in master.

Limiting which commands are kept in the bash history file

By setting a certain bash environment variable, you can limit which commands are kept in the .bash_history file. The following options can be passed to the HISTCONTROL environmental variable: ignorespace - omits commands beginning with a space ignoredups - omits commands that match the previously run command ignoreboth - combines ignorespace and ignoredups erasedups - removes previous lines that match the line that was just run To set it, simply run the following from the command line, or add it to the .