TODO: Add my AppConnector related posts to's blogroll

Here's the feed URL:

Citrix published apps: no software to install? no problem.

Here's a challenge: You've got 2 web apps, pushed out to client PCs via Citrix as published apps, running side by side on two browser instances. How do you make them talk to each other (i.e. exchange data between the two) without having to modify the 2 apps?

That's the challenge that I was presented today as I was helping a partner build a POC for a prospect. The kicker of it was, I was told one of our biggest competitors was given this challenge and couldn't do it.

Here's the specific scenario that we were able to get implemented within about 3 hours:
  • user logs into Citrix web interface.

  • user clicks on icon of published app--in this case it was JD Edwards EnterpriseOne web--to launch it.

  • user navigates to JDE Supplier Ledger inquiry screen, brings up a supplier number and PO number.

  • AppConnector KoolBar appears on the local desktop with a button labeled Get Image.

  • User clicks on button, which triggers a search against Imaging system and brings up the scanned invoice image.

And the kicker of it is, there is no AppConnector footprint on the local desktop.

svn over putty over http (over proxy)

A while ago, someone asked me about accessing their svn server from inside a customer network, which blocks everything except port 80. I didn't have an answer at the time. Then, I was at a customer site last week and ran into a similar problem. This is how I overcame it:

  1. Set up your HTTP server to proxy SSH. See here.

  2. Tunnel the svn port through PuTTY. See here.

  3. Add an entry to your %windir%\system32\drivers\etc\hosts file:

    # SVN Server

    This is done so that you don't have to change your current SVN client settings.

  4. If the customer network happens to use a web proxy, enter the proxy settings in the PuTTY's Connection\Proxy panel.

My Google Desktop Search is Locked!

I accidentally locked my Desktop Search. And as far as I can tell, the systray memu item called "Unlock Search..." is just there for decoration (I have version 5.7.801.1629), because it did nothing for me when I clicked on it. I could only surmise that the menu item was trying to launch a URL in my default browser, failed for some reason, and decided to keep quiet about it.

Eventually managed to find out the port (4664), went there and unlocked it via the web interface:

I don't know how I had been able to live without Google Desktop. I use it primarily for searching my inbox (8 years' worth of emails).

ROI on process automation

I wrote this corny rant on 2-25-2005 but never posted. Upon re-reading, I think it's worth posting.

An A/P Clerk, and AppConnector user, called me up this week and happily proclaimed: "yesterday, I did four days' worth of work in one day".

Wow...that's a 400% productivity improvement by using AppConnector simply to automate a multiple data entry process into the single-point data entry process. I did some simple (read: naive) calculations and...say, for an organization staffing 10 accounting clerks working on a $10/hr salary just keying and searching for invoices, in a month's time, the costs incurred would be as follows:

  • no AppConnector: 10 x 8 x 10 x 5 x 4=$16000
  • with AppConnector = 16000/4 = $4000, a saving of $12000.

This means that in the short order of a few months, AppConnector would have paid for itself. Pretty good ROI, isn't it?

I said that's a naive calculation because, amongst other things, this productivity gain usually has side benefits such as less data re-keying errors, which, in the first instance, would have incurred more costs of correcting the problem after-the-fact. This benefit results in data consistency across disparate systems. Mind you, that's not to say that AppConnector will totally eliminate data entry errors altogether, because if the error was made in the originating system, it would be replicated in the second system as well when the data is brought over. But then this would be an entirely different problem, not one of re-keying errors.

Back in high school, I did an Economics research paper on process automation and fifth generation computers--the kind of computer systems referred as "expert systems" at the time. This was a time where there were rumbling apprehensions in the labour force about how these great evil things called "computers" would eventually take over the world and put people out of a job because everything would be automated by computers/robots. Anyway, my thesis for the paper was that computers were built to help mankind not to replace it. Any "unskilled" job that they might end up replacing would be an opportunity for people to learn new skills and adapt. This is good for humanity because we don't want to be stuck with the same inefficiency all the time--whether we realize that it is an inefficiency or not--but we should strive to better ourselves each and every day. And isn't that what evolution is all about?

But this was high school, and nearly 20 years ago when I was young(er) and (more) stupid, so what did I know!

Definition: A change that is good is one that benefit you, your organization or, more generally, humanity, in the long run.

When change is good, resistance is futile. Be one with the force (of change, that is)!

Microsoft's CTO @ MIX08

Ray Ozzie's keynote @ MIX08:

Source: Microsoft PressPass