.NET Inside Out Part 23 – Machine code address of any .NET Core method

This is the twentieth third 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# .NET Core introduced tiered compilation and reworked AOT compilation. Previously, we could get address of machine code by calling GetFunctionPointer … Continue reading .NET Inside Out Part 23 – Machine code address of any .NET Core method

RuntimeError: generator raised StopIteration in PySpark in Python 3.7.3

Recently I was debugging this simple PySpark code: First, we get some DataFrame. Next, we collect it to dictionary. It doesn’t matter how you create the dictionary, actually it could be a set or list as well. Finally, we do some filtering with lambda using in operator. I was running this in Python 3.7.3 and … Continue reading RuntimeError: generator raised StopIteration in PySpark in Python 3.7.3

.NET Inside Out Part 22 – Your application is always multithreaded and it’s not easy to exit properly

This is the twentieth second 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 that a .NET application is always multithreaded. GC creates threads for running finalizers and (depending on the settings) … Continue reading .NET Inside Out Part 22 – Your application is always multithreaded and it’s not easy to exit properly

Aborted transactions in Redshift due to Serializable isolation level 2

I had 3 jobs in my Redshift cluster. First of them was querying two tables A and B and then inserting data to table B. Second transaction was removing and inserting to table A. Third transaction was just reading A and B. The timeline was: First transaction reads Second transaction deletes, inserts and commits First … Continue reading Aborted transactions in Redshift due to Serializable isolation level 2