The latest version of neo4rs—a Rust driver for the Neo4j graph database developed under the "Neo4j Labs" incubator—changes its API for reading data to use serde. Serde is a library for serialization and deserialization of any user-defined type into and from a number of different data formats. Most material about serde focuses on the user-defined types, though for this talk, I want to present the—still ongoing—journey of building a new bolt dataformat for serde. Follow me down the rabbit hole and peek under the hood of serde to show how the various types and traits interact, what gotchas and caveats await and how to craft an API that is more than just 1:1 struct <--> data mapping.
FOSDEM
Talk
Paul Horn
2024-02-03
WELCOME TO FOSDEM 2024 FOSDEM is a free event for software developers to meet, share ideas and collaborate. Every year, thousands of developers of free and open source software from all over the world gather at the event in Brussels. You do...
Rust is a systems programming language that is focused on safety, speed, and concurrency. It is designed to be a practical language with a minimal runtime, empowering developers with zero-cost abstractions, guaranteed memory safety, and an...
Quickwit is an opensource distributed search engine. The most challenging component of a search engine is its indexing pipeline. It takes a stream of JSON documents, processes them in batches, and emits index artefacts we call splits. We ne...
How lnx is solving the challenges of builing a distributed search engine in Rust Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 11:15 End: 11:55 Video only: h1302_depage Chat: Join the conversation! Follow me as I walk throu...
A new node init system written in Rust Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 12:00 End: 12:40 Video only: h1302_depage Chat: Join the conversation! In this talk I share the motivation, goals, and architecture of my...
The reason of why Rust is the most appropriate language for our project Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 12:45 End: 12:55 Video only: h1302_depage Chat: Join the conversation! We present BastionLab, a Rust open...
Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 12:55 End: 13:05 Video only: h1302_depage Chat: Join the conversation! In programming we use editors and IDEs all the time. Previously if one use Vi/Vim like text editor it typi...
A status report on ongoing efforts to support CHERI architectures in Rust Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 13:05 End: 13:15 Video only: h1302_depage Chat: Join the conversation! CHERI defines hardware extension...
Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 13:15 End: 13:25 Video only: h1302_depage Chat: Join the conversation! Slint is an Open Source GUI toolkit for Desktop and Embedded. It is written in Rust, and comes with a decl...
Lessons learned from building Rust libraries In this talk I'm going over some lessons learned from building internal APIs in Rust as well as some public APIs such as the Redis rust crate, the insta snapshot testing library, the MiniJinja te...
Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 14:15 End: 14:55 Video only: h1302_depage Chat: Join the conversation! Started in 2014, the gccrs project is working toward creating an alternative compiler implementation for t...
This work is licensed under the Creative Commons Attribution 2.0 Belgium Licence. To view a copy of this licence, visit http://creativecommons.org/licenses/by/2.0/be/deed.en or send a letter to Creative Commons, 444 Castro Street, Suite 900...
Using Bevy engine, we will code together a snake game from scratch Game developing is hard: models, concurrency, physics and so on are difficult without any helps from the framework. In this talk we introduce Bevy Engine library that allows...
Efficient In-Memory Adaptive Stable Sorting on Modern Hardware Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 16:10 End: 16:40 Video only: h1302_depage Chat: Join the conversation! Sorting is one of the most common algorithm...
Using Rust to build Python extensions Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 16:45 End: 17:20 Video only: h1302_depage Chat: Join the conversation! Pydantic is a data validation library for Python that has seen massi...
Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 17:25 End: 17:45 Video only: h1302_depage Chat: Join the conversation! Graphs are used in many different applications as they are an intuitive way for representing complex relat...
Let the crabs control the packets! When creating a script or a tool to manage your network configuration it is hard to decide which language should you use. In Nmstate we noticed we could get plenty of benefits from Rust. Nmstate is a libra...
Application developers working and testing with a specific kernel version should be able to easily control their application compatibility behavior with previous (and future) kernel versions as well. We developed a Landlock library (for sec...
useful shell history on all of your machines Track: Rust devroom Room: H.1302 (Depage) Day: Saturday Start: 18:40 End: 19:00 Video only: h1302_depage Chat: Join the conversation! Atuin aims to make your experience with your shell history de...