Rob Janssen

All | Unread | Read

Hoisting in .NET Explained

"Hoisting" is a compiler optimization that moves loop-invariant code out of loops. "Loop-invariant code" is code that is referentially transparent to the loop and can be replaced with its values, so that it doesn't change the semantic of the loop.

Const vs Static vs Readonly in C# Applications

Just last week I had a new-to-ASP.NET developer (we'll call him Roger) ask me to explain what the difference was between a variable declared as const variable and that same variable declared as static readonly.

New is Glue

When you’re working in a strongly typed language like C# or Visual Basic, instantiating an object is done with the new keyword.

The 5 Laws of Software Estimates

Estimates are typically a necessary evil in software development.

Fody/Fody

Manipulating the IL of an assembly as part of a build requires a significant amount of plumbing code. This plumbing code involves knowledge of both the MSBuild and Visual Studio APIs. Fody attempts to eliminate that plumbing code through an extensible add-in model.

TIFU by using Math.random()

Like most good TIFUs this didn’t happen today. It actually happened about two years ago. It is, however, still relevant. More significantly, it’s not just me who screwed up. Math.random() in the V8 Javascript engine is screwed up, too.

MagSpoof - "wireless" credit card/magstripe spoofer

MagSpoof is a device that can spoof/emulate any magnetic stripe or credit card. It can work "wirelessly", even on standard magstripe/credit card readers, by generating a strong electromagnetic field that emulates a traditional magnetic stripe card.

with — Organize Complex Queries

In imperative programming it is common practice to group instructions in small and easily comprehensible units—namely functions or methods. Often to enable code reuse but also to improve readability.

Why you should understand (a little) about TCP

This isn’t about understanding everything about TCP or reading through TCP/IP Illustrated. It’s about how a little bit of TCP knowledge is essential. Here’s why. When I was at the Recurse Center, I wrote a TCP stack in Python (and wrote about what happens if you write a TCP stack in Python).

To ECC or Not To ECC

On one of my visits to the Computer History Museum – and by the way this is an absolute must-visit place if you are ever in the San Francisco bay area – I saw an early Google server rack circa 1999 in the exhibits.

This Read-It-Later-list is just that, bookmarks of stuff I intend to read or have read. I do not necessarily agree with opinions or statements in the bookmarked articles.

This list is compiled from my Pocket list.