Chatterbox Part 1 — Origins

One of the nicest aspects of IT is one problem can be solved in multiple ways. Some solutions are clearly “wrong”, some of them are clever and tricky, some of them are the de facto or de jure standards. This generalizes to patterns,…

PowerPoint as a code — Reusing slides in multiple presentations

Introduction When you work on slides for public talks it may happen that you would like to have two similar talks sharing some slides. For instance, one of my talks explains internals of async in C# so I have plenty slides with decompiled…

Async Wandering Part 10 — Project Loom in .NET – awaiting with fibers

This is the tenth 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? In Part 8 I mentioned that…

ILP Part 57 – SPOJ Wpłaty

This is the fifty seventh 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 solve RNR_01_04 – Wpłaty from SPOJ. The history is…

Avoid side effects outside of your application

You probably heard that side effects in programming can be harmful. This post is not about imperative versus declarative approach, though. This is about side effects you may create without paying attention to little details. Just few examples. Running process and blinking Let’s…

Async Wandering Part 9 — awaiting with timeout

This is the ninth 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? In previous part I mentioned multiple…

Reverse engineering Profesor Klaus Intensywny Kurs to fix missing microphone — Profesor Klaus Intensywny Kurs bez mikrofonu

Word of warning: if you come to this post to find the solution only and you are not interested in the explanation how to do it then scroll down to the last section. I don’t expect any non-Polish speaker to do it so…

.NET Inside Out Part 24 – Synchronous waiting for the Task in the same frame

This is the twentieth fourth 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# Let’s take this code:

and compare it…

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

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…

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

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…

.NET Inside Out Part 21 – Using is broken

This is the twentieth first 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# Today we are going to see using in…

.NET Inside Out Part 20 – Try doing nothing but decreasing performance

This is the twentieth 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# Let’s take this code and see its performance with…

.NET Inside Out Part 19 – Creating structure instance without calling a constructor

This is the nineteenth 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# Today we will see that .NET can create an…

Availability Anywhere Part 8 — Running interactive application on a remote server from shell

This is the eighth part of the Availability Anywhere series. For your convenience you can find other parts in the table of contents in Part 1 – Connecting to SSH tunnel automatically in Windows Imagine that you’d like to run an interactive application…

Availability Anywhere Part 7 — gpedit.msc on Windows Home

This is the seventh part of the Availability Anywhere series. For your convenience you can find other parts in the table of contents in Part 1 – Connecting to SSH tunnel automatically in Windows Multiple configuration tasks require you to open Group Policy…

Availability Anywhere Part 6 — Task scheduler not running on next run date on Windows Home edition

This is the sixth part of the Availability Anywhere series. For your convenience you can find other parts in the table of contents in Part 1 – Connecting to SSH tunnel automatically in Windows There is some bug with Task Scheduler not running…

DotNetBrowser and invalid external method call

Recently I was debugging the issue with DotNetBrowser and external call from JavaScript. I had the following:

So I configure the browser and then set external object to handle callback. The callback is a method accepting two integers. It was called using…

.NET Inside Out Part 18 — Handling StackOverflowException with custom CLR host

This is the eighteenth 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 saw in Part 8 — Handling Stack Overflow…