Print Story Power to the People
Diary
By PhysicsGenius (Fri Aug 18, 2006 at 09:08:17 AM EST) (all tags)
You are losing hundreds of dollars a month on wasted electricity and I'm here to end that problem.


Computer data is binary--1s and 0s. Inside the computer, these "bits" of information are represented using high and low voltages. Low voltage is 0 and high voltage is 5 volts. The hard drive in my computer is 20 GB, which is ~160 billion bits. If all the bits on your hard drive were holding data, that would be 800 billion volts!

Of course, not all the bits on the hard drive are occupied. My drive is only about 3/4 full. Still, that's a lot of volts, and a lot of $, for data that is just sitting there unused.

This brings me to my radical concept: voltage compression. A data file that just sits there, using up volts, is a drain on resources. Why not compress it to a lower voltage representation? The 5 volt level is the 1s and the 0 volt level is the 0s. It is very easy to open a file and swap all 0s for 1s and vice versa. When the data is needed, simply decompress it to the high-voltage version temporarily, then recompress it. The compression is lossless.

I wrote a program that does this and submitted it to SourceForge, but apparently they are under the influence of voltage manufacturers and retailers since they refused to host it.

I release it here, hoping to help some of the informational hoi polloi retake some of their power, both literally and figuratively.


#include<iostream>
#include<fstream>
#include<string>
using namespace std;

int main(int argc, char *argv[]) {
  string inFile, outFile;

  if (argc < 3) {
    cout << "Usage: " << argv[0] \
          << " <input file> <output file>" << endl;
    return 1;
  }

  inFile = argv[1];
  outFile = argv[2];

  ifstream inFileH (argv[1], ios::in | ios::binary);
  ofstream outFileH (argv[2], ios::out | ios::binary);

  char b;
  int count = 0;

  while(count < 100) {
    if (!inFileH.read(&b,1)) {
      break;
    }
    b = ~b;
    outFileH.write(&b,1);
    count++;
  }

  return 0;
}

< Lost diaries | BBC White season: 'Rivers of Blood' >
Power to the People | 12 comments (12 topical, 0 hidden) | Trackback
Wow by Gedvondur (4.00 / 1) #1 Fri Aug 18, 2006 at 09:14:20 AM EST
What a sad-assed troll.

-1 Unimpressed

You should submit this to Slashdot instead.

Gedvondur
"I don't have enough middle fingers to communicate my feelings to you." --clover kicker

U R A Poopyhead!!!!onehundredeleven!! by greyrat (4.00 / 1) #9 Fri Aug 18, 2006 at 11:12:44 AM EST


[ Parent ]
Genius! by The Fool (4.00 / 2) #2 Fri Aug 18, 2006 at 09:16:12 AM EST
I would say more, but I hesitate to do anything rash with an 800 billion volt electrical potential just inches away from me.

What an idiot by DesiredUsername (4.00 / 2) #3 Fri Aug 18, 2006 at 09:19:08 AM EST
This only compresses the first 100 bytes! Or maybe you plan to charge money for the full-featured version? Idiot like a fox!

---
Now accepting suggestions for a new sigline
Who are you to argue? by mrgoat (4.00 / 1) #6 Fri Aug 18, 2006 at 09:53:20 AM EST
I don't see "Genius" or "Physics" anywhere in your username. What qualifies you to argue with such intellect?

--top hat--
[ Parent ]
This is stupid. by herbert (2.00 / 0) #4 Fri Aug 18, 2006 at 09:47:48 AM EST
Of course it's all very well if you are a computer programmer and you know how to type in this program and make it work, but actually there is a much simpler way of doing this that anyone can do.

Simply open up the plug on your computer's power cable and reverse the live and neutral wires.  This will invert the polarity of the voltage across all the bits processed by the computer.


Good innovating! by PhysicsGenius (2.00 / 0) #8 Fri Aug 18, 2006 at 10:04:43 AM EST
However, I can't recommend this procedure for two reasons.

  1. Electrical wiring can be dangerous unless performed by a PhD such as myself.
  2. While it's true that high and low voltage will be reversed in your computer, you will also be sending high voltage back to your voltage retailer on the low voltage line and vice versa. Don't cross the streams. It would be bad.

--
Before replying, please remember that I have a PhD.
[ Parent ]
It's only a stopgap solution. by mrgoat (4.00 / 2) #5 Fri Aug 18, 2006 at 09:52:04 AM EST
I think, long term, what we need to do is design our computers with a reverse polarity computation engine and negate the binary output to mumble mumble tachyon deflector dish.

--top hat--
error in your program by ucblockhead (4.00 / 1) #7 Fri Aug 18, 2006 at 09:53:30 AM EST
You forgot to include <stdafx.h>
---
[ucblockhead is] useless and subhuman
20GB is 800MV?! by Cloaked User (2.00 / 0) #10 Fri Aug 18, 2006 at 11:21:28 AM EST
Holy shit, I have a half-full 500GB RAID array about 20cm from my right knee!

Quick, someone dial 999!


--
This is not a psychotic episode. It is a cleansing moment of clarity.

Obsolete. by Wise Cracker (2.00 / 0) #11 Fri Aug 18, 2006 at 11:50:03 AM EST
All the new compressioning algorithms are statististical. Here's an example of the new style:

void compress( FILE * outfile, FILE * infile ) {
   int i;
   fread( &i, sizeof( i ), 1, infile );
   while( !feof( infile ) ) {
     while( i )
       i = rand();
     fwrite( &i, sizeof( i ), 1, outfile );
   }
}

The above uses rand(), which has well understood statististical properties. Thus it is a statististical algorithm. Also, since rand() is pseudo-random, the algorithm is reversible. The decompress() function is left as an exercise for the reader.

I think you'll find my version to produce much lower energy data than your naive logical negation.
--
Caesars come, and Caesars go, but Newton lives forever

You misspelled 'genious' -nt by Benoit Balsac (2.00 / 0) #12 Sat Aug 19, 2006 at 12:31:56 AM EST


Power to the People | 12 comments (12 topical, 0 hidden) | Trackback