Rob Janssen

Sympathy for Students in Beginning Programming Classes

If you're a student in a class like this, you have my sympathy, because it's a terrible way to be introduced to programming. Once you've learned a small subset of a language like Python--variables, functions, control flow, arrays, and dictionaries--then features are no longer the issue.

Nobody Expects the Spanish Inquisition, or INT_MIN to be Divided by -1

INT_MIN % -1 and INT_MIN / -1 in C/C++ are little gifts that keep on giving. Recently, Xi Wang has been using this construct to knock over languages implemented in C/C++. Then today Tavis Ormandy posted an excellent local DOS for a Windows 8 machine. But the fun doesn’t stop there.

Swapping Developer Roles: A Lesson in Empathy and Cross Disciplinary Work

If you’ve ever found yourself in a code oriented meeting in which people are going over issues and you find yourself dozed off in the corner – you’ve got an empathy problem.

Concurrent Saves

Sometimes you need to be able to make changes and save them while a previous save is in progress or "in flight" as we say. This second save is concurrent with the first.

Inside the ALU of the 8085 microprocessor

The arithmetic-logic unit is a fundamental part of any computer, performing addition, subtraction, and logic operations, but how it works is a mystery to many people. I've reverse-engineered the ALU circuit from the 8085 microprocessor and explain how it works.

Extracting bits with a single multiplication

We don't care about the value of the bits indicated by ., and they don't have to be preserved. The solution was to mask out the unwanted bits, and multiply the result by 0x2040810204081. This, as it turns out, does the trick.

RailsConf 2011, Glenn Vanderburg, "Craft, Engineering, and the Essence of Programming"

RailsConf 2011, Glenn Vanderburg, "Craft, Engineering, and the Essence of Programming"

5 easy tips to accelerate SSL – Unhandled expression

Update 2: thanks to jackalope from Hacker News, I added a missing Apache directive for the cipher suites. Update 3: recent attacks on RC4 have definitely made it a bad choice, and ECDHE cipher suites got improvements.

Secrets in the code · GitHub

Programming often involves keeping a bunch of secrets around. You've got account passwords, OAuth tokens, SSL and SSH private keys. The best way to keep a secret is, well, to keep it secret. Sometimes in a forgetful moment, however, those secrets get shared with the whole world.

You are not your code.

I'm a lousy programmer. However, I am less lousy than I was last year, and significantly less lousy than I was 20 years ago. Even still, there's a lot of crap on my GitHub and Bitbucket repos - but I'm totally OK with it.

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.