
String Concatenation vs Memory Allocation
Five ways to build the same string in C#, compared on string instances and memory in a profiler: +, +=, String.Concat, StringBuilder and AppendFormat.

Code Signing as Reverse Engineering Protection
Signing a .NET assembly stops casual tampering, but stripping the strong name defeats it; why you should still sign your code.

Reverse Engineering with Reflector and Reflexil
Cracking a small password check in a .NET assembly by flipping one IL branch with Reflector and the Reflexil add-in.

Open-Source Disk Encryption
Encrypting a USB stick at partition level with TrueCrypt 4.3a, then comparing the raw disk with a normal one in a disk editor.

Booting for Lazy People: Wake On LAN
Booting a computer without leaving your chair: enabling Wake On LAN and sending the magic packet that powers the machine on.

Temporary Break
After 21 days of daily posts, a short break: research takes longer, work comes first and I'm running out of quick subjects.

Explorer Bug: Long Paths and Damaged Directories
Renaming a deep directory tree from the bottom up leaves Windows Explorer unable to open, rename or delete it; a batch-file proof of concept.

The Selfish Side of Social Bookmarking
Social bookmarking sites like del.icio.us are about sharing links with others, but they are just as useful for your own bookmarks.

Daemon Tools: The Disk Image Emulator
Daemon Tools mounts a disc image as a virtual drive, so you can install software like Visual Studio 2008 Beta 2 without burning a disc.
