Build 0001 – A Caht named Keni

Posted by on Jul 13, 2014 in Game Development | No Comments

I’ve begun development on my first game! I’m wanting to keep it relatively simple, so I’m taking a lot of the stuff I’ve learned from the tutorial I used to build this one. A lot of this game will focus on polish and gameplay, making sure it’s fun. Kenney has been gracious enough to give out some great assets and I’ll be using it for this game.

What does the title mean, you ask? Well, I figured I’d make up a story surrounding the assets I had available to me. The characters were all aliens, so I thought of fun things to do. As an ode to Kenney, I wanted to give a not so subtle nod to him and use his name, but slightly change it. I also think he’s a pretty cool cat for sharing such great assets, so originally I was going to call the game “A Cool Cat named Kenney.” But that’s when I thought of the alien thing, and wanted to spice it up a bit.

Keni, our protagonist, is an alien from the planet Orb. Keni is Cahtian, a particular race of Orb which physics has been kind to. They are superbly good jumpers, and can move very swiftly compared to other races found on Orb.

As of right now, I figured it would be fun to release daily builds of the project as it goes along. Here’s the first! Things I’m aware of:

  • Physics are wonky
  • Text isn’t placed correctly. For some reason the text alignment in the Game preview in Unity isn’t the same as the actual build version.

Learning Game Development

Posted by on Jul 12, 2014 in Announcements | No Comments

So, I’ve been traveling this summer and taking some time off official work to learn game development. After a TON of research, I settled on learning Unity 3D and have made my first game, which you’ll find below! Initially, I was going to go the iOS SpriteKit route, but ultimately I figured if I’m going to go to Unity later on down the line anyway for the cross-platform-ness of it, I might as well just start there. So, without further ado, I present Runner!

Hint: You can learn how to build this yourself! Visit to do so :)

Testing Stripe webhooks locally with apache virtual hosts

Posted by on Apr 16, 2014 in Resources | No Comments

One of the projects I’m working on currently is using Stripe to handle payments. We’d like to utilize is Stripe’s webhook functionality to keep some of the data in sync with our own, but I encountered a problem. Because I’m developing locally and webhooks are only usable with a publicly available url, I had to figure out a way to bridge the gap. Enter ultrahook.

Ultrahook is a service/command line utility that acts as a reverse proxy to your local machine. In short, it creates a publicly available url and redirects all traffic to that public to a url you define locally ( or remote, your choice ). Really handy! Let’s say, for example, I was developing on localhost and the resource I wanted the webhook to consume was located at http://localhost/app/plugins/plugin-name/public/webhooks.php. After entering my API credentials, I would enter the following and it would take care of the rest:

ultrahook stripe http://localhost/app/plugins/plugin-name/public/webhooks.php

It’s a persistent command, so you’ll need to leave that terminal window open for it to work.

Only one of my problems were solved by this, however. I’m developing this for a plugin to be used on WordPress MultiSite and it’s located at locally. When the script goes to webhooks.php, WP intercepts it and redirects to the signup page because it’s a domain it doesn’t recognize. Our webhook request has now been lost. What to do? Intercept it before it gets a chance to do that!

I added a file on my localhost called webhooks.php that takes the body of the request and then sends it to the appropriate location. The ultrahook command would look something like this:

ultrahook stripe http://localhost/webhooks.php

webhooks.php looks like this:

View the code on Gist.

It copies the request body and then makes it’s own at the url provided in CURLOPT_URL. Now I can test webhooks locally using Apache Virtualhosts!

Updated: WordPress made me a better developer

Posted by on Feb 24, 2014 in Musings | No Comments

Update: Carl Alexander also wrote a great opinion piece on WordPress Core as a gateway to better coding. You should check it out.

I read an article Tom wrote this morning called The Hate and Vitriol of WordPress and I was inspired to write a response. I have heard plenty of criticism from other developers in the “community” on why on earth I would develop with WordPress.

Why not is a better question. WordPress is what got me into development in the first place. It was the stepping stone that brought me from college student to full time freelance developer. I started in college with very little knowledge ( read: none ) of server side development. All I knew was html and css. But over time, I was able to learn more and more. A client would ask for a certain feature, or I would ask is there a better way to do this. WordPress allowed me to go step by step into learning more and more.

