Write Your Commit Message First and Code Second

It hit me the other day at work. I've been using git wrong all along. The workflow for using version control shouldn't be to write a hacked together summary of all the code changes I just made every time I get the project in a sane state. It should be to write a contract with myself describing the state of the project after some incremental improvement, and then to write that improvement.

Building a Requirejs Project to a Single, Reusable File

Requirejs is great for breaking up JavaScript projects into multiple files, but what happens when you want to use your Requirejs code in another project? Ideally, no one should have to individually import your modules, or even use Requirejs at all. Luckily this is all part of the plan for Requirejs projects, and with a bit of tweaking with the finicky r.js tool, you'll be able to build to a single file with no dependencies.

A Tutorial for Getting Started with Gulp

Awhile back I wrote a tutorial covering the basics of Grunt. Now that a new frontend build tool has entered the scene, I thought I'd take a look and see if I could write a simple guide for Gulp at the same level. This guide will take you from installation and getting set up through examples of real world build processes while laying out all of the tools out there to help you on the way.

Announcing Mathpx

Ever since I worked for a startup building educational kids apps in China, I've been tossing around a few ideas about writing one of my own. I may be biased as an engineer, but one of the main areas I perceive to be lacking both in the classroom and the app store is our ability to teach math. Mathpx is my new experiment to rethink the way we teach the very fundamentals of arithmetic.

The Next Step for Crowd Funding

Crowd funding has already worked wonders. Inventors, artists, and companies with radical new ideas have all brought projects to life that never would have been possible a few years ago. Sites like Kickstarter and Indiegogo have been hugely successful and even spun off several equity based crowd funding sites like Crowdfunder. Despite all this success, I believe that crowd funding has yet to reach its full potential. Civic Crowd Funding Crowd funding is a community coming together to fund a project, so logically it makes sense as a fit for public projects that are for the community.

JavaScript's function.bind and Why You Should Know it Exists

I was getting really carried away with fancy JavaScript objects while working on a side project recently, and I ran into a difficult problem. I needed an object to produce instances of any given object with any initial parameters. I hit a few obvious dead ends before discovering something I was surprised I hadn't used before: function.bind. The dead ends My first thought was to pass an initial object in and create deep copies of it.

Indie Speed Ran - Lessons Learned from My First Game Jams

I've finished my entry to Indie Speed Run 2013, it's called Going Up and it's on The Escapist right now! (And here's a version I'm hosting myself since the Escapist site is causing the game to have problems) This time around, after learning quite a bit from my entry into Ludum Dare a few weeks ago, I made many improvements to my development process. However, I was still plagued by bugs, an incomplete implementation, and worst of all some compatibility problems with the iframe display format on The Escapist.

Indie Speed Run Midpoint

I'm just past the halfway point of my 48 hours for Indie Speed Run. While I'm definitely still as frantically behind as usual for a game jam, I feel so much more comfortable than my previous experiences with Ludum Dare. Right now I've got a decent amount of artwork done, a pretty solid platform for the game thanks to Crafty, and even some sound effects I recorded. That's way more than I could have said this far into Ludum Dare, but I've still got way more to do than I have time for.

Starting Indie Speed Run

I'll be competing in Indie Speed Run for the next 48 hours, so I wanted to keep track of my progress here on my blog. After a very fun but very rookie time at Ludum Dare just a few weeks ago, I'm really hooked on building small games and hope to put something even cooler together this time. You can view my profile on the Indie Speed Run site, but I'll be posting all my updates right here over the next 48 hours.

Ludum Dare 27 this Weekend

I'm attempting to throw together a game for the 27th Ludum Dare game competition this weekend. I'll be posting updates over here if you want a closer look. The theme is "10 seconds", and I think I have a decent idea in my head, but I know I'm going to have to compromise to implement it. At the end of the competition I'm sure I'll have something to show though, and I've already learned plenty of lessons on how to do something like this in the last few hours of coding.