11 Jan 2001 CentralScrutinizer   » (Apprentice)

I'll pretend posting to Advogato is a normal thing for me.

  • Logitech Freedom Pro Just picked up the ergonomic wireless keyboard and mouse by Logitech. Nice. Much more 'ethical' than my old Microsoft Natural Elite 2.0. Cleaner too. I don't know what it is about Microsoft keyboards, but every one I've ever seen, whether in use or at the store, is disgustingly dirty. Anyoo, the only truly wacky thing about this keyboard is that it has no lights for caps lock, num lock, et. al. I'd like to try and get the other buttons into use somehow, but I dunno how to map them under X11. I remember using some app many moons ago that displays a keyboard and you can see the layout and what key you just hit, but I can't remember the name. Anybody know of something to do this?
  • Rain - I woke up, and it was raining outside. We had some really nice weather previously. Unfortunately, this made me really cranky today, and I feel bad about the way I treated my girlfriend. Feeling slightly better now.
  • Glasses - I got reading glasses so my eyes don't strain, resulting in headaches and eventual blindness. Incidentally, I look like Ryan Phillpe in Antitrust in them. Looking Dead Sexy (TM) good, looking like Ryan Phillpe, not so good. Unless I get to bonk Reese Witherspoon.
  • Codez - I met with my friend Jeff Greeson yesterday. I help him run his Mortal Kombat site . We discussed a new site feature for whenever (?) the new Mortal Kombat game might come out. Basically, he wants to build a community to discover and verify new moves as they are found. I think some really neat things can be done with this:
    • Trust/Scoring - We want to prevent people from trolling and submitting lots of bogus moves. Thus we will probably implement some kind of scoring, wherein if you submit a move and a moderator confirms it, you get points, and if it is denied, you get points taken away. Simple sounding, but from my readings at Advogato and intuitively, I know whatever I implement first will be completely wrong and subtly but massively abusable. We'll see what happens.
    • Output generation - I'd like to output moves lists as PDF's. I'm pretty sure you can do this from PHP, and I imagine Python shouldn't be too hard either. I just wonder how hard it is to actually create a PDF in code. I'll fool around with it when I get to that point. If worse comes to worse, I'll just output TeX or HTML and convert it to something that prints pretty from a cron job.
    • XML-RPC - I'd like to have web and curses interfaces to this system. I'm just really horny to write some kind of command interpreter. So I'm thinking I'll implement my first prototype in Python using the command interpreter module already available, and then branch out from there. In the end, I think XML-RPC might be neat to do, as I think PHP and Python both support it well. The only thing I'm concerned about there is security. Can you do XML-RPC with SSL? Or, perhaps can you sign XML-RPC messages with GPG or PGP?
    • Prototypes and design - As above, I want to do my first prototype in Python, and then write a PHP version for the site. My only concern is that I'll use language goodies in Python I will be hard pressed to emulate in PHP. I also recall PHP3 being slightly hokey in places (I can't remember, so I'm not bitching), and I hope that won't snag me either.
    • XML format and DTD's - Finally, I want some simple way to confirm a submitted move is a valid sequence. So I'm thinking of defining a DTD for the task. This means I have to learn how to write a DTD, that's not too bad. Writing a DTD is useless though unless XML parsers for PHP and Python are validating now. Last time I looked, all were non-validating. Frowns. Anyway, if DTD's are the way to go, then I could make this software pretty generic. You could just write a new DTD and use this with <favorite game here>. Then I could be famous and girls would throw their underpants at me.
Expect more on school, music, and 'the social hacker' later.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!