Threadsafe Bouncy Castle for (C# Lightweight API)


I leverage the Bouncy Castle cryptographic library to create tools that help me test the encryption management software we make at my day job. It is a robust library that comes in handy for generating all kinds of interesting data.

It came as a surprise to find that Bouncy Castle did not take to threading as well as I'd hoped. After implementing Threading in a few of my testing tools I found that Bouncy Castle would get stuck in an infinite loop while generating BigIntegers. I had to alter part the BC source code in order to solve my problem.


Wireshark and PowerCLI: How to identify duplicate IP addresses when your VMs don't run VMWare Tools


Yesterday while I was at work I got an interesting email from our Network team: Apparently there were a couple of machines that shared the same IP Address on the network. We needed to isolate which machines were involved and remediate the problem.

Given that the vast bulk of our servers are virtual, I logged into vCenter and used the search bar to search for the IP address as it should show up if VMWare tools are installed. Nothing came up, so what next? Hmm...


Remote Debugging with Visual Studio 2010


On occasion I find myself needing to debug an application I've written on another box. Last week I finally took the time to figure out how to get the Visual Studio Remote Debugger working. I must have been doing something wrong all the previous times I tried to get it to work because this time it 'just worked'!

Read on for details.


Wireshark Custom Development for Fun and Profit


A week or so ago I found I had a need to extract the SSL Certificates used to secure HTTP connections over the wire. I started down the path of SharpPcap & PacketDotNet (C# wrappers around WinPcap) and quickly realized that I'd have to do a lot of mucking around to get to the point where I could reliably and consistently extract SSL Certificates from the packet data I was receiving.

At this point I thought to myself: "What about WireShark? Isn't it open source?".

Special Note: Today Marks the 2 year anniversary of this site!


Concrete5, Advanced Comments and spammers


Over the last few months I've noticed a marked increase in spam comment posts. During that time I've periodically gone through and deleted the spam so my site isn't reduced in quality. As I've been very busy the last couple months I haven't had time to post any of the cool new stuff I'm working on, let alone take the time to analyze where the spam was coming from and figure out how to combat it.

During the last few days I've had more time to dedicate to solving the comment-spam problem. Along the way I learned something interesting about the Advanced Comments Concrete5 add-on in addition to spotting the spam source.


Updating M4700 BIOS


I have a Dell Precision M4700 laptop that I wanted to get up to the latest Firmware/BIOS version. Trying the 'easy' route (Dell System Update Control panel item) didn't result in success. My external monitor was black and I couldn't see anything even when I opened the laptop lid.

To get around this problem I had to restart the whole process again, this time with the Laptop lid open. With the lid open I could see the BIOS update progress bar, it moved to 100% and completed successfully this time.

So just a note: Open your laptop's lid before updating firmware! :)


BB10: How to Restore a 'Bricked' Dev Alpha Device


While frantically trying to get my apps ready for the BlackBerry 10 launch I accidentally broke my Dev Alpha B device. It froze and I tried to reboot to fix it- unfortunately it got stuck at the loading screen for a long time (40 minutes).

This article explains how I was able to get my Dev Alpha device back up and running.


BB10: How to Package a Cascades for Deployment to AppWorld


After you've gone through the process of creating and testing a Cascades application for BB10, it would be nice to deploy it to AppWorld. This article explains how to do just that.


BB10: Debugging


Debugging a BlackBerry 10 application is a bit primitive. I want to jot down my notes on how I've been debugging my applications so I can refer back to them later.


BB10: Cascades: Using SQLite


While working on several BB10 applications leading up to launch I became more familiar with how to implement SQLite database access. While it is fairly straight-forward, there are a couple of 'gotchas' to be aware of.