Rob Janssen

All | Unread | Read

Mod and Remainder are not the Same

Get ready, here comes some fringe pedantry that could very well be the difference in an interview, or the thing that saves you from hours of chasing a production bug!

Task, Async Await, ValueTask, IValueTaskSource and how to keep your sanity in modern .NET world

C# and .NET went through a lot of changes in recent years. First, came Task Parallel Library. Later, async-await made everyone adding Async suffix to their methods and putting a lot of awaits.

Cost of a Join

How expensive is a join?

[EN] How does Two-Factor Authentication - 2FA work?

We often hear that if a website supports two-factor authentication, it is worth to enable it for our account. That’s what security people use to say. But how does it work? Why does it increase the security of our account so much? Today's episode is all about it.I will outline how the "Time-based O

SOLID Principles Around You

In this article I want to briefly go through SOLID principles (acronym that stands for five basic principles of object-oriented programming and design) supplying each of them with real-world visual examples to make those principles more understandable, readable and memorizable.

In MySQL, never use “utf8”. Use “utf8mb4”.

This is a UTF-8 client and a UTF-8 server, in a UTF-8 database with a UTF-8 collation. The string, “? <…”, is valid UTF-8. But here’s the rub: MySQL’s “utf8” isn’t UTF-8.

Don’t Eat Before Reading This

Good food, good eating, is all about blood and organs, cruelty and decay. It’s about sodium-loaded pork fat, stinky triple-cream cheeses, the tender thymus glands and distended livers of young animals.

Truth First, or Why You Should Mostly Implement Database First Designs

In this much overdue article, I will explain why I think that in almost all cases, you should implement a “database first” design in your application’s data models, rather than a “Java first” design (or whatever your client language is), the latter approach leading to a long road of pain

UTC is Enough for Everyone, Right?

Programming time is pretty weird. It can sometimes make you feel week in the knees, and very days and confused about how it all fits together. But watch it: this is hour burden to bear, and we can't just let it past us over.

Thinking Outside the Synchronisation Quadrant - Kevlin Henney

Ask programmers what comes to mind when you say concurrency and most are likely to say threads. Ask what comes to mind when you say threads and most are likely to say locks or synchronisation.These assumptions are so deeply held that they define and constrain how programmers are taught and think abo

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.