Killing whats left of IRC
Make sure people can't autoconnect! A screenshot from the ongoing decline of IRC.
The journal
149 articles on building software and understanding how it works.
Make sure people can't autoconnect! A screenshot from the ongoing decline of IRC.
Tired of Invoke-ing the GUI thread from every background thread, I ran Reflector on WinForms' Form, generated a partial class with a Perl script, and got a Form where every method safely invokes the GUI thread automatically. A quick hack, but it works.
BitLocker kept demanding the recovery key at boot — first because the docking station snuck new devices into the BIOS boot order, then error 0x26000070 after I tampered with the BCD. Both fixes documented here.
Every ASP.Net app I make emails me its unhandled exceptions — including a MiniDump of the process that you can load into Visual Studio as a paused project and inspect stack, locals and all. Here is the code.
Embedding YouTube in a WPF app via the WebBrowser control works — once you know about Mark of the Web, line endings, and that Flash forces your app to run as x86. All three lessons learned the hard way, sample code included.
My C#/WPF IRC client is functional but needs GUI work, so I'm looking for beta testers and developers of all skill levels. Everything is modular, so you can work on single features without touching unrelated code.
A screenshot of a question no operating system should be asking in 2010.
We run a development VM per customer at work, so making them fast matters. A long list of concrete tweaks for Virtual PC, VirtualBox and VMware — from disk layout to services worth disabling.
A good comparative performance test of antivirus products — some make a simple file copy take twice as long. Maybe disabling the antivirus now and then isn't such a bad idea.
One web.config attribute — optimizeCompilations="true" — makes ASP.Net recompile only what actually changed. Less waiting between test runs; links to the patches needed for older Windows versions.
An IRC server written in mIRC script, another in VB6 with one form per connection, a Perl bouncer that was pure art, and more — a tour of ~15 years of IRC programs I have written as hobby projects.
Ten years of writing IRC clients on and off, and this time I'm fairly happy with what's under the hood. Nimbus.IRC is module-based with a Common library and a GUI shell, and alpha releases are coming.
Mono.Cecil kept producing broken assemblies with branches jumping out of the method — until Jb Evain explained the magic: call Body.Simplify() before modifying and Body.Optimize() after. Not a bug after all.
A deep dive into user space threading for .NET: why OpenSim needs to pause, serialize and resume thousands of running scripts, and the whole arsenal — from Mono.Cecil IL rewriting to fibers — I have thrown at the problem.
The threshold for using Second Life/OpenSim is too high, so as a pilot project I'm building an in-world image gallery with paintings borrowed from my aunt. The hard part: finding a viewer that is actually easy to install.