June 2009

OMNICLIENT VALIDATION, PART 1

Part one of two, in a series.

CACHE IS CASH

If time is money, then caching your lookup in Notes agents is cash in your pocket. An agent that repeatedly makes network requests such as view lookups to read document objects for processing data and needs to find the same object over and over can benefit greatly from caching the found object to avoid the network and lookup bottleneck for future requests. I get order-of-magnitude increases in agent performance using the techniques described below in agents that I have deemed network intensive in this manner and have implemented caching strategies for.

WALL OF SECRECY VS. WALL OF SOUND

I’ve been trying to decipher how IBM’s Crypto works in the context of Lotus Expeditor. The spelunking trail has led me down the KeyStore provider path, which is a subtle quirk feature of the Expeditor package that allows for keychaining identities.

DEEP THOUGHTS 2

I thought I had gotten over the major humps to developing supersecret app, but it turns out that the Lotus Expeditor runtime had one more nasty trick up its sleeve: Expeditor’s runtime’s Java Cryptography Extension provider seems to be missing an algorithm for decrypting SSL communications with Google Apps. Bah! This is what happens when the JVM market fragments.

TUESDAY IS A BRIGHT, SUNNY DAY

Finally, some sun here in North Jersey, literally and figuratively.

EASY TO CREATE A CUSTOM DIALOG? NOOOOO

My goal for today's PDE programming has been met: Understand how to create a custom dialog in JFace for an Eclipse/Equinox plugin. So, you'd think it would just be as easy as declaring a Dialog-ish object, adding the layout and widgets you need to it and making it visible but its not. It's not rocket science either, but it is a step back in programming simplicity from what I'm used to. Essentially, there are three steps:

DEEP THOUGHTS 1

And now, Deep Thoughts, by Jake. Cue soothing music.

PD is not PDQ

or, Plugin Development is not Pretty Darn Quick.