Ionic "Invalid device state" Error with Xcode 7: Solved

November 17, 2015


I've been working on an Ionic Framework project for a while now. Just recently after I upgraded to Xcode 7, however, I couldn't get a project to install on the iOS simulator. Every time I would build an emulate the project, the process would fail with an "Invalid device state" error. I tried a number of things: rebooting my machine, reinstalling Xcode, etc. What I discovered, however, was the root of this problem had nothing to do with Xcode 7, but instead with file permissions.

How to Get Stock Quotes with PHP Using the Yahoo Finance API

November 8, 2015


For as long as the stock market has been piling up data, there have been programmers looking to use that data. When you search for something like "stock price api" online, however, it can be quite hard to find a good, simple, free service for relaying stock ainformation. I've discovered a fix for that problem and it uses a little PHP and the Yahoo! Finance API.

NES MBA: Built to Change

July 31, 2015


Remember Gradius 3? I mean literally. Do you remember every detail of Gradius 3? If you don't, that's what it took to beat the game for NES. You had to memorize each level so that you could avoid late game traps that would keep you from reaching the final boss. While it was often fun to start playing Gradius, many players soon grew tired of the monotony. Unlike what we see so much of in the business world, Gradius never changed.

Installing Comodo Positive SSL Certs on Apache Ubuntu 14.04

June 17, 2015


If you are looking to do basic SSL encryption on your website, I recommend using SSL certificated from Namecheap. The most basic certificate is just $9 (USD). The process of buying a certificate is easy enough, but it can be hard to find good, basic instructions on how to install the certificate.

NES MBA: Welcome to the Warp Zone!

March 13, 2015


You may remember that in Super Mario Bros., there are a few hidden areas in the game that let you catch a ride to a later level. They are called warp zones. In total, there are three: one located in World 1-2 and two in World 4-2. The first warp zone gives you the choice to jump to World 2, World 3 or World 4. In World 4-2, reaching the zone behind the final pipe (before the flagpole) leads to World 5. If you are lucky, you can find a secret beanstalk that leads you to a warp zone for World 6, World 7 or World 8. What does this have to do with managing a business?

New Series: NES MBA

March 13, 2015


I'm part of the millennial generation, and here's how I know. My first opportunity to use a computer came in first grade, and ever since then, I've had a keyboard sitting at the end of my fingertips. For a number of my childhood years, a video game controller was also at my finger tips. While I've since retired my gaming days, I still think back on the memories that my brothers and I created playing NES games. It was honest fun. Sometimes it got us in trouble, but we liked it.

Today, I'm no good at NES games. I've followed other pursuits, including working to get my MBA over the past two years. Coincidentally, there were times when I would realize that a lesson from the readings sounded familiar, a little too familiar. Today, I'm happy to announce that I'm launching a new blog series called the NES MBA, where I highlight some of the MBA insights I've gleaned over the past two years and connect them with a scene, quote, story, or image from a NES game.

PyroCMS Stream Search Module

November 22, 2014

I'm please to announce the release of a basic stream search module on the PyroCMS addon store. This module lets backend users search stream entires using keywords. The innovative core of this module sits on its efficient use of existing system resources. Users use, for example, a slightly modified version of the streams input form to build their search parameters. The search results respect the view options set by the stream. You can quickly find records in a stream to edit, delete, or view.

PyroCMS WordPress Import Module

July 1, 2014

A couple of months ago, based on a number of requests from developers using PyroCMS, I took time to build a WordPress import module for PyroCMS that allowed developers to move content from their WordPress site into a new (and better) instance of Pyro. While that original module was received well, I could tell, at that point, it was just half of a module. The module really needed to also take exported content from PyroCMS or WordPress and move it into a new Pyro site.

Upgrade OpenSSL on Your DigitalOcean Ubuntu 12.04 Server to Protect Against Heartbleed

April 10, 2014

This morning I tested to see if my Ubuntu 12.04 DigitalOcean server was affected by Heartbleed and what I found was this: I was running one of the compromised versions of OpenSSL. Good news: the fix is quite easy to implement.

Book: Website Development with PyroCMS

March 17, 2014

I wrote a book last summer. If you're interested in getting an introduction to creating websites with PyroCMS, please checkout my book Website Development with PyroCMS. It will give you a great overview of all the best features of PyroCMS.

Apple Computer and the Environment

March 16, 2014


Since 1990, Apple Computer has had an environmental policy, one that, today supports a number of decisions the company has made (largely in the last decade) that’s making their products more environmentally friendly. Covering many energy and product quality issues, the environmental policy used by Apple has helped them be perceived as one of the greenest technology companies in the world. Still, however, it is hard to see what type of impact Apple's environmental changes have had in the global market for their products, and it is hard to measure how green their company is within the landscape of globalization and diverse international environmental standards.

