TL;DR: Diagnosing programs causing insomnia is quite straightforward on Windows. My employer has a policy set for Windows machines which locks each computer automatically after some inactivity. One of my colleagues noticed that if they have recent builds of our product running in the background, this auto-locking does not take effect. I was asked to Continue reading "Diagnosing bugs preventing…
TL;DR: It s possible to extract end-of-level photos from the video game Sackboy: A Big Adventure. If you are interested in the details, keep reading. Or if you just want to get your photos extracted, you can find the appropriate Python script here. My wife and I have been playing couch co-op video games for some Continue reading "Reverse engineering the end-of-level photos in Sackboy: A Big…
TL;DR: In exotic environments, WMI queries might take longer than you think. Recently, we ve received a report from a user claiming that our product was taking ages to launch. According to the report the program started eventually, but a few minutes of delay was inconvenient enough for the client to file a support case (unsurprisingly). Continue reading "Be careful what you ask for (especially in…
Process exit codes are fairly straightforward on Windows. They are essentially the return value of a process: a plain, 32-bit unsigned integer code. There are no strict rules governing this value, just convention: 0 means success Anything else means failure If the system is involved in the termination of a program, the returned value might Continue reading "List of peculiar exit codes on Windows"
TL;DR: If you have WoT (1.0) installed on an HDD, you may experience loading times so long that you might even miss the start of your battles. Fortunately, we can mitigate this. World of Tanks update 1.0 was released recently, introducing a new game engine with lots of eye candy and better physics (amongst other Continue reading "Interleaving small reads of multiple files why World of Tanks 1.0…
TL;DR: Do as the title says, or your library/application won t function properly in certain situations. Here s a small program that takes a file path as a parameter, and queries its size: Even though stat is a POSIX function, it happens to be available on Windows as well, so this nice program works on both POSIX Continue reading "If you ship your library/application to Windows, please use UTF-16…
TL;DR: It s worth not just detecting, but also trying out whether it actually works. If you ship software on Windows written in C++ and compiled with the MSVC toolchain, then you probably heard about the so-called Visual Studio C++ Redistributable . Chances are that you link your binaries against the dynamic runtime DLLs, which means that Continue reading "Detecting if the Visual Studio C++…
TL;DR: You can isolate printer drivers from your applications with a small change to your application manifests, resulting in increased stability. No one likes uninvited guests, especially if they are rude, or don t play by the rules. They come over, tamper with things that shouldn t be tampered with, they sometimes burn down your house, or Continue reading "Application-level Printer Driver…
TL;DR: There is a bug in Microsoft OneDrive s shell extension (which gets installed automatically with Office, by the way) that makes programs skip global variable destructors in DLLs if they ever open a file dialog. The company I work for has a really decent custom crash detection system. It s multiplatform, it has features like out-of-process Continue reading "I hope you don t mind if some of…
TL;DR: General purpose compression algorithms are pretty good. Can we beat them with a low effort optimization in compressing ETL files? Even if we could, it doesn t mean we should. Event Tracing for Windows is outright amazing. If you are a developer on Windows (native, managed, or even web) and have never used or (God Continue reading "Compressing ETL (ETW output) files"