When did Dolly Parton become the Joker?

Seriously. I just saw a picture of her for what is apparently the first time since the late 80's and she's terrifying looking.  Here's a little montage ("montage!") to share the visual agony.

Verizon Curve 8330 Spec Sheet

The online VZW store has been taking orders for the 8330 since Monday, but Friday, May 9th is the day it'll officially be available - to business customers. General availability is set for Monday, May 12th.

Download the spec sheet here, or view it embedded below.

Merge Structs in ColdFusion

Another helper function for ColdFusion, this one to replicate PHP's array_merge which allows you to merge multiple arrays. In this case I'm only concerned with associative arrays, which ColdFusion calls structs.

CFMX provides StructAppend which will merge two (and only two) structures, optionally overwriting keys. I always want to overwrite keys, and I want to merge unlimited structures.

<cfscript>
function struct_merge() {
	var base = {};
	var i = 1;
 
	for( i = 1; i LTE ArrayLen(arguments); i=i+1 ) {
		if( IsStruct(arguments[i]) ) {
			StructAppend(base, arguments[i], true);
		}
	}
	return base;
}
</cfscript>

Usage

<cfscript>
one = {
	a = "a",
	b = "b",
	c = "c",
	d = "d",
	e = "e"
};
 
two = {
	1 = "one",
	2 = "two",
	3 = "three",
	4 = "four",
	a = "one_SetByTwo",
	c = "three_SetByTwo"
};
 
three = {
	a = "one_SetByThree",
	2 = "b_SetByThree"
};
 
new = struct_merge(one, two, three);
</cfscript>
<cfdump var=#new#&gt;

Result:

BlackBerry Battery Compatibility Matrix

Just because it fits doesn't mean it works - or does it?

Right now I have three generations of BlackBerry batteries that came with my 8703, 8830 and 8130. I also have two different chargers and spare batteries for the 8830 and 8703. Now that Verizon's selling the BlackBerry 8330 Curve, I went looking to see how to send RIM yet another $100, and was pleasantly surprised to discover that the C-S2 model batteries from the 8703 would work in the Curve. To help others in my situation I've put together a matrix of batteries and the supported models.

What's not on the matrix

In a pinch you can use C-M2 and C-X2 batteries in an 8700, but the battery cover won't fit over the C-X2. C-S2 and C-X2 batteries will physically fit into the Pearl, and C-S2 will fit into the 8800, but neither will power the device and you'll receive the No Charge image.

The C-M2 is missing a notch that the C-X2 and C-S2 have and would not physically fit into my 8830.

The BlackBerry 9000 appears to use a totally different battery, but until it's available it won't be included in the matrix.

BlackBerry Battery Compatibility Matrix

C-S2

C-M2

C-X2

Older Models

7100g 8100 8800 6210
7100i 8120 8820 6220
7100r 8130 8830 6230
7100t 6280
7100v 6510
7100x 6710
7105t 6720
7130c 6750
7130e 7210
7130g 7230
7130v 7250
8700r 7270
8700c 7280
8700f 7290
8700g 7510
8700v 7520
8703e 7730
8705g 7750
8707g 7780
8707h
8707v
8300
8310
8320
8330