# EuroRust 2023 `impl Room` Check out [the conference website](https://eurorust.eu/workshops/impl-room) for more details on this event. ## How to join You **must** reserve a (free) ticket for the `impl Room` at [https://eurorust.eu](https://eurorust.eu). The room has limited capacity and ticketing allows us to make sure that we will have space for everyone who shows up on the day. ## If you want to contribute Have a look at the list of [proposed projects](#Proposed-projects) below and speak to the relevant contact person to get started! ## If you want to mentor Add a sub-section to the list below, listing the projects you maintain with a short bio. Follow the same structure of the existing entries. # Proposed projects ## Rust-analyzer **Project**: [rust-analyzer](https://rust-analyzer.github.io/), an LSP implementation for Rust. It powers intelligent refactoring and assists for Rust in your IDE of choice! **Mentor**: [Lukas Wirth](https://github.com/sponsors/Veykril/) **Who am I**: I'm a German software engineer at Ferrous Systems and the current lead of the [rust-analyzer team](https://www.rust-lang.org/governance/teams/compiler#rust-analyzer%20team). I started my Rust journey in late 2016 due to being interested in learning a systems programming language. At some point I stumbled accross rust-analyzer where I started contributing in my free time which ultimately led me to join the rust-analyzer team roughly 2 and a half years ago. I've been the main driving force behind it for a bit more than half of that time. I'm a big lover of the Rust language (except for its macros), as such working on an IDE for the language was always quite interesting to me. ## Actix Web **Project**: [actix-web](https://actix.rs), one of the most popular web frameworks for Rust. **Mentor**: [Rob Ede](https://github.com/sponsors/robjtede) **Who am I**: I'm a financial systems engineer based in London, and the lead developer of Actix Web. After getting my Computer Science Masters degree at The University of Sheffield, I started working in a front-end role. I took an opportunity to introduce Rust to the company as they were splitting components out of a monolithic service. It didn't take long before my focus shifted solely to the backend systems and web server libraries they use now. Picking up stewardship of such a popular crate as Actix Web was a massive personal challenge; but, with the help of the contributors over the past three years, Actix Web has a strong and unique place in the Rust web ecosystem, with plenty more improvements in the works. In my free time, I enjoy seeing movies and theatre shows and have been preparing my skiing skills for the winter season. ### Thinking Like A Crate Maintainer For each item in the -lab list (see below), experiement with the APIs and look for: - sensible types, functions, and defaults - potential semver hazards - partial/subset of the API that could be promoted sooner - APIs that are too opinionated - bad documentation ### Links - [`actix-web-lab` crate](https://crates.io/crates/actix-web-lab) - [`actix-web-lab` examples](https://github.com/robjtede/actix-web-lab/tree/main/actix-web-lab/examples) - [`actix-web-lab` feature voting results](https://github.com/robjtede/actix-web-lab/discussions/7) ## The art of building Rust CLIs and Linux tools **Projects**: - `daktilo`, a tool to turn your keyboard into a typewriter. - `ratatui`, a library to build rich terminal interfaces. - `git-cliff`, a highly customizable changelog generator - `kmon`, Linux kernel manager and activity monitor - `systeroid`, a more powerful alternative to sysctl - `gpg-tui`, terminal user interface for GnuPG - `rustypaste`, a minimal file upload/pastebin service - `menyoki`, a tool for performing image operations on the command line - `runst`, a dead simple notification daemon for Linux - `halp`, a tool to get help with CLI tools - `linuxwave`, a tool for generating music from the entropy of Linux Here is the list of issues: https://hackmd.io/@fDZ8f5pSQdmg75PysWJmBw/orhunsprojects **Mentor**: [Orhun Parmaksız](https://github.com/sponsors/orhun) **Who am I**: I'm a Rust aficionado with a strong passion for all things open source. I love writing command-line tools and I mostly live in the terminal. I'm one of the maintainers of Ratatui – a Rust library that's all about cooking up terminal user interfaces. I'm also a member of the Arch Linux team and I've been maintaining packages to improve the Rust ecosystem for the users over 2 years now. These days, my curiosity extends to system programming using Zig, as evidenced by my blog series titled "Zig Bits". ## rust-lang/rust **Project**: [rust-lang/rust](https://github.com/rust-lang/rust), the Rust compiler and standard library. **Mentor**: [Ethan Brierley](https://github.com/eopb) **Who am I**: I'm a software engineer at a payments company called TrueLayer and a co-organiser of the [Rust London User Group](https://www.meetup.com/rust-london-user-group/) where I run workshops for Rust beginners. I wrote my first lines of Rust in 2018 while I was studying at sixth form college. Rust enabled me to explore systems programming without getting stuck. I've been excited about the language ever since. I'm a strong believer in contributing to the tools I use. This has led me to contribute to the Rust project, it's compiler and standard library. I hope to help others become more comfortable with contributing to Rust itself. When I'm not writing software I can be found photographing insects on the South Downs, near to where I live. ## High-Level FFI Bindings with Rust **Projects**: [`cargo-cabal`](https://github.com/yvan-sraka/cargo-cabal) and [`hs-bindgen`](https://github.com/yvan-sraka/hs-bindgen) offer fast and safe interoperability between Rust and Haskell. **Mentor**: [Yvan Sraka](https://github.com/yvan-sraka/) **Who am I**: I hold a master's degree in maths and computer science applied to biology from Sorbonne University in Paris. I discovered C++ programming as a child and have been actively involved in open-source communities. My commercial experience includes working in 3D Graphics and Runtime design with Rust, Nix, and Haskell. I have taught Systems Programming, Architecture, and DevOps to master's students and have designed algorithm competitions as well as coding workshops for kids/teens (where I help them build small video games). I'm currently based in Brussels and like biking, hiking, climbing, and vegan cooking. ## PyO3 **Project**: [PyO3](https://pyo3.rs) is used to build Rust & Python dual-language software. Many Python packages distributed on PyPI include some Rust! **Mentor**: [David Hewitt](https://github.com/davidhewitt) **Who am I**: I am a software developer based in Oxford making Python and Rust a great pair of technologies to work with. I spend 80% of my working days at [Pydantic](https://pydantic.dev) and 20% (plus any free time I can find) as the main maintainer of PyO3. When not coding I am walking my dog and looking after my 1 year old son. _Note: Due to my train ticket to Brussels I will arrive at 11:30-12:00. Please feel free to find an issue on PyO3's Github if you want to start contributing before I arrive (maybe an issue marked "Hacktoberfest" is a good starting point). If I have internet from the train I can help you remotely!_ ## Awesome testing!!! **Project**: [awesome-rust-testing](https://github.com/hoodie/awesome-rust-testing) **Mentor**: [hoodie](https://github.com/hoodie/) WANT TO HELP?? please help up by adding more things or even better: evaluating the things on the list Are the things still maintained? Can we add badges here? short descriptions? Quality Control. **you can just list new links here and I will add them to the repo**