Blog Posts

These are all the posts from newest to oldest. Simple enough.

Django Tip: Templates and Page Titles

Posted on April 17, 2014, 9:15 p.m.

The core Django philosophy is DRY: do not repeat yourself. This quick tip will save you time and headaches when writing Django templates with page titles.

Django Dynamic Admin Forms

Posted on Nov. 25, 2013, 11:30 a.m.

You've learned how to create dynamic forms and are using them all over the place. But when you try to use them in the admin create and change forms, things don't work quite right. Let's find out how to use dynamic forms in the Django admin.

Django Dynamic Forms

Posted on Nov. 24, 2013, 2:39 p.m.

Django's forms are powerful and simple to use. In most cases, you'll be declaring your fields explicitly. But sometimes you need dynamic forms, and overriding some class methods will let you do just that. This post will show you what to do.

Combining Storyboards and XIBs in Xcode

Posted on Nov. 12, 2013, 12:22 p.m.

You're zipping along prototyping your app using Interface Builder and storyboards. But now you want to reuse a scene all over the place. What do you do? Combine the power of storyboards and XIBs by mixing them!

Drupal 7 Read-Only Fields

Posted on Aug. 14, 2013, 10 a.m.

If you want to make node form fields read-only in Drupal 7, I'll show you an easy and safe technique to do so. Read on to find out about this method.

Drupal Custom Elements API Errors

Posted on July 29, 2013, 4 p.m.

The Drupal Form API is powerful, but very extensive and complicated. In another post we discussed how to add a custom element from scratch. Watch out for the errors and mistakes highlighted in this advanced-level post.

Custom Drupal Elements for Forms

Posted on July 8, 2013, 8:41 p.m.

One of the most cryptic tasks in Drupal is defining a custom form element. That is, defining your own element types to be used and resused in your forms. This post will walk you through the basics. And there's no better way than to learn by example.

A Smarter Django URL Tag

Posted on June 30, 2013, 8:25 p.m.

Django's built-in url tag is very useful. Repeating yourself goes against Django's philosophy, and the url tag helps you avoid that pitfall. But there's plenty of room for improvement. This post will show you how to make Django's url tag smarter and more useful. Note: this post applies to Django 1.5 and above. Earlier versions of Django use a deprecated syntax.

Advanced Drupal 7 Form Element Theming

Posted on Feb. 28, 2013, 6:22 p.m.

Ever wanted to give form elements a custom look? Theming entire forms is straightforward, if laborious. But theming individual textboxes, checkboxes and radio buttons is slightly more obscure. Keep reading to find out how to fully customize your form elements, from the input itself to the label.

Advanced Fabric Usage: Tasks Between Servers

Posted on Dec. 27, 2012, 8:45 a.m.

Fabric is an excellent tool you can use to deploy your sites and projects to servers. Though it's written in Python, you can use it to deploy just about anything. Typically, the Fabric execution model revolves around a remote server, and your own local machine. But what if you want to perform an operation between two servers? This post will show you one approach.

Getting the Last Element in a Bash Array

Posted on Nov. 22, 2012, 5:43 p.m.

A quick rundown of how to split up a Bash string into an array, then get the last element. Very useful to get the last part of a directory path, an SVN checkout, etc.

Fixing Site-Wide Caching in Django

Posted on Sept. 17, 2012, 8:30 p.m.

Caching in Django is elegant and simple, especially the site-wide cache for anonymous users. But if you use Google Analytics and other external cookies, it might not be working the way you intended. Read this tutorial to find out how to make your site as fast as it can be.

Custom Autocomplete Path on CCK Node Reference Fields

Posted on Sept. 3, 2012, 1:59 p.m.

In a recent post, I explained how to dynamically alter the AJAX behavior of an autocomplete field in Drupal. But what if you have the similar node reference field, and want to modify the result set? This post will show you how.

Optimizing Drupal Views the Right Way

Posted on July 22, 2012, 11:54 p.m.

The Views module is one of the most impressive features Drupal offers. With some clicks here and there, you can build a rich display of data in minutes. But to offer this kind of flexibility, Views makes some assumptions that can hamper your site's performance. In this post, you'll find out how to improve performance dramatically.

Changing Drupal's autocomplete path with JavaScript

Posted on July 17, 2012, 10:54 p.m.

Ever had an interface that needed an autocomplete field? Happens all the time - and Drupal makes that task trivial. But what if you need to change the autocomplete URL without reloading the page? Use these steps, and you'll find out how to do so with JavaScript.

Drupal 6 and Memcached on MAMP 2.0

Posted on June 3, 2012, 4:05 p.m.

Setting up Drupal 6 to use memcached is anything but trivial. There are plenty of instructions out there, but many of these are for MAMP 1.x, or involve MacPorts. This post will show you how to quickly set up memcached locally. Best of all, this guide will leave your system ready to install other PECL extensions quickly.

Making CCK fields read-only in Drupal 6

Posted on May 14, 2012, midnight

Once if a while, you want to make a CCK form field readonly in Drupal. Unfortunately, using form alter + disabled will not work. This post will show you what to do.