Skip to content

{ Author Archives }

Caching is easy; Expiration is hard

Still on a high from our success with memcached in AMO version 2, we decided to go a fairly common route and cache query results in version 3. This performs admirably particularly with our rediculously long and slow queries. Over time, though, the popularity of the site and the load on the servers [...]

Tagged , , , ,

AMO Scalability: Then and Now

Struggling with scalability on AMO is nothing new but the tools we use to solve the problems have changed over time. Here is a bit of information on the performance evolution AMO has gone through. I wanted to link to the wayback machine for all our old versions, but I get “Redirect Errors” [...]

Tagged , , , , ,

Another warning option for submitting forms?

These are our current options for submitting forms in Firefox 3:

I don’t know anyone that has the “I submit information that’s not encrypted” option checked. We used to prompt for submitting information that was unencrypted, next we added an option on the dialog that disabled the warning (and was checked by default), and finally [...]

Tagged , ,

CakePHP makes upgrading easy

Laura attended CakeFest a couple months ago and got to meet some core Cake developers in person. In doing so she let slip that AMO was running on a pretty old version (1.1.12 - Released in December of 2006). Apparently 1.1.15 had some major performance boosts and since we melted the cluster a [...]

Tagged , , ,

My Homemade Vanilla Extract

I haven’t found much time for cooking lately but this project brought me back to the kitchen tonight. I’ve been acquiring the ingredients for about a month and finally found a suitable bottle (it was originally a bottle of Mönchshof World Classic Schwarz). I followed these instructions for the most part but I [...]

Tagged

How my cookies became a one way street

I’ve been playing with CakePHP’s session code lately and ran across an interesting (read: nerdy) problem with cookies on AMO.
First, some background:
The uniqueness of a cookie in the browser is determined by all the attributes when it’s set (not just it’s name). That means I can have multiple cookies named AMOv3 as long as [...]

Tagged , , ,

When is a TINYINT(1) not a TINYINT(1)?

When you’re using CakePHP!
Turns out CakePHP considers a TINYINT(1) to be a Boolean. Judging from all the support tickets that have been filed, I’m not the first person to get taken off guard by this behavior. When I asked about it on IRC, the response was that since MySQL considers a TINYINT(1) to [...]

Tagged , , ,

Frameworks that start sessions for every visitor make me sad

I might have played the devil’s advocate when Lars was hating on frameworks at the barcamp last weekend, but that doesn’t mean I don’t see his point. The latest in a series of frustrations with frameworks kept me up until 3am last night. What better way to cap it off than complaining on [...]

Tagged , , , , ,

Don’t Settle for Mediocrity on the Web

When I browse the web looking to purchase a service, I find there are two pretty distinct kinds of sites. One feels like it was made in the early 90’s: it’s mostly functional, almost renders correctly, and has the odd combination of distracting images and colors we thought was a good idea back [...]

Tagged

Turns out greylisting is awesome

I used to get several hundred spam emails a day on micropipes.com. I wasn’t thrilled with having a four or five digit message count in my spam folder, but I deleted the few that slipped through each day and didn’t think about it much more. Someone else running a domain on this server [...]

Tagged