Synchronizing Local Databases and Web Content via Dropbox (MySQL, Apache, WAMP)

When working on web-based projects locally, developers are often faced with the burden of transferring the data across multiple development machines for one reason or another. In my case, I develop primarily on a desktop machine in my office but occasionally require access to the project files from a laptop or mobile device; this is especially true when working remotely or if needing to demonstrate a WIP to a client.

A typical web project consists of many static assets, dynamic scripts powered by a server-side language like PHP, and database-driven content powered by an engine like MySQL. Due to these interconnected components, constantly exporting and importing the databases from one machine to the next while also carrying over all of the updated page scripts and static assets immediately becomes a tedious and time-intensive commitment. Database synchronization can be especially cumbersome when needing to mirror user accounts, table and database privileges and other lower level details. Read Full Article

RIP Original iPad; iOS Device Fragmentation

Developer life sure was simpler when I began developing apps for Apple's iOS platform nearly half a decade ago.  My first commercial iOS app was developed while the original iPad still loomed on the horizon. The iPhone 4 had just been announced with its "stunning retina" display that boasted twice the resolution of its predecessor, thanks to a much greater pixel density. From a developer's perspective, creating universal applications 4-5 years ago merely required basic knowledge of Apple's three mobile device variances:

  • iPhone/iPod Touch 3rd Generation and below (320x480; 163 PPI)
  • iPhone/iPod Touch 4th Generation (640x960; 326 PPI 'Retina Display')
  • iPad 1 (1024x768; 132 PPI)

At the time, all available iPhones and iPod Touches shared the same aspect ratio and screen size, so supporting retina displays was basically a matter of producing 2x-sized assets (i.e., a 44px icon on standard devices would be rendered at 88x88 on the retina 2x devices).  Apple enforced the convention of appending '@2x' to the filenames of each retina-made asset to automatically load them in place of the standard assets on supported devices. The iPad used standard resolution assets but had a larger resolution; depending on the app some adjustments would need to be made to take advantage of the added screen real-estate.  Aside from these few considerations, it was blindingly simple to develop for the few available iOS devices. Read Full Article

Trackbacks and Pingbacks and Blog Spam, Oh My!

A.K.A. Let's see how difficult it is to write a script that programmatically solves one of the most popular WordPress Captcha plugins. [tl;dr: It's not very hard at all.]

So, I stepped away from this blog for a brief period of time and, upon return, noticed an aggregation of spam comments throughout many of my posts. Blog spam is an ongoing epidemic but one that I didn't put much consideration into when creating this blog. In fact, I did nothing more than install the #1 ranked plugin when searching "WordPress Captcha" on Google.   This plugin, developed by BestWebSoft, calls on users to complete rudimentary math problems before registering or submitting comments.  At first glance, I applauded its simplicity when compared to the much more infuriating image deciphering ploys common with captcha services. Read Full Article

Apple Muncher Project Postmortem: Developing for Panasonic VIERA Connect SmartTV (Part 1)

This is the first of a four-part story documenting my somewhat excruciating and wholly uncharted experience developing an indie game for Panasonic's obscure VIERA Connect television app market.

...and So It Began

In 2011, I purchased my first SmartTV—a Panasonic TC-P42ST30 Plasma 1080p HDTV. This was the period of time when smart televisions were just starting to take off, with most manufacturers offering integrated WiFi support and a handful of apps from top media companies including Netflix and Amazon. Each brand was doing all that it could to stand out in the crowd of high-definition televisions. Some HDTVs, for instance, came bundled with remote controllers that included slide-out keyboards for easy online interaction. Panasonic observed the app phenomena that was taking the mobile world by storm and evidently wanted a piece of that pie. Read Full Article

I Type 110+ Words Per Minute—The 'Wrong' Way

Touch typing has been taught the same way since the advent of the QWERTY keyboard. You start with your fingers on home row [ASDF - JKL;] and, by moving each finger along its vicinity of keys, you can effectively reach them all.  I was instructed to type in this manner throughout all of my academic studies from elementary school onward; I have always hated this technique.

Very early on I had developed my own spontaneous approach to touch typing. I don't rely on any formal home row and my pinkies mostly just chill out, with my index and middle fingers taking on the bulk of the work. Using my own approach over the formalized standard, I have always been a very fast typist. Below is a video of me taking a two-minute, randomized English sentence timed test (courtesy of Typera.net), with the end result being 113 WPM (Words Per Minute) and 565 CPM (Characters Per Minute). Read Full Article