Archive for June, 2006

VandalSniper 11 released

Friday, June 30th, 2006

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 “oh, 0.0.1 must be unstable and crappy” mentality.

Hats off to the folks in #mono, who were exceedingly helpful and supportive.

VandalSniper Beta around the corner

Tuesday, June 20th, 2006

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 — and a very complicated thing — that I have to code.

Granted, Gecko# can be a pain to work with, simply because it does not offer much in the way of interaction with a loaded page. However, in a previous post I explained how I patched jscall to allow the execution of arbitrary JavaScript on a loaded page. In combination with jscall’s existing data-passing framework, this has made my task of automating Gecko# almost painless.

The beta is almost here.

The Self-Distancing Christian

Friday, June 16th, 2006

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 most popular movies and novels of the day.

She writes, “So far I have heard interesting reports of DaVinci Code, but after watching the preview and reading reviews, I would never go see it. It is heretical, false, and blasphemous.” All the more reason that you should go see it. If you are discussing this with someone and they bring up something from The DaVinci Code and your response is “oh, I didn’t see that, since it’s full of lies,” you are not going to impress anyone, and they will rightly dismiss you as closed-minded.

I don’t see Jesus separating himself from popular culture. If you want to make the case that Harry Potter is filled with witchcraft (something I am not convinced of since I haven’t read the books myself) please explain to me where that says that Christians shouldn’t read it. In fact, I believe that calls for more investigation on our part. So I am going to give some advice here.

Christians, all across America: read Harry Potter.

You will have one of two reactions to that suggestions. You will think that I am a blithering idiot, suggesting that you practically throw your soul away, or you will understand the case I am trying to make.

In order to be effective witnesses we must know what our culture is doing. We cannot hide behind the shield of protecting ourselves from evil; God will take care of that part. Now I don’t believe that we should be careless. But for crying out loud, Jesus cast out demons. In case you missed it, that means he was in the presence of demons. He wasn’t at his friend’s house telling everyone how evil and nasty demons were, and how he wasn’t going to go near them and corrupt himself.

Now I’m not suggesting that reading Harry Potter or watching The DaVinci Code will place you in the presence of demons. But, since it’s not, what exactly is your excuse?

It’s alive!

Tuesday, June 13th, 2006

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 a Gecko# WebControl.

Combined with the already-existing jscall features, this means that the glue library can be injected into any page loaded in a WebControl, regardless of how that page was loaded!

I plan to reward myself by doing something that is unrelated to XPCOM in every possible way.

Gecko# interaction

Monday, June 12th, 2006

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 me to jscall, which I had been investigating earlier. Unfortunately this does not suit my needs, because it requires that a short JavaScript glue library be present on the page to work. But with further digging, it may be possible to execute arbitrary JavaScript on any page in Gecko# by making calls to C++ world, which would in turn use nsIScriptLoader to run the script.

More when/if I get it working.

Personal wiki

Friday, June 9th, 2006

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 hope to eventually have quite a sizable collection of articles that I can browse for reference and nostalgia’s sake.

Well, here it is

Friday, June 9th, 2006

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.