Who?

Bertrand DelacretazMy name is Bertrand Delacrétaz, and I am currently working in the R&D department at Day, as a senior developer, after having been independent for 18 years.

I am a member of the Apache Software Foundation , served on the board of directors from 2008 to 2009, active committer on the Apache Sling project.

I am also committer, but currently inactive, on the Apache Cocoon, Apache FOP, and Apache Solr projects. I have also helped incubate the Apache Wicket, Apache Pig and Apache Tika projects, as a mentor, and I’m currently mentoring Apache ESME, Apache ACE and Apache Clerezza. That’s a lot of Apache something names, just to remind people that that’s how they should refer to our projects!

If you are wondering how to pronounce my name, you can hear me say it at the beginning of a recording of one of my talks.

More info, interviews, guest blog posts are linked from my virtual pressbook at del.icio.us.

Contacting me

Mail bdelacretaz () codeconsult (.) ch is the best way.

Short bio

Here’s my “official” short-form bio, last updated in September 2009:

Bertrand Delacretaz works as a senior developer in Day Software’s R&D group (http://www.day.com), using open source tools to create world-class content management systems. Bertrand is a member of the Apache software foundation, served on its Board of Directors from 2008 to 2009, and has been or is involved in the Apache Cocoon, FOP, Solr, Sling, Tika and ESME projects.

PGP key fingerprints

5EFF 2565 85AC 5FB6 07F6 D46A 77B6 B69A 9E4D CC6B
bdelacretaz@apache.org – CODE SIGNING KEY – created 10/2009

9E2F 96C6 40A0 731D 93BF 548E 37F6 8FF5 015A FC8A
bdelacretaz@apache.org – old key, still valid but deprecated

Interests

wordle-bd.250.jpgI like to design and write modular, reliable and meaningful software. Did you read the inmates are running the asylum? If not you should. Software and high-tech devices should be made for users, not the opposite.

I use Open Source tools and contribute to Open Source projects whenever possible.

I’m a firm believer in the Open Source development model as the best way to build reliable software. There’s space for closed software as well, but only in very specific situations, and even then the Open Source development model can be very successful, right here inside your company. The slides below are about this (and a video of the presentation is available as well).

I like to work with lightweight tools and systems, and make it as simple as possible – but no simpler (the quote is not from me).

Of course I have favorite technologies and tools as well, but they come second to the “primary mission” of creating useful things that actually work.

My work at Day Software

I haven’t written much about that yet, too busy working on cool stuff I guess. For now, I just have one post specifically about my activities at Day, to find out more you’ll have to browse around this blog. I also contribute to dev.day.com, the Day developer’s blog, from time to time.

1989 to 2006 – working as an independent

Here are a few projects that have been milestones in my career as an independent.

Solr indexer evaluation, customization and implementation

I have implemented a rich navigation system for videos using the Lucene-based Solr search server for a major Swiss media group.

This involves gathering data from various sources, transforming to a common XML indexable model (XSLT), writing glue scripts to trigger automatic index updates, extensive testing on a variety of search use cases, and coordinating a small team to make it happen.

Interface modules created for this project have been contributed to the Solr project.

Technologies: Solr, XML, XSLT, Linux scripting

Articles, talks and workshops

I gave talks at the Cocoon GetTogether 2003 and at lots.ch in 2004, about how to use lightweight tools (bugzilla, CVS, mailing lists, wikis, weblogs) to efficiently coordinate software teams. They have been well received, people tend to agree that The Open Source collaboration model is very useful for all kinds of projects, open, closed or even not software related.

I’m the original author of the Supersonic Tour of Apache Cocoon interactive tutorial, which gives an overview of the Cocoon Power Trio: Pipelines, Flow and Forms.

In 2006 I wrote an Introductory article about Solr for xml.com.

My other talks at the Cocoon GetTogether 2004, 2005 and 2006, and at the ApacheCon EU 2006 conference have also been well received, slides and/or papers are available online, recent slide decks on slideshare.

Since 2007, I’ve been speaking regularly at various events, including the ApacheCon, Jazoon, and OpenExpo conferences.

Bioinformatics: validated interpreter for DNA analysis

In 2005, I worked as Java architect and consultant for a genomics and bioinformatics company.

Working in collaboration with biology specialists, I have designed, implemented and tested an interpreter for a domain-specific language, to derive drug resistance recommendations based on DNA samples.

This involved very extensive automated testing (using JUnit and custom testing software) to validate the results against tens of thousands of reference samples, with 100% coverage and success requirements.

Another part of this contract was the support of the R&D team in the use of collaboration tools: CVS, bugzilla issue tracker and wikis.

Technologies: Java, JavaCC, JUnit, Ant

www.nouvo.ch, Cocoon-based CMS

Launched in September 2004 for the Swiss national television , www.nouvo.ch (available in French only) is backed by a lightweight content management system that I designed and implemented with a small team, based on Cocoon.

The nouvo CMS is used by journalists to very quickly create and publish multimedia stories, easily managing different variants of media files to publish the content on both the web and on mobile phones (wap.nouvo.ch).

The development cycle was fairly short, about seven weeks of programming work in total, first myself for three weeks to do the infrastructure and then four weeks with three additional programmers. Using the lightweight team coordination tools mentioned below proved once again to be a lifesaver with such a tight schedule.

Cocoon has shown its power as a very powerful and flexible framework to build this kind of system, and applying the simplest thing that works principle all the way through translates into a very usable and stable system.

Development of this system and website is ongoing, including video forums as mentioned above.

Technologies: Cocoon, Java, OJB, XSLT, MySQL, Linux

Linux-based interactive movie theatre

In 2003 I designed an implemented a Linux-based interactive movie theatre for the exhibition L’Histoire c’est moi, which was still touring Switzerland in 2008. There’s more info about it on my weblog. The system has been running very reliably from day one, people are happy!

Technologies: Linux, Java, Flash, BeanShell

300-user planning and workflow system

From 1998 to the present I’ve been working (on an off) as lead architect and programmer for a planning and workflow system for the Swiss Federal Chancellery. This is a 300-user system, not too complicated in functionality but requiring high availability.

It’s been interesting to evolve this from scratch in an iterative way, and seeing users and project managers convinced of the release early, release often principle.

This included starting the Open Source jfor project, an XML-to-RTF converter which was later integrated into FOP.

Technologies: Java, Enhydra, Cocoon, XSLT, FOP, jfor, SQL Server

Teaching software engineering

In 2002 I was contracted by EPFL for a practical software engineering class, where students worked in teams of five to design and implement a simulation game in Java.

It was very rewarding to see students open up to the world of real projects as opposed to textbook examples, and this started my interest for tools and techniques which make project teams work.

This followed another assignement at EPFL in 2000, where I taught web-applications modules and coached student’s projects as part of a postgraduate course named tools for PC and Internet applications.

I also teach regularly at comem.ch: XML, XSLT, Cocoon, web technologies, content management and student’s diploma work coaching.

verbalix

In 1998 and 1999 I was co-architect for this java-based audio recording, workflow and content management system, used by the Swiss Parliament to very quickly (while meetings are still going) publish the minutes of the Chambers on the web (“Amtliches Bulletin”). This system has received two prizes for its innovative design and functionality, and is still going strong with very little maintenance.

After that, I helped bootstrap the IT-Processing company, which is selling the system and has created lightweight derivative products based on the same technology.

Technologies: Java, RMI, XML, Enhydra, SQL Server

CuriaVista

In 1997, as Java was still in its infancy, I designed and co-implemented the CuriaVista system, also for the Swiss Parliament, to generate searchable HTML pages from a legacy database.

This included implementing a custom JDBC driver, page-generation servers and a custom multilingual query language (we speak four languages here in Switzerland), interfaced with a commercial search engine.

This is still running today, has required very little maintenance and has since been ported to a more modern database by the internal team.

Technologies: Java, JDBC, Servlets, Basis Plus, Microsoft Index Server

Wide-area data acquisition and visualization

From 1993 to 1996, I redesigned and did most of the implementation of a data acquisition and visualization system, used for road management in counties, airports and sometimes whole countries.

This involved portable software (Unix and Windows) for data acquisition, storage and GUI, and the implementation of several data communications and network protocols.

This system has been installed all around Europe, and is still used in several installations, with minor changes and very low maintenance requirements.

Technologies: C++, Unix, XVT portable GUI toolkit

Punching machine for street organ music

In 1991, I designed and implemented the control software (and part of the electronics – I started as an electronics engineer) for this machine. Starting from standard MIDI files, this computes the required hole positions and punches the cardboard music roll to recreate the music when played on the street organ.

This was my first C++ project, and led to teaching C++ in companies and schools from 1992 to 1999.

Technologies: C++, Visual Basic (frontend)

That’s it – thanks for reading!

Leave a Reply