Powershell - Export Logs from SVN
· ☕ 1 min read
You will need a command line SVN tool for this to work. Install it on your machine and configure environment:path to point to its binaries. Then use below Powershell script. It needs to be executed under a versioned folder, and it will output a log for that folder.

VB.NET - Getting Started with Custom Drawing
· ☕ 2 min read
Here I am going to show some basics of custom drawing in VB.NET. This is not production-class code, but rather a head start for those assessing whether or not it's feasible to custom draw anything (result vs effort). In this sample project, I will highlight all even items of a ListBox with LightGray color.

VB.NET - When not to use Relaxed Delegate Conversion
· ☕ 2 min read
Relaxed delegate conversion enables you to assign subs and functions to delegates or handlers even when their signatures are not identical. In practice, it means that the following code [...] Can be written like this ... If you don't need to use event arguments, such as in the above scenario, your code becomes much more readable by omitting argument clause. For developers coming from C# background - yes, everything will work here, even with `Option Strict On`. Everything, but one thing...

VB.NET - The right way to read command line args
· ☕ 4 min read
While it may appear to be a simple question, there is really more to it. Please read this article carefully, especially if you have been writing command line utilities for 10+ years and never encountered any issues using standard .NET functionality.

VB.NET - Zip and Unzip String using GZipStream
· ☕ 2 min read
I tested this on HTML pages and it appears to be not the most efficient. In one of the examples, ~140K down to 44K. In comparison, Total Commander can zip down to 27K at the average compression level. But even with minimal compression the file remains at 32K.

Dual HexaCore Xeon E5649 performance in HP DL380 G7
· ☕ 1 min read
First benchmarked using latest Passmark. Then did some tests with latest Aida64. What's interesting here is that both processor and memory speed keeps fluctuating. I have not found a good explanation for this behavior.

Edit XML using Powershell
· ☕ 1 min read
Because there is no easy/built-in way to edit XML using Powershell, I wrote a script that can change parts of XML documents. I used it for bulk edit of connections in Remote Desktop Manager, to change some values in RDP session over dozens of servers. You can modify it for your needs - in simple cases you would only need to change `ArrayOfConnection` to your document's root.

.NET Winforms - App loses focus when a window is closed
· ☕ 1 min read
I have a main form which is an MDI parent and a modal form, which is a progress dialog. When loading is completed, an MDI child is opened. If it cannot be completed, an error message shows up with user prompt. Problem is if user takes action, and the modal form is closed, the focus is switched to the application, which was active before my application was started.