Microsoft’s DSO Framer ActiveX Control makes it possible to embed Office documents in your own application. We’ve been using it in our .Net with more or less success.

One annoying bug, though, has been how the title of the Form hosting the DSOFramer got garbled if you disposed the DSOFramer OCX. I’ve finally tracked it down to a bug in CDsoFrameWindowHook::Detach(). Specifically, when the window hook restores the original window proc, it doesn’t pay attention to whether the form is a Unicode form, and always installs it as a non-unicode proc.

I’d been looking at easy CMS systems and was turned off by the steep learning curves untile I came across Website Baker. It lacks the flexibility of most of the more powerful cousins, but more than makes up for it in simplicity. And simple is what you want for a simple, low-traffic site.

The app looks pretty cool, but some of the UI is not very repsonsive, so I decided to fix my major peeves with it. I’d been looking for some real project to use some of the Yahoo! UI Library components, and this was the perfect opportunity.

The results is the Javascript Admin module, that persists which pages were toggled in the “Pages” listing and enabled drag-and-drop for rearranging pages and sections. WB has support for “modules”, but they are intended to enhance the sites you develop with it, rather than the CMS itself. So integrating this module does require the user to add one line to the CMS source itself.

While the YUI library took care of most of the heavy lifting, this still involved a lot of fairly complex JavaScript code.

I finally heard about the great reviews the Akismet anti-comment spam service has been getting in the WordPress world. So I checked it out and discovered that a) it’s got an open API which you can use from other applications, and b) there exists a Net::Akismet module on CPAN which makes using it from Perl a breeze.

Since I always look at new and better ways to combat comment spam in my MovableType blog, and since I wanted to explore some of their new plugin APIs, I decided to write an Akismet based spam filter plugin for MT. It turned out to be fairly easy to do (despite the lack of API documentation in MovableType).

So here it is: Akismet Plugin for Movable Type.

Powered by
Movable Type 3.33