Tarides Logo

Engineering Blog

Blue lockers, text "EDUCATION CHANGES THE WORLD."

International Disability Day 2023: Why It Matters

When I was in my early 20s, I developed a chronic illness that (amongst other things) has affected my mobility. Becoming disabled is an eye-opening experience, as it makes you acutely aware of two things: First, there are many ways in which society genuinely tries to help people with disabilities, a…

Isabella Leandersson

Isabella Leandersson

Communications Officer

Two dogs on a Zoom call; left with yellow, right red.

How to Install OCaml 5: A Video Tutorial

Have you had difficulty installing OCaml for your projects? We have created a video tutorial showing you how to use Opam to install OCaml on Linux and macOS. All you need to complete the tutorial is a computer running either Linux or macOS, and an internet connection. By the end of the tutorial you …

Isabella Leandersson

Isabella Leandersson

Communications Officer

A group of 13 people smiling indoors.

OCaml Hacking Day in Chennai!

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 t…

Isabella Leandersson

Isabella Leandersson

Communications Officer

Modern library, staircases, bookshelves, people, seating.

Tutorial: Building a Browser Extension With Irmin

Irmin is a collection of OCaml libraries that makes it easy to build applications with Git-like data stores. We recently released irmin-client and irmin-server as official Irmin packages. These packages open up a new way to use Irmin by implementing a custom protocol that lets you write a client app…

Horses racing with jockeys in colorful attire.

Off to the Races: Using ThreadSanitizer in OCaml

OCaml Multicore opened up a new world of performance for developers, something that Nomadic Labs has tested with great results. Rather than relying on one core to do everything, the program can take advantage of multiple cores simultaneously for a significant performance boost. With new programming …

FB

Fabrice Buoro

Senior Software Engineer

Olivier Nicole

Olivier Nicole

Senior Software Engineer

Isabella Leandersson

Isabella Leandersson

Communications Officer

Colorful speech bubbles with various emoji faces.

Prioritising Mental Health at Tarides

In a world that never stops, it's easy to get lost in the hustle and bustle of daily life, often overlooking the importance of maintaining our mental well-being, one of the most vital aspects of our existence. Especially on World Mental Health Day, observed every October 10th, it's crucial to reflec…

Christine Rose

Christine Rose

Technical Writer

Toy green tractor on sand.

Porting OBuilder to FreeBSD

OBuilder is a tool for performing arbitrary, reproduceable builds of OCaml-related software within a sandboxed environment. It is used by the CI team at Tarides to provide OCaml-based Continuous Integration (CI) for projects like opam-repo-ci, ocaml-ci, and multicoretest-ci. Originally written for L…

Miod Vallat

Miod Vallat

Principal Software Engineer

Tim McGilchrist

Tim McGilchrist

Principal Software Engineer

Boat with eight rowers on a wavy sea.

Our Experience at Tarides: Projects From Our Internships in 2023

Internships at Tarides We regularly have the pleasure of hosting internships where we work with engineers from all over the world on a diverse range of projects. By collaborating with people who are relatively new to the OCaml ecosystem, we get to benefit from their perspective. Seeing things with f…

DK

Dipesh Kafle

Intern Software Engineer

SK

Shreyas Krishnakumar

Intern Software Engineer

Geometric brain with small metallic spheres.

Kcas: Building a Lock-Free STM for OCaml (2/2)

This is the follow-up post continuing the discussion of the development of Kcas. Part 1 discussed the development done on the library to improve performance and add a transaction mechanism that makes it easy to compose atomic operations without really adding more expressive power. In this part we'll…

Vesa Karvonen

Vesa Karvonen

Principal Software Engineer

Dark room, hanging lights, silhouetted people.

Kcas: Building a Lock-Free STM for OCaml (1/2)

In the past few months I've had the pleasure of working on the Kcas library. In this and a follow-up post, I will discuss the history and more recent development process of optimising Kcas and turning it into a proper Software Transactional Memory (STM) implementation for OCaml. While this is not me…

Vesa Karvonen

Vesa Karvonen

Principal Software Engineer

LEGO figure in blue outfit, red helmet, gray background.

OBuilder on macOS

The CI team at Tarides provides critical infrastucture to support the OCaml community. At the heart of that infrastructure is providing a cluster of machines for running jobs. This blog post details how we improved our support for macOS and moved closer to our goal of supporting all Tier1 OCaml plat…

ME

Mark Elvers

System Administrator

