Categories
Security

Usernames Are Not Secrets

A common misconception that I have observed a lot online is the belief that usernames should be secret, unique and hard to guess. While there are some limited cases where having a secret username is a good idea, most of the time it has no real benefit. Usernames are not secrets and should not be […]

Categories
Development Security Tutorials

Signing Git Commits With A Keybase GPG Key

A relatively unknown and underused feature of Git is the ability to cryptographically sign commits. It is an optional feature that provides a way for the author of a commit to prove ownership. It uses the author’s GPG key to leave a signature in the commit that can be checked later. If you’re a Keybase […]

Categories
Pebble

End of Life for Zevive Pebble Apps

Unless you follow my work closely, you probably weren’t aware that I used to develop apps for the Pebble Smartwatch. The signature feature of my apps was a utilization of the awesome Pebble Timeline feature, which provided a new level of interaction and behavior that suited my apps perfectly. However, since Pebble was acquired by […]

Categories
Random thoughts

Hello World (again)!

Welcome to my new website. It’s been a long while since I rebuilt my last one (two jobs ago, infact!), so I figured I should launch a new site and get back into the blogging thing. It may surprise some of you, but my site is now running on WordPress again. Yup, WordPress. There are […]

Categories
Technical

Opening the GNOME Shell Overview with a Logitech MX Master

My beloved Logitech MX Revolution died recently, so I upgraded to the new MX Master, and I wasn’t disappointed -it’s just as awesome as the Revolution. 🙂 With the new mouse, I decided to try and use the extra buttons onthe Revolution. All of them work out of the box, with the exception of the […]

Categories
DigitalOcean Tutorials

Byobu for Terminal Management on Ubuntu

Note: I originally wrote and published this article as a DigitalOcean Community Tutorial. Introduction Byobu is an easy-to-use wrapper around the tmux (or screen) terminal multiplexer. This means that it makes it easy for you to open multiple windows and run multiple commands within a single terminal connection.

Categories
Pebble

Introducing My Habits for Pebble

I am really excited to announce the release of the much awaited Habits app paid upgrade: My Habits. This upgrade brings to you much awaited and requested features, including fully customisable Habit frequencies and times, the ability to select any day combination for your Habit, and hidden Reminder pins to keep your Timeline neat.

Categories
DigitalOcean Tutorials

How To Use the DigitalOcean API v2 with Ansible

Note: I originally wrote and published this article as a DigitalOcean Community Tutorial. Introduction Ansible 2.0 has recently been released, and with it comes support for version 2 of the DigitalOcean API. This means that you can use Ansible to not only provision your web applications, but also to provision and manage your Droplets automatically.

Categories
Development Tutorials

Getting Started with PHPUnit in Laravel

Note: I originally wrote and published this article as a Semaphore CI Community Tutorial. Introduction PHPUnit is one of the oldest and most well known unit testing packages for PHP. It is primarily designed for unit testing, which means testing your code in the smallest components possible, but it is also incredibly flexible and can […]

Categories
Pebble

Habits – Pebble Timeline app

I am excited to announce that Habits, my latest Pebble Timeline app has been released! Habits is the evolution of 8-A-Day, designed to help you start and maintain (good) habits through the Pebble Timeline. It supports three different habit frequencies (weekly, daily, and hourly) which you can fully customize to suit your habits and schedule.