Matthew van Eerde's web log
learn.microsoft.com/en-us/archive/blogs/matthew_van_eerde
Audio / hi-fiWindows internalsMathMicrosoft blogsMSDN archive
- Posts
- 170 from 14 Dec 2007 to 26 Mar 2019
- Posting
- archived, read-only
- Kind
- personal blog
- Feed
- https://learn.microsoft.com/en-us/archive/blogs/matthew_van_eerde/feed.xml
2019 1
2018 6
- How to grab a kernel memory dump during upgrade
- What API is being used to play or record audio?
- If Windows Update sent you Intel Audio Controller version 9.21.0.3755 by mistake, uninstall it
- So I have this audio problem on Windows 7...
- Tracking down calls to AvSetMmThreadCharacteristics
- Helping Nancy and Esther with a math problem
2017 7
- Some Dow Jones Industrial Average statistics, by United States President
- How to gather and read logs for Microsoft's USB Audio 2.0 class driver
- How to negotiate an audio format for a Windows Audio Session API (WASAPI) client
- In defense of Lulu
- How far apart can squares be?
- Collecting audio logs the old-fashioned way
- Getting larger bluescreen memory dumps on your PC
2016 8
- Adding logs to a reported problem in Feedback Hub
- Report problems, with logs, and suggest features, with the Feedback Hub
- Media eXperience Analyzer now available in the Assessment and Deployment Kit (ADK)
- Installing the Microsoft class driver(s) for USB Audio devices
- Cyrus Smith lays a sick burn on Captain Nemo in Jules Verne's "The Mysterious Island"
- How to record a phone call on a Windows 10 phone
- Extracting GUIDs from a bunch of text
- Getting the schema for Windows Performance Recorder profiles
2015 10
- Perl scripts to encrypting and decrypt text using Rijndael
- Pulling ClickOnce applications from the client using a script
- Riffing on Raymond - incrementing the reference count on a smart pointer
- All the code on this blog has been moved into Git
- Poking into the "trusted root certification authorities" certificate stores for the current user and the local machine
- Taking audio glitch traces on Windows 10: phone edition
- Taking audio glitch traces on Windows 10: desktop edition
- Playing audio to the earpiece from a Windows Phone 8.1 universal app
- Enumerating inactive volume sessions
- Using StrCmpLogicalW to sort strings the way the shell does
2014 13
- Walking the IDeviceTopology tree to see audio driver settings
- Draining the WASAPI capture buffer fully
- More on audio buffer alignment requirements
- Using the Speech API to convert speech to text
- Expressing a function f: GF(2⁸) → GF(2⁸) as a polynomial using a Lagrange polynomial
- Generating the Rijndael S-box
- Troubleshooting default audio device heuristics
- Efficient multiplication and division in GF(2⁸)
- A mental model for the Windows Phone AudioRoutingManager API
- Sieving irreducible monic polynomials over a finite field
- Addition and multiplication table for GF(2²)
- Microsoft etiquette: calendar appointments when going out of office
- Why is 1 Pascal equal to 94 dB Sound Pressure Level? (1 Pa = 94 dB SPL)
2013 10
- Getting peak meters and volume settings for all apps and audio devices on the system
- shellproperty.exe v2: read all properties on a file; set properties of certain non-VT_LPWSTR types
- Sample app for RECT functions
- shellproperty.exe - set/read string properties on a file from the command line
- Even if someone's signaling right, they still have the right of way
- Getting the package full name of a Windows Store app, given the process ID
- More on IAudioSessionControl and IAudioSessionControl2, plus: how to log a GUID
- Buffer size alignment and the audio period
- An attempt to explain the twin prime conjecture to a five-year-old
- Grabbing the output of the Microsoft Speech API text-to-speech engine as audio data
2012 21
- How to dump Speech API object properties
- Generating sample first names
- Programmatically adding a folder to a shell library (e.g., the Music library)
- Changing the desktop wallpaper using IDesktopWallpaper
- Grabbing large amounts of text from STDIN in O(n) time
- Finding the longest substring which occurs twice in a given string
- Enumerating mixer devices, mixer lines, and mixer controls
- Enumerating MIDI devices
- Implementing a "listen" command using ISpRecoContext from the Microsoft Speech API
- Implementing a "say" command using ISpVoice from the Microsoft Speech API
- Muting all audio outputs with IAudioEndpointVolume
- Getting audio peak meter values for all active audio sessions
- Windows Sound test team rowing morale event
- Programmatically rearranging displays
- Weighing the Sun and the Moon
- unattend.xml: turning on Remote Desktop automatically
- Sample: how to enumerate waveIn and waveOut devices on your system
- How many numbers are straights?
- My unattend.xml file
- Programmatically setting a local user account to never expire its password
- Teaching someone to fish and the AKS primality test
2011 27
- Excruciating rhymes
- What is a perfect score in Yahtzee?
- Programmatically grabbing a screenshot of the primary display
- Generating primes using the Sieve of Eratosthenes plus a few optimizations
- How to create a shortcut from the command line
- Command-line app to set the desktop wallpaper
- Welcome Yuk Lai Suen to the blogosphere!
- Beep sample
- Mark your variadic logging function with __format_string to have PREfast catch format specifier errors
- How to install unsigned drivers
- How to validate and log a WAVEFORMATEX
- Anand vs. Gelfand world chess championship 2012 oldest pair of contenders since 1886
- Disney princesses: an attempt at a complete list
- Disney princess pedigree: Belle
- Nitpicking Sam Loyd - a wheel within a wheel
- How to enumerate audio endpoint (IMMDevice) properties on your system
- Linearity of Windows volume APIs - render session and stream volumes
- Car Talk puzzler analysis - palindromic odometers
- Translating Ada Lovelace - mathematical science is an instrument
- Car Talk puzzler analysis - Limerick equation
- Linearity of Windows volume APIs - IAudioMeterInformation and full-scale signals
- Basic audio volume theory
- Generating formulae for polygonal numbers (triangular, square, pentagonal...)
- Windows audio render volume settings, from local to global
- Spot the bug - control flow macro
- How much is a perfect Jeopardy! score?
- Perl script to parse ADTS audio header
2010 23
- How to write a leading apostrophe in Word
- Phase and stereo-to-mono downmix
- Perl script to parse MPEG audio header
- optimal tic-tac-toe (XKCD)
- Downmixing stereo to mono
- UI text flow of various languages
- Troubleshooting: how to install the Microsoft HD Audio class driver
- How to enumerate WASAPI Audio Processing Objects (APOs) on your system
- How to enumerate Audio Compression Manager (ACM) drivers on your system (spot the bug!)
- How to enumerate DirectSound DirectX Media Objects (DMOs) on your system
- How to enumerate DirectShow filters on your system
- Wheel of Fortune conundrum
- How to enumerate Media Foundation transforms on your system
- Jeopardy conundrum
- Pirates of Penzance puzzle - what year is it?
- Solution: baby boys and baby girls
- Interview question: baby boys and baby girls
- Spot the bug - Outlook "block sender" icon, solution
- Spot the bug - Outlook "block sender" icon
- Blown movie lines - Torn Curtain
- Famous Watch Story
- Newton: combining celestial and terrestrial mechanics
- Deriving the centripetal acceleration formula
2009 20
- Rules for making change
- How to turn on HDCP or SCMS in an audio playback app
- Perl one-liner: approximate pi via Monte Carlo method
- Nitpicking László Polgár's Chess: ... #1071
- Forcing Windows to install on a single partition
- Tweaks I make every time I install Windows
- How to calculate a sine sweep - the right way
- Bad Perl: locker problem
- How to calculate a sine sweep - the wrong way
- Bad Perl: Josephus problem
- Bad Perl: Russian Peasant multiplication algorithm
- Bug - jack detection on Windows 7 hdaudio.sys mixed capture
- Minimal unsatisfiable regular expression, XPath query
- Why square waves have ears: Gibbs' phenomenon (Wilbraham's phenomenon)
- Daylight Saving Time and Benjamin Franklin
- Second cousins, cousins once removed; relationships by generations to common ancestor
- Spock's chess games from Star Trek Ishmael
- The more experience I get the more I like to try new things
- Why a full-scale sine wave has an intensity of -3 dB FS
- Sample - WASAPI exclusive-mode event-driven playback app, including the HD Audio alignment dance
2008 21
- Sample - WASAPI loopback capture (record what you hear)
- Sample - playing silence via WASAPI event-driven (pull) mode
- Good Perl, Bad Perl
- xargs start
- xkcd finds East and West confusing - what about North and South?
- The case of the default audio device from the future
- How long can the logoff sound be?
- Rotating a matrix redux
- The largest prime ever - you saw it here first
- Solution: x! + y! + z! = x * y * z
- Interview question: find solution to x! + y! + z! = x * y * z
- Nitpicking Sam Loyd's "Organ Pipes" mate in two
- Triangular primes: or, the dangers of non-rigorous proofs
- Sample: find out if your default audio playback and audio capture devices are on the same hardware
- Blown movie lines - Casablanca
- Spot the Bug - IMFOutputSchema
- Unsolving the Rubik's Cube
- Generating a sine wave with phase - answers
- Blown movie lines - The Matrix
- Generating a sine wave with phase
- Generating a sine wave