Rob Janssen

All | Unread | Read

Let’s Corrupt a SQL Server Database Together, Part 1: Clustered Indexes

Hold my beer. Now, let’s corrupt it. Open it with a hex editor – my personal favorite is the free xvi32 because it doesn’t require installation. Just download it, fire it up (you’ll want to run it as administrator), and open the database’s MDF file:

Behavioral Design Patterns

It is concerned with assignment of responsibilities between the objects. What makes them different from structural patterns is they don't just specify the structure but also outline the patterns for message passing/communication between them.

How do .NET delegates work?

Delegates are a fundamental part of the .NET runtime and whilst you rarely create them directly, they are there under-the-hood every time you use a lambda in LINQ (=>) or a Func<T>/Action<T> to make your code more functional.

The 68 things the CLR does before executing a single line of your code (*)

Because the CLR is a managed environment there are several components within the runtime that need to be initialised before any of your code can be executed. This post will take a look at the EE (Execution Engine) start-up routine and examine the initialisation process in detail.

RFC 6143 The Remote Framebuffer Protocol March 2011

Internet Engineering Task Force (IETF) T. Richardson Request for Comments: 6143 J. Levine Category: Informational RealVNC Ltd.

Efficient game updates

A little while ago, I wrote an article on things that can go wrong when downloading, it listed a series of reasons, from network problems to invalid content to imperfect hardware that may occur when initially installing a game.

3 Security Headers That Every Site Should Have

Clickjacking, XSS and CSRF, exploits that have been around for 15+ years now and still form the basis for many vulnerabilities on the web today.

Miscomputation in software development Learning to live with errors

The discussion takes place in an imaginary class room. The teacher points out that we have been trying to eliminate errors from programs for over 50 years now and the class discusses different kind of errors and different strategies that have been developed over time to deal with errors.

The Marvels of Monads – Yet Another Language Geek

If the word "continuation" causes eyes to glaze over, then the word "monad" induces mental paralysis.  Perhaps, this is why some have begun inventing more benign names for monads. These days, monads are the celebrities of programming language theory.

Everything you need to know about HTTP security headers

Some physicists 28 years ago needed a way to easily share experimental data and thus the web was born. This was generally considered to be a good move.

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.