Rob Janssen

Call me maybe: MongoDB stale reads

In May of 2013, we showed that MongoDB 2.4.3 would lose acknowledged writes at all consistency levels. Every write concern less than MAJORITY loses data by design due to rollbacks–but even WriteConcern.

Technical Phone Screen HOWTO

You have 30 minutes to guess at the capability and fit of an incoming candidate. How do you do that? You have to assess a few key areas quickly. Here are my tips for the person conducting the screening, written from the perspective of the inner monologue I have when I do phone screens.

How to pronounce hexadecimal

Kid: Here it is: Bit… soup. It’s like alphabet soup, BUT… it’s ones and zeros instead of letters.Bachman: {silence}Kid: ‘Cause it’s binary? You know, binary’s just ones and zeroes.Bachman: Yeah, I know what binary is.

Locking in Microsoft SQL Server

Today I read a question about locking in MySQL on Stack Overflow. When I read the question I had no clue what went wrong (If you know it I would be glad to read your answer ?). I don’t work with MySQL, instead we use MS SQL Server.

Fooled By Your Own Brain

Your powers of attention: fooled! Attention is, by definition, limited. And that’s usually a good thing. If you’re searching for a lost earring on the floor, you want to ignore anything that’s not small and shiny.

A Million Lines of Bad Code

This is the story of some bad code I wrote. Early in my undergraduate days, I was working on a Java program that had to read a 6 MB file (a bacterial genome in FASTA format) into a string. I did this with a for loop that on each iteration concatenated on to a string. It looked something like:

Why are there both TMP and TEMP environment variables, and which one is right?

If you snoop around your environment variables, you may notice that there are two variables that propose to specify the location of temporary files. There is one called TMP and another called TEMP. Why two? And if they disagree, then who's right? Rewind to 1973.

No Silver Bullet

I have been observing a very unfortunate inclination nowadays, especially among functional programmers, of habitually using asynchrony in their system. This is especially concerning when asynchrony is used as a first approach to dealing with potential performance issues.

HTTP/1 vs HTTP/2 Page Loading

An interesting proof-of-contept: http2.golang.org. Especially with simulated latency, HTTP/2 shows its true potential.

PCG, A Better Random Number Generator

Properly seeding random number generators doesn't always get the attention it deserves. Quite often, people do a terrible job, supplying low-quality seed data (such as the system time or process id) or combining multiple poor sources in a half-baked way.

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.