Create Awesome

web design and development for people who think the Internet shouldn't suck

Introducing BrainHole — an Outbrain-style Widget for

I’m a big fan of ClickHole, the Onion’s satirical take on the clickbait stories that, with the advent of gullible olds like your Grandmother, have rendered your Facebook newsfeed all but useless. But as much as I liked the headlines, stories, and execution the fabled satirical publication brought to ClickHole, something wasn’t quite right. read more>>

Put Strava Routes on your Suunto Device with Movescount

I’ve long been unsatisfied with Garmin’s cycling GPS devices. After a particularly bitter unexplained ride deletion last fall, I finally took the leap on a Suunto Ambit2. It’s been great so far, with the added benefit that it works very well for the non-cycling activities I do.

Unfortunately, the device is really tied to some substandard Suunto products. I understand how the proprietary USB connector helps keep the Ambit2 thin, but it’s finicky and fragile.
read more>>

Your Team Needs Hackers

Cool to see Bicycling moving into the rich content (or whatever they call it) sphere for longer articles. But that white text over white-heavy art? Not cool, man:


read more>>

Twitter unAuth – The Web Scrape API

Twitter has been scaling down access to its API for some time now. But last night, it turned off unauthorized API requests entirely, breaking an armada of web widgets that didn’t route users through the awkward workflow of authentication.

If you’re anything like me, you find the notion of requiring a login for data that users have made explicitly publicly-available repulsive. So a couple of months ago, I threw together a little webscraper to return data I could publish in almost the same way as their API.
read more>>

Installing Python Libraries on GoDaddy Shared Hosting

If you’ve got a GoDaddy shared hosting account, you’re probably none too pleased with the Python support. After all, SSH in, type “python”, and you get a message telling you your version is horribly out of date:

$ python
Python 2.4.3 (#1, Nov 11 2010, 13:34:43)

But after six years of hacking around on their boxes, I’ve learned that the trick to getting the most of your $9/month is just knowing what hoops to jump through read more>>

Let’s Bring faux-column to CSS

If you’ve ever built anything from the ground up with HTML/CSS you know the issue: <div> only expands vertically to fit its contents. Put some of those <div> tags side by side to make columns and chances are, they’ll end up hanging awkwardly above where you want them to be.

The cannonical fix is the Faux Column, a slender, repeating image in the background behind the columns, colored to match the <div> elements that don’t quite make it to the bottom of the screen. read more>>

Redirecting * Pages to your Blog

I’ve talked before about my much-diminished stoke for Tumblr as a platform.

Fortunately, I’m not the only one who sees things this way, and a lot of great tools exist to help you migrate your setup to WordPress. There’s a built-in tool that pulls in your Tumblr blog into a WP install more-or-less intact, and if you are using a custom domain, you can point it to your WordPress install and use this plugin to redirect your old URLs in a line of code.

But what to do about all those [your-account] URLs? read more>>

WordPress “About The Author” Without Plugins

While I love that WordPress has a huge developer community, a lot of plug-ins are overkill. WP does a great job of packaging CMS features into its core functions, meaning that a ton of awesome content is available, usually in a single line of code.

Let’s take the “about the author” boxes, popular on professional and non-anonymous blogs. A default install of WordPress 3.x already has a system for keeping track of user data (it’s under “Users” in the left-hand column on the Dashboard), and a function (get_the_author_meta) to call up that data at any point in any template. read more>>

Advice on Contacting Me by Phone: Don’t

I’m not sure to whom this post would be best addressed. Baby-boomers? Recruiters? Sales teams? All of the above?

Since you’re calling me, let’s assume you have a landline. When I was a kid my parents had a landline, and 95-99% of the calls that came in were obnoxious wastes of time. It got so bad that Congress had to pass legislation protecting people from the steady, inane barrage.

Though I’m sure your phone call is different, special, and important, it’s still an unknown number, and it’s still proposing an immediate, intrusive interaction between us. read more>>

Scratching “From Scratch”

From openings I’ve seen and interviews I’ve been to, there seems to be something of a fixation on coding things “from scratch”.

It’s as if hiring managers had stumbled across a WYSIWYG one day, realized that *gasp* applicants might not have written all the code in a website themselves, and issued a dictum that all future candidates for positions must be able to code things “from scratch”.

Ignoring the fact that WYSIWYGs seldom deliver decent (or even passable) results in real-world use, I think the line of questioning is ultimately self-defeating. read more>>