You are now being tracked

Since I was too lazy to implement my own traffic-analyzing solution before someone told me about Google Analytics, I decided to try that out instead.

So... Implementation was dead easy. Register, verify your email and then just add a tiny javascript snippet to the site-template. Done.

Now all I'm waiting for is some traffic on the site to see what actual data I can get out of this service. Now, if I will aprreciate the actual data or not is one thing, but it will be interesting none the less.

Illegal prime numbers

Yup. Illegal prime numbers. Evidently they do exist.

Today, I'll publish a number on this site, and in the process I may have commited a crime according to US law. No, really!

So, how can a number be illegal? Fear not, Wikipedia comes to the rescue. In short: because of a US law called "Digital Millenium Copyright Act".

It's basicly the same law that says if Apple tries to restrict you from playing music bought from iTunes on anything else than iPods, and you find a way around it, you can be sent to prison. I'm not kidding. All praise the land of the free!


Gah! Bugs!

It was brought to my attention that there were Javascript errors on the page, and that may have caused a few issues.

The issue at hand seems to be that the blog ring thing, which is based on an external Javascript file, for some odd reason is down and that code referencing it failed.

This may have led to other undesirable effects, like being unable to post comments. Sorry about that!

The blog ring code has been disabled until this is sorted out, but apart from that things should work as usual.

C# 3.0

Unless you are working with the .NET Framwork and C# development, that headline probably makes no sense to you, and you should just avoid further reading right away.

If you however happen to be a C# developer, the new language features of C# 3.0, might be of interest to you. Currently there are numerous extensions to the current version of the language.

I'm not 100% happy about every single one of these changes, but the worst case scenario is that I simply choose to ignore them, and don't employ them in my code.

Anyway, has a lengthy article about the new features of C# 3.0 and practical examples of what the code will look like. A interesting read.


Microsoft .NET and that damn security

With the introduction of .NET 2.0 Microsoft introduced quite a few neat security related features, giving you the ability to micromanage security at code- & assembly-level using something called Code Access Security.

In short it allows you to restrict the access the code is given to the system, independent of how priviledged the actual user running the code is.

It also allows to define what rights can be granted based on the origin of the code. Now this makes sense. Random code run directly from the Internet can make sense, as long as access is severely restricted, while applications installed and run locally probably will need more access and can be trusted access to more parts of the system.


AOL aftermath, part 2

This is more boasting than anything else, but I DLed the AOL-logs myself, imported the data into my database, and tried a few queries.

After importing data, adding a few indexes (which took a long time to generate) most queries completed within seconds. That is, full text search as you can search with google, on a 40 million row table. Within seconds.

I like my database. I like Microsoft SQL Server 2005.

However, I just had to run the killer query of all killer queries. I intend to invetigate this DB further, but in the meantime, please check out my nice stats (and the top 100 searches) here.


Minor site update

After recieving some feedback on the page, obvious design/UI flaws and the actual URL-format, not to mention a few actual errors, I've been working a little to fix these things today.

Please let me know if you find any new bugs.

RSS feed

The RSS feed was evidently as far from compliant as you could get. This should now be fixed. At least it validates here.

I'll look into updating my other feeds as well to get them behaving properly.


The header is now clickable, as many people objected to them not being so. I sorta have to agree that this made sense.


Kill that Caps-lock!

The caps-lock key may have legitemate uses, but I know no-one who ever uses, nor do I use it myself. Personally I find it a just an annoying source of typos that need correcting.

RemapKey.exe is a neat utility that lets you remap your entire keyboard on scancode level, using simple drag & drop.

And with this tool, my caps-lock key is finally dead. Good riddance.

RxRename - A Regular Expression based renaming tool


If there's one thing I hate doing, it's breindead, repetitive tasks.

Like renaming 100 files from one specific naming convention to another. This is obviously something that can be automated.

When I encounter situations like this, I usually fire up a bash-shell and make a funky one-liner involving perl, regular expressions and whatever it takes to get the job done. But sometimes, like when filenames contain spaces, this literally turns into a mess pretty quickly.

So I decided that my windows box needed som decent commandline-tools as well and made this simple renaming tool. I could have made this a windows application, but for stuff like this the commandline just feels right.


Search engine specificly for source-code

I'm pretty sure everyone in IT has heard about digg by now. It's one of the great symbols of "Web2.0", a word that almost makes me vomit.

It's greatest strengt is probably also it greatest weakness: It's entirely community driven. Basicly what made slashdot suck when a bunch of morons decided to come about, will make digg suck even more as soon as it builds up a big enough userbase.

However, between all the junk that gets posted there, between all the fancy AJAX and javascripting, between all the zealous fanboys posting non-stories and replies to said non-stories... Sometimes, if you are lucky enough to catch it while it's still on the frontpage, you may find some interesting things.


About the blog

In this blog, I will try to post mostly technical material. The old stuff is all here too, so you might find random rants and postings, but from now on all new posts will be technical.

For those less interested in my professional life, I post all the silly posts at

Misc stuff