The Impossible Problem

A few years ago, when I was first starting out as a professional web developer, I ran into an issue with one of my site builds. After struggling for a few hours I sheepishly went to my project manager and delivered the news: "Feature X? Yeah, unfortunately, it looks like it's impossible." Unable to get it out of my mind, I ...

Lumen Force Https Redirect on Heroku

If you've ever been in a situation where you want to force your Laravel application to redirect all URL's to HTTPS at the application level, you've probably come across this Stack Overflow answer which suggests you make a Middleware like the following: namespace App\Http\Middleware; use Closure; class HttpsProtocol { public fu...

When in Doubt, Print it Out

One of my favorite learning techniques when solving a programming challenge or learning a completely new language is not one that I see many other developers utilizing: printing it out. No, I'm not talking about print_r or var_dump. I'm talking literally. Print it out. On paper. I've been somewhat notorious for adorning the...

Laravel-style Password Resets in Lumen

So, you're building an API with Lumen and you want to add some basic password reset functionality. That should be easy, right? After all, adding password resets in Lumen's older sibling, Laravel, is a cinch. Yeah, I thought it would be easy too, but it wasn't. After frantic googling returned a Laracasts thread with no response, a Lar...

Give Yourself 25 Seconds: My Favorite Steve Jobs Moment

Whether you think he was a visionary genius or overrated hack, few people will deny one thing about Steve Jobs: he was one hell of a presenter. His 2005 Stanford commencement speech and 2007 iPhone announcement are all regularly touted as some of his finest moments. My favorite moment, however, is a subtle one that is seldom mentione...

CMS vs Framework: Defining The Difference

Somewhere during the journey of getting your website built you've most likely heard the acronym "CMS" thrown around. But what do those three crazy little letters mean? Well, CMS stands for Content Management System. The name itself is pretty self-explanatory, but to be more concise, a CMS is just computer software that prov...

Tumblr...as a CMS?

I'm incredibly proud of the clients I've worked with during my time as a developer at O3 World. Over the years they've ranged from everyone to household names, to Ivy League schools, to companies that have IPO'd for almost a billion dollars. Oh yeah, and one time, I built a Tumblr theme. For those of you who are unfamiliar with the c...

WTF Is This Thing: Meteor.JS

Hey, have you heard of Backbone.JS? No? That's cool, it sucks anyway and Ember.JS is WAY better. Actually, now that I'm thinking about it, Angular.JS is really the new hotness these days. It's backed by Google! It must be good if Google likes it. I'm sorry, what was that? There's a Batman.JS now? That does sound kind of cool. Spine.J...

Pros and Cons of Drupal Commerce

Since the dawn of mankind...well, no, since about the mid-1990's, eCommerce has become one of the most complex and important problems to solve on the world wide web. With $1.2 billion dollars spent online last year on Black Friday alone and more than four in five smartphone users using their devices for online shopping, eCommerce is ...

Refining Your QA Process

A lot of acronyms get thrown around during a project. From CMS, to PSD, to B2B; but there's one important acronym we haven't really discussed yet: QA. For those of you who are unfamiliar, QA stands for Quality Assurance and is typically one of the final phases of a project during which your work undergoes critique from several other ...

From Developer to...Better Developer: A Year In Review

About 8 years ago, as a junior in high school, I accidentally enrolled myself in a class called "Programming with Java." I had intended to sign myself up for a different class with a similar ID number, but my 17-year-old self "don't pay too much attention to what you're doing" mentality intervened. Or maybe it wa...

From Newbie to Developer: A Year in Review

A little over a year ago I had my first conversation with Mike Gadsby, the Creative Director at O3 World. It was during an interview for a development internship, and it went something like this: Mike: "Are you familiar with HTML and CSS?" John: "Yes, I know them both very well." Mike: "Yeah, everyone thinks...