The one where I dont use XML

So I have an email filter that can write messages to another mailbox. I need to supply it, and all other filters that I might write, with some configuration data. I could use XML but I dont… Filters are given an instance of an IFilterDataManager when they’re created; the idea being that they can obtain any configuration data that they need from it. More advanced filters might also want to write data back once they’re done, but that’s a story for another day…

Filtering mail

Now that I can retrieve and serve it up again via a POP3 I want to do stuff to it in between retrieving it and serving it. The idea was to have a series of filters that get passed each message, Do Stuff ™ and either allow the message to be passed on to the next filter or end the filtering process. Most of that works now, here’s how I got there.

F Lock fix

Ok, I usually hate those ‘me too’ blog postings but… Here’s a “fix” for the fact that on Microsoft keyboards that have an “F Lock” key to change how the function keys work the default power up state is “wrong”…. From “The furrygoat experience”, via “ISerializable”. Thanks guys…

Bluetooth on XP

I never expected the Bluetooth sockets entry to be so popular … From the comments on that entry it seems a lot of people are having trouble with getting devices to work with XP’s bluetooth support. To help out a little here’s my proof of concept test project.

Dealing with the simplest things

The POP3 client is now complete. It can download messages from POP3 servers and store them in a message store. I’ve implemented a file system based message store that is compatible with the POP3 server code’s file system message store. We can download messages from server’s and make them available via our server. As expected the test first approach had driven the design in a simple and decoupled direction; eventually some of the simple decisions were inappropriate so I added some tests and refactored…

JetByte News: WallStreet Money Markets and custom FX systems

Len is back working with the Commerzbank Bonds and Money Markets teams in London helping them with their transition from WallStreet Money Markets software to some custom FX trading software written in C++ and running as an ActiveX control.

I'd like a refactoring lint

So a refactoring editor doesn’t float my boat; a lint tool that warned me that there were bad smells in the code would… Right now I use Gimpel Lint as a code review tool. I run it, it tells me nasty things about the code, I listen, fix or ignore. It would be nice if it could tell me that there were bad smells. I think this is where real value could come from refactoring tools.

A sustainable pace

Ok, it’s that ‘wine’ time of the evening. Miche is working late, I’ve eaten and am close to finishing off a nice bottle of Pinot Noir and my thoughts turn to people being excited by refactoring editors… Firstly: I’ve never used a program that facilitated automated refactoring, so be gentle… Right, so we can select a block of code, right click, select ’extract method’ and the editor does all of the cut, paste and argument passing/receiving fixups… Does that really take people more time to do manually than it does to let the editor do it?

iPaq upgrade

Finally got the Pocket PC 2003 upgrade for my iPaq 3970. The upgrade went nice and smoothly and the iPaq feels quite a bit faster and everything seems a little more polished and easy to use. So far it seems that it was worth the money…

POP3 Client almost complete

The test driven development of the POP3 client code is almost complete. The development proceeded in a similar manner to the server code and I’m left with the same thing to write; the message store… I was quite pleased that the entire client development could be done without needing to connect to a real POP3 server at all. In fact, up until last night, I didn’t have any code that the client could use to talk over sockets.