• Vim tips

    Here’s a list of vim tips that I’ve learned over the years. I tried to put the ones I find the most useful or less known first. To cycle throught the delete registers, first type "1p and then you can cycle through the delete registers with u.. You can use...

  • Rust+GNOME Hackfest #6

    Last week, I went to the sixth Rust+GNOME hackfest which was in Rome. During these hackfests, we work on improving the integration between Rust and the GNOME libraries. Improvement for builders In the previous Hackfest, I added the code generation for builders, but there was something that was not convenient....

  • Improvement to the compile time of a crate

    For one of my projects, I need to use LLVM so I tried this cool inkwell crate that provides a mostly safe wrapper over LLVM. To my dismay, though, compiling this crate takes… a lot of time: Debug build: 1m 05s Release build: 3m 34s By the way, I write...

  • mini-aio: the new async IO library for Rust

    During my work at Adgear, I’ve been working for a while on an async IO library for Rust. This post will present this new library. mini-aio This library takes a very different approach than most other async IO libraries in Rust: it is actually inspired by the Pony programming language....

  • Rust+GNOME Hackfest #5

    Last week, I went to the fifth Rust+GNOME hackfest which was in Berlin again. Generate builder for widgets My goal for this hackfest was to fix this issue I opened nearly three years ago. The problem is that sometimes you want to create a widget or an object and set...

  • The future of Rust

    We had many meetings during the past months to talk about the future of Rust. It’s time to think about Rust 2.0 and how it will keep the many advantages of the language, without its drawbacks. First of all, we wanted to thank you for your contributions, your comments and...

  • The Evolution of a Rust Programmer

    Freshman Rust Programmer fn main() { let mut line = String::new(); std::io::stdin().read_line(&mut line).unwrap(); let mut sum = 0; for word in line.split_whitespace() { let num = word.parse::<i64>().unwrap(); sum += num; } println!("Sum: {}", sum); } Sophomore Rust Programmer (studied C as a freshman) extern crate libc; use libc::{c_char, printf, scanf,...

  • Rust+GNOME Hackfest #4

    Less than 2 weeks ago, I was working on improving the integration of Rust with GNOME libraries at the fourth Hackfest, which happened this time in Thessaloniki. Improving ergonomics of gnome-class As I said in my previous blog post, there is a issue when inheriting from a gtk::Widget: As a...