Chatterbox Part 6 — Protocols

This is the sixth part of the Chatterbox series. For your convenience you can find other parts in the table of contents in Part 1 – Origins We covered a lot about general system design and features. Now it’s time to talk about…

Chatterbox Part 5 — Self healing

This is the fifth part of the Chatterbox series. For your convenience you can find other parts in the table of contents in Part 1 – Origins One of the most important parts for reliable systems is their ability to heal themselves. While…

Chatterbox Part 4 — Other channels

This is the fourth part of the Chatterbox series. For your convenience you can find other parts in the table of contents in Part 1 – Origins Apart from web, desktop, and mobile you may want to have other channels. Texts Why Why…

Chatterbox Part 3 — Security and mobile devices

This is the third part of the Chatterbox series. For your convenience you can find other parts in the table of contents in Part 1 – Origins What do we do about mobile devices? Depending on which platform we chose in previous part,…

Chatterbox Part 2 — Desktop interfaces

This is the second part of the Chatterbox series. For your convenience you can find other parts in the table of contents in Part 1 – Origins So we have our system for IM and we’d like to have a nice UI for…

Chatterbox Part 1 — Origins

This is the first part of the Chatterbox series. For your convenience you can find other parts using the links below (or by guessing the address): Part 1 — Origins Part 2 — Desktop interfaces Part 3 — Security and mobile devices Part…

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…