OCaml Hacking Day in Chennai!

by Isabella Leandersson on Nov 9th, 2023

It is a truth universally acknowledged, that a programmer in possession of a free Saturday afternoon must be in want of a good old OCaml hacking session. To address this pressing need, we recently hosted another OCaml Hacking Day event – this time at our Tarides India office in Chennai. We had a total of twelve hackers with varying levels of experience participating. Everyone gathered for talks, snacks, mingling, and most excitingly some hands-on hacking!

A Talk and a Welcome

People began to arrive at the office at 14.30, getting themselves situated in the dining room (probably admiring all the beautiful plants on the way). To kick things off, KC Sivaramakrishnan gave a talk welcoming the participants and introducing them to OCaml and Tarides.

KC is sitting on a bar stool with his laptop open in front of him on the right hand side of the image. He is speaking and making a gesture with his hands, looking to his right towards his presentation slide. The slide is at the centre of the image, and it says OCaml Hacking Today with some smaller bullet points beneath the heading. There are two other people in the image also looking at the presentation slide, both sitting on chairs on the right hand side behind KC.

For the uninitiated: we’re a tech company of over 70 people from across the world, in countries including Denmark, Spain, USA, Australia, and Finland. This is in addition to our three main offices in France, India, and the UK. KC further explained how we focus on building robust and high-performing systems in OCaml. In a nutshell, this includes working on big features like OCaml Multicore; the OCaml Platform with build, package, editor, and documentation tooling; cutting-edge technologies like Mirage and SpaceOS; and finally on community-focused projects including OCaml.org and the maintenance of essential OCaml libraries.

With introductions out of the way, KC moved on to the heart of what it means to contribute to open-source projects. He likened it to maintaining a public garden, a useful simile that emphasises the key aspects that make open-source ecosystems successful. In open-source, you need to work collaboratively, balancing the needs and wants of the many with your own interests. Open-source community projects are designed to benefit not just the contributors but also others in the community who may not be part of that particular effort. Projects also (hopefully) outlast just one contributor: as more people join and care about something, it takes on a life of its own. Finally, open-source community projects require that participants allot significant amounts of time toward maintenance.

Public gardens also require a sense of community planning and collective responsibility. No one person can (hopefully) put down a pool or an ice rink in a public park just because they want to, it has to benefit the entire community that uses it. For public gardens to retain their value, a group of people have to take on necessary but unglamorous tasks: weed pulling, leaf raking, bulb planting, and so on. A garden that’s properly maintained and cared for can bring value to an entire community for multiple generations.

This idea is particularly impactful for people who are used to working on code in individual projects that have distinct ‘beginnings’ and ‘ends’ – for example university students who work on things in class. The public garden simile helps us understand the traits that define open-source systems and make them beneficial.

Lastly, KC encouraged everyone to get stuck into some hacking – inspiring several participants to make their first open-source contribution during the day!

Five people are sitting outside on a large covered roof terrace. They are gathered around two coffee tables with their laptops. Three of them are having a discussion, and the two others are looking at a laptop and focusing on that. There are several potted plants along the railing of the terrace, and we can see the wall of a white house in the background as well as a tree.

Get Hacking!

To make things as easy as possible for the participants, the engineers at the Chennai office made a great list of projects suitable for different experience levels. Each project had a description, a difficulty level from one to five, and any extra references that could be useful. Everyone would pick a project and get started, with Sudha, Shakthi, and KC on standby to help out if anyone got stuck.

An impressive amount of contributions came out of the Hacking Day, with several pull requests created by the end of the session:

  • Multicore Tutorial on OCaml Effects: There were several fixes to the Multicore tutorials on effects, updating links and information to accurately reflect current information after the 5.1.0 update.
  • Multicore Tutorial for parallel programming: This PR adds a new section describing how to use Olly for instrumentation if the user is running OCaml version 5.0 or later.
  • Updated OCaml 5 readme: An update to the OCaml 5 readme to install OCaml 5.1.0.
  • Runtime Event Tools: Added more information about GC-Stats to the Olly Manual Page.
  • TSan: One participant used TSan to identify some races in Saturn’s test-suite!
  • OCaml Trunk: This PR adds a noalloc annotation to a function. This optimisation makes the function run faster and will help in circumstances where it is being called many times in one program.
  • Domainslib: Adds parallel versions of commonly used Array iterators.

Snacks & Swag

We couldn’t let our visitors leave hungry or empty-handed! There was a delicious assortment of samosas in the afternoon and of course pizzas in the evening. Having food together was a great opportunity for people to have discussions and share their experiences even after the main hacking was done.

Five women are seated around a dining table on the terrace having food. The angle is from head of the table looking at the other end. One woman is looking into the camera and smiling. In the background are two young children playing. The wall behind the table is white, and to the right is a banister behind which is the white wall of another house.

We also gave attendants an assortment of swag to take home – including a t-shirt, custom keyrings, stickers, and flyers.

A satchel type back with a black-and-white chevron design and a brown handle and shoulder strap lies on a white table. Attached to the bag is an OCaml keychain,which looks like a black square with the orange OCaml camel silhouette on top. Next to the back is a set of keys which also have the same keychain attached.

Until Next Time!

It was great to see such interest in OCaml and open-source programming – hopefully it has given everyone a taste for more. We look forward to seeing more people attend our Hacking Days in the future, so keep an eye out for future announcements. You should follow us on X (formerly known as Twitter) and LinkedIN to stay up-to-date with what we’re up to as well as when we host events.