Atomic I/O letters column #131

Originally published 2012, in Atomic: Maximum Power Computing
Reprinted here June 28, 2012
Last modified 16-Jan-2015.
 

Replace the cardpunch and it'll be good as new

My work got 12 identical boring beige boxes in early 2011, and I don't know what the deal was with the (Samsung, if it matters) hard drives in them, maybe they were all dropped or beaten up in the delivery van or something, but EIGHT of the drives died over the course of the year, and got warrantied with drives that seem OK.

My boss is now suddenly upset about how we sent the screwed-up drives back, because apparently it's normal for bad drives to be refurbished for resale, and once they're working again people could easily access our confidential business information that we didn't delete from the drives. The boss says the problem with a lot of bad drives is the stepper motor, and refurbishers often just replace that and the drive comes good.

We could have hit the drives with a hammer or put a drill through them, which would definitely make them un-refurbishable - should we do that in future? Could someone now be reading the emails about football I sent during work hours, because we didn't wreck the drives?

Aidan

Answer:
Hard drives haven't had stepper motors in them for a long, long time. Stepper motors turn by a tightly defined amount with each electrical pulse that's sent to them, and are useful for all sorts of things, including positioning the heads of an eight-inch hard drive that has a few hundred data tracks per inch. But modern drives have a track density in the hundreds of thousands per inch, and use a voice-coil system...

Voice coil assembly

...a coil of copper wire between two very strong magnets...

Hard drive magnet assembly

...to position the heads with the necessary fantastic degree of accuracy.

Even in the late stepper-motor period (the early 1980s) a 10Mb drive could be a $1000-plus item, so hard drives were worth fixing, if it was possible. And with much larger tolerances in those old drives, you probably wouldn't need a million-dollar cleanroom to replace a stepper or spindle motor on an ST-506 boat anchor.

Today, though, "refurbishment" for hard drives pretty much doesn't exist. A drive that tests OK might be resold, but one with any problems at all will go in the bin. And it's possible that some bored tech might snoop on your data if the drive's not as dead as you thought, but it's not very likely unless your business is interesting enough to be a target of industrial espionage.

So by all means, pulverise drives you're sending for a warranty replacement, if the place you're sending them to will actually give you a replacement for a drive to which you have attached an RMA label with a nail gun. But don't lose sleep over the other ones.

(You could also, as a reader later pointed out, just degauss the drive.)

 

Two gigabytes of misery

I've got two 1Gb DDR3 memory modules that seem to be worth what I paid for them, which was nothing. My ASRock 990FX Extreme3 has 2x2Gb modules in the RAM slots 1 and 3, and I just got these two 1Gb modules free from a mate who's upgrading, but when I install them Windows goes nuts. Bluescreens, failure to even start, etc etc.

So I removed the 2Gb modules and installed just the 1Gb ones, and ran Memtest86+ from a thumb drive to test the RAM overnight, and it says everything's fine, with no errors. So I tried booting Windows with just the 1Gb modules, and it went to hell again. Tried putting them in slots 2 and 4 instead of 1 and 2; no good. Put the 2Gb modules back in, all is well again.

I guess that it doesn't matter what Memtest86+ says when the computer obviously doesn't work with those memory modules, but is there some BIOS setting or something that'd make Windows as happy as Memtest? Does Memtest often say bad RAM is good?

Heng

Answer:
Generally speaking, if Memtest86+ says RAM is OK, it's OK. But it's not a guarantee. If Memtest says a module is bad then it's almost certainly correct, but real-world memory use can do things Memtest doesn't, even in an overnight soak test. There are a lot of ways in which RAM can fail to work, and it's impossible to test for all of them.

If everything were fine until you ran a 3D game, for instance, I'd suspect either an actual problem with the RAM, or a flaky power supply, because dipping PSU voltages can cause a very long list of strange problems. Given that you often can't get into Windows at all, though, either your PSU is so flaky that you shouldn't have been able to load up the CPU and graphics card with the original RAM without crashes, or the 1Gb modules have their own problems. If they'd been static-zapped then I'd expect Memtest86+ to show errors, but static-zappage is a creeping, analogue problem with a considerable range between "completely undamaged" and "utterly broken", so that could be the culprit.

