Categories
Etc

Syncing an LG-VX8350 with Outlook

I recently picked up a new phone, the LG VX-8350. Bucking the current trend, I wanted a phone that was merely a phone. No camera, no web browser, no Twitter client, no no no. I just want to be able to talk on the thing. And sync up my contacts with my computer. Oh right, that.

The VX-8350 doesn’t come with anything to this end. No software, no cables, no nothing. It’s just a phone. After a bit of digging, it turns out there is a USB cable available who’s primary purpose is to let you use the phone as a modem, but it turns out you can also use BitPim, a nice little bit of open source software, to read out and sync down your calendar, contacts, and some other things.

So far, I really like the phone. The battery lasts forever, the sound quality is fantastic, I can use mp3 ringtones, and it’s reasonably fast. Maybe I’m odd, but I really enjoy things that do one thing and do it well. This phone fits the bill.

Categories
Etc

Object cannot be created in this context, Code: 9 revisited

I did some more digging and finally figured out what we were doing to tickle this error in Firefox. Short story: passing a null to dojo.getComputedStyle(). In particular, we were making calls like dojo.marginBox(dojo.byId("a-bad-id")) which in turn calls into dojo.getComputedStyle() to do it’s work, and hence, the error. I updated the repro case and the original blog post to reflect the findings.

Categories
Etc

Wow these Palm Centro ads…

…are just poor rip-offs of the Apple iPhone ads. How sad.

Categories
Etc

Starcade full episodes online now. Holy Crap.

I’d completely forgotten about this old TV show until Kotke mentioned it. I watched it whenever I could and was always jealous they got to place Dragon’s Lair (too rich for my blood) for the end…

One thing I’m noticing with all these old game shows and shows from the 80’s in general: the production values are really low compared to today’s stuff, but I find the shows were a lot more entertaining. For all the flash and polish on today’s stuff, there’s just no meat any more. I mean, Deal or No Deal? Very fancy, but it’s horribly dumb. I dunno. Maybe I’m just getting old.

(via Kotke)

Categories
Etc

Dojo’s little gems

I really enjoyed Mitch’s article on YUI Lang’s little gems and thought it might be handy to see how to do the same things with Dojo. Here’s the translation:

Trim

var trimMe = "  trim me please  ";

//YUI 
var trimmed = YAHOO.lang.trim(trimMe);

//Dojo
// - exactly the same
trimmed = dojo.trim(trimMe);

Substitute

var processText = function(key, value) {  
  return value.toUpperCase();  
};  

//YUI
YAHOO.lang.substitute('Hello {world}', { world: 'earth'}, processText); 

// Dojo
// - Named placeholders are prefaced with a $
// - No support for extraValues from Mitch's example
dojo.require("dojo.string"); // not in base distribution
dojo.string.substitute('Hello ${world}', { world: "earth" }, processText);

Later

// YUI 
// - Docs indicate this return type void, which is a timer object?
YAHOO.lang.later(200, foo, "method", [{ data: "bar" }]);

// Dojo
// - No abstraction for timers in Dojo
// - Can use hitch to set calling scope for function
setTimeout(dojo.hitch(foo, "method", { data: "bar" }), 200);
//  or
setInterval(dojo.hitch(foo, "method", { data: "bar" }), 200);

Merge

var defaults = { color: "red", answer: 42 };
var config;

//YUI
config = YAHOO.lang.merge(defaults, { color: "blue" });

//Dojo
// - mixin takes a variable number of arguments
// - Values are written to the first object, hence passing {}
// - Later values have precendence
config = dojo.mixin({}, defaults, { color: "yellow" });