From Rosetta Code
My Favorite Languages
Language Proficiency
Basic Very Rusty
C++ Rusty
Excel Very Active
JavaScript Active
PHP Very Active
Modula-2 Very Rusty
PostScript Rusty
REALbasic Rusty
Relation Creator
SAS Active
SPSS Very Rusty
SQL Active
Swift Active
Visual Basic Rusty
VBA Very Active
Xojo Very Active

My name is Matthias Bürcher I am a swiss filmmaker and needed programming always as a tool to work with filmmaking.

In the 70s, I learned some Basic in school and wrote a program to create trinominals (binomials in 3D-space) and helped a colleague to write Conway's Game of Life.

In the 80s I used Macintosh from the beginning at the Zurich University. We learned Modula-2. I also used a little bit SPSS for statistics and SAS to create plots of the results.

In the 90s I wrote a Filemaker database for the video library of the film school. For the first mixing session I exported the timeline of ProTools to Excel and used macros to create a mixing sheet. I got acquainted with the Excel macro an VBA and wrote Excel functions to calculate with Timecode, which were widely used in the film industry. I wrote also an EDL-Writer to deal with edit lists.

Beginning 2000, I discovered REALbasic and wrote the first standalone application. A timecode calculator and then Belle Nuit Subtitler. It was the first Macintosh program that handled subtitles. I sold the program on Kagi into more than 50 countries and it paid our rent for many years.

I worked two years at a Digital Film Research project and developed programs for the Swiss Effects Tape to Film recorder. This was the first time for me that software had to interact with hardware in a time critical way.

I made the step to C++ to write several plugins for Avid Mediacomposer with the canadian Andre Brunger from 3prong : ColorFix, SpeedRamp and Wavescope. We sold the Waveform monitor and vectorscope in Wavescope to Avid and it is still present in the Avid Mediacomposer user interface after many years.

I met Jeff Kreines from Kinetta and developed for him with REALbasic the software to run the Kinetta Tape to Film recorder which was sold to the Library of Congress.

At the same time, I began also to develop websites with PHP and MySQL. I wrote database based websites for the film technician union SSFV and for an agenda on theatres in Switzerland. When I founded Artfilm, I wrote first the database based website using the same codebase. For Artfilm I wrote also a VOD-Player Filmkey Player with REALbasic. This was the first player for both Mac and Windows that could download and playback encrypted videos.

Around 2010, I started to see the limits of PHP-MySQL websites: As the Artfilm website went well, there was both a performance and a flexibility issue. CMS were still very young, I evaluated Drupal, WordPress, MediaWiki, but ended to write my own CMS SofaWiki based on pure PHP without MySQL which made it extremely portable. I used MediaWiki Syntax, added multi-language handling, user rights, and then made an extensive use of semantic fields to convert SofaWiki in a database.

This database needed a query language. I wrote a first query function, based on SQL, but completely relational (no duplicates), stack based and with RPN calculations.

2012 I worked in a film fund that needed a online portal for applications. I wrote on top of SofaWiKi a Guichet électronique which was mainly using the model of a mail application. Producers send applications via forms (messages), the administration replies with messages, too. Together, a timeline is built for each film project. Producers and administration uses the same interface.

At Artfilm, we moved from download to streaming as the bandwidths exploded. So we gave up Filmkey Player which became also obsolete as Apple dropped QuickTime support more and more. But there was still a need to download films to portable devices. After some reticences, I moved to Swift to create my first iOS application Artfilm Player and Akademie Player. I must say I kept Swift to the minimum and created content either with Javascript or from the server.

2016 I started to work at the federal administration, I had to use a PC and I could not install applications any more. So I turned back to the only sandbox available which were macros in Excel. I wrote in VBA Relation for Excel, that allowed to do relational algebra within Excel tables. This allowed me to structure the work I did in administration.

The work I did in Relation for Excel made me think about the database model in Sofawiki. I made an excellent online course at Standford (Introduction into Databases) and refactored the language I used for the query function. This was the creation of Relation, a database language inspired from SQL, but closer to relational algebra. I created a first version in JavaScript and then a complete editor in Xojo. For this I needed also to write an expression compiler and a line handler for the relation code. After 8 months, the language looks mature for a first release. The Relation language is now ported to Sofawiki where it is an alternative to the query function.