Or that RAM might just not work right on your motherboard. Nowadays, mobo compatibility (and even laptop mobo compatibility) with different flavours of RAM is generally very good, if of course the RAM meets the specs for the speed you're trying to run it at. But it's still quite possible to find memory that seems to have all the right numbers, yet doesn't work on particular motherboards.

ASRock have a memory-compatibility list for the 990FX Extreme3 here. (Note that they don't promise that some of the listed modules will work in all four slots, and overclocking isn't guaranteed for all of them, either.)

If the new memory's not on that list, it's entirely possible that it worked in your friend's old computer, but won't work in yours, and that it shows no Memtest errors.

I'd first try just one module at a time. If one of them is OK and you use it along with your existing 2Gb modules then the motherboard won't be able to use dual-channel mode any more, but the performance loss from that for most tasks is trivially small, and could easily be beaten by the performance gain from another gigabyte of RAM.

If neither module works by itself, I'd then try goosing the voltage up a bit in BIOS setup, and then try turning the RAM (and if necessary CPU) speed down as well. If none of this helped, I'd give up and turn the modules into keyrings.

 

The quick brown fox jumps over the ŠÀª ØÊÈÿ˜ ÔÏÌÕ

I was typing away a while ago, when I noticed that Z was suddenly where Y used to be, and semicolon and apostrophe were weird accented letters. To cut a long angry story short, my keymap had switched to German, and I figured out how to switch it back in Control Panel (Win7).

Today, it happened again. How? Why? Make it stop!

Quenten

Changing keyboard mapping
Not that I'm suggesting you do this to your boss's computer, you understand.

Answer:
One of my very, very most favourite things is when you fat-finger a hotkey combination and have no idea how you just turned on this special feature of whatever you're using, and don't even know what it's called, and now get to go on safari through menus and help files to try to figure out how to turn it off again.

You probably have a key combination, by default Control plus Shift, set to change languages, and pressed it by mistake. You have to have more than one language set in "Text Services and Input Languages" for this to do anything, but who among us can say that he hasn't added a few languages, just for fun, while drunk?

Anyway, get rid of the extra language and you won't be able to switch to it any more.

Some of you may now be wondering how easy it would be to set someone's alternative language to, say, Urdu, set the tell-tale Language Bar to "Hidden", and then set the switch-language key to, say, the space bar. You could probably do that with AutoHotkey or something, but regrettably standard Windows only lets you bind "Switch Input Language" to a few key combinations, and the only single key you can bind it to is "Grave Accent", also known as the backtick/tilde key, in most keymaps.

I'm sorry to say that binding "change language" to backtick does not make the computer change language every time the user uses backtick to access the console in a game. But it does cause a single press on backtick or shift-backtick to not give you a backtick or a tilde, even if you've only got one language installed. Holding the key down will, however, give you a string of the characters when autorepeat kicks in.

See how long it takes your victim to figure that one out.

 

The Teletype Experience

Yesterday, my computer worked. Today, it won't boot. It doesn't even get to the Windows 7 splash screen, and the standard BIOS screens before that display one character at a time, as if somebody's typing them at about 50 words per minute. I can get into BIOS setup, but it takes several seconds to display each screen in it. It'd be quite interesting if it wasn't so annoying. Menus used to look like this on dial-up BBSes!

Has my 3GHz (Core i5 760, slightly overclocked) CPU suddenly gone to 3kHz? WTF?!

William

Answer:
I've never seen this problem in person, but I filed away the answer when I first heard it years ago, and it turned out to work in this case:

Unplug the peripherals. Keyboard, mouse, printer, everything but the power cord. Boot again and see if the computer is now back up to speed (and complains, with an error displayed at normal speed, about the lack of a keyboard). If it does, add peripherals again until you find the culprit. If it doesn't, unplug all of the internal drives, and try again.

This bizarre problem arises when something plugged into the computer starts yammering constantly on some bus that the computer pays attention to early in the boot sequence, and allows to throw interrupts at the CPU. So it shouldn't happen if there's something flooding your wired or wireless network, but it can happen if, say, a USB device or PS/2 keyboard has lost its mind.

In William's case, the demented device turned out to be an inexpensive USB TV tuner. He threw it away, instead of keeping it to install inside the case of a deserving recipient's computer.

