C# Property Interception

Have you ever wanted (or needed!) to encrypt a C# object’s children with potentially different keys or different methods? How, then, do you implement inline object encryption in a way that’s essentially transparent to a developer? I’ve been wondering about this issue for 5 years and finally decided to prototype it. This concept has come to fruition in […]

WebRTC and STUN server IP Probing

The other day, a rather interesting browser “exploit” came to my attention, which utilizes the WebRTC technologies available in modern browsers (used for things like Google Hangouts, and is generally the de facto standard for any peer to peer streaming technology). I call it an exploit because of how it handles virtual interfaces, specifically when it comes […]

An Engineer’s View from the Startup Trenches

What life as a software engineer has taught me about the business of startups Charting the pulse of a startup company is generally the job of an organization’s executive leadership, sales, and marketing. It makes sense: they’re the ones with access to costs and revenue streams, and they’re the ones involved in client and/or investor […]

“The specified path, file name, or both are too long.” Error (Entity Framework 6.1 and Visual Studio 2015)

This is an issue a coworker of mine ran across the other day while trying to run “Update-Database” on his EF6 project via Visual Studio 2015. Specifically, this error only seems to occur when referencing the EntityFramework NuGet package in more than one project in the same solution. This issue appears to affect any command related […]

Application Sharing via RDP “RemoteApp”

I was asked recently about Remote Desktop Protocol and how best to create a cheaper “Citrix-esque” way of hosting applications from a Windows server, so I’ve decided to transform some of my old instructions into more digestible content. This article assumes you have Windows XP SP3, Vista SP1+, Windows 7, or Windows 8 installed. These […]

On Good Software Design

Most engineers I talk to on a regular basis have said at one time or another… Look at this spaghetti code! How did such a simple system function turn into this 500-line disaster of engineering? It’s because as intriguing and unique an experience as seeing one’s idea simply execute is, it’s difficult for many people […]