Store different derived classes in collections in C++ and C#: CoVariance, shared_ptr, unique_ptr

I wanted to create a collection container that would hold objects of various types, all derived from a common interface/base class.In C# and VB, this is easy. Just create a new List<MyBase>() and add elements to it, including various MyBase derived typesAdding elements that are more derived is Covariance (not to be confused with covariance…

0

Calculate Pi to measure processor performance

We know that computers can calculate very quickly, but how do we compare performance between code? I know that processors have been improving immensely since my first processor in 1971 (see https://blogs.msdn.microsoft.com/calvin_hsia/2005/10/30/my-toys-over-the-years/ ). As improvements come to processors, not all programs take advantage of them. As processor manufacturers come up with new improvements (such as…

0

Manipulate Visual Studio from Excel or Word

You can use automation to manipulate various applications, like Word, Excel, Visual Studio, Visual FoxProAutomation can make many tasks easier, including testing.You can imagine something like a Word macro that launches Excel to create a concordance of the words in the current Document. https://blogs.msdn.microsoft.com/calvin_hsia/2016/02/26/create-a-concordance-for-a-word-document-from-c-using-automation/ You can explore the Excel “Developer” menu by enabling it:File->Options->Customize Ribbon->Check…

0

The Central Limit theorem, Normal Distribution and Poker hand distributions

In Graph Poker Hand Distributions I showed some code to graph poker hands and the distributions of their values: e.g.  how many times a Pair, Full House, etc. were found in sets of one thousand random hands.It shows that the probability of a Pair is roughly 42% of deals. A royal flush was .000169%, pretty…

0

Create a Visual Studio Extension with minimal impact on VS startup performance

The good news: It’s very easy to create an extension in Visual Studio. The bad news: It’s also easy to make that extension have an adverse effect on the start time of Visual Studio. Let’s examine how we can mitigate the impact on Visual Studio performance. Make sure your VS Installation has installed Extensibility by…

0

Graph Poker Hand Distributions

Last time I showed how to Calculate Poker hand probabilities with code that showed how often a particular hand occurred, such as a Pair or a Full House. Now that we can calculate these probabilities, lets graph them. You’ll need to add references to some assemblies: System.Windows.Forms, System.Windows.Forms.DataVisualization, WindowsFormsIntegration First we’ll accumulate the results of…

0

Calculate Poker hand probabilities

In the last post I showed some code that displays playing cards using WPF. Now we’ll have some fun with the cards. Let’s calculate the probability of getting a particular poker hand. The program below shuffles the deck, then deals 5 cards by taking the first 5 cards into a “hand”. The hand is then…

0

Display Playing cards in WPF

I remember each version of Windows had new games. On Windows 3.1 many people played Solitaire. Windows for Workgroups 3.11 introduced Hearts. Somewhere along the way came FreeCell, MineSweeper and Spider Solitaire. This was years before more modern User interfaces, such as WPF existed. Windows no longer ships Cards.dll which has the images of the…

0

Debugging Monkeys on a Raspberry Pi

The last couple times I wrote about using a RaspBerry Pi and Windows IoT: https://blogs.msdn.microsoft.com/calvin_hsia/2017/03/16/getting-started-with-windows-internet-of-things-windows-iot/ https://blogs.msdn.microsoft.com/calvin_hsia/2017/04/29/create-a-security-system-with-cameras-on-your-windows-iot-raspberry-pi/ I was contemplating getting Monkeys working on an Arduino, but that would have required a lot more effort (I’d have to implement a lot of the base functionality, like collection classes, hash tables, I/O, etc.) and it would not…

0

Create a security system with cameras on your Windows IOT Raspberry Pi

Last time I wrote about getting started using a Raspberry Pi and Windows Internet Of Things. This time I played around with adding USB Web cameras to the Raspberry Pi. The code below will dynamically check for cameras as they get connected and disconnected from the device. It runs on Windows IoT, so works on…

0