owned this note
owned this note
Published
Linked with GitHub
# RustFest Barcelona `impl days`
###### tags: `rustfest`
### Go to [barcelona.rustfest.eu/about_impl_days](https://barcelona.rustfest.eu/about_impl_days) and click the link "What to hack on" to land on this document.
### More food options: <https://barcelona.rustfest.eu/food/>
Rooms @ UPC
VS217 - Welcome room
VS218
VS203
~~VS208~~
## Taxi pooling for the airport
If you are leaving for the airport today, add your name and flight time to this list so that we can share a taxi:
* Amanieu, 20:20
## Proposed projects and contact person
Please add your own!
Don't forget your name and room
## Proposed Projects Monday
* Inline assembler RFC
* Talk to Amanieu in room 218
* If you have examples of inline asm that you are currently using on nightly, please add them [here](https://github.com/bjorn3/inline_asm_catalogue/) so we can take them into account when designing the `asm!` syntax.
* Databases rust: [Diesel](https://github.com/diesel-rs/diesel) and [Wundergraph](https://github.com/weiznich/wundergraph) (Georg Semmler/weiznich)
* Documentation, Features, Just talk
* List of [diesel issues with instructions what to do](https://github.com/diesel-rs/diesel/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
* List of [wundergraph issues what to do](https://github.com/weiznich/wundergraph/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
* Sitting in VS218 now
* [`probe-rs`](https://github.com/probe-rs/probe-rs), the embedded Rust debugging toolset
* Come talk to @Yatekii, @jschievink and @rnestler in room 217
* [`Rubble`](https://github.com/jonas-schievink/rubble), a pure-Rust BLE stack for embedded devices (@jschievink in room 217)
* List of [good first issues](https://github.com/jonas-schievink/rubble/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to work on
* People interested: @chris_zen
* Work on [Rustlings](https://github.com/rust-lang/rustlings) and [RustBridge](https://rustbridge.com)! We have a separate doc [here](https://hackmd.io/@mokou/rkDgBMNoH).
* We have some nice and easy tasks to get a good first contribution to the Rust project in
* Come talk to Marisa or rvidal in Room 208!
* Create an MVP/bootstrap [`linfa`](https://github.com/LukeMathWalker/linfa), a Rust framework for classical Machine Learning:
* Write Python bindings using `PyO3` for the K-means algorithm implemented during the "ML introduction to ndarray" workshop ([material](https://github.com/LukeMathWalker/ndarray-koans)) ✔️
* Benchmark the implementation against `scikit-learn`'s K-means ✔️
* Expose the model for predictions using a web-server (REST Json with `tide`? gRPC with `tonic`?)
* Benchmark the microservice against the standard `Flask` + `scikit-learn` ML microservice
Starting point: ![](https://i.imgur.com/kBpsoDY.png)
Ask for Luca/[`@LukeMathWalker`](https://github.com/LukeMathWalker)/[`@algo_luca`](https://twitter.com/algo_luca) in room V207 if you want to join :heart:
* Stabilize [Pyo3](https://github.com/PyO3/pyo3) - the python-rust bindings. [@gilescope](http://twitter.com/gilescope) room 203
* (I'm assuming specialisation isn't going to be on stable rustc soon? - please tell me if not the case!!!)
* unfortunately doesn't look like it :( - @jschievink
* Is anyone working on this? Which room are you in?
* Nobody's working on it right now, Giles is in room 203 mentoring some rustc work but can show you what needs doing
* Contributions to the Rust project's infrastructure and bots
* Want to do something to improve Rust's infra? Ask Pietro in room V217
* [Guzzle](https://github.com/apolitical/guzzle/)
* Guzzle is a custom derive macro for parsing streams of meta data (key => value) into Rust structs.
* It's now feature complete 🎉 but I could use help stabalising the API, improving the documentation, and making the code nicer.
* Contact [@gisleburt](https://twitter.com/gisleburt) - I'm in S208, feel free to say hi!
* [what](https://github.com/imsnif/what) - A network bandwidth monitor (similar to nethogs). Needs a mac/windows port, some packaging and maybe some love. <3 Talk to [@Aram](https://twitter.com/im_snif) (room 217)
* Not in 218 anymore? - 217, sorry!
* [vega-lite](https://github.com/davidB/vega_lite_3.rs) - a vega lite bindings to produce graphs - needs more examples and doc, quite hard to use now. Talk to [@FrancoisMockers](https://twitter.com/FrancoisMockers/) / [@ThomAub](https://twitter.com/ThomAub)
* **RustFest Netherlands** -- want to help out with the organizations? Come chat to Dirkjan or Wouter or email netherlands@rustfest.eu! We're currently doing bi-weekly meetings and there will be lots of different things to do: talking to sponsors, helping out with talk selection, staffing registration desk, etc.
* [gcp-pubsub](https://github.com/tehAnswer/gcp-pubsub): a HTTP client for Google's PubSub API. Needs help with a few issues. Check the repo for more info. Maintener is in room 218, last row, DAMN **black** t-shirt.
* [Implement missing endpoints to create snapshots](https://github.com/tehAnswer/gcp-pubsub/issues/12)
* [Add test cases for Client creation](https://github.com/tehAnswer/gcp-pubsub/issues/10)
* [Add auto-renewal token strategies](https://github.com/tehAnswer/gcp-pubsub/issues/11)
* **_~Beginner friendly~_**
* Not in the back row anymore?
* I am in 218, ask for Sergio. :joy:
* Crab hacking group [@Nercury](https://twitter.com/nercury), room 218
* Try out `stm32g030` microcontroller on a custom board that is inside a 3D-printed crab. [Introduction to crab hardware (crabware?) and how to get started](https://nercury.github.io/rust/embedded/hack-the-crab/2019/11/11/rust-embedded-hack-the-crab.html)
* Investigating stm32g030 HAL (device is not supported)
* Investigate `stm32g0` support for probe-rs
* Learn about hardware basics
* There are spare crabs
* Still in room 217? Room 218!
* Entry level/beginner tasks/projects?
* Happy to help mentor someone through their first rustc PR [@gilescope](http://twitter.com/gilescope) room 203
* Happy to help anybody with beginner-to-intermediate doubts/roadblocks. [@_rvidal](https://twitter/_rvidal), room 208
* Embark has all our maintainers around in room 208 if you want to contribute to our repos (https://embark.dev)
* [clippy](https://github.com/rust-lang/rust-clippy)
* implement some beginner friendly lints. Join us at room 208
* [Write up an "awesome-rust-testing"](https://hackmd.io/rmwsf13uTaeYaLpL4yno8A) *Room 217*
* **STATUS:** copy-pasting stuff together, looking for folks with experience and suggestings
* best practices
* mocking libs
* matcher libs etc
* Finish [an implementation](https://github.com/sitegui/space-efficient-quantile) of a space-efficient quantile algorithm. Calculate your medians (with a bounded max error) more efficient than never before!
The code is inspired by [this paper](http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf) and it needs a good refactoring (it uses way too many `unsafe` blocks).
Ask for Guilherme Souza [/sitegui](https://github.com/sitegui/)
* [libtock-rs](https://github.com/tock/libtock-rs) Let's try to implement an MVP Future runtime. Room 208,
* [nushell](https://github.com/nushell/nushell) Various tasks
* Thomas (room 218, [mastodon](https://mastodon.technology/@hartmann), [email](thomas.o.hartmann@gmail.com)) is working on improvements to the `from-(c|t|s)sv` commands
* [roguerust](https://github.com/Etenil/roguerust)
* Implement an old-school terminal-only dungeon crawler
* Uses ncurses (but also works on Windows)
* **Noob-friendly!!!** not much knowledge of rust and 3rd party libs needed
* room 217 at the front
* [(Web-)Framework-Agnostic "Boilerplate Code" remover](https://github.com/AlisCode/db_api) (create REST APIs in 10 minutes using Diesel + any web framework)
* Review the current design
* Find a cool name for the project
* Implement a backend for any currently unsupported Web Framework (Warp, Gotham, Tide?)
* Ask for @aliscode / Olivier Pinon (Room VS217)
* [Tari Protocol](https://github.com/tari-project/tari) MimbleWimble-based blockchain protocol
* Various good first issues in the cryptography library and transaction protocols
* Room 217 and [@philipr_za](https://twitter.com/philipr_za)
* Local dokku musl build which publish binaries to dokku-server (MacOS)
* https://github.com/arve0/dokku-local-rust-musl-build-macos
* https://www.andrew-thorburn.com/cross-compiling-a-simple-rust-web-app/
* https://github.com/dokku/dokku/blob/master/docs/deployment/methods/images.md#deploying-an-image-from-ci
* https://timryan.org/2018/07/27/cross-compiling-linux-binaries-from-macos.html
* [cargo-aoc](https://github.com/gobanos/cargo-aoc) An helper for Advent of code in rust. Grégory Obanos, room 217
* WASM/WASI/Native benchmark with [wabench](https://github.com/dunnock/wabench)
* [More tests](https://github.com/dunnock/wabench/blob/master/src/tests.rs)
* Use [criterion](https://docs.rs/criterion/0.3.0/criterion/)
* idea: take [textplots](https://docs.rs/textplots/0.4.1/textplots/) or [tui-rs](https://github.com/fdehau/tui-rs) and turn it into a CLI tool for piping textual data into it and get nice graphs out of it (@payload VS217)
* Work on [Aoide](https://gitlab.com/uklotzde/aoide-rs), a local HTTP/REST service for managing and exploring music collections. As seen in [Mixxx](https://www.mixxx.org) dj software. [Ferran](https://twitter.com/ferranpujolca)
* [rustfmt](https://github.com/rust-lang/rustfmt/)
* [Issue #3492](https://github.com/rust-lang/rustfmt/issues/3492) in Room 218
* Mail WG (Pad: https://cryptpad.open-communication.net/code/#/2/code/edit/MU9I2jFgMNGzHkUkOrU+6l6S/)
* [sled](https://github.com/spacejam/sled) lock-free high performance transactional key value store w/ [spacejam](https://github.com/sadisticsystems)
* [Git Repository Manager](https://github.com/theredfish/git-repo-manager)
* If you want to discover a terminal based tool for managing / jumping to your git repositories
* Great to learn Rust, embedded sqlite with Diesel and (power)shell scripts as wrappers
* I will create issues today, but feel free to open yours
* Room 218 (see you tomorrow!) if you're interested : Julian / theredfish
* compiling [net2](https://github.com/rust-lang-nursery/net2-rs) to WASI
* net2 is used quite widely and WASI already got some networking stack implementations, I have a hard time trying compiling it to wasi. If anyone got some experience with that would appreciate help [dunnock](https://github.com/rust-lang-nursery/net2-rs) [Twitter](https://twitter.com/maxsparr0w) room 207
## Proposed Projects Tuesday
* Htsget Rust implementation: Bringing Genomics/Bioinformatics to the web:
* Implementation: https://github.com/brainstorm/htsget-aws
https://github.com/brainstorm/htsget-indexer
* Where to find me: (Twitter: [@braincode](https://twitter.com/braincode), Github: [@brainstorm](https://github.com/brainstorm), Room VX S217 second last row).
* Involving: Parquet-rs, Rusoto, AWS Athena, bit-level DNA sequence indexing.
* Paper: https://academic.oup.com/bioinformatics/article/35/1/119/5040320
* Human readable spec: https://samtools.github.io/hts-specs/htsget.html
* OpenAPI v3 spec: https://github.com/samtools/hts-specs/blob/master/pub/htsget-openapi.yaml
* [dhall-rust](https://github.com/Nadrieril/dhall-rust): Rust bindings for the [dhall](https://dhall-lang.org/) configuration/programming language. It's got some good first issues. Talk to @Nadrieril in room 217, second row second from the right.
* Create an MVP/bootstrap [`linfa`](https://github.com/LukeMathWalker/linfa), a Rust framework for classical Machine Learning:
* ~~Write Python bindings using `PyO3` for the K-means algorithm implemented during the "ML introduction to ndarray" workshop ([material](https://github.com/LukeMathWalker/ndarray-koans))~~ ✔️
* ~~Benchmark the implementation against `scikit-learn`'s K-means~~ ✔️
* ~~Expose the model for predictions using a web-server (gRPC with `tonic`)~~ ✔️
* ~~Benchmark the microservice against the standard gRPC + `scikit-learn` ML microservice~~ ✔️
* Benchmark the implementation on multiple datasets
Ask for Luca/[`@LukeMathWalker`](https://github.com/LukeMathWalker)/[`@algo_luca`](https://twitter.com/algo_luca) in room V207 if you want to join :heart:
* ndarray - Currently in Room 217 - couldn't find Luke & others today
* [issue #655](https://github.com/rust-ndarray/ndarray/issues/655)
* Luca: I am in the third row, second seat from the left (looking at the whiteboard) - come to chat :grin:
* Inline assembly RFC
* Continuing from yesterday, talk to Amanieu in room 217.
* [(Web-)Framework-Agnostic "Boilerplate Code" remover](https://github.com/AlisCode/db_api) (create REST APIs in 10 minutes using Diesel + any web framework)
* Review the current design
* Find a cool name for the project
* Implement a backend for any currently unsupported Web Framework (Warp, Gotham, Tide?)
* Ask for @aliscode / Olivier Pinon (Room VS217)
* Non blocking ring buffer for audio applications.
* Design proposal: [crossbeam-ring-buffer-proposal](https://github.com/chris-zen/crossbeam-ring-buffer-proposal)
* Contact @chris_zen at room 217
* Beginner/Intermediate Project: Implement Probabilistic Finite Automata in Rust
* AKA explain interior mutability to a Rust newbie ...
* contact @parkellipsen (Room VX S218)
* :question: Cross-compilation with Cargo
* I'm trying to crosscompile a project for indows and macos, currently I'm having troubles, If some expert with cross-compilation could help me I'll appreciate the help.
* Currently on room 217, last row, position 2 from the left (Ask for Iago. I'll update if I move)
* :question: Executing a Future
* I'm trying to implement library for asynchronous methods calling to avoid borrow-checker restrictions. Code is in https://github.com/milyin/async-call . Now I'm stuck because don't completely understand how to execute a future (Tasks?). Any help is appreciated. Room 210, right from door, table along the wall, green sweater
* :thought_balloon: Guzzle requires better error messages when compilation fails. Does anyone have experience with proc_macros / Custom Derive? - [@gisleburt](https://twitter.com/gisleburt) (217)
## Done
* Add a way to configure the migrations directory in the Diesel framework from `diesel.toml` (not in the proposed projects) [see PR](https://github.com/diesel-rs/diesel/pull/2179) - With the help of Georg Semmler
* Create an MVP/bootstrap [`linfa`](https://github.com/LukeMathWalker/linfa), a Rust framework for classical Machine Learning:
* Write Python bindings using `PyO3` for the K-means algorithm implemented during the "ML introduction to ndarray" workshop ([material](https://github.com/LukeMathWalker/ndarray-koans)) ✔️
* Benchmark the implementation against `scikit-learn`'s K-means ✔️
![](https://i.imgur.com/Kqx0x3i.png)
![](https://i.imgur.com/2gpSHwa.png)
* [🚀 async-std 1.0! 🎉](https://twitter.com/asyncrs/status/1193939046252367872)
* Ported [Askama](https://github.com/djc/askama) to [nom 5](https://github.com/djc/askama/commit/40811eeba7e379f82e66b95867159479b48520c9) and its [non-macro combinators](https://github.com/djc/askama/commit/8d704a4923c79fe405b1b403e6868960456298cc)
* Created crate [`t9`](https://crates.io/crates/t9) which allows one to create port numbers from words and vice versa.
* Small PR to fix a panic in rubble demos when the logging buffer gets full. [See PR here](https://github.com/jonas-schievink/rubble/pull/90)
* Progressed on the development of a RADIO hal for the nrf52840, finding out why I was not able to receive packets and how much should I refactor the interface to fix the problem. [A quick-dirty POC can be seen here](https://github.com/chris-zen/mdp-link-rs/tree/radio-esb)
* Various fixes and impro**b**ements to [probe-rs](https://github.com/probe-rs/probe-rs/) and [`cargo flash`](https://github.com/probe-rs/probe-rs/tree/master/cargo-flash)
* Small [fix to rustdoc](https://github.com/rust-lang/rust/pull/66298)
* Added a PR for a new [Clippy-Lint](https://github.com/rust-lang/rust-clippy/pull/4806)
* review and explanation for master ci failure very welcome. We are in S218 at the back :)
* Ported [what](https://github.com/imsnif/what) to MacOS
* Opened a [PR](https://github.com/nushell/nushell/pull/916) to Nushell to change the behavior of the `--headerless` flag for `from-csv`, `from-tsv`, and `from-ssv`
* Started a PR for [Implementing FromStr for the enum Edition](https://github.com/rust-analyzer/rust-analyzer/pull/2217) for [rust-analyzer](https://github.com/rust-analyzer/rust-analyzer)
* Wrote a basic (safe and unsafe) PFA implementation: https://gitlab.com/ellipsenpark/vom.rs
* Wrote examples for [vega_lite_3.rs](https://github.com/davidB/vega_lite_3.rs), and a way to load data directly from a `ndarray` instead of a `Vec`
* Added square-wave oscillator to Ruffbox: https://github.com/the-drunk-coder/ruffbox
* Released Rustlings 2.0: https://write.as/mokou/rustlings-2-0-and-human-centered-versioning
* [PR on rustup](https://github.com/rust-lang/rustup/pull/2126) adding `rustup toolchain install ... --allow-downgrade` in case you want to add components to your nightly toolchain which are only available on an older nightly