Rob Janssen

All | Unread | Read

Generating sortable Guids using NewId

In this post I discuss the pros-and-cons of using database-generated integer vs client-generated Guids, and introduce NewId as a way of mitigating some of the downsides of Guids.

On awaiting a task with a timeout in C#

Say you have an awaitable object, and you want to await it, but with a timeout. How would you build that? What you can do is use a when_any-like function in combination with a timeout coroutine. For C# this would be something like

IBM's asshole test

Some years back I applied to join IBM's grad scheme, there was a peculiar stage to the process I've not seen elsewhere. It was during the onsite day, where a batch of 20 or so applicants were put through various tests in an IBM office.

Cronos

Cronos is a .NET library for parsing Cron expressions and calculating next occurrences. It was designed with time zones in mind, and intuitively handles Daylight saving time (also known as Summer time) transitions as in *nix Cron.

Those HTML Attributes You Never Use

13 min read HTML, Guides, Coding, Techniques Share on Twitter, LinkedIn Build in-demand job skills you can put to work as a UX Design professional.

Horrible edge cases to consider when dealing with music

I'm a huge fan of navidrome, and thus spent some time reading its source code, and discussing with Deluan about its data model, making this list of weird edge-cases as we went. Take a look at Musicbrainz' database schema to have a glimpse on how to tame this madness.

Executing code before Main in .NET

The Main method is the entry point of a C# application. When the application started, the Main method is the first method that is invoked. In fact, the Main method may not be the first method of the assembly to be executed when the application starts.

Using Immutable Data Structures - Spencer Schneidenbach - NDC Oslo 2021

Immutable objects - aka objects whose properties and fields can't change after instantiation - are one of the fundamental pillars of functional programming. Yet, it also has other great uses in classically object-oriented languages such as C#. Immutability can help make your code cleaner, easier to

Plain Text - Dylan Beattie - NDC Oslo 2021

Software is complicated. Machine learning, microservice architectures, message queues... every few months there's another revolutionary idea to consider, another framework to learn. And underneath so many of these amazing ideas and abstractions is text. When you work in software, you spend your life

[Crypto] Licensing your software with OpenSSL. Using license keys. Software copy-protection.

[Crypto] Licensing your software OpenSSL. Using license keys. Software copy-protection. You saw this many times: a license file with a name, serial number, features supported and some code. And some info of a computer that license is connected to, like MAC address.

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.