At 2:47 a.m., Qi Le’s eyes were so sore they felt as if someone had thrown a handful of sand into them. His fingers tapped mechanically at the keyboard as lines of code kept scrolling across the screen. He was the only one left in the office, aside from the fluorescent light overhead that was always buzzing.