Adventure Time’s BMO, Made in 3D Entirely with CSS

BMO made with CSS in 3D

Oh my Glob! BMO in the Web Thingey. All the visuals are done entirely with CSS. The buttons also do some mysterious things when you press them. The making of 3D BMO grew out of following a tutorial creating an old Macintosh Plus in 3D with CSS. I wanted to better understand the CSS properties that were being used for 3D, and create something myself. In doing so, I ended up figuring out some math to create some beveled/rounded edges.

Adding a “Rate” Button to your Cordova-based Mobile App (Android, iOS, etc)

Stars Rating, App

High ratings in the Google Play Store or iOS App Store are critical to an app’s success. And they’re beneficial to find out what the problems are when an app needs improvement. So, it’s very common to have a simple link/button that allows the end user to submit their review from inside the app. The less hoops to […]

Opening YouTube Links Dynamically in a Twitter Bootstrap Modal Window

Bootstrap Modal Dynamic Youtube Embed, JavaScript

Using Twitter Bootstrap 3.0, I wanted to use its modal window to open YouTube videos. Rather than manually placing the HTML for each video's modal, or creating a line of JavaScript for each separate video, I wanted any YouTube link to pop up embedded in a modal window, without extra code. The modal is a progressive enhancement. The link should work normally without any JavaScript. You could also disable the modal functionality for small devices on a responsive design.

Common .htaccess Rules for SEO and Rackspace Cloud Sites

Every site we build on the Rackspace Cloud ends up needing a lot of similar rules in the htaccess file. On my local PC I've collected them in a text file, that I copy paste sections from almost every day. Most of the below examples will work on your average Linux-based server with Apache and mod_rewrite enabled. A few are RS Cloud Sites specific (as noted). In case you've never messed with this stuff before, note that this isn't a single file to copy in its entirety. Each section has a different purpose.

Yii: How to Search a HAS_MANY relation using CDbCriteria Compare()

Using Yii's implementation of ActiveRecord makes querying a database much easier for simple queries. For more complex situations, you will still find yourself having to write some straight SQL on occasion. In this case, using a custom query was not necessary. I was trying to add another search parameter, using the AR compare() method, to search a relation with a HAS_MANY relationship, and it was displaying an "unknown column" error. Without a proper example, it wasn't clear at first how to get this work...

Huge Email Delays on Rackspace Cloud Sites – Don’t Use PHP Mail()

Starting last month, Rackspace Cloud Sites has not been delivering mail sent through PHP's mail() function in a timely matter, and sometimes not at all. The company I work at has been using RS Cloud Sites for a few years now, and while mail delivery has always been slower than average, emails tended to arrive within 20 minutes. Now we have emails showing up 3 days late, and there were some tests that I never received. Why is there no uproar about this? And why has Rackspace failed to notify its customers of this ongoing issue? Most websites rely critically on scripts that send email for their contact forms and web applications. For any brochure-type website, the main goal is to get the visitor to contact them. Call to actions point to a contact form. The contact form submits to a script that either sends mail via PHP's mail() (sendmail) or via SMTP.

Using Different JavaScript / jQuery on Old Versions of Internet Explorer

I was adding a nice hover overlay to some images, which faded in and out nicely with jQuery, in FireFox. Unfortunately, the effect in IE7 and IE8 was not looking too good. The text was either not fading correctly, or text was popping and looking shoddy. This had to do with some transparent elements and handling of transparent PNGs. Rather than fighting with it or degrading it for everyone, I realized it'd be simple to do a little progressive dehancement by doing a simpler show/hide for IE versions less than 9.