work rambling

PHP Memory Issues? There's a Hack for That!

I've had to raise my php memory limits much further than I'd like just to get some normal things done in D7. The admin page for Drupal's menu system with a large menu tree can easily crush what I'd consider a healthy amount of available ram. Here is a fast and ugly fix settings.php:


$path = explode('/', $_GET['q']);
if ($path[0] == 'admin') {
  ini_set('memory_limit', '192M');
}

Hopefully this is sufficient for most cases.

OS X and rdiff-backup woes

I use a set of scripts called BackupNinja that I use to manage backups for my server. It is a great tool to manage mysql dumps and file system backups (among other things) as well as doing scheduled backups. My beef with it has always been its dependencies- rdiff-backup does not like to have version miss matches between server and the backup target. Though this seems a simple matter- just compile from source the same versions on each box, with dependencies it can be a bare.

Having switched over the machine that I use to store the backups to be primarily OS X, I figured things were going to be annoying, but it took me some time to figure out what exactly the problem was.

Writing panels integration

I'm working on a project where I need to get some of my custom content into Panels. Having the Panels interface to manage things is obviously a huge boon, but I wanted to do more than create Drupal blocks- I wanted the same kind of integration that modules like Views and CCK are using.

Poking around, I didn't find much information on how to actually write your own Panels integration, so after a few fits and starts, I just started from block.inc as an example and then have abstracted it here.

Writing Extensible Drupal Modules, part 1

First in a 3 part series

In the past few months, I've spent a bit of time writing Drupal modules that are designed to have other modules interact with them. In some instances to add content, change configuration, modify display, or participate in module processes. Writing modules that do this turns out to be frighteningly easy. With Drupal, even more so.

Stripping EXIF data with Media Mover

After someone was discovered posting pictures to Flickr using an iPhone before it was officially released, it was fairly obvious to me that EXIF data could be used in ways that a user might not anticipate. Maybe I'm a bit behind the curve, but regardless, it struck me that it might be time to provide some tools that protect users from their cameras revealing who they are.

Drupal's Search

Doug Green is talking about Drupal's search engine over on CivicAction's blog. Some good information and all the more reason to move away from MySQL 3.

FlunkArnold.com Coverage

There's some interesting coverage of the flunkarnold.com website that I worked on back in September. It's pretty much a stock Drupal site with a custom video encoding script that I posted about awhile back.

A Drupal youtube Site Recipe

Please see the Media Mover annoucement and check out the Media Mover module suite on Drupal.org

updated for drupalcon | Download the .odp presentation

Overview

Evil IE and CSS

Having issues with IE, css and blinking images. This is some good reading: fss | things about things

Unfortunately, given my page structure, double buffering isn't really an option. So, the apache fix is in order:


ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000

and lo! it works.

Certified Email Survey

Time to take the certified email survey. Here's some background on the issue:

<

blockquote>

Pages