I'm writing a Defrag program for FAT32 partitions that runs in Linux. (see Why I started writing a Defrag program)

It's a simple idea, but there just isn't one already.

I'm not a wonderful hacker: the code looks like shit.

Now I've gotten to the point that it should work. The pieces have finally come together to the point where I should be able to just tell it to go, sit back, and watch my hard drive totally change.

But I haven't. For the last half an hour, I've been sitting here trying to figure out if there's some problem I'm not aware of, or what fail-safes I can quickly hack into it.

If it works, I will have a hard drive with all the files defragmented, but with free space scattered around at random intervals. I think I can correct that by just making multiple passes over the drive.

But if it fails, I lose 3 gigs of data.

Usually an admission by a user who knows what the hell he's just done... which is an admission that he's either written a virus, or a program that he KNOWS will cause problems if it has ANY bugs.

Sometimes also said by a user who fears the idea that maybe, just maybe, he really did write bug-free code.

(But for some reason, I don't think this is what the person who wrote the Internet Worm said.)

The last message recieved from the bot-creation compound at E2 headquarters.

It is believed that the program spontanaeously compiled and executed itself, before assimilating all entities within the compound.

Luckily, nate, dem bones and others *may their names be sung forever* trapped this errant bot in the twisted web known as the Chatterbox, where it plots the downfall of E2.


Update - EDB is nothing to be afraid of, please do not be alarmed.
Sit quietly and wait to be assimilated.

Stop noding.
NOW

I had a program like that once. It was sophomore year, and I was in Software Engineering at WPI. We designed a distributed networking protocol, with the correct routing algorithms and such. It worked great on the small scale tests. Two clients, one router, one master domain authority. It all worked great.

Now we had to add more clients.

I had a horrid revelation at that moment. It just can't work. The system is no where NEAR scalable. It would grow exponentially in size until it ate and destroyed all of the WPI network. We thought about it with only two nodes in mind, but 50 interlinked nodes would cripple the hardware and make it impossible to use. The beast of a software tracking program would be grossly inefficient even if we had all the memory in the world.

So the next day in class, where we had to release a beta of our "product" to the rest of the class, I, as the leader of the group got to inform the class that "the program does not run within the constraints of the school network", and that it still needed "Some performance work". It was a mixed moment in my life, filled with the pride that a tank engineer has when his or her baby first demolishes a bus, but also filled with shame as I could not control the code I was writing.

To this day, I will always remember to include scalability in my designs.

Log in or registerto write something here or to contact authors.