Several days later, he came to me, chuckling. He'd just gotten the new roll-out schedule from the government. They wouldn't be ready before April.
In the room were a bunch of things I was probably expected to go notice or play with or somesuch. But they were dumb and boring, so I ignored them. However, there was also a row of cabinets along one wall. And I got it into my head that I wanted to know what was in the cabinets. I was bored, and I hating being bored. Maybe there was something interesting in the cabinets. I tried to open one, but it wouldn't open. The logical thing to do would be to give up and maybe try one of the other cabinets. But I wasn't logical, I was annoyed. Stupid cabinet won't open? I'll make it open! I felt as if that cabinet had personally wronged me by not opening. There was no one else around (that I was aware of, anyway), so it was up to me to deal with this problem. So I started yanking at the cabinet with singleminded, raging ferocity. I was a skinny little thing, but I was determined, and focussed my entire raging intensity on this stupid cabinet that would. not. open.
Then it opened, all at once. A metal piece snapped off and clattered to the floor, and the door flew open. And, to my disappointment and chagrin, I observed three things. One, the cabinet contained nothing more than some boring papers. Two, I had broken the latch. Three, if I had tried the door next to it, it would have opened with no resistance, and I could have slid the latch over, and opened the original door with no problem.
So there I sat, in the all-too-familiar aftermath, realizing that I had broken something that was not mine, and worse, that it had been utterly unnecessary. I sheepishly hid the broken piece of latch inside the cabinet and hoped nobody would notice it until I was gone. No one said anything about it, so I figured I had gotten away with it.
Years later, I realized that they had probably been watching the entire time, and knew I had broken their cabinet.
Still more years later, I reconstructed the sequence as best I can, figuring my parents had come to them, explaining that their little boy had some emotional issues, and the mental health professionals were trying various things to try to figure out what was wrong. Well, that little episode must have given them something to chew on!
I still feel abstractly bad about breaking their cabinet lock for no real reason, but such things aren't that expensive, and I get the impression that they were being well paid for their services. I wonder if they billed my parents for that lock (my dad would have given them no end of grief if they had tried). I can't help wondering if my parents were there too, watching me flip out and break a cabinet, cringing as other people saw my antics, but secretly glad someone could see that they weren't exaggerating my fitful behaviour.
I took it outside to give it a spin, and it spun around nicely, and even pointed into the wind, but didn't spin enough to generate any measurable electricity. I played with the blade pitch, curvature, and washout, to no avail.
From time to time, I'd haul it out into the yard and try again, whenever it seemed like a windy day.
One day, I saw a lot of wind, so I eagerly grabbed it and ran outside to see if I could make some electricity. Sure enough, it started to dimly light a flashlight bulb! Success! Then one of the blades got bent straight back by the wind! The whole spinning rig commenced to wobbling wildly, and one by one, all of the blades got bent straight back. I was there in the yard, trying to straighten the blades and think of a way to reinforce them without taking too much time when my mom showed up at the door, yelling "You get inside right now! Don't you know there's a hurricane!"
Naturally, I decided to try to write my own computer games. There were several of these, but a perennial favourite among my friends was one of the simpler ones, dubbed "Kill the Cities". In this game, you would be presented with a 3 × 3 array of red and green rectangles, which were the "cities". You had a crosshair to aim with, which you could move about the screen, and push the "fire" button to shoot. You had unlimited time, unlimited ammunition, the cities didn't move, didn't have shields, and didn't shoot back. A single shot within its boundaries would destroy a city. If, under these difficult conditions, you actually managed to wipe out all the cities, the game would print out "You win! You hear that? They're CHEERING for you!", accompanied by a hissing noise.
As I wasn't yet expert at dealing with graphics, there was a bug in the game that some found more entertaining than the game itself: the crosshair would erase the cities as it moved about, so a player could eventually render all the cities invisible. This made the game even more challenging!
I proceeded to go through the rest of the other vendors' computers, fixing them one at a time. When I was done, all of the computers could talk to all of the other computers, which caused the customer to believe that I had been right all along and the other computers had indeed been the broken ones - the ones whose own vendors had been unable to fix. Our company came off looking really good, fixing all the other vendors' computers after the other vendors had been there and simply blamed everybody else (as I too had, originally - but I had been right!).
The customer said to let them know any time I felt like a trip to Jacksonville, they'd be glad to invent a problem and request to have me come down to "fix" it.
Completely gobsmacked, the manager shoves her out of the way and proceeds to neatly assemble the correct burger in a few seconds, and hand it to me with a disbelieving expression on her face. I assume that person didn't work there much longer. I can only wonder how she made through Wendy's rigorous hiring process in the first place.
Until I happened across a room of pretty girls, and took their picture. The old "yearbook committee" trick of course failed, as this was the yearbook committee. Oops.
He had convinced himself, from one pic I had from a meet-and-greet, that I was close personal friends with all sorts of stars. Yeah, right. I should have shut down the web server when I realized it was externally accessible. But there's nothing I can do about peoples' wild flights of fancy.
Later, it developed that I hadn't really succeeded in getting my message across, and the TV had continued to burn for a while. It was explained to me, that when something is important, it's not only allowed, but required to distract a busy adult and get their full attention to tell them.
The hardware engineer on the project rented a SCSI analyzer, which also insisted the drive was misbehaving. It clearly showed the read command going out, and the "OK" status coming back. So we ordered another drive, and when it arrived, it did exactly the same thing. Monitoring other devices showed the expected behaviour: send a read command, get data, then get the OK status.
I, however, did not trust the SCSI analyzer. It operated on the assumption that everything was operating according to specifications, and was designed to show what data was going back and forth, not investigate weird protocol violations.
Accordingly, I went and rounded up a logic analyzer, which just shows the raw signals, and does not interpret them at all. It is more effort to figure out what's going on from the raw logic levels, but the logic analyzer doesn't hide anything either. And sure enough, when I puzzled out what the logic analyzer was telling me, it became clear what was happening. The computer would put the read command on the bus, one byte at a time, assert the strobe signal to indicate that the command byte was ready to read, take away the byte, and wait for the "ack" (acknowledge) signal back from the target device. And this is wrong. What it should do is leave the byte on the bus until it gets the ack back. The SCSI control chip in the computer was very simple, and did not do the signal sequencing itself, depending on its device driver to do so. And, looking at the device driver source code (fortunately, we had access to it), it showed the same sequence of events: put data on bus, assert strobe, take data away, wait for ack. So I swapped two lines in the driver, so it would put the data on the bus, assert strobe, wait for ack, and then take the data away.
And lo, the SCSI floppy disk drive started to work perfectly! The remaining question was, why did the other devices work? My theory is that the other, fancier, devices had hardware SCSI interfaces that latched the incoming command bytes immediately upon strobe, so they didn't care that the data went away immediately afterward. Whereas the floppy drive implemented its SCSI interface with a microcontroller. The strobe signal would send an interrupt to the microcontroller, which would then go read the data byte off the SCSI bus. Unfortunately, by the time it got around to it, the data was gone, and the bus terminators had pulled the data lines back to their idle state of zero. And, sure enough, a SCSI command block of all zeroes is a valid command: "test unit ready", for which the correct response is simply "OK".