Tuesday, August 31, 2010

Go Blogger!

Yay for the newly added "Comments" and "Stats" tabs to Blogger (i.e. this blog's hosting platform). These are two tabs I've been been hoping would show up at some point. Yay!

On the downside though, I wish something would be done about the unreliability of the "Compose" WYSIWYG editor, which has a few glitches which are starting to get to me. So much so, that quite a lot of the time, I've picked up HTML again for creating the content here :)

Monday, August 30, 2010

Why I dislike Java (and you should too)

The Java Programming Language really doesn't have much going for it, apart from having been a favourite language for use in academic environments (in particular for undergraduate teaching) over the past decade or so. Having been forced to use this a few times for a few projects, I have to say that it has a few really rather-inexcusable traits for most practical usage.

Thursday, August 26, 2010

Bullet SoC - Experiments, Fixes, and More to Come...

So, the official GSoC 2010 period is over now, but that does not mean all coding activity on this project is stopped for good.

Leading on from where I left off last time, I've been conducting some experiments and tweaks with the "Wall" template, implementing some ideas for this that I didn't have time yet to do and investigating how to improve the stability of this asset in actual sims.

Tuesday, August 24, 2010

Code Refactoring...

It seems once every few months I need to go into "fixit" mode, especially everytime after taking a break for a few days. Today I've just finished fixing Keying Sets after they've been broken by batch-renaming madness again for the second time in as many months. Grrr!

This brings up an important point: "Code Refactoring" != "Code Redesign"

Monday, August 23, 2010

Deja Vu Strikes Again - Some more Blender 2.5 FAQ's

Following on from my previous set of Blender 2.5 FAQ's, here are some more FAQ's that are now cropping up (or that I missed from the original list). Enjoy.

Saturday, August 21, 2010

Regular service resuming soon...

After a week of rather frantic hacking, collecting experimental data (thankfully all via computer vs the hassles of experiments in the physical domain, but still there was some tedium there and all done in a rush), and writing and rewriting reports, assignments crush is now over (for a short time at least). Mid-semester break to the rescue again!

From Ilam Homestead

Wednesday, August 18, 2010

Build Systems in a Rush - A Quick Recipe for SCons (C-Code Compiling)

In general, I like using SCons more than makefiles. Why? Well, the following 3 points are a big drawcard:
  1. It's files are based on Python. So no funking around with yet another ancient/archaic shell language
  2. SCons works nicely (as a 1-step process) on a Windows computer once installed, without needing special shells or whatnot. This practically knocks out CMake (it's a two-step process, which ends up creating makefiles or msvc projectfiles, both of which have their downsides) and standard mingw-makefiles (which I cannot ever seem to get running without using a special msys shell, and/or other arcane invokations) 
  3. Being able to show simplified progress info instead of blurting out compiler commands every time (i.e. "Compiling XYZ" vs "gcc -o afkhaf aghaffoof.c -lfghj -lagfhkja -akfha -Wah -Wajgh -aekfh -laksighf-lajfhjf -alkhaf- lakghaf- -lajigfb -lafgjh..."). Sure, this is doable with makefiles too, but it seems that everytime people do it there, it needs more environment variables to be set. Meanwhile with scons, we can easily turn it on/off with command-line options. No wonder so many people miss and ignore compiler warnings, leading to some very weird bugs in their code (also a factor leading to the issues in a previous post).
Despite this, at times I have resorted to using one of my home-brewed py-scripts to just compile some simple stuff when I've been too lazy to read through the SCons docs to get things done (or when there were some problems which I couldn't fix in time).

Fortunately, this time it didn't happen, so now I think I've finally got a reasonable scons template. The template included here is what I'm using to compile the code for one of my assignments, btw.

Tuesday, August 17, 2010

Bullet SoC - Last minute goodie

Putting the "Construction Toolkit" back into "Bullet Construction Toolkit", I present:
Rigid Body Templates

 Templates can be accessed from the 'Add' menu (Shift-A)

Ultimately, the intention behind these is to allow you to quickly add a set commonly-used of Rigid Body setup to your scene. That is, setting up such a setup would otherwise be quite tedious, as you'd need to create several objects, or similar.

Monday, August 16, 2010

Bullet SoC - It's not over yet...

The official SoC period is quickly drawing to a close, coinciding with the weekend before a raft of assignments are due. The weather over the past two days has been equally dreary (as assignment death marches go)...

Wintry Weather

Unfortunately, this has meant that I haven't had time to make a few last minute tweaks I'd have liked to do "within" the official timeframe. However, rest assured that I'll be working on those again under a hopefully clearer frame of mind in a week's time.

So, as the saying goes, it's not over until the fat lady sings. Or in this case, the code is in trunk and suitable for widespread consumption. :)

Friday, August 13, 2010

Graph algorithms are fun

I have recently rediscovered (yet again) the joys of coding graph algorithms.

It's been a few years since the last time I worked on some of them: for example, I "reinvented" DFS (depth-first-search - I didn't really know about this concept at the time) as part of an implementation of a graph representing a set of possible chord progressions with weights/probabilities that a node should be randomly visited, to be used in a automated music generator.
Consider the nodes
Walk along spanning arcs
Lost in traversal
Maybe one day, I'll release that library of them that I've been building up. Then again, it means someone else might not have this fun themselves.
And day by day the monster grew,
byte by bite,
y wiser too.
IMO, graphs are one of the most versatile (and useful) data structures out there. Since practically every other interesting data structure is practically a sub-case of graphs, they're my favourite data structure.

Tuesday, August 10, 2010

Happy Birthday to Me!


Monday, August 9, 2010

You know your software is bad if...

Here is a list of traits of (mostly) modern software, which are not a good sign and/or contributing to our eventual downfall.

Bullet SoC - Squashing those bugz

I've just been doing a bit of a bug-squash sprint tonight, dealing to a few reported issues which have lingered in this branch for a while. If you've been finding any bugz in particular, please test with a recent version, before reporting on here.

Saturday, August 7, 2010

Bullet SoC - Winds of Charge

After a bit of a development hiatus due to some unforeseen troubles in trying to get the Manipulator API up and functioning (as of time of writing this, they still haven't been resolved), it's time for some new cool stuff and updates here again. So while I'd have liked to get the Manipulator API finished during/as part of this year's SoC, it looks like it wasn't meant to be...

Thursday, August 5, 2010

Google Wave - Victim of HCI's "Uncanny Valley" or Just Another Failed Software Project?

It seems that Google's decision to discontinue Wave has been has been making the waves (excuse the pun). Why did this happen to a product that was promoted as potentially being "the next big thing"? A product whose tech demo wowed the world, and had people clambering to get their hands on an "exclusive" invite to give it a test run themselves?

Here are some of my thoughts about some of the factors that contributed to it...

Sintel T-Shirt

In the mail yesterday...

Tuesday, August 3, 2010

Tips for Editing Animation in 2.5 - Part 1 (Selecting Keyframes)

Having been asked about some of these things by various animators over the past few months (including members of the Durian team, and teams America and Argentina who also participated in this and other prominent projects), I thought I'd mention in passing some of these tips which may hopefully speed up your animating workflow in Blender 2.5.

This (should be) the first of a few posts dedicated to this topic.

Monday, August 2, 2010

Duck Shooting Season

From Ducks 2010

It's a pity that these ended up a bit OOF (out-of-focus) + some camera shake (though not as bad as sometimes, as is usual for this P&S camera)