Particle Swarm Optimization

Just ran across an interesting new (at least to me) family of algorithms for finding optimal solutions, similar to like fuzzy logic and neural net, yet simpler and faster.  Its called Particle Swarm Optimization (PSO).  An introductory paper can be found here.  I also found a book on the subject: Swarm Intelligence by James Kennedy, Russell C. Eberhart, with Yuhui Shi.

I just love discovering little gems like this.  It could come in handy in many situations.  Enjoy.

Acrobat PGP Plug-in Progress

Acrobat PGP Plug-in is coming along nicely.  Basic functionalities are working.  UI is still mostly just PGP's boring built-in stuff.  I want to put up a custom UI so I can handle other signing methods as well as different versions and variations of PGP like GnuPG.  Currently, only PGP 8 is supported.  I am not planning to do an OS X version until later.  If you have any requests, this is the time to do it.  Detached signature and XML-DSIG features will not be there until after the first version is released.  I love fun little projects like this.  Designing large systems is fun too, but there is nothing like designing personal products that people will use everyday.

Blog Newbie: Joel Hockey

Since I talked Joel Hockey into blogging, allow me to introduce his blog: Joel – Ramblings from an urban cowboy.  His RSS feed is here.  Most readers of my blog seems to be using my RSS feed so its good that he has a RSS feed.  I have met Joel through my 3D-Secure mailing list which has little traffic but lots of cool yet quiet (heh) engineers and bankers behind Visa's Verified-by-Visa and MasterCard's SecureCode programs.  I think he lives in Australia and works for the QSI Payments, a 3D-Secure vendor, which recently (?) merged with Dialect Solutions.  Welcome, Joel.

Digital Signature with Acrobat Reader

One project I have been meaning to do is digital signature with Acrobat Reader.  Acrobat Reader currently can't sign (breaks its read-only restriction) and verification requires a 'Reader-enabled' digital signature plugins.

While this restriction might make sense for Adobe's bottomline, it doesn't for many web applications.  One could assist/coerce Acrobat Reader to sign and verify, but that requires too mucking arounding with innards of Acrobat Reader as well as PDF.

It would be cleaner and more intuitive to sign the whole PDF using XML-Signature format and route it somehow.  I'll have to find out how companies processing Acrobat forms and figure out a way to integrate.  Adding signature receipt and management feature would be cool too.

Mozilla 1.3 released quietly

Just another release of Mozilla.  I haven't bothered to see what new features are in 1.3.  I just upgraded from 1.2.1 to 1.3.  No big deal, no excitement, nothing.  No one was waiting for Mozilla 1.3.  Safari seemed to have sucked all the air out of Mozilla, more so than any release of IE.  Speaking of IE, its getting old too.  Whole web and software world seems to be sinking slowly with only two bright spots: OS X and Wi-Fi.  Anything else?

Rant Echo

My XML-DEV rant echoing back to me as Quote of the Day in Elliotte Rusty Harold's Cafe con Leche XML News and Resources.

"While some folks will deny it, so called XML industry evolved from and still revolves around XML-DEV. Yes, it’s full of whiners and arcane discussions sometimes, but that is just part of XML-DEV. OASIS is guilty of taking advantage of notoriety around XML-DEV to boost its own reputation and then let it rot like a ghetto."

"XML-DEV is not a mailing list. XML-DEV is a group of people who, over many years, have formed bonds, mutual respects, and learned to depend on each other. XML-DEV defines part of what each of us are for XML is and has been an important part of our professional lives.  And what has OASIS have done for XML-DEV? Yahoo Porn groups get better service than XML-DEV."
[Don Park on the xml-dev mailing list, Wed, 12 Mar 2003]

A tad too strong, no?  Len Bullard's replied with *group-hug*.  Funny.  I like Len, but I think he is in a bear hug with OASIS activities.

Signing PDF with PGP

This is what I am working on at the moment.  PGP 8 is a bitch to work with because there is no SDK yet and no documentation to help me bridge all the changes that occurred in the API.  Being lost inside Acrobat and PGP is not a lot of fun, but I think there is a small market for this.  Coming Soon to a Store Near You!

XML-DEV in search of OASIS

I have been on XML-DEV mailing list for a long time.  Since then, XML 1.0, SAX, DOM, XML Namespaces (urgh), XSLT, XSL-FO, XML Schema, RELAX-NG, SVG, and other specs have been discussed in-depth on the list and released by W3C.  It is interesting to note that OASIS specs were not discussed as throughly as W3C specs on XML-DEV, yet OASIS took over as host XML-DEV from Peter Murray-Rust and Henry Rzepa sometime in 1999.  Peter and Henry has since noted that OASIS has not been appropriately supportive of the list. 

There has been persistent technical problems, yet OASIS seemed to be interested only in patching up immediate problems and no more.  Latest uproar started with Tim Bray (XML 1.0 Chair) and Lauren Wood (DOM Chair) getting kicked off the list mysteriously.  Karl Best, an OASIS VP, replied saying that XML-DEV is low-priority for OASIS and that XML-DEV members are expecting too much from OASIS.  So, OASIS is not an oasis for XML-DEV.  I am looking forward to the next leg of XML-DEV's journey.  That is if rest of XML-DEV is as unhappy with OASIS as I am.

I believe XML-DEV needs to grow up into a standard organization like W3C and OASIS.  Most of the people who work on W3C and OASIS specs are XML-DEV members anyway.  Specs published by XML-DEV will have the distinction of being XML Community-Approved, unlike W3C and OASIS specs which are Member Companies-Approved.  We can start with SAX, RELAX-NG, and Common-XML specs.

Schemas as Promises and Expectations

This a slightly modified version of a message I posted to XML-DEV mailing list.

While reading through the registered namespace prefix thread, I had a thought: use of schemas (and DTDs) so far has concentrated primarily from the XML producer's perspective and not from the XML consumer's perspective.  Furthermore, we use a schema as a contract between XML producers and consumers, binding them tightly and thus making it difficult for either party to evolve and extend the contract independently.

Using schemas as a contract between two highly independent groups (producers and consumers) seems unwieldy because the two groups must walk in sync as the schema evolves.  What if the contract is divided into two parts, promise and expectation?  An XML producer's version of the schema promises precisely the content and structure of the produced XML documents.  An XML consumer's version of the schema specifies the content and structure of the XML documents the consumer expects.  Promises and expectations don't have to match exactly to function.

From the consumer's perspective, all it really cares about is that its getting everything it expects.  So the producer can add or remove elements if the consumer doesn't care about those elements.  Structures can be changed also if the change doesn't violate consumer's expectations.

A Close Encounter with a Paypal scam

When I checked my inbox this afternoon, I got a mail from info@paypal.com telling me that my account has been deactivated.  To reactivate it, I must enter bank account and credit card info.  It looked really legit with nothing suspicious.  I deleted it without looking at it further because I haven't used Paypal in the past and don't plan to in the future.  Ten minutes later, I run across this article on my Radio News Aggregator.

Paypal customers target of apparent scam [InfoWorld: Top News]

Would I have examined the message's more closely before filling it out?  I usually do when I across something suspicious, but this one was not.  A close one.