Tarides Logo

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…

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 …

Fabrice Buoro

Senior Software Engineer

Olivier Nicole

Senior Software Engineer

Isabella Leandersson

Communications Officer

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

Technical Writer

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

Principal Software Engineer

Tim McGilchrist

Principal Software Engineer

Tutorial: How to Port Lwt Applications to Eio

Thomas Leonard and Jonathan Ludlam hosted a tutorial on porting Lwt applications to OCaml 5 and Eio at arguably the world's largest functional programming conference: ICFP. The tutorial is a great introduction to Eio, with a clear step-by-step approach that is accessible to developers of different e…

Isabella Leandersson

Communications Officer

A Year of SpaceOS: Showing the World the Benefits of OCaml

I have had the pleasure of attending some great conferences over the past year, where I have presented some of the latest and most exciting OCaml use cases developed at Tarides. With our new SpaceOS solution, Tarides can provide significant quality-of-life upgrades for industries that rely on satell…

Shakthi Kannan

Senior Software Engineer

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

Principal Software Engineer

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

Principal Software Engineer

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…

Mark Elvers

System Administrator

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

Head Consulting Services

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

Senior Software Engineer

Isabella Leandersson

Communications Officer

Fabrice Buoro

Senior Software Engineer

Christiano Haesbaert

Principal Software Engineer

Jules Aguillon

Senior Software Engineer

Sonja Heinze

Senior Software Engineer

Sandmark: Boosting Multicore Projects with Performance Benchmarking

Introduction In the realm of software development, continuous improvement is paramount. When it comes to Multicore projects, the need for thorough benchmarking becomes even more critical. This is where Sandmark comes into play. Sandmark, developed for the OCaml programming language, has proven to be…

Shakthi Kannan

Senior Software Engineer

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…

Navin Keswani

Principal Software Engineer

Tim McGilchrist

Principal Software Engineer

Making OCaml 5 Succeed for Developers and Organisations

OCaml recently won the ACM SIGPLAN PL Software Award. The award recognises a software system that has had a significant impact on programming language implementation, research, and tools. It is especially notable that 4 out of the 14 named OCaml compiler developers are affiliated with Tarides: Anil,…

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…

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

Senior Software Engineer

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

Communications Officer

More Than a Day: How Does Tarides Promote Women in Tech?

The aim of International Women’s Day is to raise awareness of gender inequalities and call for the empowerment of women worldwide. The goal is to forge a gender equal world and advance women’s equality in all forms. Within the field of technology, the focus is on elevating and advancing gender p…

The Journey to OCaml Multicore: Bringing Big Ideas to Life

Continuing our blog series on Multicore OCaml, this blog provides an overview of the road to OCaml Multicore. If you want to know how you can use OCaml 5 in your own projects, please contact us for more information. We also recommend watching KC Sivaramakrishnan's ICFP 22' talk Retrofitting Concurre…

Isabella Leandersson

Communications Officer

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

Senior Software Engineer

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

Technical Writer

Sudha Parimala

Senior Software Engineer

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

Technical Writer

Zach Shipko

Senior Software Engineer

Engineer Spotlight: Jules Aguillon

In celebration of the OCaml 5 release, we decided to interview a few of our talented engineers about OCaml. While it isn't a well-known language outside of the functional programming community, we're striving to get the word out about the great benefits of OCaml and why it's worth your time to try i…

Jules Aguillon

Senior Software Engineer

Christine Rose

Technical Writer

Love Rust? Then OCaml's New Eio Library is for You

We’ve come to expect a lot from the programming languages we use. We want the memory safety of Java, the performance of C/C++, and the concurrency of Go. On top of this, we need robust cybersecurity tools to protect us from the many risks and vulnerabilities in the world, all in an intuitive and e…

Isabella Leandersson

Communications Officer

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…

Arthur Wendling

Principal Software Engineer

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

Principal Software Engineer

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

Technical Writer

Hillingar: MirageOS Unikernels on NixOS

.banner-image { display: none; } 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…

Ryan Gibb

Software Engineer

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

Technical Writer

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

Technical Writer

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

Technical Writer

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

Senior Software Engineer

Presenting on Algebraic Effects at FP-SYD

At ICFP this year, KC Sivaramakrishnan gave two talks that put OCaml 5 in the spotlight: his keynote, “Retrofitting Concurrency - Lessons from the Engine Room,” and the opening presentation of the OCaml workshop, “OCaml 5.0 - Concurrent and Parallel Programming.” Effect Handlers feature heav…

Navin Keswani

Principal Software Engineer

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

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

Senior Software Engineer

Sayo Bamigbade

Intern Software Engineer

Enguerrand Decorne

Senior Software Engineer

Sonja Heinze

Senior Software Engineer

Jan Midtgaard

Principal Software Engineer

Lucas Pluvinage

Senior Software Engineer

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

Senior Software Engineer

Porting Charrua-Unix and Rawlink to Eio

This article describes the porting of the DHCP daemon charrua-unix and its companion library rawlink to Eio for the upcoming OCaml 5 release. Before we get started, it makes sense to briefly describe what DHCP is and how we use it in production. What is DHCP? DHCP stands for Dynamic Host Configurati…

Christiano Haesbaert

Principal Software Engineer

OCaml's Platform Installer Alpha Release

Yesterday we announced the OCaml 5 beta release, and today we're excited to introduce the OCaml Platform Installer! The OCaml Platform is the recommended toolchain when working with OCaml. This new installer enables programmers to quickly set up the OCaml developer environment, so they don't need to…

Christine Rose

Technical Writer

OCaml 5 Beta Release

Back in June, we announced the OCaml 5 alpha release, and today we're excited to announce the first beta release! Now is an excellent time to test it and report positive or negative feedback on your projects (i.e., did it work, did you see impressive performance speed up, did you have issues finding…

Christine Rose

Technical Writer

Real World OCaml Book Giveaway!

Real World OCaml is a fantastic book on OCaml and functional programming – a great resource for beginners and experienced users alike. At Tarides, we want to support new learners of OCaml as much as we can, making it easier for people to become part of the vibrant community surrounding the languag…

Isabella Leandersson

Communications Officer

8 OCaml Libraries to Make Your Life Easier

OCaml is a statically-typed programming language that emphasizes readability, programmer efficiency, and semantic clarity. This powerful and efficient language has been gaining popularity among developers. The growing adoption of OCaml is because it's fast, type safe, and secure. It can be used in i…

Christine Rose

Technical Writer

ICFP 2022 Review

After two years of online conferences, it was fantastic to have ICFP 2022 in person. The conference organisers had done a fantastic job adjusting to online conferences, but nothing beats the hallway track for meeting new people and catching up with old friends. This year, Slovenia's capital hosted t…

Tim McGilchrist

Principal Software Engineer