Rob Janssen

All | Unread | Read

Password Based Key Derivation Functions in .NET

In this article I want to talk a little about Password Based Key Derivation Functions and their use in .NET. A Password Based Key Derivation Function or PBKDF2 as it is known, is a way to encode passwords as an alternative to hashing functions which are susceptible to rainbow table attacks.

How RAID-6 dual parity calculation works

Parity protection is a common technique for reliable data storage on mediums that may fail (HDDs, SSDs, storage servers, etc.) Calculation of parity uses tools from algebra in very interesting ways, in particular in the dual parity case.

Fluent Interfaces · Schier

Fluent interfaces are software API's designed to be readable and to flow. They are like a miniature domain-specific language, code structured for one specific purpose. Methods in fluent interfaces can often be chained, creating a flow of method calls.

How Apple caused our iPhone app to crash for 3 days

Like many app developers, we updated our app when iOS 8 was released. We threw in some Swift code and fixed a few bugs. Our new version worked flawlessly in Testflight for iOS7/8, and everything looked good. On Wednesday (October 1st) we submitted the new binary to Apple, sat back and waited.

Finding a Video Poker Bug Made These Guys Rich—Then Vegas Made Them Pay

John Kane was on a hell of a winning streak. On July 3, 2009, he walked alone into the high-limit room at the Silverton Casino in Las Vegas and sat down at a video poker machine called the Game King. Six minutes later the purple light on the top of the machine flashed, signaling a $4,300 jackpot.

codersnotes / The joy of INCBIN

Why do games have to load data? At first glance that seems like a stupid question. Of course they have to load data, textures, models, etc. How else would they draw anything?

What am I running inside my bash?

Let's assume you are using bash as your daily shell. You've heard lots of worrying things lately about it's safety. But that's not what's bothering you. What's bothering you is that some months ago you abused the holy UNIX principles with it. It couldn't be helped.

Why is 0x00400000 the default base address for an executable?

The default base address for a DLL is 0x10000000, but the default base address for an EXE is 0x00400000. Why that particular value for EXEs? What's so special about 4 megabytes

Ducking, A Date-Parsing Library That Makes Me Rethink About Parsing

Earlier this week I ran across a really fascinating project called Duckling. This isn't the Duckling project that I work on, but the coincidental name sameness probably caught my attention! Duckling is a date parsing library for Clojure, but it handles date parsing in a fairly unique fashion.

How does SQLite work? Part 1: pages!

This evening the fantastic Kamal and I sat down to learn a little more about databases than we did before. Just a primary key and a string! What could be simpler? I then wrote a little Python script to put the contents of /usr/share/dict/words in the database:

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.