Tarides Logo

Engineering Blog

Soft, white feathers with blurred background.

Fuzzing OCamlFormat with AFL and Crowbar

AFL (and fuzzing in general) is often used to find bugs in low-level code like parsers, but it also works very well to find bugs in high level code, provided the right ingredients. We applied this technique to feed random programs to OCamlFormat and found many formatting bugs. OCamlFormat is a tool …

Etienne Millon

Etienne Millon

Principal Software Engineer

Desert landscape, sun, sky, large Tezos logo overlay.

The future of Tezos on MirageOS

We are very glad to announce that Tarides has been awarded two new grants from the Tezos Foundation. Thanks to these new grants, Tarides will continue to work on the integration between Tezos and MirageOS. We believe that the secure deployment of blockchains is still a major challenge today, and tha…

Green tree icon next to magenta geometric figure.

Introducing the GraphQL API for Irmin 2.0

With the release of Irmin 2.0.0, we are happy to announce a new package - irmin-graphql, which can be used to serve data from Irmin over HTTP. This blog post will give you some examples to help you get started, there is also a section in the irmin-tutorial with similar information. To avoid writing …

Green hexagon with tree, text: "Irmin"

Irmin v2

We are pleased to announce Irmin 2.0.0, a major release of the Git-like distributed branching and storage substrate that underpins MirageOS. We began the release process for all the components that make up Irmin back in May 2019, and there have been close to 1000 commits since Irmin 1.4.0 released …

Black mailbox in grassy roadside, blurred background.

Mr. MIME - Parse and generate emails

We're glad to announce the first release of mrmime, a parser and a generator of emails. This library provides an OCaml way to analyze and craft an email. The eventual goal is to build an entire unikernel-compatible stack for email (such as SMTP or IMAP). In this article, we will show what is current…

Romain Calascibetta

Romain Calascibetta

Software Engineer

Silhouette of camels walking at sunset with mountains.

Decompress: Experiences with OCaml optimization

In our first article we mostly discussed the API design of decompress and did not talk too much about the issue of optimizing performance. In this second article, we will relate our experiences of optimizing decompress. As you might suspect, decompress needs to be optimized a lot. It was used by sev…

Romain Calascibetta

Romain Calascibetta

Software Engineer

Striped hammock, trees in background, warm lighting.

Decompress: The New Decompress API

RFC 1951 is one of the most used standards. Indeed, when you launch your Linux kernel, it inflates itself according zlib standard, a superset of RFC 1951. Being a widely-used standard, we decided to produce an OCaml implementation. In the process, we learned many lessons about developing OCaml where…

Romain Calascibetta

Romain Calascibetta

Software Engineer

Group photo, people holding trophies, "concours d'innovation" text.

i-Lab 2019

We are thrilled to announce that Tarides is laureate of the 21st edition of the i-Lab innovation contest for its innovative technological solution: OSMOSE. Organized by the French Ministry of Higher Education, Research and Innovation in partnership with Bpifrance, the objective of this competition i…

Laptop keyboard with colorful lighting.

Release of OCamlFormat 0.10

We are pleased to announce the release of OCamlFormat 0.10 (available on opam). There have been numerous changes since the last release, so here is a comprehensive list of the new features and breaking changes to help the transition from OCamlFormat 0.9. ocamlformat-0.10 now works on the 4.08 AST, a…

Guillaume Petiot

Guillaume Petiot

Senior Software Engineer

Tree with sunlight peeking through green leaves.

On the road to Irmin v2

Over the past few months, we have been heavily engaged in release engineering the Irmin 2.0 release, which covers multiple years of work on all of its constituent elements. We first began Irmin in late 2013 to act as a Git-like distributed and branchable storage substrate that would let us escape th…

Grid of square, multicolored reflective tiles.

An introduction to OCaml PPX ecosystem

These last few months, I spent some time writing new OCaml PPX rewriters or contributing to existing ones. It's a really fun experience. Toying around with the AST taught me a lot about a language I thought I knew really well. Turns out I actually had no idea what I was doing all these years. All jo…

Nathan Rebours

Nathan Rebours

Senior Software Engineer

Colorful patterned ceramic plates on a wall.

7th MirageOS hack retreat

Let's talk sun, mint tea and OCaml: Yes, you got it, the MirageOS biennial retreat at Marrakesh! For the 7th iteration of the retreat, the majority of the Tarides team took part in the trip to the camels country. This is a report about what we produced and enjoyed while there. Charles-Edouard Lecat …

