Category Archives: Uncategorized

Writing blog posts through email client

So far I have used the capability to write blog posts mostly to send posts from my cell phone. Y’know, in order to publish photos from travel or something like that.

However, with a decent mail client comes the desire to try out sending occasional, well formatted posts via email client. So let’s see. Text can be, as expected, bolded, its color can be changed. Size can also be changed. Most importantly, I can easily paste images and they get published.
Since this works, I may send posts more often and maybe they can be more informative/insightful. Because logging into the interface of Blogger and writing stuff using that is, well … not fun 🙂
There does seem to be a slight glitch when sending _pasted_ screenshots, but well … Still, I can just not hold ctrl when making a screenie (on mac) and attach the shot which gets stored on the desktop.

Too bad I don’t know how to write tags for the posts 🙂

Mathematical perfection and piloting

I just wrote a larger piece for the “…zomg it works!” (a programmers’ blog in Croatian language) entitled “Mathematical perfection and piloting” (Matematičko savršenstvo i pilotiranje) so I’m inviting those of you following this blog, but not “…pa to radi!” to plug in and read it.

It’s quite long, but meh. Read it or suffer my wrath. You’ll suffer either way.

For those of you non-fluent in Croatian, hop on and read the poorly auto-translated edition. I don’t feel like rewriting it in English.

Axis aligned boxes on particle systems in Ogre3d and PythonOgre


/Users/ivucica/Developer/ogre/Mac/Ogre/../../OgreMain/include/OgreAxisAlignedBox.h:246: failed assertion `(min.x <= max.x && min.y <= max.y && min.z <= max.z) && "The minimum corner of the box must be less than or equal to maximum corner"'

In Cateia, we were getting this bug on one particular place in the game, related to a particle system in Ogre3D.
We use PythonOgre and we normally quite liberally throw around try..except blocks to catch issues. Most exceptions are caught properly on the Python level because PythonOgre wraps most Ogre3D exceptions. However, this is not an exception, this is an assertion.
Basically, particle systems in Ogre are interesting in that they automatically update their own AAB (axis aligned boundary [box]) for initial 10 seconds (after which they are presumed to reach their maximum size). You can change the length during which update will happen, if at all.
We have a particle system of water which falls to the ground. This means that at one point AAB becomes very, very small (or perhaps even inverses itself?) Since our game is a 2.5D adventure (2D backgrounds, 3D characters), we really don’t need AABs that much because only objects that are on scene are relevant.
So the solution is:
   aabInf=ogre.AxisAlignedBox()
   aabInf.setInfinite()
   self.ps.setBounds(aabInf)
   self.ps.setBoundsAutoUpdated(False, 0)
We expand to infinite boundary box, and tell the particle system not to update itself. C++ code is the same.

GNOME's disk usage analyzer Baobab in Debian

In case you’re looking for GNOME’s graphical equivalent of “du” command which provides a tree overview of disk usage of each directory, and you are a Debian user, know that program Baobab is located in package gnome-utils.

The publisher of this content does not allow it to be displayed in a frame

Got problem with this in Firefox 3.5?

To protect your security, the publisher of this content does not allow it to be displayed in a frame

If you have NoScript installed, that’s your problem. Either disable NoScript, or go to about:config and add your site to option noscript.frameOptions.parentWhitelist — for example, the default over there included https://mail.google.com/* but I needed http://mail.google.com/*.