I have clearly taught him nothing.

 

Other letters columns

I/O #1
I/O #2
I/O #3
I/O #4
I/O #5
I/O #6
I/O #7
I/O #8
I/O #9
I/O #10
I/O #11
I/O #12
I/O #13
I/O #14
I/O #15
I/O #16
I/O #17
I/O #18
I/O #19
I/O #20
I/O #21
I/O #22
I/O #23
I/O #24
I/O #25
I/O #26
I/O #27
I/O #28
I/O #29
I/O #30
I/O #31
I/O #32
I/O #33
I/O #34
I/O #35
I/O #36
I/O #37
I/O #38
I/O #39
I/O #40
I/O #41
I/O #42
I/O #43
I/O #44
I/O #45
I/O #46
I/O #47
I/O #48
I/O #49
I/O #50
I/O #51
I/O #52
I/O #53
I/O #54
I/O #55
I/O #56
I/O #57
I/O #58
I/O #59
I/O #60
I/O #61
I/O #62
I/O #63
I/O #64
I/O #65
I/O #66
I/O #67
I/O #68
I/O #69
I/O #70
I/O #71
I/O #72
I/O #73
I/O #74
I/O #75
I/O #76
I/O #77
I/O #78
I/O #79
I/O #80
I/O #81
I/O #82
I/O #83
I/O #84
I/O #85
I/O #86
I/O #87
I/O #88
I/O #89
I/O #90
I/O #91
I/O #92
I/O #93
I/O #94
I/O #95
I/O #96
I/O #97
I/O #98
I/O #99
I/O #100
I/O #101
I/O #102
I/O #103
I/O #104
I/O #105
I/O #106
I/O #107
I/O #108
I/O #109
I/O #109
I/O #110
I/O #111
I/O #112
I/O #113
I/O #114
I/O #115
I/O #116
I/O #117
I/O #118
I/O #119
I/O #120
I/O #121
I/O #122
I/O #123
I/O #124
I/O #125
I/O #126
I/O #127
I/O #128
I/O #129
I/O #130
I/O #131
I/O #132
I/O #133
I/O #134
I/O #135
I/O #136
I/O #137
I/O #138
I/O #139
I/O #140
I/O #141
I/O #142
I/O #143
I/O #144
I/O #145
I/O #146
I/O #147
I/O #148
I/O #149
I/O #150
I/O #151
I/O #152
I/O #153
I/O #154
I/O #155
I/O #156
I/O #157
I/O #158
I/O #159
I/O #160
I/O #161
I/O #162
I/O #163
I/O #164
Dan's Data letters #1
Dan's Data letters #2
Dan's Data letters #3
Dan's Data letters #4
Dan's Data letters #5
Dan's Data letters #6
Dan's Data letters #7
Dan's Data letters #8
Dan's Data letters #9
Dan's Data letters #10
Dan's Data letters #11
Dan's Data letters #12
Dan's Data letters #13
Dan's Data letters #14
Dan's Data letters #15
Dan's Data letters #16
Dan's Data letters #17
Dan's Data letters #18
Dan's Data letters #19
Dan's Data letters #20
Dan's Data letters #21
Dan's Data letters #22
Dan's Data letters #23
Dan's Data letters #24
Dan's Data letters #25
Dan's Data letters #26
Dan's Data letters #27
Dan's Data letters #28
Dan's Data letters #29
Dan's Data letters #30
Dan's Data letters #31
Dan's Data letters #32
Dan's Data letters #33
Dan's Data letters #34
Dan's Data letters #35
Dan's Data letters #36
Dan's Data letters #37
Dan's Data letters #38
Dan's Data letters #39
Dan's Data letters #40
Dan's Data letters #41
Dan's Data letters #42
Dan's Data letters #43
Dan's Data letters #44
Dan's Data letters #45
Dan's Data letters #46
Dan's Data letters #47
Dan's Data letters #48
Dan's Data letters #49
Dan's Data letters #50
Dan's Data letters #51
Dan's Data letters #52
Dan's Data letters #53
Dan's Data letters #54
Dan's Data letters #55
Dan's Data letters #56
Dan's Data letters #57
Dan's Data letters #58
Dan's Data letters #59
Dan's Data letters #60
Dan's Data letters #61
Dan's Data letters #62
Dan's Data letters #63
Dan's Data letters #64
Dan's Data letters #65
Dan's Data letters #66
Dan's Data letters #67
Dan's Data letters #68
Dan's Data letters #69
Dan's Data letters #70
Dan's Data letters #71
Dan's Data letters #72
Dan's Data letters #73
Dan's Data letters #74
Dan's Data letters #75
Dan's Data letters #76
Dan's Data letters #77
Dan's Data letters #78
Dan's Data letters #79
Dan's Data letters #80
Dan's Data letters #81
Dan's Data letters #82
Dan's Data letters #83
Dan's Data letters #84
Dan's Data letters #85
Dan's Data letters #86
Dan's Data letters #87
Dan's Data letters #88
Dan's Data letters #89
Dan's Data letters #90
Dan's Data letters #91
Dan's Data letters #92
Dan's Data letters #93
Dan's Data letters #94
Dan's Data letters #95
Dan's Data letters #96
Dan's Data letters #97
Dan's Data letters #98
Dan's Data letters #99
Dan's Data letters #100
Dan's Data letters #101
Dan's Data letters #102
Dan's Data letters #103
Dan's Data letters #104
Dan's Data letters #105
Dan's Data letters #106
Dan's Data letters #107
Dan's Data letters #108
Dan's Data letters #109
Dan's Data letters #110
Dan's Data letters #111
Dan's Data letters #112
Dan's Data letters #113
Dan's Data letters #114
Dan's Data letters #115
Dan's Data letters #116
Dan's Data letters #117
Dan's Data letters #118
Dan's Data letters #119
Dan's Data letters #120
Dan's Data letters #121
Dan's Data letters #122
Dan's Data letters #123
Dan's Data letters #124
Dan's Data letters #125
Dan's Data letters #126
Dan's Data letters #127
Dan's Data letters #128
Dan's Data letters #129
Dan's Data letters #130
Dan's Data letters #131
Dan's Data letters #132
Dan's Data letters #133
Dan's Data letters #134
Dan's Data letters #135
Dan's Data letters #136
Dan's Data letters #137
Dan's Data letters #138
Dan's Data letters #139
Dan's Data letters #140
Dan's Data letters #141
Dan's Data letters #142
Dan's Data letters #143
Dan's Data letters #144
Dan's Data letters #145
Dan's Data letters #146
Dan's Data letters #147
Dan's Data letters #148
Dan's Data letters #149
Dan's Data letters #150
Dan's Data letters #151
Dan's Data letters #152
Dan's Data letters #153
Dan's Data letters #154
Dan's Data letters #155
Dan's Data letters #156
Dan's Data letters #157
Dan's Data letters #158
Dan's Data letters #159
Dan's Data letters #160
Dan's Data letters #161
Dan's Data letters #162
Dan's Data letters #163
Dan's Data letters #164
Dan's Data letters #165
Dan's Data letters #166
Dan's Data letters #167
Dan's Data letters #168
Dan's Data letters #169
Dan's Data letters #170
Dan's Data letters #171
Dan's Data letters #172
Dan's Data letters #173
Dan's Data letters #174
Dan's Data letters #175
Dan's Data letters #176
Dan's Data letters #177
Dan's Data letters #178
Dan's Data letters #179
Dan's Data letters #180
Dan's Data letters #181
Dan's Data letters #182
Dan's Data letters #183
Dan's Data letters #184
Dan's Data letters #185
Dan's Data letters #186
Dan's Data letters #187
Dan's Data letters #188
Dan's Data letters #189
Dan's Data letters #190
Dan's Data letters #191
Dan's Data letters #192
Dan's Data letters #193
Dan's Data letters #194
Dan's Data letters #195
Dan's Data letters #196
Dan's Data letters #197
Dan's Data letters #198
Dan's Data letters #199
Dan's Data letters #200
Dan's Data letters #201
Dan's Data letters #202
Dan's Data letters #203
Dan's Data letters #204
Dan's Data letters #205
Dan's Data letters #206
Dan's Data letters #207
Dan's Data letters #208
Dan's Data letters #209
Dan's Data letters #210



Give Dan some money!
(and no-one gets hurt)