Archive for December, 2009

Some hot deals are the beginning of headaches…

Tuesday, December 15th, 2009

So I scored a Core 2 Duo E7200 processor for $30.

I place the chip in my D975XBX, and the system doesn’t boot.

I put my old processor back in, and two pushpins on my heatsink break.

So I bundle up the wife and kids and run out to buy a new heatsink at Bestbuy. The heatsink does not make contact with the chip when attached. I don’t know what the crap was wrong with it, I tried it several different times, different directions until I finally realized it uses the same pin setup as my old heatsink.

So I pull two pushpins from the new heatsink to replace the broken ones on the old heatsink. One more pushpin is on its way to breaking, so I replace it too. I plop down on my laptop and look up my board revision’s C2D support. Well, I’m at revision 302 and I need 303 or 304 to be C2D-compatible at all. Even then, only the E6xxx series seem to work (and some E4xxx series). Definitely no E7200.

So I put the old CPU (a Pentium D 950) back into the unit and get it all seated. System boots up and I’m back up.

At least I’m right back where I started, and it only cost me $60 to not go anywhere.

:P

-LightningCrash

Forking in xargs

Tuesday, December 15th, 2009

xargs is probably one of the most useful CLI tools in Unix/Linux.

Many people just forget that xargs can fork processes, to multithread an otherwise slow operation.

If you have a directory full of WAV files you want to encode and a quad core, fork that.

ls *.wav|xargs -n1 -P4 -i lame -h {} {}.mp3

rename ‘s/\.wav//g’ *.mp3

The -P option is for the maximum number of processes. The -n option is to limit to 1 argument per xargs call.  The -i option gives us the {} substitution. Xargs will substitute the filename for {}. This means we get an output file called blah.wav.mp3, so I added the Perl utils rename step.

xargs has many uses with forking, and you could probably even use a VAAPI-enabled mencoder to transcode a whole directory of files this way.

Just don’t fork yourself or you’ll go blind.

Until next time!

-LightningCrash

GPS Phones and Telco Logging Infrastructure

Tuesday, December 15th, 2009

This is an extension of a post I made on a gun forum. Someone had asked the feasibility of the infrastructure required to store iPhone user’s GPS coordinates. They threw out the number of 30M iPhones.

It would really be the next logical step in police data collection. Take a warrant for arrest, pull phone records for $30, intercept the guy on his way home from his dealer’s house.
This wouldn’t be a burden placed upon the police, or even the NSA. It would be a money-maker for the telcos.
Lat/Lon can be packed as a 32-bit integer, unix timestamp is a 32-bit signed integer. Add in the telephone number and we’ll just call it 128 bits per reading.
Minutes in a day, 1440, so 1440×128 = 184,320 bits. 23,040 bytes per day.
As you can see, data warehousing for this is next to nothing. An 8GB disk could hold 372,827 days worth of GPS readings.
A day’s worth of GPS data for 30M users would be 675GB raw, before decompression and deduplication.
That would be a pretty tall order for a small business, but if you add in a few hundred legal spying data purchases every day, it would pay for itself pretty quickly.

You’d need a small cluster of servers and you would likely need good SAN hardware. They already store more information than this about the calls that you make. They already have the infrastructure in place.

So is it feasible? Yes, without a doubt.

Until next time!

-LightningCrash