The offcial AK-47 web site

Did you know that the AK-47 has an official web site? Now you do. They even have nice little link-back graphics that you can use:

The AK Site The AK Site

The AK Site The AK Site

The AK Site

They were so nice, I used them all.

Posted by wee on 04/30/2004 at 12:06 AM | Main Page | Category: Random Stuff
Hi, Reggie!

Take a look at this map. That's a map of all the wireless access points in my neighborhood. See that blueish circle in the middle? That's my neighbor. Heh heh... I gotta tell him to lock that down...

Posted by wee on 04/29/2004 at 05:30 PM | Main Page | Category: Random Stuff | Comments (3)
A week of minor milestones

This week contains a few coincidental milestones:

  • It's my fourth anniversary of being a homeowner with Tess
  • It's also the fourth anniversary since I last had a pay raise (or bonus, or review, or etc.)
  • I've had my current job for two years this week
  • Red Hat Linux will be officially dead
  • My 38th 37th birthday is this week
  • My nephew's 8th birthday is this week as well

Seems like there was more when I was thinking about it on the way home. Huh. Anyway, it's way more stuff than last week...

Posted by wee on 04/27/2004 at 05:51 PM | Main Page | Category: Random Stuff | Comments (7)
Henry Earl has a posse

It had to be done:

Posted by wee on 04/23/2004 at 10:19 PM | Main Page | Category: Random Stuff | Comments (2)
Get yer Henry t-shirt

In order to capitalize on my Henry Earl page's newfound popularity, Trey has brand spanking new Henry Earl t-shirts for sale. I'm ordering one right now...