Charles-Edouard Lecat

Charles-Edouard Lecat

Software Engineer

Large orange sand dune, clear sky, trees below.

Dune 1.9.0

Tarides is pleased to have contributed to the dune 1.9.0 release which introduces the concept of library variants. Thanks to this update, unikernels builds are becoming easier and faster in the MirageOS universe! This also opens the door for a better cross-compilation story, which will ease the addi…

Lucas Pluvinage

Lucas Pluvinage

Senior Software Engineer

Stone cathedral ceiling with four central beams.

Release of OCamlFormat 0.9

We are pleased to announce the release of OCamlFormat (available on opam). There have been numerous changes since the last release, so here is a comprehensive list of the new features and breaking changes to help the transition from OCamlFormat 0.8. Additional dependencies OCamlFormat now requires: …

Guillaume Petiot

Guillaume Petiot

Senior Software Engineer

Row of mailboxes with numbers 14, 16, 18, 20, 28, 26.

Release of Base64

MirageOS is a library operating system written from the ground up in OCaml. It has an impossible and incredibly huge goal to re-implement all of the world! Looking back at the work accomplished by the MirageOS team, it appears that's what happened for several years. Re-implementing the entire stack,…

Romain Calascibetta

Romain Calascibetta

Software Engineer

Laptop keyboard, ejecting disc labeled "52x".

How configurator reads C constants

Dune comes with a library to query OS-specific information, called configurator. It is able to evaluate C expressions and turn them into OCaml value. Surprisingly, it even works when compiling for a different architecture. How can it do that? …

Etienne Millon

Etienne Millon

Principal Software Engineer

Colorful mesh pattern with green and red lights.

ocaml-git 2.0

I'm very happy to announce a new major release of ocaml-git (2.0). This release is a 2-year effort to get a revamped streaming API offering a full control over memory allocation. This new version also adds production-ready implementations of the wire protocol: git push and git pull now work very rel…

Romain Calascibetta

Romain Calascibetta

Software Engineer

Lines of colorful code on a screen.

OCamlFormat 0.8

We are proud to announce the release of OCamlFormat 0.8 (available on opam). To ease the transition from the previous 0.7 release here are some highlights of the new features of this release. The full changelog is available on the project repository. Precedence of options In the previous version you…

Guillaume Petiot

Guillaume Petiot

Senior Software Engineer

Historic courthouse, Arch, tall buildings, clear sky.

OCaml Workshop 2018

The OCaml Users and Developers Workshop brings together industrial users of OCaml with academics and hackers who are working on extending the language, type system and tools. OCaml 2018 was held on September 27th, 2018 in St. Louis, Missouri, USA, colocated with ICFP 2018. Check Tarides' talks: RFCs…

Romain Calascibetta

Romain Calascibetta

Software Engineer

Yellow sand dunes under clear blue sky.

Dune 1.2.0

After a tiny but important patch release as 1.1.1, the dune team is thrilled to announce the release of dune 1.2.0! Here are some highlights of the new features in that version. The full list of changes can be found in the dune repository. Watch mode When developing, it is common to edit a file, run…

Etienne Millon

Etienne Millon

Principal Software Engineer

Modern building, glass facade, trees, "STATION F" text.

Station F

We are thrilled to have been accepted into the Founders Progam's 3rd batch at Station F! Station F is "the only startup campus gathering a whole entrepreneurial ecosystem under one roof" and is providing 3000+ desks and 26 international startup programs. Our Paris offices are now located in that inc…

Tree trunk and green leaves viewed from below.

Irmin usability enhancements

Zach Shipko is working on improving the UI/UX for Irmin. He is looking for feedback to make Irmin more accessible to potential users and clean up the rough edges for existing users. …

Zach Shipko

Zach Shipko

Senior Software Engineer

Historic building, gated entrance, sculptures, windows.

Invited lecture at ENS

Thomas Gazagnaire gave an invited lecture at the computer science department of ENS, in Paris. This was part of the system and network L3 course. Check the slides (in english) and the exercices (in french). …

City skyline with tall buildings, coastline, and ocean.

HotPOST'18

Anil Madhavapeddy and Gemma Gordon presented our new operating system for connected buildings: OSMOSE to HotPOST’18. OSMOSE is based on MirageOS and Irmin and we hope to explore that area more in the coming months! …