Definition of Maintainable Code
· ☕ 5 min read
There are several stages of maintainable code, each suitable for a particular situation. Let us call each stage a maintainability level. The higher the level, the more maintainable code is, and the more time it takes to write in this way. Do you always need the best possible maintainability?

Modern techniques for modern C# - Bill Wagner
· ☕ 1 min read
An interesting video from a recent NDC conference (Jan 27-31, 2020), comparing old coding style in C# with new options available to you as a developer.

Enterprise Software Development Priorities
· ☕ 4 min read
I have 11 years of software development experience, and last 4 years working for enterprise clients. My largest project was more than 1 million lines of code, actively worked on by a team of 15 developers (close to 200 projects in a solution). It was a mix of web and windows (.NET, C++) and a database (MS SQL). Needless to say, at that time I was working on a high quality codebase in a very efficient team.

.NET Core 2.0 Worth Using?
· ☕ 2 min read
September of 2017 is almost gone, and only now I had a chance to look at the most recent issue of the monthly MSDN magazine. What’s the hot topic in September? .NET Core 2.0 / Standard 2.0 is highly praised by most MSDN authors. One of the articles mentions a feature I did not know existed. It’s called Razor pages. In short, it’s the new Web Forms. It allows you to finally transition to Razor even for small websites, which do not require a full blown MVC structure (where files live in 3 different folders, and you are constantly switching between them).

TSQL - Get Index By Table Name + Column Name
· ☕ 1 min read
Below SQL code will find an index name that corresponds to the given table name and column name pair, and only include those indices with one column (exclude composite indices). Indices can be changed / added / removed by a DBA without impact to the application (part of DB tuning), so it’s best not to assume their naming in an application deployment script. This can be useful to remove / replace certain indices without relying on index name.

Powershell - Get CPU Usage by Process (remote)
· ☕ 1 min read
You would expect `Get-Process` to do the job, but it turns out that its CPU metric is not on a 0..100% scale. Here is a one-liner (find who's eating into your CPU - or that of a remote server).

Extend Clickable Area For jQueryUI Slider
· ☕ 1 min read
Even using the default jQueryUI’s slider style, the handle is larger than its container. Now suppose your container is 3x smaller than the handle (specific design requirement). There is a problem - you have to hit the container precisely to be able to change the slider’s value. Otherwise nothing happens. Here is what I mean: It would be nice to extend the slider clickable area to pretend it’s actual height matches slider or its handle, if handle is taller.

TypeScript - Getting started in Visual Studio 2015
· ☕ 4 min read
I decided to write this article simply because there are so many outdated answers to this question linked from Google. Here are some of the things you should NOT do: Install Web Essentials Install Node Package Manager Manually adjust project files to enable Typescript transpiler Automatically adjust project files by installing a nuget package Install something that downloads 1000s of files into a folder inside your project and works with fingers crossed.

Atom Editor by GitHub - Worth It?
· ☕ 5 min read
In short, Atom editor by GitHub is well-built, focused on code (there isn’t really anything getting in your way), similar to Sublime. Now I haven’t used Sublime beyond basics and generally favour GUI, rather than command line. Everything can be found via CTRL+SHIFT+P. However, if something can be typed with 5 characters, and it could have also been called with 2 keystrokes, I’d choose the keystrokes approach. I’m not a Sublime user, you guessed it right, won’t be paying 70$ for a fancy text editor, if WebStorm is worth 59$.

Lock File Tool - Test Exception Handling
· ☕ 1 min read
File Locker did not work for me (access denied), but Windows UI tool worked perfectly. It has less options, but it does a read lock, which is what I was looking for.