Satellite over ocean and desert landscape.

OCaml in Space - Welcome SpaceOS!

Our mission is to build sustainable and secure software infrastructure that will not only work for decades but also positively impact the world. This includes our work on essential open-source libraries and tooling in the OCaml space, but also extends to include cutting-edge innovation through Mirag…

Miklos Tomka

Miklos Tomka

Head Consulting Services

Busy market square with people, stalls, buildings.

Reflections on the MirageOS Retreat in Morocco

Introduction Since we are a hybrid remote and distributed company, everyone at Tarides knows first-hand how important in-person retreats are for collaborating on software development. They give us a chance to focus more deeply on our work, collaborate closely, and learn from one another. We are part…

Antonin Décimo

Antonin Décimo

Senior Software Engineer

Isabella Leandersson

Isabella Leandersson

Communications Officer

FB

Fabrice Buoro

Senior Software Engineer

Christiano Haesbaert

Christiano Haesbaert

Principal Software Engineer

Jules Aguillon

Jules Aguillon

Senior Software Engineer

Sonja Heinze

Sonja Heinze

Senior Software Engineer

Blurred pink and blue light streaks on black background.

OCaml-CI Renovated

OCaml-CI started with the goal of making a better continuous build system for OCaml projects. When we began in 2019, the goals were clear: it should provide a zero-configuration experience for OCaml projects using opam and Dune, and it should use an incremental architecture to avoid expensive recomp…

NK

Navin Keswani

Principal Software Engineer

Tim McGilchrist

Tim McGilchrist

Principal Software Engineer

Blue cubes with white symbols, arranged in a grid.

Optimising Archive Node Storage for Tezos

For the past few years, Tarides has been responsible for the storage component of Tezos, from L1 and L2 shells up to the Tezos protocol. In 2022, our main focus was on improving storage performance and UX for running nodes and bakers. Our efforts resulted in significant improvements, including reduc…

Large group posing; letters "MDCTN23"; banners.

OCaml at MinidebConf TN 2023

MinidebConf TN 23 was organised by Debian Developers and Villupuram Linux Users Group (VGLUG) as a precursor to DebConf 23 in September at Kochi, India. I had an opportunity to attend and speak at MiniDebConf TN. I presented two sessions, one built on our experiences of introducing a Code of Conduct…

Sudha Parimala

Sudha Parimala

Senior Software Engineer

Man in red jacket near presentation slide.

Compiler Hacking in Cambridge is Back!

What’s the best way to spend a Friday evening? We think most people would agree that hacking on OCaml is pretty much at the top of that list (although full disclosure, our sample size for this data could be larger). On Friday the 24th of February, Tarides’s UK office hosted an evening of compile…

Isabella Leandersson

Isabella Leandersson

Communications Officer

Tents and campfire in a forest at night.

Lambda Retreat Report

Today we're taking a little pause from our OCaml 5 series to talk about a programming retreat. I spent a week in the woods with fellow programmers at the Lambda Retreat. It was a wonderful way to explore the nature of computations, abrstractions, and paradigms. Although I mostly work in OCaml, it wa…

Sudha Parimala

Sudha Parimala

Senior Software Engineer

Hands typing on a laptop keyboard, blurred cup.

Engineer Spotlight: Sudha Parimala

For our third and final Engineer Spotlight, we interviewed Sudha Parimala, a Tarides engineer who works primarily on the Multicore Applications team. She talks about what lead her to become an OCaml programmer and why she's excited about OCaml 5, as our blog series on Multicore OCaml continues. Chr…

Christine Rose

Christine Rose

Technical Writer

Sudha Parimala

Sudha Parimala

Senior Software Engineer

Plants with small pink and white flowers in a field.

Engineer Spotlight: Zach Shipko

Tarides engineer Zach Shipko answers a few questions about why he decided to learn OCaml and why he's particularly excited about the OCaml 5 release. In celebration of OCaml 5, we've interviewed several engineers about their personal experience with the language and what features they enjoy. It's a …

Christine Rose

Christine Rose

Technical Writer

Zach Shipko

Zach Shipko

Senior Software Engineer

Two camels walking in a sandy desert landscape.

OCaml 5 Multicore Testing Tools

The new version of OCaml 5 is here! It brings the ability to program multicore applications and to maximise our usage of all the CPU cores without a global lock getting in the way of performance. What's most exciting to me though is that we have a whole new way of writing... bugs! And with so much p…

