SQL (Doesn't) Server

2 min read

SQL Server: pasty wad of absolute Shit, or revolting stream of projectile vomit? The world may never know. If you ever get a chance to play with SQL Server, for an amusing day of knee-slapping hilarity, do this:

1. Dance and frolic as you dump a remote table consisting of 10 million rows.
2. Skip and jump while copying the 90MB compressed dump to a remote server.
3. Raise a jocular toast as a BULK INSERT command does its work.
4. Be happy that this, the hard part of the process, only took half an hour.
5. With nary a worry, start a transaction to protect the existing production data.
6. Confidently remove records from production version of the fact table.
7. Relax and start the final insert from the staging table to the production table.
8. Become confused that half an hour has passed and process continues.
9. With trepidation, begin searching for why load still isn't finished an hour later.
10. Notice in horror that the transaction log has increased by at least 7GB for 1GB of data.
11. Angrily commence yelling at SQL Server.
12. Dejectedly give-up on process, and click 'cancel'.  Repeat.
13. Worried, find the process ID of the insert and kill it after ten hair-raising minutes have transpired and load demands to continue.  Repeat.
14. Blanch as SQL Server reports it won't kill the process until a rollback has occurred, and this rollback will take 47,000 seconds.
15. Become irate while rollback time increases to 69,000 seconds, and continues to grow.
16. Frantically shut down database service.  Repeat.
17. Transform into the Incredible Hulk from sheer rage, and demolish the nearest wall when database refuses to restart.
18. Attempt recovery without resorting to backup file, while sobbing uncontrollably.
19. Restore from backup.
20. Maniacally plant C4 on server chassis in a futile attempt to ensure future cooperation.
21. Drool mindlessly while you're hauled away in a straight-jacket.

All this, for a wimpy 10 million row insert that consisted of about one gigabyte of data. This is by no means a huge table, and it loaded in half an hour from a frigging file. One would assume that SQL Server’s internal format would take less time, especially since a transaction wouldn’t have to track anything but the possibility of rolling back inserts on an empty table. These assumptions were obviously incorrect, though I’ve no comprehension of what SQL Server was possibly doing through the entire debacle. The sooner we can replace this system with Postgresql via ODBC, the better.

MyMyBox Eats Anus

5 min read

I’ve tried being nice. I’ve sent multiple messages to their support email address. I’ve ignored the faults in the BlueShark pad I purchased and asked merely for a replacement connector cable. I even offered to purchase the replacement since it was probably damaged during shipping, regardless of how sloppily the pad was boxed. But now, after two months of essentially being ignored, I’ve resolved that MyMyBox must be destroyed!

Crustaceans are Dangerous

1 min read

I’ve got a big bag of crabs here, and I am going to put them in my mouth. Oh yes! Incidentally, what the hell else would you do with tasty crabs? Someone on Rob’s Livejournal noted that he liked this better than Badger Badger Badger, so of course I had to see it for myself. Now personally I could subsist without a churning throng live crabs shredding the supple tissues of my mouth, but I suppose it could substitute as a unique method of toughening gums of nancy-boy wussies who cringe away from such manly activities such as chewing glass or gargling thumbtacks. But crabs are simply too mild! I shall immediately attempt to locate a delicious gaggle of hedgehogs and cram them unceremoniously into my unsuspecting pie-hole. Then finally, it’ll know who’s boss!

I've Got a New Lappy 486!

6 min read

Note: for those of you who don’t get the title, please see Strongbad!

Well, my new laptop finally arrived. Well, though I say finally, I only ordered it on Wednesday, and the company in New York shipped it that day. I certainly didn’t expect less than 48-hours without paying some kind of exorbitant fee, but here I sit configuring this mythical beast. I suppose I should review it at least a little.

Let's Fry Some Spam!

2 min read

For a long time, I’ve been using Postfix as my mail server, and it has a pretty good reputation for reducing spam simply using various header and RFC checks. After throwing blacklists into the mix, and without any other tool such as SpamAssassin, I had reduced spam by roughly 80-90%. But that still meant about a dozen succeeded in reaching my inbox, and the ratio was slowly increasing thanks to the recent vast deluge of pump-and-dump scams, so I decided I needed a solution.