Chouest Aiviq

My team was hired to design and install a new control system into a brand new, high tech, very large and expensive ice breaker being built by Edison Chouest Offshore. The name of the ship is Aiviq (eye-vick) and can currently be found in operation north of Alaska.

MDF Library in ANSI C

I wrote a library in ANSI C that implements the MDF format. The library provided public functions to add new data definitions, write the header, and add data to an unsorted MDF file. It also provisioned for space limitations on the storage device and unexpected power loss.

The code was written using structs and as much function and data hiding as ANSI C allows, so it was fairly object oriented. It also allocated memory dynamically using malloc, calloc, and realloc, and while a memory leak was not a concern because the logger would only be shut down on total loss of power, care was still taken to free any dynamically allocated memory appropriately.