Geek-o-Rama; The search for a wxWidgets IDE

These past few days, I’ve been searching for a competent IDE for creating WxWidgets interfaces, primarily for the Python programming language. The reason for this is that I’m working on a small project to get my creative programming-juices flowing again – Tempest’s on its way, but I needed some kind of “learning” project in order to get my Python programming skills up to “moderately skilled” level before I tackle the continuous challenge that is Tempest. This new project of mine is a managing software for the PSP – most, if not all, of the managers out there are too limited or just plain too buggy for my tastes. The project is going well – I wrote a couple of functions that decode the PSP’s various files to get info like savegame details or PNG files, and now I mostly need – the interface.

Anyways, here are my results (windows software only):

FarPy GUIE

Pretty neat and very user-friendly, outputs Python code – but in striving for usability it leaves out all kinds of advanced functionality, like Spacers – and Spacers are absolutely necessary if you need your inteface to have a scalable window.

Boa Constructor

From what I’ve been told, the best and the greatest. I hate multi window layouts in software, and the inteface of Boa Constructor is very, very advanced – and incredibly klunky. Here’s an interface that does it all when it comes to Python programming, but the interface makes everything extremely painful. I’m sure the software is mightily powerful, but it’s just not for me. Next!

Visual Wx

One of the better ones. Has a bad habit of naming controls and refusing to let me rename them to stuff I can actually remember, and the visual display of what I’m working on sometimes doesn’t update correctly. Has rudimentary support for custom components, but nothing fancy. Some weird graphical bugs, rather ugly buttons and complete lack of help files for the actual interface lowers the score. Supports XRC input/output, which is always nice. Interrestingly, importing some XRC’s from wxFormBuilder actually makes the prog crash and some stuff seems to not import correctly… Can generate code for Python, C++, Lua, Perl and Ruby (=impressive) but the same project cannot, as far as I can tell, export to multiple languages. If you created a Python project, then it is and always will be a Python project.

WxDesigner

Non-free editor, and it kinda shows. Pretty sleek interface, does its job and does it well. The main problem here is its lack of custom components – I need a special version of BitmapButtons, and it’s not supported. Why don’t more of these have a module-based structure? Anyways, WxDesigner supports C++, Python and Perl, and as far as I can tell, the same project can be used to export multiple kinds of code…

wxFormBuilder

Excellent in terms of interface and usability. Easy to use, and relatively complete in terms of functionality. There are no help files or support for custom controls, but there’s a moddable structure and though it can’t export directly to Python, it does generate XRC files. One very suprising and excellent interface feature is that every control and property are explained in a small box – no more checking the online manual to find out what WX_WHATEVER does…

Anyways, having done this research and tested every wxWidgets IDE from here to eternity, I decided, in the end, to use the XRC  intermediary format for my UI needs, which meant choosing wxFormBuilder. It had the best interface, creating stuff really is a breeze compared to, say, WxDesigner. And it’s free. The XRC format provides another clear advantage: I can work on the core functions and the GUI stuff separately, and as long as certain core stuff remains the same – the names of certain forms and events – I can work freely on one without bothering with the other. This also makes it possible for possible future users to create their own user interfaces if they think mine suck, and it also makes it more sensible to create “placeholder” purely functional interfaces to test the core functions, and only later caring about aesthetics.

I’ve also done some new research when it comes to crossplatform programming languages and their respective executable/runtime sizes. Java’s too big, FreePascal too much of a hassle (and it produces 11-13 mb EXE’s)… Well you know, the usual list. FreePascal was the only real newcomer, and it fell seriously short despite being based on one of the first programming languages I ever learned (Turbo Pascal 6). C++ is really the only contender to Python, and I simply find Python to be more intuitive, if slightly slower. No matter, processing speed really isn’t an issue in most of my projects. Perhaps I’ll learn C++ some day – after all, wxWidgets exist for C++ as well, which means my XRC files will work even if I change programming language (how cool is that?).

Why I Won’t Be Buying Bioshock

When did companies decide they could afford to treat their customer like a criminal?

Recently, the long-awaited spiritual successor Bioshock hit the shelves. I was excited – until I learned what copy protection they’d used.

OK, first, they use SecuROM. Which places a bunch of unknown drivers etc in my Windows, and forces my DVD-rom to read damaged sectors. This is bad enough in itself, in that it punishes the regular consumer, without stopping anyone from making a slightly less legal download from isohunt etc.

Second, they use online activation. You can only activate the game online twice. What the fuck? Twice? Oh, yeah, their uninstaller connects to their server and resets the thing, yeah… So in short, every god damned time I need to uninstall the thing I need to make real fucking sure the drunken midgets running my ISP don’t press the wrong button? Bah, good luck with that. My internet connection is twitchier than a spastic on cocaine rehab. And what happens if Windows works its magic (crashes horribly) and I need to urgently format everything and begin anew? It’s been known to happen (and no, I’m not an ordinary user. XP, properly set up, almost never crashes for the normal user. But I’m not one, so just drop it). Then, my activation is lost forever!

This is so damn stupid I don’t even know where to start.

  • It will only prohibit the legal users from accessing their copy, just as the only people who’ll need to have their game CD/DVD in the drive are the same legal users. Soo, a crack and keygen will come out, and then the slightly less legal community will have all of the benefits, and none of the hassle.
  • Treating customers this way is so wrong it’s ridiculous. It’s practically driving people to illegally downloading the game.
  • I don’t want weird drivers or rootkits on my computer. Seriously, I don’t. I don’t feel comfortable having that kind of crap sitting there, collecting data on my habits. Sure, I got a firewall – but hell, it’s the principle.
  • I don’t want my DVD-rom ruined by forcing it to read damaged sectors. I paid good money for my computer, I put it togeather myself, and I don’t like it when companies thing they have the right to ruin my property. Property is theft, indeed.

When the game is old enough to be sold in shops specializing in used games, I’ll probably buy it. The graphics are astounding, and the aesthetics even more so. The game seems like fun. I really want to buy this one, helping the developers, etc – but by golly I Will Not Spend Money On DRM! I will not help these people justify their crappy schemes using my purchase as validation. And from what I heat, many others say the same thing: This aggression will not stand!

More Minkata

Hrrm. Did the last two parts today. Got my stone ring. Hooray for me. There were some difficulties along the way – such as me having missed the fact that if the absolute coordinates are both in the negative, one must ass 180 degrees to the resulting polar coordinate. I spent an hour figuring that one out – my sketches claimed I should go around 210-220 degrees, but my trusty OpenOffice Cals sheet claimed 32. 180 added to 32 is 212m which was right on the money.

Continue reading More Minkata

Keyboard jockeys and guitar heroes

Found Frets on Fire a while ago, and loved it. Guitar Hero using a keyboard as a guitar? Incredibly nerdy, and I loved it. My old keyboard, already old and worn, was chucked for a new one which has the functions keys closer togeather (as F1-5 are used extensively in FoF). Logitech Ultra-Flat is a really neat keyboard. No flashing gadgetry or idiotic multimedia keys or whatever the heck people seem to find necessary in a friggin’ keyboard nowadays.

Continue reading Keyboard jockeys and guitar heroes