Who's ready to have their mind blown? I wasn't, so when I saw Adobe's Photoshop A...
I've been working to automate Photoshop quite a bit lately. In September I wrote Automate Pho...
Automating Photoshop With C#
I recently dumped PhotoImpact and took the Photoshop learning curve plung... special thanks to the ...
Photoshop Scripting - User Interface
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...
Grayscale to Transparency with Photoshop
Five years ago, David Chess wrote a blog post that blew my December 13, 2010 mind. It is titled: ...
iOS Auto Renewing Subscriptions
Auto-renewing subscriptions in iOS are confusing. These are my notes on how the process works and ...
Two days ago, Maria hits me with the old "Your website doesn't work on my computer" s...
I have about 200 DVDs and about 40 seasons of TV shows. And I never watch any of t...
Why You Want It
Let's say a client wants to list your iphone apps on their webpage. Ye...
Flower Shop Subscription Service
If you live around Norman, OK, you should check out the The Flower Shop on North Porter.
WhichPic - iPhone Photos Game
WhichPic is coming to the iTunes App Store in August 2019.
What is WhichPic?
WhichPic is ph...
Pocket Potato iPhone Game
Play while your phone is IN YOUR POCKET!
See Pocket Potato in the iPhone App Store
Today's Weather for iPhone
See Today's Weather in the iPhone App Store
When you look at the weather forecast, what are...
Boss of Toss iPhone Game
Rejected from the App Store! :)
Boss of Toss is the latest, greatest new form of iPhone competit...
Weather Nerd for iPhone and iPad
I needed to touch up on iOS dev, so over the last year I've spent s...
Weather Dashboard for iPad
Weather Dashboard tells you the weather exactly how you want it... by comparing yesterday to today....
StringSmash - Compress JS Strings
you embed so...
Remote Connections with VS2010
From time to time, I find myself needing to connect to a debugging VS website from another mach...
Lenstoss Contact Lens iPhone App
See Lenstoss in the App Store
Lenstoss is another app I developed for an eye doctor. It reminds...
Memorize Anything for iPhone & iPad
UPDATE (3/21/2012): Having issues with crashing? Version 1.3 released today & fixes crashes on...
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...
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...
Tiny Troops iPhone Game
At MTM we spend our Fridays working on creative projects that plunge us into new technologies. I...
Laser Tag!!! iPhone Game
See Laser Tag in the iPhone App Store
Play Laser Tag using your iPhone as the gun!
HOW IT WOR...
Cocoa Bird Cocoa to Twitter API
Today I open sourced my Objective-c/Cocoa to Twitter open-source library under the title CocoaBird...
Outside Connections With Cassini (VS2010)
Cassini is the little baby version of IIS that is built into Visual Studio. It makes debugging won...
Objective-C String Formatting
String formatting isn't especially a strength in Objective-C. Actually, it's just plain bar...
Hopper for House
Hopper for House is a political website for David Hopper. David ran for the Oklahoma House Distric...
Four years ago, I co-founded iScout - a safety reporting and training web applicat...
Yippee-Ki-Yay... Merry Christmas!
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...
Christmas Card 2011
Here's our 2011 Christmas Card. We went through a lot of versions, (some slightly inappropriat...
Words With… Foes!
Words with Friends is a fantastic iPhone game where you play scrabble with your friends. The onl...
MemorEYES for iPhone
See MemorEYES in the App Store
MemorEYES is an app I developed for an eye doctor. While you pla...
Pocket Tap iPhone Game
Play while your phone is IN YOUR POCKET!
See Pocket Tap in the iPhone App Store
No one will ...
Prop Bets Website
Last year my wife and I made a list of 20 questions for everyone to answer before our Superbowl par...
Christmas Card 2009
Here's our 2009 Christmas Card. Merry Christmas!
Love Tap iPhone app
See Love Tap in the iPhone App Store
Discover your love compatibility with someone in a tap!
Christmas Card 2008
Here's our 2008 Christmas Card. Merry Christmas!
This realtor website included a calendar of weekly house showings, searchable MLS listings, a mortg...
Setting up a Lets Encrypt Certificate on Heroku
Update (April 2017)
Heroku now has first-class support for Let's Encrypt so installing it ...
Whack a Champ iPhone Game
For Christmas I made my nephews a game featuring them and our whole family. We all call my dad ...
Rounded Corners With CSS
The Old Way
Apparently I've been doing rounded corners like a three-year-old from 1993. L...
Memory Card iPhone Game
My wife's sister has 4 kids that really enjoy iPhone games. Just for fun, we decided to make a...
HazardScout Safety Management
In 2014, I joined two friends to start a company called HazardScout . HazardScout is a safety m...
OKDate - Dates for Objective-C
OKDate is an open source date library I just released for objective-c. If you've ever worked...
FloMoJo - Convert Text to Flowchart
Yesterday I created a proof of concept site that converts text to a flow chart. See it at http://...
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 ...
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...
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...
Fantasy Footbal Draft Board for iPad
I've been through enough Fantasy Football drafts to know how painful the drafting process is. ...
Connecting to SQL Express Remotely
Setting up remote connections for SQL Express is brutal. Especially for a dope like me.
But I ...
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...
Kindle Notes & Apps
When I got my Kindle, I immediately signed up to be a Kindle developer but wasn't accepted. Si...
Heads Up Dashboards
To keep a high level view of how manufacturing processes are going at MTM , we designed these head...
Commercial Brick is a website designed to display samples of brick for distributors and other cus...
The Evolution of (My) Code
Ironically, only one of these does not actually work. But the tests pass...
Wright's Family Market
Wright's Family Market is my grandfather's small grocery store chain in Norman, OK. Afte...
iScout Safety and Training Software
From HazardScout to iScout
Back in 2015, I joined two friends to start a company called HazardSco...
Recipes For Life: React Native
Shhhhh.... don't tell my mom, but I've built an iPhone / iPad app for her birthday.
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...
Get Buzzam Radio, Free On The App Store
Download Buzzam Radio for free from the iTunes App Store
We finally went live on the App Store,...
Sending & Receiving Email in CSharp
When I develop in C#, there are a lot of seemingly simple tasks that are incredibly hard to figure ...
At MTM we have an innovative process for encouraging communication throughout the company and it&...
MTM builds all kinds of websites to help people order awards online. This website takes in team ...
Recipes for Life
Recipes for Life is a website for a college girl's bible study where they spend part of the t...
DraftNight Smack Mode
There are two keys to a great fantasy football draft. Grub and a little friendly banter. That'...
On - The New jQuery Event Handler
jQuery has a new method of wiring up events. It's called 'on'.
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...
My blog gets a redesign every 18 months. There's no schedule, but that's about how long it ...
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...
Core Data - Simplified
Every time I make an iOS app, I shy away from Core Data and end up storing data in a plist or sq...
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...
The Kibera Project
The Kibera Project website was for a group from Canada who raise money for micro-loans for people i...
Understanding Generations Video
Understanding Generations is a video I made for MTM . The video is part of a much longer presenta...