OcLaunch Launch automagically

2015 in review

OClaunch blog

What append this year?

In this post, we will see how the project went further during 2015 and expose what is planned for the coming year. A few documentation for the services used is provided too.

This report has been delayed by unexpected problems with the new website. Apologies for this. It’s dated with the original planned date.


You may jump to the new functionnalities.

Huge release coming

During 2015, according to the figures from git, we worked much less on the code than a year before.
Writing code from an empty state is faster than adding lines in an existing codebase. However, from the user point of view, the second is the very one to add functionalities. This way, the meaningful figure in this case is addition and deletion in an existing codebase. We will thus focus on the two last bunch of six month.

Git statistics

We can see that the last period (10/7/15 → 31/12/15) was much more productive than the former (1/1/15 → 21/6/15). This a consequence of the release of a major stable version during the first one, which forced us to improve the website and the documentation. As a result, the last six month, we coded much more and we can say that an instable version with a lot of new functionality is coming. Let’s take a look at the figure now.

6 month chunk

These figures comes from git diff --stats first-commit-for-the-date..last-commit-for-the-date (taking last line). HEAD was a2d0963f21ea81cc913289e71cda9c0f8d852712.

22/7/14 → 31/12/14 1/1/15 → 21/6/15 10/7/15 → 31/12/15
Files change 37 53 49
Insertions 8876 1853 3497
Deletions 89 165 243
Diff from version 2

We saw above that the six month cut is great to show the “back to code” movement in the second part of 2015, but it does not give a clear vision of changes between the different version. With the following command, we got figures showing the effort on the new version.

git diff --stat v0.1.3..v0.2.2 | tail -n 1
59 files changed, 2624 insertions(+), 157 deletions(-)
git diff --stat v0.2.2..HEAD | tail -n 1
54 files changed, 3558 insertions(+), 316 deletions(-)

Or, in a table:

V0.1.3..v0.2.2 (1) V0.2.2..HEAD (2)
Files change 59 54
Insertions 2624 3558
Deletions 157 316
In a nutshell
In a nutshell

In a nutshell

New functionality & a bonus version

We described how the new functionality affects the code, but what are they?
Mainly, tmp file format was rewritten, to be more flexible. Command line parsing was rewritten as well, it’s now cleaner and would support auto-completion.

There will be a unplanned version. In the code, we expected to deliver a breakthrough version fast. Hence, the working version has been set to 0.3.1, instead of 0.3.0. However, due to the large amount of changes we saw below, a pre-version would improve the stability and be a great occasion to get feedback from the user. As a result, the “chrismas version” would be called v0.3.0-pre1 and delivered in a few weeks, maybe in a few days.

Expect more about functionalities in the release post of the unplanned version.

Community aspects

Let’s speak of humans. We are on Freecode.club.


We have got a new website, at oclaunch.eu.org. In addition to having a shorter domain, it was the perfect chance to fix some issue. Beyond shorter and more credible urls, the new website allowed to change some them, especially for the licence (/foss.html → /floss-under-cecill) or the documentation (/wiki → /doc)

The old website is kept as-is, for archive and to avoid dead links from other places, so update your bookmarks to keep in touch!


In 2015, we have got a new promotional website, easy to edit, give us feedback and contribute by editing the description. You have a role to play with the external point of view you have. ocla.ml will then be used to promote the project thanks to its ultra short url. We will ask you to share it in 2016.


You can now edit the documentation and send pull request to improve it. It’s now that the wiki has been renamed documentation that it’s truly editable by everyone ;-). Actually, the name “wiki” comes from the import of the Gitlab wiki, and we just copy-pasted it.

Mailing list

Get in touch!
To be sure do not to miss any version, especially the unexpected one, we created a mailing list for announces. See the mailing list page to subscribe. This is a very low traffic mailing list, moderated, only a few developers can post on it.

What expect in 2016?

Many new version

Expect up to 3 version:

  • a preversion, 0.3.0-pre1, followed by other preversions if they are many bugs,
  • the breakthrough 0.3.1 version, with new configuration format, logging of command launched & more,
  • Some 0.3.x to correct bugs if necessary, few improvement if possible.

Hopefully, there would be a beta of 0.4.x if we get help.

Engage yourself

As usual, contributions are welcome, not only for the code!

And a bonus: documentation on migration

We will describe below how we linked domains (ocla.ml and oclaunch.eu.org) to a tuxfamily hosting.

Freenom free domains (like .ml, .tk…)

Using Freenom services, you can use a toplevel domain for free. Some countries generously give there TLD, for free to register one year, or for fee if you wish to own it longer. Further more, .ml is pretty accurate for OCaml program, since source-code files end by .ml.

Freenom setup and issues

Once you have registred with Freenom, have rented your domain, you can display your page at your domain by two ways: Url redirection: Redirect the domain (let’s call it domain.ml) to the page. The client doesn’t see your domain after that. Iframe embedded: Embed your page with an iframe, so the user can stay on your domain. However, when he navigates on your website, the url doesn’t change, and this causes problems, especially when sharing or with web crawlers. A solution would be to set up the domain.ml DNS, to use it as any pay-domain. We describe it with Tuxfamily below.

DNS setup

On one hand, we need to setup freenom dns A record to point to the Tuxfamily web server. You can get the ip-address in the wiki. On the other hand, you need to request by Tuxfamily a Webarea at domain.ml. Finaly, upload your files!

Freenom hand

Freenom hand

Tuxfamily hand

Tuxfamily hand

Now, you are convinced that it is pretty easy!

Eu.org service

It was even simpler to setup oclaunch.eu.org, since eu.org rely on external DNS (tuxfamily’s ones here) and performs tests on your installation. However, it’s pretty like ocla.ml setup for the rest.

Be aware that it takes a few day after asking a domain to get it.