Search PINVOKE.NET from IE7

by admin 25. August 2006 16:57

I've recently had to look up a few APIs at so I thought I'd whip up an OpenSearch description for the site so I can search directly from the search box in IE7.

If you want to add the search yourself just click here.

If you want more info on adding search providers to IE7 then I got my info at but really you just need the OpenSearch specs. It's pretty easy. If you want to browse the descriptor I created for then it's available at

I also added pinvoke as a search term in the address box so you can simply type "pinvoke searchTerm" to jump to a search. If you prefer that method then install this registry file. Here's the contents for those who are understandably cautious about clicking on random registry files on the net:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\SearchUrl\pinvoke]

Task Tracking System

by admin 27. December 2005 05:56

I'm looking for recommendations for a system for tracking a todo list. There's no real problems finding open source (or free) systems, but none are quite cutting it yet.

I need something I can host at but still access through a windows GUI (none of the systems with web frontends have impressed me yet). So far the best I've come up with is Axosofts OnTime but it needs a SQL server to point it at.

Looks like I might need to start coding RikProjectManager... but what will I use to track the development of RikProjectManager?

Watch the PDC

by admin 24. October 2005 16:55

You can now watch Joel write a compiler in an hour amongst other PDC presentations at . Unfortunately Joel doesn't do his presentation in Lions' gear :( Maybe next time...

Asynchronous Remoting Server

by admin 28. September 2005 11:51

If you've ever written a .NET remoting channel you'd have come across the ServerProcessing.Async value. This value should indicate that a server object is handling a message asynchronously. There's then a some additional infrastructure for handling the real message reply later when it becomes available (through the use of IServerChannelSinkStack).

Up until now this value has been largely unused. In standard remoting it is never returned (it is possibly used in CrossAppDomain calls). I say up until now because I have now successfully made use of it!

For my PhD I needed to provide a method for application programmers to create asynchronous implementation of methods. I've based this off the undocumented ASP.NET web service async implementation model which is something like this:

int Foo(string value)

IAsyncResult BeginFoo(string value);
int EndFoo(IAsyncResult ar);

As you can see the implementation of Foo will be split across two methods - BeginFoo and EndFoo. When BeginFoo returns it supplies an IAsyncResult which will be triggered by some third party (perhaps another method call to the same object, or the result of an IO becoming available). The framework is then responsible for calling EndFoo. Clients should be hidden from the details - in fact they simply call Foo - the BeginFoo/EndFoo stuff all happens on the server side.

Currently there's no nice way of providing the Foo signature to clients so a dummy Foo implementation must be required (something like just throwing NotImplementedException is fine since it's never called). ASP.NET gets around this by generating appropriate WSDL when it finds two methods that match this BeginFoo/EndFoo pattern.

Of course, even though I got to make use of the Async return value I found that some of the supporting clases required a bit of massaging to get working properly. This doesn't surprise me since I don't think this is ever used in standard remoting...

IE Developer Toolbar

by admin 17. September 2005 04:33

I haven't had a chance to have a good play with it yet, but there's a developer toolbar for IE now -

Most exciting thing to me seems to be the option to inspect the page's DOM.

Joel Hits DotNetRocks

by admin 24. August 2005 07:33

Joel Pobar is on the latest episode of DotNetRocks. I'm proud to say that I'm one of those that give it to him when comes back to AU with his yank accent.

Meanwhile I'm getting annoyed at trying to prevent multiple submission clicks for the web app I'm working on. I had it all working except for a problem with IE cancelling submissions under certain circumstances. Then I thought I had that fixed but it's now broken in Opera. :(

BTW, I'm back into my PhD starting next Monday and I really do plan on at least having some alpha release of RikWik available by then. Just gotta find time.

Goomburra Hits RikWare

by admin 17. August 2005 06:58

Well it has finally happened. is now running RikWik: Goomburra. You probably won't notice too many changes at the moment but hopefully soon I'll have a release that everybody can play with.

Some of the new features in Goomburra include:

  • Skinning - loosely based on DotNetNuke
  • Much better extensibility (more details later)
    • Page types with custom viewers/editors
    • Page attributes
    • Extensible security system
  • Plus various bug fixes...

Windows Forms Parking Window

by admin 2. August 2005 19:46

A mate of mine has been wrestling with a windows forms app recently and came across the Windows Forms Parking Window. I'm just surprised I've never come across this anywhere else.

While looking into it I found this post Read the comments. It's kind of amusing to see how abusive people can be just because they can't understand a blog post but think it might be able to help them (it can't... but they haven't realised that).

Referencing exe projects

by admin 21. July 2005 01:39

Richard Lowe has a nice approach to referencing .exe assembly in visual studio. This is one part of VS that I hate. I seem to remember some beta versions of VS.NET 2002 supporting references to exe projects and then it disappeared before final release. Anyway, though I haven't tried it yet this approach looks good:


by admin 21. March 2005 02:30

I came across System.Threading.Interlocked recently. Handy class for performing some basic threadsafe operations. Not sure of performance implications, but I'd much prefer correct and not super fast than super fast and incorrect.

About Us

RikWare is a software development company based in Brisbane, Australia. Led by director, Richard Mason, RikWare focusses on solving challenging business problems promptly and effectively.

RikWare is also the owner of Aussie Bushwalking, a free, wiki-like collaboration site for bushwalkers and the creator of RikMigrations, a migration framework for .NET.

Aussie Bushwalking

Want to discover some new bushwalking ideas? Share a few of your own? Aussie Bushwalking is like Wikipedia... but for bushwalkers. Head on over. Anybody can see the walks and it's free to sign up and share your own.



RikMigrations is a database migration library for .NET based on the migrations facility provided by Ruby on Rails. It allows simple upgrading and downgrading of databases using .NET code (such as VB or C#) either from the command line or built into your application. Unlike many other migration frameworks, RikMigrations is a stand-alone library which does not rely on a large surrounding framework.