Archive of the posts written by author : afish.

# 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 In this post I show very simple…

# 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…

# Async Wandering Part 5 — Catching exceptions from async void

This is the fifth part of the Async Wandering series. For your convenience you can find other parts in the table of contents in Part 1 – Why creating Form from WinForms in unit tests breaks async? Last time we saw how to…

# Custom memory allocation in C# Part 11 — Benchmarking UnsafeList

This is the eleventh part of the Custom memory allocation series. For your convenience you can find other parts in the table of contents in Part 1 — Allocating object on a stack I presented some results suggesting that UnsafeList is faster than…

# Custom memory allocation in C# Part 10 — Hijacking new in .NET Core

This is the tenth part of the Custom memory allocation series. For your convenience you can find other parts in the table of contents in Part 1 — Allocating object on a stack I had .NET Core 2.1.103 x64 installed and I wanted…

# Custom memory allocation in C# Part 9 — Hijacking new in x64

This is the ninth part of the Custom memory allocation series. For your convenience you can find other parts in the table of contents in Part 1 — Allocating object on a stack We already hijacked new in C#. Last time we did…

# Exception propagation in WinForms

Let’s start with the following code: using System; using System.Windows.Forms; class Program1 { [STAThread] static void Main() { var form = new Form(); form.Load += (sender, e) => throw new Exception(); try { Application.Run(form); } catch(Exception e) { MessageBox.Show(“This doesn’t execute”); } finally…

# Random notes from crashing and hanging EMR Spark job

It sometimes happens that your EMR job crashes or hangs indefinitely with no meaningful log. You can try to capture memory dump but it is not very useful when your cluster machines have hundreds gigabytes of memory each. Below are “fixes” which worked…