Building a Christmas Music Light Show with a Raspberry Pi

November 22, 2013


Learn how to build your own Christmas music light show using a Raspberry Pi, a little Python, a midi-listening C script, and a whole bunch of lights.

The Easy Way to Install the MongoDB PHP Driver on Ubuntu 12.04

February 24, 2013

Having trouble installing the MongoDB PHP Driver (mongodb-php-driver) on your Ubuntu 12.04 server? Here is the easy way to get it installed.

The PSR-1/PSR-2 Analogy

January 26, 2013

I agree with Phil Sturgeon's statement about the recent comments on the recent Nettuts+ article on the PSR standards proposed by the PHP-FIG. In light of these shallow comments, I'd like to highlight another industry's standards over method and content. That industry is writing and the standards they impose upon themselves come in a number of formats.

How to Install ImageMagick on SLES 11 for Typo3

October 31, 2012

One of the things you immediately find out about Typo3 is that it uses ImageMagick, a server based image modification tool, to handle thumbnail creation, image resizing, and more. ImageMagick gives Typo3 some great features, but only if you have it installed correctly. Here is a quick guide to installing ImageMagick on SUSE 11 for Typo3.

Disable Submit Button On Form Submission

July 2, 2012

Web developers don't use this trick every day, but it can be very useful. When you want to prevent users from mashing the submit button on a form, use this little JavaScript OnSubmit snippet to help you out. All the magic happens on the form tag.

How to Get the Value of a gtk.TextView in Python

June 11, 2012

There doesn't seem to be many good, easy explanations on the Internet about how to get the value of a gtk.TextView widget. So, here are the two little lines of code for this simple task.

Unboxing the Raspberry Pi

May 24, 2012


This week I was blessed to have a Raspberry Pi show up at my doorstep. After waiting up until 11:00pm MST (6:00am in London) to get on the waiting list a while back, my Pi has finally made its way home. And to be honest, I'm not entirely sure how I'm going to use it.

How to Iterate Through an Array in a Shell Script (Bash)

March 21, 2012

I was recently debugging a shell script and had a hard time remembering how to iterate through an array in Bash. This post helps me remember.

Android: Target a TextView

March 13, 2012

In order modify one of it’s properties like, for example, the text it contains, Android developers often rely on targeting views in order modify one of their properties. The small code example in this post targets a view with the ID of humidity and appends some text to it.

Diablo 3 Wordpress Theme

February 23, 2012

In celebration of the upcoming release of Diablo 3, I'd like to announce the release of a Wordpress theme I'm calling the Diablo 3 Graveyard Wordpress Theme. I put this theme together because I was a huge fan of Diablo 2. And now, even though I don't spend much time playing nowadays, I'll install D2 from CD and play it over the Halloween weekend. It was, in fact, October of 2011 that I started working on this project, and I've just now had the time to finish and release it.

Review: PhoneGap Beginner's Guide (Packt Publishing) by Andrew Lunny

February 3, 2012

PhoneGap Beginner's Guide is the most informative source of information I've seen/read about PhoneGap. It is a great resource for learning all the nuances that go into making native PhoneGap applications on mobile devices. If you are looking to use PhoneGap, it would be a good idea to start with this book. It really is a comprehensive yet easy-to-read book on using PhoneGap.

Post Data to a Remote Server (Cross-domain) with jQuery in PhoneGap

June 19, 2011

Android and iPhone apps built with PhoneGap are (because of PhoneGap's nature) compiled code, and because this compiled code is not a browser, you can execute cross-domain requests. In this short tutorial, I'll provide some sample code for sending a POST request to a remote server.

Upload a File to a Remote Server with PhoneGap

March 26, 2011

I recently started looking at PhoneGap as a way to build native smartphone applications without having to learn another programming language. The process, so far, has been going very well. I've been able to build a basic application with very little trouble. I did, however, hit a big hiccup in development when I decided to try and upload a file from a phone to a remote location. In this post, I want to explain how I was able to upload a photo from a phone, using PhoneGap (and PHP on the remote server), to a remote server.

How to Add a www Resolve to Apache for Better SEO

October 20, 2010

There is a simple way to resolve your site URLs to include the www in each address. Or drop the www from each address. Why is this important? "Redirecting requests from a non-preferred hostname is important because search engines consider URLs with and without "www" as two different websites" ( So, if you don't resolve your www, you are harming your SEO performance.