Download main.c and empty.vcxproj to your PC. Download Crinkler 2.0 from http://crinkler.net/crinkler20.zip and extract it to tools/ in your project folder and rename it to link.exe.
You should then be able to open the project in MSVC 2015 and compile and run it!
Many small cheats are used here to make the code as small as possible. Straight of the bat we never specify more than dwFlags in PIXELFORMATDESCRIPTOR. This struct actually required us to fill in a size field, but that costs four bytes and doesn't appear to do anything horrendous when left out...
In the Fragment Shader we do nothing in the main function. On my machine this implies that the gl_FragColor is black, but YMMV.
Stripping the entrypoint of it prologue and epilogue means that we save on bytes, but we must put some sort of prologue in. The asm on line seven is just the magic we need.
CreateWindow is another inspired cheat from . "edit" is a special type of Window Class and the parameter 0x91000000 is simply the result of OR'ing flags like maximize, popup, and visible.
The last byte saving cheat in empty.c is the call to glCreateShaderProgramv which creates a standalone shader for us (0x8B30 is GL_FRAGMENT_SHADER) saving us from loading all the symbols for creating a shader program manually.
Crinkler is used to get the exe down to size, which currently is 483 for me