The random rantings of a concerned programmer.


August 11th, 2009 | Category: Random

If I ever hear ANY fucking retarded faggot bitch about BSD’s drivers being shit I’m going to cockslap them faster than they can say “daemon”. I’ve been trying to install fucking Vista on my new machine all fucking night and FUCK IT CAN’T EVEN FIND THE GODDAMN SATA DRIVE.

I’ve been trying to get the fucking installer to pull the goddamn drivers off the motherboard disk (it’s an Asus M3N-HT), but nothing fucking works. It can’t fucking see the goddamn disk no matter what I fucking do. Here are some key points:

  • The BIOS sees the disk fine.
  • The disk is in IDE mode, and in the proper SATA port (ie, not one of the RAID ones)
  • FreeBSD boots off the disk fine.

That’s fucking RIGHT. I installed BSD on this goddamn machine in under 10 minutes. There were no fucking driver issues. The fucking OS just fucking installed without any unnecessary bullshit. With Windows, of course, that isn’t the case.

And fuck Asus too. Their support site is a reaming steaming pile of shit — I’m downloading the latest batch of drivers from them. Unfortunately for me, I can’t just download the SATA driver — they only distribute them in a fucking 500MB zip file. And their goddamn piece of shit download server is only giving me 10KB/s. WHICH MEANS ONLY 11 HOURS LEFT TO DOWNLOAD ONE FUCKING DRIVER.

Also their goddamn display driver is 200MB. That’s bigger than the entire FreeBSD operating system. What a fucking useless piece of shit.

Lessons learned:

  • Never buying another Windows license. They can kiss my ass for that bullshit.
  • Never buying another piece of Asus trash. Learn to fucking provide real support you shitheads.

As a final blow to my night apparently some chick questioned my sexual history. I guess I should take that as a compliment, but… what the fuck?



July 09th, 2009 | Category: Random

I’ve been dicking around with CouchDB a bit, since last night. Threw up an instance on one of my machines and whipped up some Haskell to pull a handful (ie, ~100,000) of objects off the internet. Was pretty straightforward to get shit in. That was last night.

This night I figured I’d write another bit of Haskell which pulls a list of UIDs from CouchDB. Then for each UID, it gets the whole document, thumbs through it, grabs some more metadata from the internet and tosses it back into CouchDB. I’m actually working with “real” data here — not just generating it (because that would be boring) — and was stopped dead in my tracks by this nasty fucking bug.

Basically, CouchDB stores all it’s data as JSON. According to spec, JSON Must be UTF-8 encoded. Unfortunately, the developers of CouchDB got the old adage of “lax in, strict out” backwards — they let you put corrupted data into it, then throw an error when you try to access the data. Which means (as far as I can tell) that there’s no fucking way to get the shit out (to delete a document, you need the revision ID; I don’t see a way of getting that once the document is corrupt).

So I wrote up a quick thing that I think might strip out the bad data (using Data.String.UTF8; sanitize = fromRep . toRep) before tossing it to CouchDB. If that doesn’t work then fuck it, Tokyo Cabinet instead.

Also, fuck FDC. Massive network outages this morning. They don’t have a status site (that I know of) to inform people of it, so I send a ticket. An hour later they acknowledge the problem and that “it should be fixed now”. Wasn’t actually fixed until 4 hours after that.

You get what you pay for, I guess.



June 28th, 2009 | Category: Random

Oh man, I brewed some beer today. Made the wort for a nice Hefeweizen — it’ll be 2-3 weeks before I bottle it, and another 2-3 weeks before the bottles are drinkable. Have 5 gallons of the shit — about 48 bottles worth. Moreover, brewing beer is surprisingly easy; I might have to get carried away with it :3

On the Haskell side, I wrote a TCP multiplexer. It’s a toy, but I like doing random things with MUDs and shit and it’s really useful for that kind of stuff (ie, writing bots etc). The code is written in a very Erlang style, calling forkIO twice for each client and using a bunch of STM channels to pass messages around. Probably a better way to do it but this was the most coherent in my mind.

Also, the mux function is an unfortunate mess etc. lol haskell.

No comments

Fuck you again, Comcast

March 20th, 2009 | Category: Random

I just got my Comcast bill today. After being pissed off that I’m paying $100/month for cable TV (internet is only $33, but IIRC that’s because I got a package deal or some shit like that), I glanced through some of the other shit they threw in there. One of them was another change to the residential service contract which included the following clause –

You agree that by using the Services, you are enabling and authorizing Comcast, its authorized agents and equipment manufacturers to send code updates to the Comcast Equipment and Customer Equipment, including, but not limited to cable modems and digital interactive televisions [...] Whether a cable modem, gateway/router, MTA or other device is owned by you or us, we have the right, but not the obligation, to upgrade or change the firmware in these devices remotely or on the Premises at any time that we determine it necessary or desirable

Seriously, what the fucking hell.

Look, I’m pissed off enough that I have to blow $80 for a worthless piece of shit consumer-grade cable modem. You could break into my house and take a hammer to the piece of shit, I don’t fucking care. (I’m going to buy a better one anyway, fuck you).

But stay the fuck away from the rest of my goddamn network. I don’t need your goddamn filthy hands all over my fucking equipment.

Moreover, the mere fact that you can do this remotely raises some serious fucking questions. What kind of security measures are there? Are you working with the fucking hardware manufacturers to put backdoors for updates? Are the updates cryptographically signed and verified, or are you just using security through obscurity and hoping that no one RE’s the port knocking pattern?

Despite my warranted aggression, I’m still sucking your dick Comcast, because you have a fucking monopoly in Charlottesville and there are no other providers to choose from (unless I grab a beefy 802.11 repeater and piggyback off the University’s network — it’d cost less in the long run).