MSTest V2 (the Microsoft Test Framework) is now open source!

March 29th, 2017 No comments

Microsoft Test Framework “MSTest V2”

Welcome to the “MSTest V2” repository, the evolution of the Microsoft Test Framework and Adapter. “MSTest V2” is currently in use in a variety of scenarios including:

  • in the relevant in-box unit test project templates (Visual Studio 2017 Preview 4 onwards)
  • in the Create Unit Tests wizard (Visual Studio 2017 Preview 4 onwards)
  • in the Create IntelliTest wizard (Visual Studio 2017 Preview 4 onwards)

This is a fully supported, open source and cross-platform implementation of the MSTest test framework with which to write tests targeting .NET Framework, .NET Core and ASP.NET Core on Windows, Linux, and Mac. You can read more about MSTest V2 here.


Tags: ,

Illustrating C++17 though code examples

March 29th, 2017 Comments off

Descriptions of C++17 features, presented mostly in “Tony Tables”.

There are actually over 100 changes in C++17, only some of them are listed here.

Caveat1: C++17 is completed, but not signed off yet. There may still be changes, although highly unlikely (modulo defects).

Caveat2: I make mistakes. This is more likely.


Top monospaced fonts for coding

November 27th, 2016 Comments off

A good choice of font for your coding can make a huge difference and improve your productivity, so take a look at the fonts in this post that can make your text editor or terminal emulator look little bit nicer.

Top monospaced fonts for coding


How to remove automatically added keyboard layouts?

February 9th, 2016 No comments

To remove the unwanted layouts by creating an IgnoreRemoteKeyboardLayout DWORD in

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

and setting it to 1


Code Analysis for C++

January 8th, 2016 No comments

Gazebo – robot simulation made easy

November 4th, 2015 No comments

Robot simulation is an essential tool in every roboticist’s toolbox. A well-designed simulator makes it possible to rapidly test algorithms, design robots, and perform regression testing using realistic scenarios. Gazebo offers the ability to accurately and efficiently simulate populations of robots in complex indoor and outdoor environments. At your fingertips is a robust physics engine, high-quality graphics, and convenient programmatic and graphical interfaces. Best of all, Gazebo is free with a vibrant community.

Gazebo home page

CppCon 2015: Jackie Kay & Louise Poubel “C++ in Open Source Robotics”

November 4th, 2015 No comments

Windows: “God Mode”

August 10th, 2015 No comments

GodMode is a folder that brings together a long list of customization settings allowing you to change all your settings from one place.

To turn on God Mode, create a new folder on your desktop (or anywhere you’d like) and name it:


Additional hidden control options:

  • Action Center.{BB64F8A7-BEE7-4E1A-AB8D-7D8273F7FDB6}
  • Backup and Restore.{B98A2BEA-7D42-4558-8BD1-832F41BAC6FD}
  • Biometric Devices.{0142e4d0-fb7a-11dc-ba4a-000ffe7ab428}
  • Credential Manager.{1206F5F1-0569-412C-8FEC-3204630DFB70}
  • Default Location.{00C6D95F-329C-409a-81D7-C46C66EA7F33}
  • Devices and Printers.{A8A91A66-3A7D-4424-8D24-04E180695C7A}
  • Display.{C555438B-3C23-4769-A71F-B6D3D9B6053A}
  • HomeGroup.{67CA7650-96E6-4FDD-BB43-A8E774F73A57}
  • Location and Other Sensors.{E9950154-C418-419e-A90A-20C5287AE24B}
  • Notification Area Icons.{05d7b0f4-2121-4eff-bf6b-ed3f69b894d9}
  • Recovery.{9FE63AFD-59CF-4419-9775-ABCC3849F861}
  • RemoteApp and Desktop Connections.{241D7C96-F8BF-4F85-B01F-E2B043341A4B}
  • Speech Recognition.{58E3C745-D971-4081-9034-86E34B30836A}
  • Troubleshooting.{C58C4893-3BE0-4B45-ABB5-A63E4B8C8651}
  • Administrative Tools.{D20EA4E1-3957-11d2-A40B-0C5020524153}
  • All .NET Frameworks and COM Libraries.{1D2680C9-0E2A-469d-B787-065558BC7D43}
  • All Tasks (Control Panel).{ED7BA470-8E54-465E-825C-99712043E01C}
  • AutoPlay.{9C60DE1E-E5FC-40f4-A487-460851A8D915}
  • BitLocker Drive Encryption.{D9EF8727-CAC2-4e60-809E-86F80A666C91}
  • Computer Folder.{20D04FE0-3AEA-1069-A2D8-08002B30309D}
  • Default Programs.{17cd9488-1228-4b2f-88ce-4298e93e0966}
  • Ease of Access Center.{D555645E-D4F8-4c29-A827-D93C859C4F2A}
  • Font Settings.{93412589-74D4-4E4E-AD0E-E0CB621440FD}
  • Get Programs.{15eae92e-f17a-4431-9f28-805e482dafd4}
  • Manage Wireless Networks.{1FA9085F-25A2-489B-85D4-86326EEDCD87}
  • Network and Sharing Center.{8E908FC9-BECC-40f6-915B-F4CA0E70D03D}
  • Network Connections.{7007ACC7-3202-11D1-AAD2-00805FC1270E}
  • Network Folder.{208D2C60-3AEA-1069-A2D7-08002B30309D}
  • Parental Controls.{96AE8D84-A250-4520-95A5-A47A7E3C548B}
  • Performance Information and Tools.{78F3955E-3B90-4184-BD14-5397C15F1EFC}
  • Personalization.{ED834ED6-4B5A-4bfe-8F11-A626DCB6A921}
  • Power Options.{025A5937-A6BE-4686-A844-36FE4BEC8B6D}
  • Programs and Features.{7b81be6a-ce2b-4676-a29e-eb907a5126c5}
  • Sync Center.{9C73F5E5-7AE7-4E32-A8E8-8D23B85255BF}
  • System.{BB06C0E4-D293-4f75-8A90-CB05B6477EEE}
  • User Accounts.{60632754-c523-4b62-b45c-4172da012619}
  • Windows Firewall.{4026492F-2F69-46B8-B9BF-5654FC07E423}
  • Windows SideShow.{E95A4861-D57A-4be1-AD0F-35267E261739}
  • Windows Update.{36eef7db-88ad-4e81-ad49-0e313f0c35f8}


Python links

June 20th, 2015 No comments
  • PyInstaller is a program that converts (packages) Python programs into stand-alone executables, under Windows, Linux, Mac OS X, Solaris and AIX. (wiki)
  • py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.


April 15th, 2015 No comments
struct S { A a; B b; C c; };

auto const S_fields = [](S const& obj) -> auto { return std::tie(obj.a, obj.b, obj.c); };

bool operator == (S const& lhs, S const& rhs) { return S_fields(lhs) == S_fields(rhs); }

bool operator < (S const& lhs, S const& rhs) { return S_fields(lhs) < S_fields(rhs); }