VandalSniper and IRC: better together!

I spent much of the today integrating SmartIrc4net with VandalSniper. No, VandalSniper doesn’t let you chat on IRC now. It connects to the Wikimedia IRC server and joins the Wikipedia “recent changes” channel, which gets spammed by a bot every time any change is made to Wikipedia. Which means that we can not only save…

Sealed classes in .NET … but why?

While tinkering with C#, I was experimenting with declaring methods “virtual.” This effectively tells subclasses “you can override this method with your own implementation.” After some more tinkering, it seems you can also hide methods that are not declared virtual by prefixing them with “new.” But there is a difference: using System; public class A…

CategoriesC#

VandalSniper 11 released

No turning back now. VandalSniper revision 11 has been released on Wikipedia. In addition, I am now tracking changes to the source tree with Subversion, which is what gives each release of VandalSniper its version number. I decided to number the releases with just the Subversion repository revision to simplify support and dispense with the…

VandalSniper Beta around the corner

I’ve been amazed at how easy Gtk# has made this project. If I were using MWF I’d be spending all my time trying to get the UI to behave properly when the form is resized. Simply put, Gtk#, or rather GTK+, takes care of resizing interface elements for me, and that’s one less thing —…

The Self-Distancing Christian

I was reading this blog post from a friend of mine and it got me thinking. Why are Christians (including myself, of course) so ready to completely distance ourselves from society? If we are to make a difference, it will not come about as we rush into evangelistic conversations with people completely uninformed about the…

It’s alive!

After many painful hours of Googling, more Googling, crying, pounding on the desk, and losing my temper in #mono, I have successfully added an ExecuteScript method to jscall, and the corresponding managed binding! With one method call in managed world it is now possible to execute an arbitrary script, passed as a string, inside of…

Gecko# interaction

While developing VandalProof, it has become very obvious that being able to interact with the DOM of the displayed page will be vital to achieving the program’s goals. At this point, Gecko# does not offer any mechanism by which I can do this. I talked with mikalh in #mono for a while, and he referred…

Personal wiki

It’s amazing how much you forget over the years. That’s why I’ve started my own personal wiki to record events, people, places, and other things. I’m not sure if it will be made public as it may contain quite a bit of personal information, but I may post selected articles from time to time. I…

Well, here it is

Now that the blog is running, expect posts regularly! Well, by regularly I mean every so often. And maybe you shouldn’t expect them or you might be disappointed.