Showing posts from July, 2016

Fear: An account of terror on top of a coal stack; by Franc Bider

[This story is by my dad, about his experience in the 1970s as a student in Kranj, Slovenia. What follows is my translation of the original Slovenian, performed July 29-30, 2016, blatantly without permission. The original must have been written, in its current telling, in the weeks before this. I added footnotes and the subtitle.]

If I try to describe it very precisely: I was squatting up there, all the way up there, on a pile of coal. With my head wrapped in spiderwebs that dangled from the sooty ceiling. In agony, I huddled into the dark corner, away, away from the meshed narrow window that shone its betraying light. My heart was pounding so hard I could hear it. It made an echo. And slowly sliding down the stairs to the cellar was Mrs. Fani...

I had never been so afraid in my life. Not before, nor after.

Oto proclaimed he would never live in that death chamber. By this, he meant the seven by ten feet of gross square footage, the worm-eaten nightstand by the tired bed, with that tal…

Code generation bug with new optimizer in Visual Studio 2015 Update 3

When I saw that Visual Studio 2015 Update 3 includes a brand new optimizer, my first thought was: yikes, I wonder how well this is tested. It can't be very mature code.

Well – it isn't. The following reproduces a code generation bug involving the optimizer and a lambda that captures local variables by reference:

#include <iostream>#include <cstring>#include <conio.h>#include <windows.h>usingnamespacestd;#define If(EXPR, T, A, B) \(([&]()-> T {if(EXPR) return (A); return (B);})())void Report(size_t x,size_t a,size_t b){cout<< x <<endl;if(x == a && x > b)cout<<"OK, result is strlen(argv[0])"<<endl;elseif(x == b && x > a)cout<<"OK, result is strlen(argv[1])"<<endl;elsecout<<"Error - result is garbage"<<endl;}intmain(int argc,char** argv){if(argc <2)cout<<"Enter anything as first parameter"<<endl<<"If compiled with cl…