IPv6 in my home intranet with SLAAC, 6to4 and a dynamic IP

I set up 6to4 in my home intranet, and I’ll share my experiences. The web is full of 6to4 how-tos, but there are a few reasons why my case is special: I have a dynamic IPv4 address, I want to share IPv6 in my network, and I want the cleanest solution possible. Quite a common scenario, I think, so here’s how it’s done. Continue reading

How to impersonate the Windows system account in an application

During the research of my previous post, I wanted to find out if it’s possible to impersonate the system account in an application (NT AUTHORITY\SYSTEM). Apparently, and much to my surprise, it’s a bit more powerful than the administrator account. The short answer is that there’s no clean, reliable, non-intrusive and portable way to do that, and in most cases, there are much better solutions. But if you really want the impersonation, then here are the possibilities that I found on my Windows 7 system. Continue reading

Getting the size of a volume shadow copy snapshot

The volume shadow service (VSS) has a storage limit on each volume. If it needs more space for a new snapshot, it deletes an old one. If you want to create a smarter space management algorithm, which also considers the size of individual snapshots, you’re in trouble, because getting the size is not documented anywhere. But now it is :) . Continue reading

Windows antivirus API in .NET, and a COM interop crash course

Like I said in my previous post, I already coded something cool in my framework, and here it is: .NET code to call the Windows antivirus API. The best use case scenario I can think of is when retrieving and then redistributing file content from an untrusted data source, especially a web upload form. In cases like this, content might slip through the realtime protection of most antivirus products, and an API like the one I created is the only solution. Continue reading

Introducing my open source .NET library

One of my biggest plans has always been to publish source code. I’m a professional developer but it’s also my hobby, or more like my art, and I want to do something useful for the benefit of everyone. I’ve posted code a few times on my previous website, but nothing major or widely usable. The life-changing great idea still has yet to come, but I decided to stop waiting for it and publish whatever minor pieces of software I come up with in my free time. C#/.NET is my language/platform of choice, so I started putting together a library project on Google Project Hosting and license it under the GPL v3. It’s a totally generic collection of library routines that anyone might find useful. So here it is: the Joco Library. Continue reading

My ultra low power home server

I bought an Asus WL-500g Premium v2 router in April, 2009 and immediately installed DD-WRT on it. I used it for my wired and wireless LAN, printer and disk sharing, and for running Transmission. In about half a year, I grew tired of its USB bandwidth (around 2 MiB/s), bad overall performance and also the development model of DD-WRT (several thousand commits without a stable release). Then in December, 2009, I built my perfect home server, based on the Intel D945GSEJT motherboard, which perfectly replaced this router while barely consuming any more power and I’ve been happily using it ever since. Continue reading

My new blog on WordPress, first impressions

This is about the 5th iteration of my website. My goals keep changing and improving, I keep getting new ideas, and I wait a lot until I have a very clear and solid concept. Usually by the time I get around to implement it, the change is so big that I just start a completely new website instead of improving the old one. I’ll tell you more about my current goals and the road that led here in an about page or something. So here are my first impressions. Continue reading