Archive for the 'General' Category


In order to put sprites on screen, you must first compile the universe

I’ve just spent my weekend attempting to get pyglet or pygame going on Python for Windows AMD64 (2.6b2).

The process uncovered bugs in pygame and python, including one which is fixed in 2.6b3, although there’s no Windows builds of that version yet. Also, you can’t currently rebuild Python under mingw. Still some patches to go: pygame tries to build a safe version number for bdist_msi however it gets it wrong in release, I suspect the rules have shifted slightly in 2.6…; and whatever else I’ve modified in my build trees that needs to be sent upstream.

Mingw64 was able to build stuff now (thanks to @NightStrike on the #mingw-w64 IRC channel) but Python’s pretty insistent that I build against msvcr90 and mingw64 doesn’t have an import library for that yet (mingw32 does, but mingw64’s runtime collection is only up to 3.11 or so). @NightStrike informed me that pexports has been ported to amd64 on the mailing list, but I haven’t dug it up yet, but that should allow me to link to msvcr90 from mingw.

Either way, I now have a modified win32/Makefile.gcc for zlib which doesn’t use dllwrap (deprecated since 2002) and works with mingw64 nicely.

After mingw64 worked but I hit the requirement of msvcr90, I grabbed the Windows SDK and the DirectX SDK. Once you know to run dx_setenv.cmd in the Windows SDK cmd window and to use vcbuild /useenv (otherwise it’ll ignore the results of dx_setenv.cmd) things seem to just work. You need to set DISTUTILS_USE_SDK in your environment for Python to trust your compiler version choice, too.

Converting SDL‘s Visual C projects and solutions was easy. Change platform from win32 to x64, change any /MACHINE: entries from I386 to AMD64. I should submit that change to SDL, once I convert and test the examples as well. SDL also builds with mingw64, but I suspect it doesn’t produce a DLL at the end right now.

The Windows SDK 6.1 includes msvcr90 and the Visual Studio 2008 beta 2 toolchain, so that works for Python extensions.

However, after building everything fine, initialising pygame fails:

Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\Documents and Settings\root>python
Python 2.6b2 (r26b2:65106, Jul 18 2008, 18:24:10) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pygame
>>> pygame.init()
(3, 1)
>>> pygame.get_error()
'DirectInputDevice::SetDataFormat: Invalid parameters'

The Internet knows nothing about that particular error in reference to pygame. Since I had to install the DirectX SDK to get this far anyway, I’ll see what that produces in terms of debugging output, when I get back to it.

As for pyglet, which started me on this whole mess? Upstream says it’s not supported under x64, don’t bother submitting bugs. Before I found that, I tried to work through their but pyglet.window.Window() came back from OpenGL with “invalid operation” calling glGetString(GL_VENDOR). The whole exercise with pygame came about from me trying to find a way to test if PyOpenGL was having similar problems as both PyOpenGL and pyglet use opengl via ctypes.

OpenGL on windows is hard. There’s a huge amount of setup needed to get a context to be able to call openGL commands, and PyOpenGL doesn’t provide that code. PyOpenGL’s sample code relies on pygame to do this… -_-

And to think this all started because I wanted to prototype a game idea I had rather than just telling my work colleagues about it and hoping for the best. Oh well, maybe next weekend.

It does warm my heart to know that despite being a professional video games programmer I can still come home and spend a weekend doodling around programming.

I started watching Cheap Love, only two episodes in but I’m pleased to see that already the main love pairing have already met and realised they’ve feelings for each other. Most J-dramas I watch make us wait until half way through the season to let the characters know what’s been painfully obvious to the audience since the opening titles rolled.

And in further good news, I’m down below 136kg. ^_^

My task for this week is to turn my barcode scans of my book collection into something I can access while I’m in Melbourne next weekend so I don’t have to call home from Melbourne book stores again to get Mick to look at my shelves for me. I’ve also given my mother the book-barcode-scanning bug, but I imagine she’ll buy some software off the Internet to manage the collection. Recommendations appreciated. ^_^ (Obviously, if you want to recommend such software for me, go ahead as well. But my requirements are somewhat pathological)

Oh, and I’m in Melbourne next weekend for Medleys. Taking younger sister (they’re both younger, I’m talking about younger younger. Elder younger will be on stage) and hopefully catching up with Phil.

Been eating “Instant Stew” this week. Finally refined recipe down to:

  • ~1.2kg of mixed heart-smart meat, diced
  • 1kg bag of Home Brand mixed frozen vegetables
  • 1 tin (400g) diced tomatoes
  • Random spices as I find them in the cupboard

Combine all ingredients in crock pot. Put on before work, arrive home after work. Makes 6 lunch servings or 3 dinner servings, ~350 calories per lunch serving. I blame recent weight-loss success on this stuff.

Turns out that making stew, unlike Python games under Windows x64, doesn’t involve first creating the universe.


Maybe they're right when they tell me I'm wrong…

Much as I dislike the song itself, there’s a reasonable chance I’m an asshole.

Some links follow, relevant to the above. No commentary, and don’t expect many posts about this sort of thing. You’ll notice there’s no relevant category. ^_^

People who read this and actually know me offline, you are requested to call me out if you observe me doing any of the shit that may appear in the links that follow. Or at least the bad stuff. There’s good stuff mixed in there, I hope it’s obvious which is which.

On a positive note, I’m down to around 140kg. Four and a half months to lose another 20kg. That looks unrealistic, but it’s actually 20 weeks so it’s only on the high side of healthy, as I understand it, not in the danger zone, especially given where I’m coming from.


Reel Anime 2008

Just a quick placeholder, will flesh this out more later, if I remember. Just wanted to post this: (Spoiler for Vexille)
Vexille Demotivator

I’d like to claim this was inspired by Frank Herbert, but what immediately came to mind was Fat Boy Slim…

And since I’m posting such things…


Thanks to the Parody Motivator Generator for saving me gimp time.

Edit: Fixed images


Almost but not quite completely unlike twenty questions

Via Krefey, I’m not part of one of those weird pass-it-on things that shows up in the blogoblong on occasion.

Rules of the game:

  1. Leave me a comment saying anything random, like your favorite lyric to your current favorite song. Or your favorite kind of sandwich. Something random. Whatever you like.
  2. I respond by asking you five questions so I can get to know you better.
  3. You update your LJ with the answers to the questions.
  4. Include this explanation and offer to ask someone else in the post.
  5. When others comment asking to be asked, ask them five questions.

And the questions I was asked:

  1. If you had the chocie to remove either Star Wars or Star Trek form existence, which would you choose to discard to the eether? 😛
  2. If you could have any single (ie just one, not single as in not taken) woman be with you for life, who would you choose and why?
  3. Dumb but attractive, or intelligent but plain?
  4. If you could be anyone that has ever existed who would you be?
  5. If you could alter the principle laws of physiscs as we know them, what would you change?

OK, here goes:

  1. Tough call. I’m gonna go with Star Wars, much as I personally prefer it, because I think Star Trek has done more for us in terms of introducing and exploring new concepts, while Star Wars was kind of a samurai VS Nazis funfest. Of course, if this subsequently removed Indiana Jones from existence, I’d have to change my mind. And whichever one lets Red Dwarf stay, stays. Erk. This is why I’ve abstained from time travel.
  2. Suzie Marie Toller. Spoiler for Wild Things… She’s wealthy, attractive, intelligent, doesn’t let the rules and mores of society hamstring her ambitions, without being amoral.
  3. I’m definately intelligent but plain. Then again, given free reign I can also be dumb, and attractive in a gravitational sense. If you doubt that, lie next to me on a waterbed. ^_^
  4. I’m tempted to say Andrew Tridgell, but I’m not sure I’d do as good a job of being him as he does, and that’s not something I’d wish on the world. This also applies to most of the other names of existent or formerly existent that come to mind. The more I think about it, the more I realise that not only am I prolly the best at being me, I’m also currently the me I’m happiest with, or all the mes that have existed. Sure, there are mes I’d rather be (ie. exactly now, but ~50kgs lighter) but they haven’t existed, so they don’t count. Yes, it’s a cop-out. If you insist I pick someone, go with Tridge. He seems to have been doing (and still is doing) the sort of thing I love doing, for a long time now. Although, right now I’m at the start of that process (I hope) so I don’t think I’d gain much.
  5. I’d remove entropy, or at least make it some kind of controllable particle. The impending heat-death of the universe worries me.

Why I no longer don't read weblogs

Firstly, a vast majority of people who read this, won’t actually know the context of “Why I don’t read weblogs”. This is deliberate. I still know people involved in that incident, so no details will be released. If you’re one of the lucky ones to know the story, don’t pass the link around. ^_^ (It’s embarrassing to me, just to be clear, so don’t let the paranoia get you down.)

Anyway, LiveJournal slipped me back into weblogs by stealth, so I guess it’s time to face it. I started out just looking at my housemate’s LJ. Then one bored Saturday afternoon, I had a look at his friends list and realised I knew some of the people on it (through him) and so, having already managed to get OpenID working between LiveJournal and my WordPress site (Using OpenID Comments For WordPress, which despite the name is also an OpenID Server) I added them to my ‘friends’ page.

And then from a comment on a blog there, I recognised a long-unseen friend’s nick, and then from that person’s friends list, I recognised a whole bunch of other friends.

I accidentally connected my little island of long-winded to the blogosphere. O_O (I wish they’d called it the blogoblong. It’s so much more fun to say…)

Anyway, as much as anything else, this post is also to explain if anyone doesn’t recognise the username at the end of the befriending, well, now you know how I found you.

This is also to prevent me starting another disk of Babylon 5, given when I started this it was too early to go to bed, but three hours more watching Babylon 5 would have left me going to bed too late instead. This way it’s, in the words of Goldilocks, “Holy shit, talking bears!”


Wii are excited, but stable

Two things… has gone live, along with a news release from Nintendo Japan announcing ship date and release pricing for the Wii.

For those who don’t read Japanese and can’t puzzle it out (it’s up the top, above “WiiTM”) it’ll ship on 2nd December 2006 for ¥25 000. It also says that schedule and pricing for foreign countries will come in the next few days.

Following some links from back through the Wii page at we get to see a video of the Wii software lineup, as follows:

I’ve highlighted launch titles, and indicated by-the-end-of-the-year titles as per the Wii software lineup page.

  • Wii Sports
  • Forever Blue
  • Mario Strikers Charged
  • Excite Truck
  • Dragon Quest Swords
  • Dynasty Warriors Wave (December 2006)
  • Red Steel
  • Fire Emblem
  • Swing Golf Pangya
  • Super Mario Galaxy
  • Necro-Nesia
  • Super Surgery (Card?) Chaos (Tenative name)
  • Sonic and the Secret Ring
  • Wing Island
  • Pokemon Battle Revolution (December 2006)
  • Bleach Wii (December 2006)
  • One Piece Unlimited Adventure
  • Dragon Ball Z Sparkling Neo
  • SD Gundam Revolution (Tenative name)
  • Crayon Shin-chan (December 2006)
  • Tamagocchi
  • Introduction to Wii
  • Elebits
  • Rayman (December 2006)
  • Super Monkey Ball Oook Oook Party Great Gathering
  • Fishing Master (December 2006) (Tenative name)
  • Festival Master
  • Furi Furi (December 2006)
  • Harvest Moon Wii
  • Twiilight Princess
  • Colorinpa
  • Metroid Prime 3
  • Warioware Dance
  • Super Famicon Wars W
  • Bomberman Land
  • The Dog Island
  • Wii Music
  • Wii Yawaraka Head Training
  • Road Cool Domino
  • No-miso connecting puzzle Takoron
  • Cooking Mama (December 2006)
  • Project H.A.M.M.E.R
  • Biohazard Umbrella Chronicles
  • Twiilight Princess (so good, they showed it twice!)

I count 43 titles there. ^_^

Also, NES games will be ¥500, SNES games ¥800 and N64 games ¥1000.

The Wii Preview slides are a goldmine, and include videos of the Virtual Console.

Did I mention that Zelda: Twiilight Princess is a launch title?

Along with 15 other launch titles, and another 11 titles by the end of the year.

Oh, dude, yay!

Oh, and the second thing…

17:01 <@usotsuki> Debian’s definition of “stable” is different from what most people call “stable”
17:01 <@usotsuki> that’s good and bad
17:02 < TBBle> Nope, it’s pretty much what everyone except computer users mean by “stable”. Think about it in the geological sense, for example. Or the chemical sense.
17:02 <@usotsuki> lol
17:02 < TBBle> ie “If you don’t touch it, it won’t randomly explode”


Edit: Found the Wii software lineup page, and so fixed my video listing above.

Edit: Forgot the AmazonJP link. ^_^


Still not dead

Yup, still not dead.

The blog and my other site’ve just moved to a new server. Let me know if you see anything weird. It’s supposed to be the same software configuration as the old server but whackloads faster… The joys of Debian/stable. (‘s hgwebdir.cgi isn’t running… No python or bzr on the new server yet, as it’s the CBIT Internet shared webhosting server. I’m still weighing up whether to install it or if I can keep it all in the webtree somehow.

I’m now syndicated at

Oh, one more thing: were-virgin.