Code Archive
Here's a collection of code, utilities & samples, that I've produced over the years.Blogging Related
RESTLog.NET and Relaxer
RESTLog.NET is an implementation of the RESTLog API in C# using ASP.NET. Relaxer is a Winforms/C# based RESTLog client application. This is the software i use to manage my weblog.ZakBlog
A weblogging client tool for use with servers that implement the metaweblog API.> more
Syndirella
I've added a number of extensions to the RSS aggregator Syndirella.blogping.root
Is a tool for Radio Userland that extends it capabilities to ping servers running the weblogs.com ping interface.pingbacks.root
Is a tool for Radio Userland that adds an automatic pingback client to its blogging tool.Blogging from Word
I wrote some tools that allowed you to blog from Word.Weblogs Watcher
Is a backend Web Service for getting notifications that a blog has changed.WSDL FM
Is a WSDL client tool for Radio Userland. It generates UserTalk macro's for making SOAP calls given a WSDL file.Visual Studio
vsGoogle [updated 12/8/2001]
I got fed up of cut'n'pasting between Visual Studio and a browser to do searches, so I wrote a little Visual Studio Add-In that adds search functions for my top searches.> more
WinAmp 3.0 plugins
MSNAmp [updated 6/7/2003]
A Winamp3 plug-in that updates your MSN Messenger name ala MSNMangler.> more
WS-Amp
A SOAP 1.1 server plug-in for Winamp3.> more
COM plumbing
RamTx : A Resource Dispenser for the Millennium
A MTS Resource Dispenser and Resource Manager that provided an in memory transactional property bag (aka transactional SPaM)> more
Interceptor City
A collection of code and notes from some work I've done using Keith Brown's very cool Universal DelegatorTraceHook (with Chris Sells)
A method call hook that dumps interface names, and for typelib described interfaces it also dumps method names and parameters. Recently updated to add support for the IPersistPropertyBag interface. (See the Activation Tricks to find out why)
Activation Tricks
A number of examples of how to hook the delegator in at object creation time
HTTP and SOAP
application/soap+xml
SOAP 1.2 changes the content type for SOAP messages from text/xml to application/soap+xml. In addition it adds a HTTP GET binding so that you can make HTTP GET requests, and receive SOAP messages in reply, the GET binding is obviously easy to test with a browser. Unfortunately by default Internet Explorer will prompt you to save/open the response, rather than just displaying the XML. Following a pointer from Sam Ruby, here's appsoap.reg, a reg file that changes the IE config so that it display the XML directly.SSL
From some discussions on the SOAP list, a quick demo of how to use OpenSSL to retrieve HTTPS pages. Download the VC++ project here.In addition, PocketSOAP contains code to do SSL using the SChannel SSPI interface in Win32, and the SSL winsock support for PocketPC.
Smtp-Soap
I was working on (had working) an XSLT based SMTP SOAP server, it however soon got converted to 4s4c.MS Embedded Visual C++ project files for Expat for CE
A bit of a mouthful there, but I've been using the mov Software port of Expat for CE on a recent Pocket PC (aka Windows CE3.0) project. the mov Software port uses the older CE2.x build environment which is Visual Studio 6 (with the relevant SDK's installed), whilst Pocket PC development is done in the new Embedded Visual Tools. I put together a clean set of EVT projects to build Expat for Pocket PC. You download them here, you'll also need the Expat for CE source from mov SoftwareOne problem with the above, is that its not the latest version of Expat, in particular if you try and do a Unicode build [i.e. XmlChar == WCHAR] you'll run into all sorts of problems. In which case, you might want to grab the current PocketSOAP source, which includes a fresh port of Expat to PocketPC that doesn't have these problems.
What else have I been upto ?
- I'm working on a range of new (to me) technologies including USB device drivers, carbon development on Mac's, Java and Flash.
- I'm spending a lot of time on HTTP/1.1, particularly caching and transfer encodings.
- I Co-authored an article on AOP with COM & .NET with Chris Sells and Dharma Shukla.
- I'm working on more Web Services related projects than you can shake a stick at including 4s4c, pocketSOAP, WSDL & XSD parsers and DIME/MIME support for COM & .NET.
- I attended the last two SOAPBuilders Interop F2F and had a blast !.
- I'm working on YATT a [tcp/proxy/pcap]Trace replacement.
- I'm interested in scalability & fault tolerance at all levels in n-tier web based application. The further back you get the more interesting it gets !
- I contributed to the Attila project (ATL For Applications).
- I contributed to fksec, a set of C++ classes that wrap the ugly parts of the Win32 Security API.
- I occasonally contribute to the Apache Axis project.
- Joe Polastre & I worked on the SAX2 implementation for Xerces-C.
- I'm picking my way through .NET, with some help from Mr CLR Internals :)
Reading
If you're looking for my reading list, its moved.May 25, 2003, Simon Fell

For Windows
For Salesforce.com
For Diagnostics
For Oldtimes Sake