Aborted transactions in Redshift due to Serializable isolation level

I was working with seemingly simple load job in Redshift. I was generating some data and wanted to store the output in separate table, just to persist it for debugging purposes. However, since the job could be reran if needed, I wanted to…

Erasure type inference issue in Java

Recently I was working with the following code:

I was compiling it with

on Windows 10 x64. It wasn’t working because of the following:

You can try reproducing the issue at compilejava.net, it throws the error at the moment. I…

Updating Tomcat in an EMR cluster

This is a short story of fixing Tomcat in an EMR cluster. There is a CVE about Tomcat 8 hole. I’m using EMR 5.12.2. Let’s try installing CVE patch as a bootstrap action with

It should fix the mentioned hole but after…

JVM Inside Out Part 4 — Locks and out of band exceptions

This is the fourth part of the JVM Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 — Getting object address Typical locking pattern in Java (and other languages, even outside them JVM…

JVM Inside Out Part 3 — Java raw type trickery

This is the third part of the JVM Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 — Getting object address Erasure in Java seems pretty easy but sometimes it has unexpected consequences.…

Removing Content Security Policy header from pages hosted in web view

Today we will remove Content Security Policy (CSP) header from pages hosted in web view. Technically it doesn’t matter which web view you use (whether it is IE, dotnetbrowser, CEF or whatever else). It all goes down to the same: we need to…

.NET Inside Out Part 14 — Calling virtual method without dynamic dispatch

This is the fourteenth 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 when we call virtual method we…

JVM Inside Out Part 2 — Reading object content

This is the second part of the JVM Inside Out series. For your convenience you can find other parts in the table of contents in Part 1 — Getting object address Last time we saw how to read object address. We can use…

JVM Inside Out Part 1 — Getting object address

This is the first part of the JVM Inside Out series. For your convenience you can find other parts using the links below: Part 1 — Getting object address Part 2 — Reading object content Part 3 — Java raw type trickery Part…

Availability Anywhere Part 5 — Various remote connection things

This is the fifth 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 Today I include some various notes around remote connectivity…

Availability Anywhere Part 4 — Fixing LogonUi hang

This is the fourth 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 Sometimes when I RDP into other machine and forget…

Availability Anywhere Part 3 — How to enable PowerShell remoting in Windows

This is the third 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 Today we will enable PowerShell Remoting in Windows. This…

Availability Anywhere Part 2 — Connecting to VPN automatically in Windows

This is the second 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 Last week we saw how to configure automatic SSH…

Availability Anywhere Part 1 — Connecting to SSH tunnel automatically in Windows

This is the first part of the Availability Anywhere series. For your convenience you can find other parts using the links below: Part 1 — Connecting to SSH tunnel automatically in Windows Part 2 — Connecting to VPN automatically in Windows Part 3…

.NET Inside Out Part 13 — Bypassing license checks

This is the thirteenth 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# Last time we saw how to modify library on…

.NET Inside Out Part 12 — Modifying managed library on an IL level

This is the twelfth 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# Imagine that you have a managed library which doesn’t…

Concurrency Part 10 — Reentrant mutex

This is the tenth part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET We have already seen how to implement custom mutex using memory mapped files…

Concurrency Part 9 — Semaphores with custom locks

This is the ninth part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET Last time we implemented custom mutex based on memory mapped files. We can…

Concurrency Part 8 — Tracking mutex owner

This is the eighth part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET We know how to use global mutexes to synchronize processes. However, there is…

Concurrency Part 7 — Semaphores trickery

This is the seventh part of the Concurrency series. For your convenience you can find other parts in the table of contents in Part 1 – Mutex performance in .NET Last time we examined an interesting behavior of Mutex when it is abandoned.…