Where am I at now? I’m researching how to effectively develop an API, how to fully utilize Object Oriented Programming within the context of PHP, learning new server side languages, and better utilizing dependency management. I’ve learned how to use HTML and CSS preprocessors, version control systems, picked up a few extra languages, and how to manage my own server. Whenever I’ve heard someone say how bad WordPress is, how slow it is, etc etc, I just listen and keep that in mind. How can I make it faster? Better? Because at that point I’m only limited by what I can accomplish, not the foundation I’m using to build. WordPress is an amazing product that has helped countless accomplish what they’ve wanted to. It can also be used in conjunction with other tools. Don’t let the framework get in the way of what you’re seeking to accomplish. It’s ok to use the right tool for the job.


Using WordPress doesn’t make be a bad developer. It’s inspired me to become a better one. For those of you who are starting out or have already been working with WordPress, I encourage you to do as I have. Push yourself. Continue learning. RELAX once in a while. Are you feeling overwhelmed and/or tired? Step away for a bit and come back to it later. You need it and that’s ok. It’s not the end of the world and it’s definitely not worth the expended energy and stress. Also, don’t settle for a quick fix. Patch it now, but fix it later. Do it well, and if you can, do it well the first time.

My friends,  it’s a beautiful day. You’re only limited by what you put your mind to! So go kick some ass.

Thinking it out… Invitation System pt4

Posted by on Jan 9, 2014 in Thinking it out | No Comments

Well, I’m still fleshing out the invitation system. Currently rethinking how I’m going to structure a user’s roles globally. An issue I’m facing (it’s small, but could muck things up later) is how to determine if a user has certain abilities. I’m not talking about user capabilities, more talking about when a user has access to certain content ( it does sound like capabilities…). Well, the reason I’m NOT doing capabilities is every user has a different role on each journal. Let’s say we have 3 different user roles and a user is all three. Well, thats 9 different variations of user roles I’d have to account for and that’s just too much of a spaghetti monster. So here’s what i’m thinking of to get around that:

Thinking it out… Invitation System pt3

Posted by on Jan 9, 2014 in Thinking it out | No Comments

The 3rd refactoring is complete! There are a few features I still need to build out though, specifically reciprocal connections between users who both own a journal ( blog ). Currently, it’ll just figure out which of the two users have a blog ( because only one user role is allowed to ), and then just add the other user to it. I had to figure out how to do it if both did.

Thinking it out… Invitation System pt2

Posted by on Jan 9, 2014 in Thinking it out | No Comments

In another post, I talked about how I was building out an invitation system for a really cool project I’m working on. I realized later that the 2nd refactoring wasn’t as robust as I’d like it to be, so here are the notes on that.

Thinking it out… Invitation System pt1

Posted by on Jan 9, 2014 in Thinking it out | No Comments

There’s a project I’m working on that I’m really excited about. It’s a site designed to provide a Path like experience to students in art school… they’re only allowed to have a limited number of connections, but family and friends can all post to their journal, sharing photos, videos, audio, and text of their performances or whatever they please. This is all moderated by the student as well. Only the student determines whether or not the content is published… so that’s pretty cool.

Anyway! I’ve been fleshing out the invitation system and found it to be a rather complex system. I thought I’d share my il/logical writings as I progress through development.

Here’s my notes for the 2nd refactoring of the system…

WordPress Nginx Tutorials

Posted by on Nov 25, 2013 in Resources | No Comments

I love using nginx for my WordPress servers and stumbled upon a pretty sweet selection of resources… check em out.


WordPress Nginx Tutorials.

Test Driven Development

Posted by on Oct 31, 2013 in Musings | No Comments

I’ve been wanting to give TDD ( Test Driven Development ) a try for a while, and there’s a new project I started that gave me that opportunity. I’ve been making a lot of progress with the plugin, but the problem is I haven’t been writing tests first, before I write the plugin code. I was wondering if that was a good idea, so I decided to ask my buddy, Tom McFarlin.

Seeing as writing tests later goes against the whole concept of writing your tests first, it defeats the purpose.


Well, if Tom doesn’t do it all the time, I don’t have to either, right? Well, TDD has really helped out. A lot. I’ve been able to run tests from the console instead of having to go to my browser and reload things. For example, it’s been super helpful in testing form inputs because I can provide my tests with some dummy data and then run my sanitization and validate functions on that data. No need to constantly reload the page and input my information again and again. Waste of time!

You should really look into testing and see how it can improve your code. I’ll be making a write up soon on how to get your plugin set up. The tutorials I followed were a hair out of date and it wasn’t super straight forward getting it set up. Keep your eyes out for it!

For some more reading, check out this article. It helped clear a few things up for me. Thanks TDD!


Load More