(Also be sure to check out some of T's other items. The other t-shirt he sells makes a touching and poignant statement about the selflessness and generosity of your fellow man, and is just the thing anytime you might find yourself forced to be involved with large crowds. His lovely teddy bear is "a great companion for those cold winter mornings". And if you're Tess, it's also a perfect parting gift for your sycophantic pussy of a boss. Nothing says "Two weeks notice?!? Get bent..." like a cute little stuffed bear.)

Posted by wee on 04/23/2004 at 12:08 AM | Main Page | Category: Random Stuff | Comments (3)
Been Farked as well

Looks like someone submitted my Henry Earl Real-Time stats page to Fark. w00t. Love the traffic. Seems that people like the page, too. So that's cool. I just did the page because I was home sick one day, whacked out on cold medicine and bored. So it's good people are getting some amusement out of it.

The server is holding up really, really well too. The stats page is a PHP script (not a very complicated one, but dynamic nonetheless), and the server has been doing about 330kB/sec in traffic. Well, it's settled down a bit now: it's hovering around 110kB/sec. Seems to be holding up just fine. I'll add in some more detailed numbers when the web server stats analyzer runs at 1am.

UPDATE: I just re-ran the stats package and we've had a little over 45,000 visits to the Henry Earl stats page in the last 24 hours. We had a maximum network load of 728kB/sec outbound traffic, and that's been holding steady at around 20kB/sec for the last couple hours. Behold the power of Fark, indeed. On a related note, I can definitely say that I'm happy with my hosting company.

Posted by wee on 04/22/2004 at 11:26 PM | Main Page | Category: News
No, this site is much more expensive...

I was wrong when I said that the Northridge Inc. web site was the most expensive on the planet. That honor belongs to the site run by WWII Impressions. I have no idea why, but there's a lot there I want. And I have no idea what I'd do with it all once I got it. Although now that I think about it...

I did manage to pick up five 20 round Thompson magazines for dirt cheap (about 1/4 of what everyone else is selling them at; we'll have to see what their quaility is like) at The Sportsman's Guide, so I may pick up one of those five-cell magazine pouches. And maybe a mussette bag. And a strap for it. And the M42 Army Airborne jump suit would be awfully nice for no real reason at all. 'Course, I'd need boots and web gear, too.

And while we're at it, there's the Short-Barrelled Rifle (SBR) permit I'd need for the shorter barrel I'd have to get for my Thompson (the original Thompsons had 10.5" barrels; BATF regulations say that you need a permit for a rifle with any barrel less than 16", which is why my newly-produce semi auto gun has a 16" barrel). I just couldn't go walking around in down-to-the-stitch authentic WWII Airborne gear carrying a Thompson M1 with a 16 inch barrel. That'd be silly! That would mean I'd have to stoop to owning an airsoft Thompson -- while there's a perfectly good "real" Thompson pining away in the closet! There's just something terribly wrong with that. The sad fact is that not only can you not own a Thompson SMG in California, you most especially cannot own one that has a really short barrel. There are, like, laws and stuff against that. We couldn't have another Bonnie and Clyde running around now, could we?

Speaking of dumbass gun laws that only serve to restrict the rights of collectors and history buffs, who knew that according to California law, the only way I could possibly possess a SBR permit is if I can prove the following:

12095. (a) If it finds that it does not endanger the public safety, the Department of Justice may issue permits initially valid for a period of one year, and renewable annually thereafter, for the manufacture, possession, transportation, or sale of short-barreled shotguns or short-barreled rifles upon a showing that good cause exists for the issuance thereof to the applicant for the permit. No permit shall be issued to a person who is under 18 years of age. (b) Good cause, for the purposes of this section, shall be limited to only the following: (1) The permit is sought for the manufacture, possession, or use with blank cartridges, of a short-barreled rifle or short-barreled shotgun, solely as props for a motion picture, television, or video production or entertainment event.

For those not paying attention to this long-winded wool-gathering, let me sum up: I'm allowed to own a Thompson with a real barrel in the state of California if I can prove that it would be possessed "solely as props for a motion picture, television, or video production or entertainment event".

You with me?

If I get all that other reproduction WWII gear and once per year either a) attend one re-enactment event, or b) video tape myself in said gear using said gun with blanks and put the movies online as "artistic shorts" or some such, I can legally own not only my Thompson but my Thompson with a short barrel. That sounds like a pretty nice deal to me.

The rub here is that I'd have to wear WWII gear while shooting the gun in CA, and bring a video camera with me while I shoot it. I suppose that since I don't shoot in CA anyway, I could get by with just packing a duffel bag with all the WWII stuff and a crappy video camera in order to transport the thing in and out of the state. I might be attending an "entertainment event" in Arizona for all anyone knows, right?

So that's a pretty expensive web site, no?

Posted by wee on 04/16/2004 at 06:38 PM | Main Page | Category: Random Stuff | Comments (4)
Remove files (sorta) securely

The other day at work, I had some free time and decided to do a little housecleaning. The project that inspired me involved converting at Access database (which had started with Ingress, then moved to two other RDBMS' I can't recall) to Sybase. It was a very, how do you say, "icky" project.

The ickiness came not from the unrelational, completely nonsensical nature of the data, although it was bad. (Seriously: do you ever need to have a whole separate table called "us_resident" containing only two rows with 'yes' and 'no' in it? No. You never need that in a modern database. You use a SET or ENUM or some other list column type in your table.) The ickiness was caused primarily because some tables were keyed by student ID number, and some were keyed by the student's social security number. And of the other 40+ tables, only 1 (one!) had both. I called it the "rosetta table", and I had to do some fairly fancy footwork with its data in order to get at the rest of the database. I just sort of ignored all the thousands of orhpaned records I sometimes found. The admin folks weren't even really sure what all they needed, and I wasn't about to spend my life digging through everything. Student data-enty labor is cheap, and so I made lots of printouts. Some poor undergrad will be unknowingly cursing my name this summer.

This ickiness was further exacerbated by the fact that California passed a law last year called SB 25, and it means that anyone who has SSNs anywhere on a computer had better think long and hard about the delete key. The upshot of the law is that if the machine on which the personal data is stored on gets compromised, you have to let everyone who might be affected that they could, maybe, possibly be a victim of identity theft at some future point. Basically, that's what it said, and everyone on campus has been dumping data with SSNs left and right. Old backup tapes are "going away", email spools are being cleaned, etc.

So this info I was dealing with on my workstation had SSNs all through it, and now that the project was done, I wanted the data gone but permanent like. But the rub was that I needed copy of all the data to have around in case the admin dudes wanted something else from it all at some later point. So I burned a CD of the data to give to the admin group. I figured they could keep it on the shelf (which would satisfy SB 25) and pop it in whenever they needed to find something. To further this aim, I made a little navigable index.html page to all the student info, and I even put in an autorun file which would launch (under Windows) the browser with that index page on it so that the admin people could see all their old data without having to dig too much. That's just the kind of guy I am. Well, that plus I wanted it to be easy for them to find stuff on their own instead of call me. And finally because everyone feels better holding dead trees, I also made some relevant printouts for those same admin folks, and then I had a shredding party with all my work docs. Clearly, my work was done.

While I was shredding the physical media, I got to thinking about the digital media: shredding data on my workstation's hard drive. Simply deleting a file doesn't really delete shit, and my knowing that means that any lawyer in the world could easily prove I should have tried harder to get rid of the copious amounts of SSN-based data I had. That's if I wind up in court, being sued by one or more persons who had their identity stolen based on my negligence in getting rid of their data. Not a likely prospect, but why take chances that don't lead to a payoff?

In talking to my boss about the issue, he mentioned that he recently discovered that there's an app called srm installed by default on his on his Mac OS X laptop. Being similarly concerned about SB 25-ish things, he went and found the aforelinked SourceForge page, and sent me the URL. I was more than happy to use it, but I couldn't get it built onmy Fedora Core 1 system. And I tried, believe me -- but only for a half hour or so.

I only tried for 30 minutes because I realized that I could get the very same thing working in like 15 minutes if I wrote it in something portable, like Perl. So I did. Here's my code:

#!/usr/bin/perl -w

#
# sremove.pl - Removes files psuedo-securely by overwriting the file contents
#              with zeroes a user-defineable number of times, then truncating
#              and then unlinking the file. Probably not DOD secure, but
#              seems to work.
#
# Free for non-commmercial use, with no warranty of fitness expressed or implied.
#
# Wm. Rhodes 4/2004
#

use strict;
use File::Find;
use Getopt::Std;

$|++;

# How many times to overwrite the file with zeroes. A default of 7 seems to be
# an OK number.
our ($opt_p);
getopt('p');
my $num_passes = $opt_p ? $opt_p : 7;

foreach my $file (@ARGV) {
      if (-e $file) {
            find(\&RemoveFile, $file);
      } else {
            print "File not found: $file\n";
      }
}

# This overwrites our file with zeroes $num_passes number of times, then
# truncates it to some smaller size, then unlinks it.
sub RemoveFile {
      my $length = (stat())[7];
      print "Deleting file '$_' (",
            commify($length),
            " bytes) with $num_passes passes... ";
      for (my $i=1; $i<=$num_passes; $i++) {
            ReWrite($_, $length);
      }
      ReWrite($_, $num_passes);
      unlink($_);
      print "Done.\n";
}

sub ReWrite {
      my ($file, $length) = @_;
      open(FILE, ">$file") || die $!;
      print FILE '0' x $length;
      close(FILE);
}

sub commify {
      local $_ = shift;
      1 while s/^(-?\d+)(\d{3})/$1,$2/;
      return $_;
}

Now, I'm no computer forensics expert by any stretch. But I did take the time to read through the source of srm, and I did take the time to do some empirical testing in order to make sure that my data was gone.

I installed the Coroner's Toolkit. It's a cool set of apps that lets you recover deleted files. And it will recover anything. I recovered a file from when my two year-old Linux workstation had Windows XP on it (which was only for like two weeks, when I first got it). And, yes, installing Linux over a previous Windows XP installation means a format of the hard drive. And yet I still found WinXP data on the partition that I recovered. I didn't think that was possible, but I saw it with my own eyes. So if formatting a hard drive maybe doesn't really permanently erase data, I was very keen to see if my little Perl script would.

I wound up spending the bulk of a workday testing it. I created a file with a text string that I knew wouldn't be found on my machine. I created the file on a small partition and then deleted the file. Then I ran the Coroner's Toolkit over that partition and recovered all the files I could. I found my deleted file. I then made a new file with another distinctive string on another partition and did the same delete/try-to-recover thing. I found the file. I then made a distinctive string-containing file, erased it, then made a new one with the same name but different contents. I found both of the files. Admittedly, this was not a busy system, but that scared me.

Then I reproduced all those tests after deleting a file using my script above. I couldn't recover any of the file's contents. I even tried it a few times in various places more and got nothing. So I'm pretty sure that the above script works. It appears to work anyway and I'm confident that all that SSN data is gone forever.

Having said that, if you use the above script you are on you own and I make no warranties about its fitness for any purpose. It almost certainly works as advertised, but until I get to see what the NSA can do, I ain't promising shit. Further, if you use it and something breaks, you get to keep both pieces. But I'm feeling good that I did something better than simply 'rm' all those people's personal info, and I think the script is relatively safe to use (although it's not terribly robust as far as error checking and whether files are directories and whatver; it worked for my purposes, so I was done with it).

