Fallout 3… and Oblivion

October 28th, 2008

Yes, I did actually buy Fallout 3, but on steam. So I probably won’t have it until tomorrow…no, make that definitely. Wow, what a huge download. And the truth is that while I don’t approve of what Bethesda has done with the franchise, and I hated Oblivion, I also don’t blame them. I think Bethesda is doing a good job of delivering “huge” games to a mass market. Granted, I don’t actually like these games, but I believe they have the potential to make great games, and I respect the attractiveness of a huge paycheck.

And, anyway, Fallout looks like it fixes the thing I hated absolutely most in Oblivion, which of course is the stupid difficulty adjustment. If Oblivion had actually been an RPG, it would have been pretty good. But, because of this, it wasn’t. Well, that and the lame speechcraft minigame. The problem with Oblivion is the problem with most Action-RPG games: if your choices have no consequences, it’s not role-playing.

But all of this talk of Oblivion has made me curious, so now I’m looking at it again, playing the classes “the way the developers expected”, because the bitterness has faded enough that I can treat it like a toy instead of a game now. We’ll see how that goes.

Lucid Code at its Best

October 25th, 2008

In my opinion, even the best Python programmers, by definition, are incapable of of conforming to established standards, and are therefore incapable of writing maintainable, well-commented code. I have yet to see a python module that was actually well-commented. Not in free software, not in commercial software, not in Mercurial (sorry guys). Here’s a revelatory moment from IRC:

[21:39] <@tekhedd_> It’s using the Twisted python internet libraries.
[21:39] <@tekhedd_> ray of light
[21:39] <@tekhedd_> my god, is it real? It’s been dark so long, I’m so afraid to be disappointed again…
[21:41] <@Urvieh> always worth the risk
[21:45] <@tekhedd_> OK, so I’m trying to figure out how the login dialog works, and there’s an object called “pb”.
[21:45] <@tekhedd_> And I’m thinking to myself, this must be a local variable.
[21:45] <@tekhedd_> Then I notice it’s imported from “twisted.spread”
[21:45] <@tekhedd_> it’s listed right after “twisted.banana”
[21:45] <@tekhedd_> and “twisted.jelly”
[21:45] <@tekhedd_> in the twisted docs
[21:45] <@tekhedd_> it’s peanut butter, isn’t it?
[21:46] <+Sigoya1> O.o
[21:46] <@tekhedd_>     factory = pb.PBClientFactory()
[21:46] <@tekhedd_>     reactor.connectTCP(masterIP,masterPort,factory)
[21:46] <@tekhedd_> I’m not making this up.
[21:46] <@tekhedd_> oh thank goodness, it stands for “Perspective Broker”
[21:46] <@tekhedd_> http://twistedmatrix.com/documents/current/api/twisted.spread.html
[21:47] <@tekhedd_> and of course “jelly” is short for “S-expression-based persistence of python objects”

[21:56] <@tekhedd_> So, the pb.ClientFactory actually creates S-expression based distributed networking clients.
[21:56] <@tekhedd_> Gosh, lucid code at its best.

Python programmers just don’t “get” standards and maintainability.

You see, Python programmers are the black sheep, the renegades, the self-taught hackers who live in a world without fences or curly brackets. The noobs who haven’t learned to write quality code yet.

SteelSeries 7G Pics

October 17th, 2008

I have nothing new to say about the SteelSeries 7G keyboard, other than:

  1. I’m still using it over both the Logitech G15 and the Tarantula
  2. Here are some pretty pictures

SteelSeries 7G + Logitech G5 + SteelSeries Mat + Harp Lager = Awesomeness

The 7G's Lovely Backside

Its Lovely Backside

SteelSeries 7G + Kensington Expert Mouse = Different Awesomeness (But where's the beer?)

SteelSeries 7G + Kensington Expert Mouse = Different Awesomeness (But where is the beer?)