Miscellaneous ramblings usually related to development.

On Internationalization

Never Concatenate Labels This really doesn't end well with languages like Japanese, where sentence structure can be radically different. Instead, use replacement tokens and String.format

Leaky Abstractions: Apex Exception Types

Apex like java it's built upon has exceptions as the core way of dealing with, er, exceptional situations. Apex exceptions have always had a couple oddities

Presenting at Dreamforce '14 tomorrow - "Faster SOQL, Yes Please"

If the room isn't already over capacity come drop on by my session! Moscone West 2009 @ 11:30am.If you can't know that it's based in

Best Practice: When to Use Public Test Classes

Since the APIv23.0 release (aka Winter 12) it's been possible to have a non-private class annotated @isTest. You might first wonder why this would

Worst Practice: editing JSON with regex

One of the fundamental tenets of building a large managed app is that all of your developers should of course work outside of the packaging org

ReadOnly with Javascript Remoting Methods

I've been working almost exclusively on apex services for @RemoteAction methods and learned a few interesting, and often totally undocumented, tricks along the way.First

A tale of two serializers

Let's say we have an apex class we're using as a wrapper object, with a getter method to return an Id made of some derivation of