Skip to content

mvaneerde/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Matthew van Eerde's blog

https://matthewvaneerde.wordpress.com/

Project Blog posts
acmenum How to enumerate Audio Compression Manager (ACM) drivers on your system (spot the bug!)
aks Teaching someone to fish and the AKS primality test
apoenum How to enumerate WASAPI Audio Processing Objects (APOs) on your system
audioendpoints How to enumerate audio endpoint (IMMDevice) properties on your system
baby-step-giant-step Calculating discrete logarithms modulo a prime, using Shanks’ baby-step/giant-step algorithm
beep Beep sample
chinese-remainder-theorem Solving x = r₁ mod m₁, x = r₂ mod m₂, … x = rₙ mod mₙ using the Chinese Remainder Theorem
defaultaudiodevice Troubleshooting default audio device heuristics
desktopwallpaper Changing the desktop wallpaper using IDesktopWallpaper, Command-line app to set the desktop wallpaper
devenum How to enumerate DirectShow filters on your system
devicetopology Walking the IDeviceTopology tree to see audio driver settings
dmoenum How to enumerate DirectSound DirectX Media Objects (DMOs) on your system
dow-jones-by-president Some Dow Jones Industrial Average statistics, by United States President
elgamal Implementing ElGamal encrypt, decrypt, sign, and verify signature, ElGamal encryption and decryption but with bigger numbers, ElGamal signing and signature verification but with bigger numbers
fileversioninfo Printing various file version properties with PowerShell
gf-256 Efficient multiplication and division in GF(2⁸)
inactive-volume-sessions Enumerating inactive volume sessions
install -
inplacehostingmanager Pulling ClickOnce applications from the client using a script
listen Using the Speech API to convert speech to text, Implementing a "listen" command using ISpRecoContext from the Microsoft Speech API
loopback-capture Draining the WASAPI capture buffer fully, Sample - WASAPI loopback capture (record what you hear)
meters Getting peak meters and volume settings for all apps and audio devices on the system, 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, Getting audio peak meter values for all active audio sessions
mftenum How to enumerate Media Foundation transforms on your system
midienum Enumerating MIDI devices
miller-rabin Testing primeness of really big numbers with the Miller-Rabin algorithm
minidumpwritedump Grabbing a dump file of another process via MiniDumpWriteDump
mixerenum Enumerating mixer devices, mixer lines, and mixer controls
mute-all-outputs Muting all audio outputs with IAudioEndpointVolume
permutation Iterating over permutations, part 1 – Nariyana Pandita method, Iterating over permutations, part 2 – Heap’s algorithm, Iterating over permutations, part 3 – Steinhaus-Johnson-Trotter algorithm
play-exclusive Sample - WASAPI exclusive-mode event-driven playback app, including the HD Audio alignment dance
pohlig-hellman Hacking private keys from unsafe primes using the Pohlig-Hellman discrete logarithm
primes Generating primes using the Sieve of Eratosthenes plus a few optimizations
random-biginteger Generating random numbers, part 4 – generate a random System.Numerics.BigInteger using System.Random
ReadMe -
Resume -
rijndael Perl scripts to encrypting and decrypt text using Rijndael, Expressing a function f: GF(2⁸) → GF(2⁸) as a polynomial using a Lagrange polynomial, Generating the Rijndael S-box, Sieving irreducible monic polynomials over a finite field
rects Sample app for RECT functions
say Grabbing the output of the Microsoft Speech API text-to-speech engine as audio data, Implementing a "say" command using ISpVoice from the Microsoft Speech API
screengrab Programmatically grabbing a screenshot of the primary display
scripts Programmatically setting a local user account to never expire its password, Generating sample first names, How to create a shortcut from the command line, Perl script to parse ADTS audio header, Perl script to parse MPEG audio header, xargs start, Extracting GUIDs from a bunch of text
shelllibrary Programmatically adding a folder to a shell library (e.g., the Music library)
shellproperty shellproperty.exe v2: read all properties on a file; set properties of certain non-VT_LPWSTR types, shellproperty.exe - set/read string properties on a file from the command line
shellsort Using StrCmpLogicalW to sort strings the way the shell does
silence Sample - playing silence via WASAPI event-driven (pull) mode
smart_pointers Riffing on Raymond - incrementing the reference count on a smart pointer
speech-attributes How to dump Speech API object properties
swapmonitors Programmatically rearranging displays
trustedaudiodrivers2 How to turn on HDCP or SCMS in an audio playback app
tonelli-shanks Calculating square roots modulo a prime, using the Tonelli-Shanks algorithm
twelve-days Good Perl, Bad Perl
usbaudio-log How to gather and read logs for Microsoft's USB Audio 2.0 class driver, How to gather (but not read) logs for Microsoft’s USB Audio 1.0 class driver
volume-linearity Linearity of Windows volume APIs - IAudioMeterInformation and full-scale signals
waveenum Sample: how to enumerate waveIn and waveOut devices on your system
windows7 Collecting audio logs the REALLY old-fashioned way – on Windows 7
x!+y!+z!=xyz Solution: x! + y! + z! = x * y * z