Raspberry Pi GPIO with Erlang

Raspberry Pis are super cool. One of the neat things about them is that they have a ton of general purpose input/output (GPIO) pins, so you can use them to control all sorts of external devices. Unfortunately, most of the examples and applications are written in Python. I know, a lot of people really love Python, but it’s just not my cup of tea.

Enter the Erlang πGPIO library by Paolo Oliveira! This is a simple, straightforward library that implements the RPi GPIO stuff for Erlang. Using it, I have created an Erlang library to control a 28BYJ-48 5V stepper motor with a ULN2003 controller board.

Check out the library here.

Using Amazon S3 as a Nette Service

Nette is a popular web application framework for PHP. It is mostly pretty well documented and easy to use. Recently, I needed to upload media from a Nette application to Amazon S3. This is how I created an S3 service for my Nette application. You will need to be familiar with Nette and have an existing Nette application to follow along.
Read more

Alternate Ways to Call wp-cron

WordPress includes a job scheduling system called wp-cron. The default method for scheduled jobs is for wp-cron to be checked on each page load, which has the potential to slow down your website while background jobs are run. Check out these other options that help maintain the user experience on your WordPress site while still running important tasks in the background.
Read more

Pono Rez WordPress Plugin

Together with Commerce Collective,1 we have built a WordPress plugin to allow Activities & Attractions Association of Hawaii (A3H) to quickly and easily integrate activity bookings and sales into their WordPress websites.

We still have more features to add to the plugin, but it’s a solid start that will save A3H members a lot of time. It is written in PHP2 and JavaScript, and uses the Pono Rez SOAP interface to integrate activity data into a WordPress page.

Check out the plugin page here!


  1. I started working with them last year, remember

  2. Like all WordPress plugins, of course. 

CenturyLink AppFog Tutorial

Recently I wrote a tutorial with Word Lions for CenturyLink Cloud that teaches how to build and deploy a Node.js application to CenturyLink AppFog. The tutorial and application were really fun to build and write. It was my first Node.js project, and my first experience with CloudFoundry. The tutorial uses the following CenturyLink Cloud products:

AppFog is CenturyLink Cloud’s CloudFoundry system. It is really powerful, and it appears to be more flexible than Google App Engine.

Read the Tutorial

The tutorial walks you through building a document storage system with a built-in PDF reader and comment storage. It also includes user authentication and some other neat Node.js tricks. You can follow the tutorial from the following links, which will include all of the information needed to get you up and running on AppFog with Node.js. Enjoy!

  1. Deploy an App With User Login
  2. Using CenturyLink Cloud for Object Storage
  3. Add Search Capabilities with Orchestrate
  4. Building a PDF Viewer and Comment System

A Look Back on the History of Cryptography

In May, I taught a class on the History of Cryptography at Portland Underground Grad School. I’m extremely grateful to PUGS for asking me to teach, because I’d never done it before. It was a great experience. My students were intelligent and the discussion was good. I learned quite a few things in the process.
Read more

New Release of OpenPGP for WordPress

Version 1.3.0 of the OpenPGP Form Encryption for WordPress plugin is now available. It’s important to upgrade. It includes the following changes.

  • Updates OpenPGP.js to version 1.0.1
  • Tests the plugin against WordPress 4.2.2
  • Ensures that the browser can support OpenPGP.js

There are a few new features planned for this plugin. Expect a major version release in the next few months.

Check out the plugin page on the WordPress Plugin Repository.