Rob Janssen

All | Unread | Read

Why you should use SQL CTEs

Last week I was explaining to a junior analyst how CTEs (common table expressions) work. They’re persisted temporary data sets, that allow you to store a single query to go back to later in your script. They're underrated compared to the subquery, that seems to be what most analysts around me use.

The Illustrated TLS Connection

In this demonstration a client has connection to a server, negotiated a TLS 1.2 session, sent "ping", received "pong", and then terminated the session. Click below to begin exploring. This choice of version number (3.3 rather than 1.2) is due to TLS 1.0 being a minor revision of the SSL 3.

Generating IDs in C#, 'safely' and efficiently

Recently I needed to find an efficient algorithm for generating unique IDs in a highly concurrent and low latency component. After looking at several options I settled for the algorithm used by the Kestrel HTTP server.

The danger of TaskCompletionSource<T> class

TaskCompletionSource<T> class is a very useful facility if you want to control the lifetime of a task manually. Here is a canonical example when TaskCompletionSourceis used for converting the event-based asynchronous code to the Task-based pattern:

What indexes should I create on a table?

While designing a software system that involves a database, this question inevitably pops up in the minds of software developers.

Strategy Pattern – Head First Design Patterns – ep 1

This series examines every design pattern in the book "Head First: Design Patterns". This time we look at Strategy Pattern.? Get the book Mentioned: Sandi Metz – Nothing is Something

Asynchronous programming

If you have any I/O-bound needs (such as requesting data from a network or accessing a database), you'll want to utilize asynchronous programming. You could also have CPU-bound code, such as performing an expensive calculation, which is also a good scenario for writing async code.

Async/Await - Best Practices in Asynchronous Programming

These days there’s a wealth of information about the new async and await support in the Microsoft .NET Framework 4.5. This article is intended as a “second step” in learning asynchronous programming; I assume that you’ve read at least one introductory article about it.

What is a website that everyone should know about but few people actually know about?

Of course not otherwise how else will the great Pearson stay afloat? /s Someone created an algorytm that wrote every possible 1000 digit paragraph bthat features lowercase letters and the punctuation marks , . and ? With a space of course.

A little trick when working with ConcurrentDictionary

ConcurentDictionary has one specific feature: in some cases it may not behave exactly as you'd expect. Here is a small example.

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.