.NET Internals Cookbook Part 1 — Exceptions, filters and corrupted processes

This is the first part of the .NET Internals Cookbook series. For your convenience you can find other parts in the table of contents in Part 0 – Table of contents 1. What happens when you throw something which does not inherit from…

.NET Internals Cookbook Part 0 — Table of contents

This is the table of contents of the .NET Internals Cookbook. Look below for links to all answers. In this series I answer various .NET questions. Some of them are asked during interviews, some of them I see on the internet, some of…

Turing Machine Part 5 — Twice as many ones as zeroes

This is the fifth part of the Turing Machine series. For your convenience you can find other parts in the table of contents in Part 1 – Addition Today we check whether a string has exactly twice as many ones as zeroes. States:…

Turing Machine Part 4 — Subtraction

This is the fourth part of the Turing Machine series. For your convenience you can find other parts in the table of contents in Part 1 – Addition Today we subtract two numbers. This is very similar to addition so should be pretty…

Turing Machine Part 3 — Checking palindromes

This is the third part of the Turing Machine series. For your convenience you can find other parts in the table of contents in Part 1 – Addition Today we check if given word w is a palindrome. First, we add delimiters at…

Phantom types to encode state in C#

You cannot add or remove method from generic interface based on the type. Also, CLR doesn’t support higher kinded types (as of now). Let’s say that we want to encode state of an object in its type and disallow some operations depending on…

Source compatibility issue with Google Guava library

Recently I was debugging a case of NoSuchMethodError when using the Google Guava library. Conceptually my code was doing the following: Preconditions.checkNotNull(someObject, “Some string with %s formatting”, “parameter”) In runtime I was using library in version 19 and I was getting the following…

Turing Machine Part 2 — Checking if a word is a repetition

This is the second part of the Turing Machine series. For your convenience you can find other parts in the table of contents in Part 1 – Addition Today we check if given word w is of a form w = xx. Idea…

Turing Machine Part 1 — Addition

This is the first part of the Turing Machine series. For your convenience you can find other parts using the links below: Part 1 — Addition Part 2 — Checking if a word is a repetition Part 3 – Checking palindromes Part 4…

ILP Part 55 — Shortest path

This is the fifty fifth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra We have already seen Max flow and last time we used it to ensure…

ILP Part 54 — Graph connectivity

This is the fifty fourth part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra Last time we saw how to implement max flow in ILP. Today we are…

ILP Part 53 — Max flow

This is the fifty third part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra Today we are going to implement Maximum flow in ILP. We use the following…

Heat map in Excel

If you ever wondered how to create heat maps in excel, here are two simple solutions. Data preparation Create two columns with data, as presented below. Next, select values in column C and choose conditional formatting in Home ribbon (see screenshot). This way…

ILP Part 52 — Unsigned magnitude decomposition for real variables

This is the fifty second part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra In part 2 we saw how to calculate unsigned magnitude decomposition for non-negative integer…

Machine Learning Part 5, ILP Part 51 — Linear regression

This is the fifty first part of the ILP series. For your convenience you can find other parts in the table of contents in Part 1 – Boolean algebra This is the fifth part of the ML series. For your convenience you can…

Machine Learning Part 4 — Linear regression in T-SQL

This is the fourth part of the ML series. For your convenience you can find other parts in the table of contents in Part 1 – Linear regression in MXNet This time we are going to implement linear regression as a function. This…

Machine Learning Part 3 — Linear regression in SQL revisited

This is the third part of the ML series. For your convenience you can find other parts in the table of contents in Part 1 – Linear regression in MXNet Last time we saw how to calculate linear regression for the Iris dataset.…

Machine Learning Part 2 — Linear regression in SQL

This is the second part of the ML series. For your convenience you can find other parts in the table of contents in Part 1 – Linear regression in MXNet Image that you have only a data warehouse with SQL capabilities to train…

Machine Learning Part 1 — Linear regression in MXNet

This is the first part of the Machine Learning series. For your convenience you can find other parts using the links below (or by guessing the address): Part 1 — Linear regression in MXNet Part 2 — Linear regression in SQL Part 3…

.NET Inside Out Part 9 — Generating Func from a bunch of bytes in C# revisited

This is the ninth part of the .NET Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 – Virtual and non-virtual calls in C# We know how to generate delegate from a byte…