Levans' workshop

Experiments and thoughts about Machine Learning, Rust, and other stuff...

Articles


Compressing Synapse database

Anyone running a federating instance of the Matrix homeserver Synapse will likely have seen this: synapse is database-hungry. It tends to take a lot of space. In this post, I'm documenting how I shrunk my homeserver database from 100GB to a little under 8GB, during a long maintenance cleanup. There …

  • Wed 05 September 2018
  • Rust
  • en

Beware the rust cache on Travis

Today, I was working on optimizing my travis builds to speed them up, especially in the direction of caching. Travis allows you to set cache: cargo in your .travis.yml to enable caching for rust projects and caching is cool: it avoids having to rebuild all dependencies all the time …

Smithay is Live

Finally, it was done last week, Smithay has its own website. Over the past months, I've moved my wayland-related projects to the Github Smithay Org, and after a lot of work on smithay (the crate) itself with @drakulix, we've released the 0.1 version! This is a great milestone for …

Why I love Rust

Disclaimer: This is a subjective and personal point of view. As such, please take it with the grain of salt it deserves. I just want to share it, hoping I'm not alone feeling that way. 😊 Most Rust aficionados agree on this point: Rust does have a difficult initial learning curve …

  • Tue 27 September 2016
  • Rust
  • en

Wayland libs 0.7, and a 3rd rewrite

This blog post is about the new design of my wayland libs. It's not a tutorial, but rather about the design choices I made, and why I made them. I'll start with a quick recap of what wayland is, from an API & protocol point of view. If you already know …

  • Mon 30 November 2015
  • Rust
  • en

Using Wayland from Rust, Part 1

Hi all. During the past few months, I've been working on some crates for using Wayland in Rust. Now, they have reached a step that I could call "mostly usable": not yet finished, but a good basis to start using them. So I'm writing this note to present them, and …

Booter gentoo sur un Banana Pi-R1

Je me suis récemment acheté un Banana Pi R1. Cette petite bête, fortement inspirée du fameux Raspberry Pi a toutefois un but assez différent. En effet, elle dispose de 5 ports Ethernet Gigabit, ainsi que d'une puce wifi. Il s'agit d'un routeur personnalisable presque complètement open-hardware. Disposant également d'un port …


  • Thu 10 September 2015
  • Misc
  • fr

Monitorer ses machines avec collectd et grafana

Je me suis depuis peu mis en place un système pour monitorer mes différents serveurs, en utilisant collectd, un service permettant de collecter et remonter et centraliser de nombreuses métriques sur des serveurs linux. Néanmoins, l'interface d'affichage des métriques le plus classique, Collectd Graph Panel, bien que simple à mettre …

Les emprunts et les durées de vies en Rust

Les emprunts (borrowing) et les durées de vie (lifetime) sont deux concepts centraux de Rust. Ils peuvent parfois s'avérer difficiles d'accès, car finalement très intriqués l'un avec l'autre. Je m'en vais donc écrire ce billet, en vue d'en expliquer les tenants et les aboutissants. Résumé des bases à avoir Je …