I have about 200 DVDs and about 40 seasons of TV shows. And I never watch any of t...
Two days ago, Maria hits me with the old "Your website doesn't work on my computer" s...
Who's ready to have their mind blown? I wasn't, so when I saw Adobe's Photoshop A...
Why You Want It
Let's say a client wants to list your iphone apps on their webpage. Ye...
I've been working to automate Photoshop quite a bit lately. In September I wrote Automate Pho...
Reading and Writing Text Files from Photoshop Scripts
My latest posted discussed showing a UI that had textareas, buttons, and more so users could i...
iOS Auto Renewing Subscriptions
Auto-renewing subscriptions in iOS are confusing. These are my notes on how the process works and ...
Photoshop Scripting - User Interface
Tiny Troops iPhone Game
At MTM we spend our Fridays working on creative projects that plunge us into new technologies. I...
Weather Nerd for iPhone and iPad
I needed to touch up on iOS dev, so over the last year I've spent s...
StringSmash - Compress JS Strings
you embed so...
Core Data Migrations and Cave Monsters
Migrating the core data schema on an iOS app is like a monster in a cave. When I walk by, the mons...
Memorize Anything for iPhone & iPad
UPDATE (3/21/2012): Having issues with crashing? Version 1.3 released today & fixes crashes on...
Commercial Brick is a website designed to display samples of brick for distributors and other cus...
Getting an iPhone UDID from Mobile Safari
Getting your app into beta tester's hands is a pain. Even with new services like Test F...
Setting up a Lets Encrypt Certificate on Heroku
Update (April 2017)
Heroku now has first-class support for Let's Encrypt so installing it ...
Objective-C String Formatting
String formatting isn't especially a strength in Objective-C. Actually, it's just plain bar...
Fantasy Footbal Draft Board for iPad
I've been through enough Fantasy Football drafts to know how painful the drafting process is. ...
Understanding Generations Video
Understanding Generations is a video I made for MTM . The video is part of a much longer presenta...
2016 Christmas Card
I think our Christmas Card was a little too subtle this year. See if you get it...
Christmas Card 2012
We got a golden-doodle this year named Sunny, so of course she's featured on our 2012 Christmas...
My blog gets a redesign every 18 months. There's no schedule, but that's about how long it ...
Delayed Car Locks
How about a 30 second delay when you press lock?
Christmas Card 2011
Here's our 2011 Christmas Card. We went through a lot of versions, (some slightly inappropriat...
Kindle Notes & Apps
When I got my Kindle, I immediately signed up to be a Kindle developer but wasn't accepted. Si...
Grayscale to Transparency with Photoshop
Five years ago, David Chess wrote a blog post that blew my December 13, 2010 mind. It is titled: ...
Christmas Card 2009
Here's our 2009 Christmas Card. Merry Christmas!
Inland Hills Church
The Inland Hills website was for a new church in California. It included multiple blogs, photo gal...
Christmas Card 2008
Here's our 2008 Christmas Card. Merry Christmas!
Laser Tag!!! iPhone Game
See Laser Tag in the iPhone App Store
Play Laser Tag using your iPhone as the gun!
HOW IT WOR...
Whack a Champ iPhone Game
For Christmas I made my nephews a game featuring them and our whole family. We all call my dad ...
Chemical Alarm Clock
Waking up is hard to do. Someone should add an 8 hour coating to an energy pill.
Bendy Tree iOS Library
With a year of iOS development under my belt, I've got a decent code base that I copy from proj...
Weather Dashboard for iPad
Weather Dashboard tells you the weather exactly how you want it... by comparing yesterday to today....
Pocket Tap iPhone Game
Play while your phone is IN YOUR POCKET!
See Pocket Tap in the iPhone App Store
No one will ...
Pocket Potato iPhone Game
Play while your phone is IN YOUR POCKET!
See Pocket Potato in the iPhone App Store
Recipes For Life: React Native
Shhhhh.... don't tell my mom, but I've built an iPhone / iPad app for her birthday.
HazardScout Safety Management
In 2014, I joined two friends to start a company called HazardScout . HazardScout is a safety m...
On - The New jQuery Event Handler
jQuery has a new method of wiring up events. It's called 'on'.
What Can MTM Create For You Video
From time to time, I get to make a video for MTM . We make a lot of really impressive trophies, i...
GeeVee - Google Voice iPhone App
Rejected from the App Store! :)
GeeVee Phone Lite is the fastest, easiest way to place a call ...
Setup A GoDaddy SSL Certificate on Heroku
I'm using AppHarbor to host an ASP.NET site I built a few years ago. This year I s...
Migrating an LLBLGen Project from 2.X to 3.X
Migrating a project from V2 to V3 LLBLGen project was a huge pain. Since I work in 30+ projects tha...
Outside Connections With Cassini (VS2010)
Cassini is the little baby version of IIS that is built into Visual Studio. It makes debugging won...
Sign Up Sheet for iPad
See Sign Up Sheet in the iPad App Store
At MTM , we needed a good way to sign people up for in...
Heads Up Dashboards
To keep a high level view of how manufacturing processes are going at MTM , we designed these head...
Anonymous Types in Ruby
Anonymous Types in C#
Anonymous types are new in C# 3.5 and while they are easily abused, ...
MemorEYES for iPhone
See MemorEYES in the App Store
MemorEYES is an app I developed for an eye doctor. While you pla...
Memory Card iPhone Game
My wife's sister has 4 kids that really enjoy iPhone games. Just for fun, we decided to make a...
Love Tap iPhone app
See Love Tap in the iPhone App Store
Discover your love compatibility with someone in a tap!
Boss of Toss iPhone Game
Rejected from the App Store! :)
Boss of Toss is the latest, greatest new form of iPhone competit...
Recipes for Life
Recipes for Life is a website for a college girl's bible study where they spend part of the t...
Superbowl Party Game iPad App
Three years ago, I built a website for a Superbowl watch party at my house. We invited about a doze...
OKDate - Dates for Objective-C
OKDate is an open source date library I just released for objective-c. If you've ever worked...
Remote Connections with VS2010
From time to time, I find myself needing to connect to a debugging VS website from another mach...
The Evolution of (My) Code
Ironically, only one of these does not actually work. But the tests pass...
Native Regex vs. UIWebView Regex
My latest project has me doing A LOT of string manipulation which is a huge pain in objective-c. T...
Lenstoss Contact Lens iPhone App
See Lenstoss in the App Store
Lenstoss is another app I developed for an eye doctor. It reminds...
Automating Photoshop With C#
I recently dumped PhotoImpact and took the Photoshop learning curve plung... special thanks to the ...
Sending & Receiving Email in CSharp
When I develop in C#, there are a lot of seemingly simple tasks that are incredibly hard to figure ...
Connecting to SQL Express Remotely
Setting up remote connections for SQL Express is brutal. Especially for a dope like me.
But I ...
Rounded Corners With CSS
The Old Way
Apparently I've been doing rounded corners like a three-year-old from 1993. L...
Today's Weather for iPhone
See Today's Weather in the iPhone App Store
When you look at the weather forecast, what are...
Wright's Family Market
Wright's Family Market is my grandfather's small grocery store chain in Norman, OK. Afte...
How To Setup NodeJS With Dokku on Digital Ocean
This is a walkthrough of setting up a NodeJS website on digital ocean droplet by Dokku 0.4.2. If y...