Hacker News new | comments | show | ask | jobs | submit login

Reverse engineering problem spaces in physical reality works just as well as it does in digital reality, case in point;

A few years ago I had a friend that was just about to learn the hard way that backing up their files was essential and what the click of death really meant, but this particular episode resulted in her collapsing onto the couch in her home and sobbing quietly.

Call me a softy but I can't deal well with people I care about in such a state so instead of the usual "That'll teach you, next time you ought to backup regularly" I suggested taking her drive to a data recovery specialist, however this was off the table due to cost concerns apparently and timeliness of data required from said device. This does of course exacerbate the original error of not keeping that data backed up, but I still felt the need to help her out.

So, I sat there and I thought about it for a very long time, reverse engineering the process of exactly what happens during a head crash on a hard disk platter, the head collides with the spinning platter causing physical damage to it and/or getting jammed on it and unable to reset.

Opening the drive and physically realigning the components required tools and an environment that I did not have access to, I did not have the spare parts to implement a platter switch out on a spare of the same model drive, and no clean room environment to do the job at any rate, so I thought if this were a simulation of reality and I could just magic it back like in software, how might I do that and got the image of lifting the head off the platter to reset it without opening the drive casing.

Thinking about it a bit longer made me come up with the crazy idea that the disk was constructed of metal, and metal contracts when cooled. Possibly this could result in the head being lifted off the platter for long enough for the disk spin up to realign the head if it was booted quickly after being cooled dramatically, but condensation would destroy the electronics on the drive and this would need to be accounted for.

It's kind of a crazy idea anyway and if the data is really critical and it could've been sent to a recovery specialist I would've recommended that but on hearing my idea she immediately begged me to do it. Apparently she had no idea what I was actually proposing beyond it involves the freezer and the disk or why it might work, but afterward she told me that I had that same cautiously optimistic vocal tone I get when I'm on the edge of a solved problem when we're working together and that was enough to convince her it was a surefire winner.

So, multiple freezer bags wrapping the drive and four hours later with said freezer on lowest temperature it was capable of, I quickly removed the drive, cut a hole in the outer bag that had not been covering the power and data connections, and put it into the system, spin up, no clicks. Rapidly booted into linux live CD and copied all the files off the drive, it kept running not only for the three hours necessary to do this, but apparently runs to this very day also (this was about three years ago).

She does however backup religiously now, and doesn't store anything critical on that drive anymore, and this incident was the genesis of a new dropbox customer. ;)

If this was really your idea first, thanks. I have used this technique to recover data. I didn't bag the drive though. I got the data off, and the disk lasted about 20 minutes before dying forever.

That's a good story, but it's about problem solving (informed by physics), not programming as such. Still cool, though.

I suppose it came to mind because to me it felt exactly like debugging.

Oh man, yeah. Debugging skills are totally real-life. Back when my son had an allergy/kidney problem (which he still has, but his labs have been normal twice now, fingers crossed) I always had the feeling I was debugging my child.

Definitely. I'd bet a lot of good mechanics would have the knack for debugging, too, if they learned the programming stuff. (The bike shop mechanics I've known certainly have the mindset.)

Problem solving is more general than programming, that's all. I'm all for sharing good problem-solving strategies, but focusing on programming is a bit narrow. (I get a lot of inspiration from House and Berton Roueché's writing, personally, but I'm a medical history / epidemiology geek.)

I don't buy that you came up with this well known hack on your own. Thanks for sharing this lie with us.

And why not? That's the whole idea behind patents on stuff that does not require years of research being nonsense.

I've come up with plenty of stuff off the cuff like the GP writes, sometimes it works, plenty of times it doesn't. I only brag about the times it worked ;)

And rightly so. Sports guys talk about various glory moments where pure luck or doing the wrong thing (according to the fundamentals) worked out well. Fishing stories are all... yeah..

Basically all groups have their lore. Everyone knows it contains an element of bragging, a lot of BS and some downright fabrication. It's not about fact reporting, its about bonding, it's about highlighting certain aspects to demonstrate traits valued in the group, it's about passing on a generalized knowledge. Hell, some places "shooting the shit" is called "telling lies with the boys".

I've done this multiple times and never once had anyone flinch at the idea... its just WHAT YOU DO when your hard drive is messed up as one of the steps.

If you don't know this, you shouldn't be on hacker news.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact