1. Simple XML-RPC library

    I decided to use the XML-RPC standard in a project I'm working on, and meebey suggested that I release it as a separate project.

    So here it is: Org.Cdh.Xmlrpc. Just svn co https://layla.chrishowie.com/svn/Xmlrpc. No fancy reflection stuff yet. The library was designed ...

    Tagged as : C# XML-RPC
  2. Cast abuse

    Every so often when reading through some C# code I'll run across the as keyword. Now this is a very nifty feature of C#. Just like the familiar parenthetical cast, it returns the object cast to the new type if it succeeds. However, if it fails then it simply ...

    Tagged as : C#
  3. WikiBench: Persistence

    One of the things I'd been dreading implementing in WikiBench is state persistence. This is, however, very important. When the user closes the application, they should find it in the same state they left it in when they open it later.

    This is a tricky one to get right ...

    Tagged as : C# VandalSniper Wikipedia
  4. JavaScript Queues

    One of the most annoying parts of VandalSniper from a maintenance perspective was how the "JavaScript Queue" was run. To perform some complex action such as rolling back an article and posting a warning to the talk page of the editor required a sequence of JavaScript snippets to be run ...

  5. What's in a name?

    Quite a bit, if you're Gtk#.

    I've implemented the popup user menu in WikiBench.MediaWikiIntegration, along with the extension points for other addins to insert their own menu items into the menu. They can either provide a type extension using a class that derives Gtk.MenuItem, or a ...

  6. Glue-free JSCall#

    One of my goals during this rewriting of VandalSniper as a more general-purpose browser has been to reduce or eliminate the dependency on platform-specific glue libraries. JSCall# uses a C/C++ library to interact with the DOM, and this is just one more hurdle to be jumped over on the ...

  7. More on WikiBench

    I've been hacking on WikiBench some more. The primary addition is the recent changes pad, which you can see in the screenshot. It is a separate addin that hooks into the WikipediaChangeStream addin to provide a list of changes to the user. Clicking a row in the list will ...

  8. WikiBench

    I've been fiddling around with Mono.Addins and have decided that I will be rewriting VandalSniper from the ground up. I've had a lot of ideas for it that have become way too complicated to implement with the current design. VandalSniper was my first C#/Gtk# project anyway ...

  9. WatchlistBot

    Today I got around to implementing an idea I had for a while. I already had code in VandalSniper that would parse the IRC feed from browne.wikimedia.org into objects that represented each edit. So, I simply pulled out those pieces, and threw them in with two other libraries ...

    Tagged as : C# VandalSniper

Page 4 / 6