Anyway, use it if you like.

Posted by wee on 04/14/2004 at 04:32 PM | Main Page | Category: Geek Stuff | Comments (1)
Been Wired now, too

One of my last entries was about the Gopher Manifesto that I archived. Now it's on wired.

Jeez...

Posted by wee on 04/13/2004 at 12:49 AM | Main Page | Category: News | Comments (1)
The most expensive web site on the planet

I'm a slut for duffel. Bags, backpacks, pouches, straps, belts, web gear, whatever you call it... I love things that hold other things -- especially if they're made of OD canvas. It's like Tess' obsession with tiny little drawers/cubby holes: unexplainable. I just like duffel. Old duffel even more.

The worst online place for my wallet to be is Northridge International's magazina and pouch page. I'm drawn to that page. It's teasing me, with those tiny little pictures.

I recently got an order from them (five Thompson magazines packed in foil and cosmoline before I was even born, along with a five mag pouch I've never even heard of) and I'm back for more. It doesn't help that they have the best prices on Thompson magazines. Hell, the ones they sell are even real Seymour mags. Wrapped 60 years ago. Other guys online are selling those mags for $30 each, and you have zero idea what you are actually getting. I got 5 along with a $35 pouch for $110. So I'm ordering some more of that.

And yes, when I opened my find I huffed the packaging for a good five minutes. One gets many China huffs in his day, but very precious few U.S. WWII-era huffs. The China ones are stinkier.

Posted by wee on 04/12/2004 at 09:41 PM | Main Page | Category: Random Stuff | Comments (2)
I've been Slashdotted again

I was checking on how much bandwidth I used last month on my other site, and I noticed a spike this month already. A glance at the logs tells me that I got posted to Slashdot again. Last time it was about my fooling around with putting Linux on a spare cash register I grabbed from my mom's store. This time, it was an archived copy of the Gopher Manifesto I dumpster-dived from the Google cache of a dead web site at my brother Trey's urging.

Apparently, the news is that someone implemented the gopher protocol in Apache version 2 and the guy who wrote the Perl module linked to my site.

Ok, sure. I used to be quite the fan gopher of gopher (it was the best way to get geological information way back when I had a text-only SLIP connection to the Internet). I guess I looked back on gopher fondly enough to archive the Manifesto, and I did have a gopher server running for a while out of curiosity, but I'm not altogether certain why this is news. The Web has pretty much taken over and there just isn't much room for gopher anymore. I guess some people might need a modern-ish gopher server for something -- like maybe migrating old gopher-only content in alongside a regular web site layout. You'd get to use all the normal web production systems, and serve gopher and HTTP traffic. That's cool, I guess.

BTW, I now have enough first-hand evidence that I can safely say there's nothing like plain, static web pages for surviving a sharp spike in requests. My server was fine both times.

Posted by wee on 04/06/2004 at 12:37 PM | Main Page | Category: Geek Stuff | Comments (4)
Extraordinarily cool konsole hack

I finally happened upon something I've been searching for a long time now: how to automatically rename the tabs in Konsole so they show what remote host you are logged into, or what your current working directory is (if logged in locally). I tried this new thing out today, and it seriously makes me happy.

So if you use Linux...

[crickets]

And KDE...

[more crickets]

And you use Konsole as your terminal application...

[still hearing crickets]

Then you should really, seriously have a look at Konsolewrap. It'll definitely help you get around in Konsole, especially if you tend to ssh into lots of remote hosts, and depend on Konsole's tabs to keep everything organized.

(The tabs on the bottom in that screencapture would normally say "Shell No. 1", "Shell No. 2" and so on. It's not very helpful because you can't see what each terminal is doing. Plus, KDE version 3.2 has a feature which will pop up a little gray tooltip-like window on the taskbar every time it detects the system bell on one of those terminals. And instead of that tooltip saying "Alert in Shell No1", it'll now say "Alert in fast", and I know that I've got new mail or whatever on the machine called fast.)

I'm very happy. It's the little things in life, you know.

Posted by wee on 04/02/2004 at 08:16 PM | Main Page | Category: Geek Stuff | Comments (3)