AW

Arthur Wendling

Principal Software Engineer

Square metal framework with blue sky background.

Advanced Merlin Features: Destruct and Construct

Merlin is one of the most important tools for OCaml users, but a lot of its advanced feature often remain unknown. For OCaml newcomers who might not know, Merlin is the server software that provides intelligence to code editors when working on OCaml documents. It allows one to easily navigate the co…

Ulysse Gérard

Ulysse Gérard

Principal Software Engineer

Camel adorned with colorful decorations. Desert backdrop.

OCaml 5 With Multicore Support Is Here!

It's here! It's finally here! On Friday, 16 December 2022, the OCaml community announced the official release of Multicore OCaml! From the beginning, Tarides has been deeply involved in OCaml's evolution, so we're very proud to present OCaml 5! Our work with the myriad of academics, industrial devel…

Christine Rose

Christine Rose

Technical Writer

A ship with sails near ice; a camel on ice.

Hillingar: MirageOS Unikernels on NixOS

NixOS allows reproducible deployments of systems by managing configuration declaratively. MirageOS is a unikernel creation framework that creates targeted operating systems for high-level applications that can run on a hypervisor. By building MirageOS unikernels with Nix, we can enable reproducible …

RG

Ryan Gibb

Software Engineer

Camel close-up with desert background.

OCaml 5 Release Candidate Now Available!

We're in the home stretch for the full OCaml 5 release. Multicore is almost here! Yesterday its Release Candidate (RC) was announced on the OCaml Discuss, which is the final step before the major release, expected before Christmas. To learn more about the exciting features coming with OCaml 5, you c…

Christine Rose

Christine Rose

Technical Writer

Silhouettes of camels and riders on a blue background.

OCaml 5 Beta2 Release

Just about a month after the OCaml 5 Beta release, the OCaml 5 Beta2 version has been released, taking us one step closer to the full OCaml 5 with Multicore release later this year. The OCaml community's collaboration is coming to fruition! Although we're not quite ready for the RC1 (Release Candida…

Christine Rose

Christine Rose

Technical Writer

Advent calendar squares with numbers and decor.

Solve the 2022 Advent of Code Puzzles with OCaml

Too many programmers only know OCaml through a functional programming language overview course at university. They erroneously believe OCaml is used primarily in academia rather than in the real world. Not only is OCaml already used in several prominent businesses, it can also be used for fun projec…

Christine Rose

Christine Rose

Technical Writer

Auditorium with text about Open Source India.

OCaml 5 at Open Source India 2022

With OCaml 5 just around the corner, it's been a really exciting year to attend conferences all over the world. Just recently, I presented some highlights of the OCaml 5 update, building on KC Sivaramakrishnan's great keynote address at the 19th annual Open Source India 2022 conference. Since Taride…

Shakthi Kannan

Shakthi Kannan

Senior Software Engineer

A leafy branch in a clear glass jar with water.

Towards Minimal Disk-Usage for Tezos Bakers

Over the last few months, Tarides has focused on designing, prototyping, and integrating a new feature for Tezos bakers: automatic context pruning for rolling and full nodes. This feature will allow bakers to run Tezos with minimal disk usage while continuing to enjoy 12x more responsive operations.…

Room with arched windows, people inside, plants outside.

The MirageOS Retreat: A Journey of Food, Cats, and Unikernels

MirageOS is an OCaml ecosystem to construct unikernels, i.e., minimal operating systems. Here, we write about our social and technical experience at the MirageOS retreat in Morocco, as well as the vibe and wonderful organisational details. To sum up the technical part, we worked on different facets …

Jules Aguillon

Jules Aguillon

Senior Software Engineer

SB

Sayo Bamigbade

Intern Software Engineer

Enguerrand Decorne

Enguerrand Decorne

Senior Software Engineer

Sonja Heinze

Sonja Heinze

Senior Software Engineer

Jan Midtgaard

Jan Midtgaard

Principal Software Engineer

Lucas Pluvinage

Lucas Pluvinage

Senior Software Engineer

Yellow pipes on modern building against blue sky.

Up-to-Date Online Documentation

Into the Fire The OCaml ecosystem relies on various resources and infrastructure such as ocaml.org, OCaml Docker images, opam-repo-ci, that are built and deployed using OCurrent. OCurrent is a library to express workflows and keep things up to date. As many of these projects are created using the sa…

Étienne Marais

Étienne Marais

Senior Software Engineer