Async Wandering Part 13 — Reentrant recursive async lock

This is the thirteenth 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? Today I’ll discuss some misconception regarding the reentrant recursive async lock described in this article. It shows the … Continue reading Async Wandering Part 13 — Reentrant recursive async lock

Bit Twiddling Part 3 — Enabling call recording in Google Phone dialer

This is the third part of the Bit Twiddling series. For your convenience you can find other parts in the table of contents in Par 1 — Modifying Android application on a binary level Today we’re going to enable calls recording in Google Phone dialer using low level tricks. Let’s see how this can be … Continue reading Bit Twiddling Part 3 — Enabling call recording in Google Phone dialer

Availability Anywhere Part 11 — Keeping a channel fresh

This is the eleventh 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 We already have our Channel Bonder for aggregating links. However, if all of them go down briefly we end up with … Continue reading Availability Anywhere Part 11 — Keeping a channel fresh

Chatterbox Part 13 — Capturing model with Fiddler

This is the thirteenth part of the Chatterbox series. For your convenience you can find other parts in the table of contents in Part 1 – Origins Some networks communicate over websockets which are much harder to scrape with a Chrome extension. I tried some code on the internet (mostly based on replacing the websocket … Continue reading Chatterbox Part 13 — Capturing model with Fiddler