Monthly Archives: July 2013

A Brief History of COLLADA

collada-website-logo
Some of you might know that COLLADA was not supposed to be used as an end-format in itself (like say OBJ) but more as a interchange format. To quote Wikipedia,

COLLADA was originally intended as an intermediate format for transporting data from one digital content creation (DCC) tool to another application.

It was meant to solve the difficulty of using digital assets across different tools. For example, if I scanned a 3D point cloud and processed it in Geomagic, I want to be able to use the result in say, 3DS Max for further work. 3DS Max obviously cannot open Geomagic files, so most of the time, the DCC artist have to figure out the intermediate format that’s supported by both software, and use that as a mid-point to bridge the gap. That is, instead of A->B, you go through an intermediary X, via A->X->B.

While it sounds logical, it usually doesn’t work in practice. First of all, 3D formats are not like image formats, which are fairly standard except for headers, compression etc. You can get pretty good results in image format conversions. Even though you might get some loss in image quality, the result is usually fairly acceptable.

Once you go into 3D, lo and behold, the problem size explodes. There are many types of mathematical models for 3D representation – polygonal, point cloud, parametric, volumetric, etc. Even within one representation you have tons of parameters. Each software chooses how it wants to use and interprets those parameters, and it varies widely from software to software. The result is that moving digital assets across software is a pain. In fact companies exist to sooth those pain (Right Hemisphere, Okino).

Sony Computer Entertainment, being a game company, must have faced a lot of such issues. The solution it created was COLLADA, to fill the missing X that plagues the industry. In 2004, it generously donated COLLADA to the community. The competing format back in the days was X3D, the successor to VRML. X3D was mainly driven by the academia, and did not have the kind of backing COLLADA has. It happens that Google Earth was looking to introduce support for 3D models around that time. Previously, it could only support imagery and terrain data. By a stroke of luck COLLADA was adopted as the native 3D format – even though it’s actually an interchange format. SketchUp soon followed, in a somewhat clever move – it was acquired by Google shortly after. By then, Autodesk and the rest of the big boys were on-board and the rest, as they say, is history.

Splitting Thunderbird mailbox

Mozilla Thunderbird uses the mbox format, which makes it incredibly portable and easy to process. Unfortunately, it also means that all of your messages within a Thunderbird folder is in single file*. This can cause problems if you keep using a folder for many years. For instance I have a mbox file that is >1GB and it’s mounted in a network share. Opening, modifying, backing up takes quite a while. I finally gave up and decided to do something about it.

I wanted to organize my mailbox by year, while preserving its folder organization. A quick online search did not find anything I can use. So I whipped up my trusty PHP and wrote this.

https://github.com/boviner/splitmbox

Usual disclaimer applies.

* I’m simplifying here. If your folder contains subfolders, each subfolder actually has it’s own file