Microspeak: Ingestion
The term ingestion refers to the process of taking code from one project and incorporating it into another project. This PR ingests the .NET Framework 4.8 reference assemblies and other collateral into...
View ArticleCricket: The rules for the casual viewer
The 2019 Cricket World Cup is under way. I learned cricket by reading the rules, never having seen a match. During the 2015 World Cup, I finally got to watch parts of a match on television with a...
View ArticleWhy does my attempt to index a collection with the x:Bind markup extension...
The documentation for the x:Bind markup extension notes that you can use a binding path to bind to a collection with an indexer. For example, Teams[0].Players and <TextBlock Text="{x:Bind...
View ArticleGenerating good error messages from code analysis tools is harder than it looks
I was writing a tool to analyze Windows Runtime winmd files, and the tool had to generate error messages when it discovered something that violated our team’s internal rules. It turns out that...
View ArticleBaseball: The rules for the casual viewer
Today is Independence Day, the national holiday of the United States, a holiday in which aliens blow up the world’s major cities. Baseball is known as the national pastime of the United States, so I’ll...
View ArticleI set the OFN_NONETWORKBUTTON option in the OPENFILENAME structure, but it...
A customer set the OFN_NONETWORKBUTTON option in the OPENFILENAME structure, but it stil shows the Network item in the navigation pane. There are a number of flags in the OPENFILENAME structure...
View ArticleDetecting in C++ whether a type is defined, part 1: The initial plunge
Warning to those who got here via a search engine: Don’t use this version. Keep reading to the end of the series. Suppose you want to be able to detect in C++ whether a type has been defined. For...
View ArticleA difference between cricket and baseball that most people don’t mention
I noted that I would be taking some friends to their first baseball game. They are from Commonwealth countries, so cricket is the bat-and-ball game of choice there. We had fun comparing the two games....
View ArticleDetecting in C++ whether a type is defined, part 2: Giving it a special name
Warning to those who got here via a search engine: Don’t use this version. Keep reading to the end of the series. Last time, we detected whether a type was defined by setting up the unqualified name...
View ArticleDetecting in C++ whether a type is defined, part 3: SFINAE and incomplete types
Warning to those who got here via a search engine: This is part of a series. Keep reading to the end. For the past few articles, I’ve been playing with the unqualified name lookup search order in order...
View ArticleDetecting in C++ whether a type is defined, part 4: Predeclaring things you...
Note to those who got here via a search engine: This is the last part of the core portion of the series, but there are still parts to come. For the impatient, here’s the stuff to copy-paste:...
View ArticlePesäpallo: The rules for the casual viewer
I round out the bat-and-ball sports in my “minimum you need to know about a sport in order to watch a match and not be completely confused” mini-series by covering pesäpallo, also known as Finnish...
View ArticleDetecting in C++ whether a type is defined, part 5: Augmenting the basic pattern
As I noted at the start of this series, React Native for Windows has to deal with two axes of agility. It needs to compile successfully across different versions of the Windows SDK. It needs to run...
View ArticleMy initial confusion when encountering functions whose names begin with Co
My formal education is in mathematics. In this highly abstract world, you spend a lot of time working with various types of duality and dual spaces. In general terms, a dual of a concept X is a special...
View ArticleCricket: The practical exam for 2019
A few days ago, I summarized the rules of cricket for the casual viewer, and the recently-completed 2019 Cricket World Cup finals were quite a practical exam. The match ended in a tie, which is highly...
View ArticleThat time Dana Carvey went off script at the Microsoft Company Meeting
Throughout the 1990’s, the Microsoft stock price had an overall upward trend. Employees would sell their stock in order to make a major purchase, or to fund a vacation, or simply to cash in on the...
View ArticleWindows NT services are assigned a SID based on an SHA-1 hash, but what about...
Windows NT services are assigned an identity (SID) based on an SHA-1 hash. We also know that SHA-1 is deprecated due to research showing that it is vulnerable to collision attacks from well-funded...
View ArticleApollo 11 in real time: Follow the lunar landing mission as it happened
Apollo 11 in Real Time has already begun. The Web site celebrates the 50th anniversary of the historic lunar landing by reproducing artifacts from the mission in real time (50 years delayed),...
View ArticleAfter I made my DLL delay-load another DLL, my DLL has started crashing in...
A customer had a DLL, let’s call it CONTOSO.DLL, and that DLL linked to another DLL, let’s call it WIDGET.DLL. To improve DLL load time, they made WIDGET.DLL a delay-loaded DLL via the /DELAYLOAD...
View ArticleBrännboll: The rules for the casual viewer
Brännboll is a Swedish bat-and-ball game. The name is pronounced “brennboll” and literally means “burn-ball” because the term for being “out” in Nordic countries literally translates as “burnt”....
View Article