Tracking down calls to AvSetMmThreadCharacteristics

Boring introductory stuff first: Windows Vista introduced a feature called the “Multimedia Class Scheduler Service” (MMCSS). This is designed to give audio and video threads regular, short, bursts of very high priority, so that audio and video can stream without glitching. The bursts are regular so that audio and video packets don’t get delayed, and…


Helping Nancy and Esther with a math problem

The Nancy comic strip for June 12 2018 has a math problem which Nancy and Esther seemed to be intimidated by; I figured I would try to help out a little.


Some Dow Jones Industrial Average statistics, by United States President

The current President of the United States, Donald Trump, has tweeted several times about the stock market. February 16th, 2017 Stock market hits new high with longest winning streak in decades. Great level of confidence and optimism – even before tax plan rollout! July 3rd, 2017 Dow hit a new intraday all-time high! I wonder…


How to gather and read logs for Microsoft’s USB Audio 2.0 class driver

I have blogged before about the Microsoft class driver for USB Audio 2.0 hardware. If you are a hardware vendor, and you make USB Audio 2.0 hardware, you should expect your hardware to work with this driver. If it doesn’t, you may be interested in understanding why – maybe it’s a bug on our end,…


How to negotiate an audio format for a Windows Audio Session API (WASAPI) client

The Windows Audio Session API (WASAPI) provides a family of interfaces for playing or recording audio. Chief among these are the IAudioClient, IAudioClient2, and IAudioClient3 interfaces. There is a Windows audio session (WASAPI) sample on GitHub, but in this blog post I want to dive into the nitty-gritty of one particular question: How do I…


In defense of Lulu

I came across this five-year old Reddit post on /r/finalfantasy titled “Scumbag Lulu” The problem is even a little broader than this. Lulu is not the only experienced guardian – Auron served as Braska’s guardian and got even farther, reaching Yunalesca. Auron’s starting HP is 1030, which is definitely more, but he is a fighter…


How far apart can squares be?

Consider the squares: 0, 1, 4, 9, 16, 25, 36… “No two squares are 6 apart,” I say. After some subtractions you believe me. Exercise: prove no two squares are 6 apart. “Nor are any two squares 134 apart,” I say. You look at me in surprise. After some puzzlement, inspiration strikes. Exercise: prove that any two…


Collecting audio logs the old-fashioned way

In previous blog posts I have showed how to use the Feedback Hub to file a new problem report with logs, and to add logs to an existing problem report. It can also be useful to gather the logs outside of the Feedback Hub environment. For example, there is a current issue in the Feedback Hub which affects…


Getting larger bluescreen memory dumps on your PC

If your PC hits a blue screen of death (or if you’re an Insider, a green screen of death) then Windows will (usually) create a C:\Windows\memory.dmp file that captures the state of the machine at the time of the crash. Sometimes this file has enough in it to determine what the cause of the crash was; sometimes…


Adding logs to a reported problem in Feedback Hub

Last time I talked about how to report problems (with logs) and make suggestions in the Feedback Hub. I mentioned how to add logs when reporting a problem for the first time. You can also add logs to problems that have already been reported. Start > Feedback Hub > Feedback | Find the problem report you want…