Changing Windows password complexity requirements

I recently encountered a problem creating new logins with SQL Server. Something that has worked for years suddenly stopped with the following error: Password validation failed. The password does not meet Windows policy requirements because it is too short. Since SQL Server was using Windows local security policy I went and checked that at Security…

New standard library features in Visual C++ 2017 RC

The new Visual C++ 2017, currently in release candidate phase, provides a series of updates and fixes to both the C++ compiler and the standard library. A comprehensive list of these improvements is available at What’s New for Visual C++ in Visual Studio 2017 RC. In this article, I want to shortly look at the…

Impressions from the ISO C++ committee meetings in Issaquah

Last week I was in Redmond for the Microsoft MVP 2016 Summit. At the same time, the ISO C++ committee was having its fall meeting in Issaquah, which is very close to Redmond. Therefore, after the summit ended, a group of VC++ MVPs, including myself, decided to make the short trip to Issaquah and attend…

Top 10 features that I miss from C++

DISCLAIMER: the following is a pure hypothetical list of wishes I had about C++. You should treat it as it is. This is not supposed to be a collection of community agreed list of wishes, nor it is intended to make complete sense, as some of these features are available through the standard library. Please…

My book on modern C++ programming

I am happy to announce that my book on modern C++ programming called Modern C++ Programming Cookbook, published by Packtpub, can now to pre-ordered. The book will be published around mid 2017, but pre-ordering gives you early access to the content as it is written. As the title shows, the book is a cookbook with…

A better date and time C++ library

C++11 added a date and time utility library called chrono, available in namespace std::chrono and header <chrono>. The problem with it is that the library is a general purpose one and therefore lacks many useful features, such as working with dates, weeks, calendars, timezones and other related features. Fortunately, a rich date and time library…

A comparison of two std::transform alternatives revisited

In the previous post I have compared two alternative ways of transforming a string to upper case, both using std::transform: one that modifies an existing string and one that generates a new one by inserting at the end using std::back_inserter. For the second alternative I have presented two implementations, one that does an initial reservation…

A comparison of two std::transform alternatives

UPDATE: For an update on the implementation and the conclusions see A comparison of two std::transform alternatives revisited. I was writing a small utility function to transform a string to uppercase. The obvious solution for that is std::transform, but as I was writing it I realized there are several alternatives: transform an existing string, by…

Field trip report from ITCamp 2016

Last week I have attended ITCamp in Cluj-Napoca, Romania. The conference has already established itself as the most important community-driven technology conference in Romania and lately, as the organizers put it, its focus has shifted from being a Microsoft-centric conference to a technology-centric conference. And this year it has been larger than ever before: 600…

Building the 64-bit version of Chromium Embedded Framework on Windows

The Chromium Embedded Framework (CEF for short) is an open source framework for embedding Chromium-based browsers in other applications. The base implementation is targeting C/C++ applications but ports for other languages exist (these include Java, C#, Delphi, Python). The nightly builds (for various systems and platforms) of CEF are available for download at https://cefbuilds.com/. These…