{"id":15540445,"url":"https://github.com/poteto/rustconf-2020","last_synced_at":"2025-04-09T09:10:58.639Z","repository":{"id":148477086,"uuid":"289057174","full_name":"poteto/rustconf-2020","owner":"poteto","description":"An aggregation of links that summarize RustConf 2020. Pull requests welcome!","archived":false,"fork":false,"pushed_at":"2020-08-31T17:38:18.000Z","size":28,"stargazers_count":355,"open_issues_count":0,"forks_count":10,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-18T23:34:08.657Z","etag":null,"topics":["rust","rustconf"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/poteto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-20T16:37:19.000Z","updated_at":"2024-10-17T11:21:24.000Z","dependencies_parsed_at":"2023-05-01T21:30:55.865Z","dependency_job_id":null,"html_url":"https://github.com/poteto/rustconf-2020","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poteto%2Frustconf-2020","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poteto%2Frustconf-2020/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poteto%2Frustconf-2020/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/poteto%2Frustconf-2020/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/poteto","download_url":"https://codeload.github.com/poteto/rustconf-2020/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248008630,"owners_count":21032556,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","rustconf"],"created_at":"2024-10-02T12:13:47.559Z","updated_at":"2025-04-09T09:10:58.621Z","avatar_url":"https://github.com/poteto.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# RustConf 2020 Summary\n\nAn aggregation of links that summarize [RustConf 2020](https://rustconf.com/). Pull requests welcome!\n\n## Talks\n\nHosted by [Nell Shamrell-Harrington](https://twitter.com/nellshamrell).\n\n### Opening Keynote - [Niko Matsakis](https://twitter.com/nikomatsakis), [Mark Rousskov](https://github.com/Mark-Simulacrum), [Aidan Hobson Sayers](https://twitter.com/aidanhs), [Ashley Williams](https://twitter.com/ag_dubs), [Nick Cameron](https://twitter.com/nick_r_cameron)\n\n- [Video](https://www.youtube.com/watch?v=IwPRu5FhfIQ)\n- [Slides](https://docs.google.com/presentation/d/e/2PACX-1vSA_hS_o_sOgosYSbT5MnasFBSYxTLCJWjjTX8lqoKm5P8AqAp9wSIa9uYzfd60yFrm1DCjU_dI3AxC/pub)\n- [Captions](https://thisten.co/pfztb/lYo8glHi1hrTchpZltj5s2eyiJfpHMw0kWMazmAw)\n- Links from the speakers\n  - [Play tag with ferris](https://aaronerhardt.gitlab.io/crab-tag)\n  - [Firefox's codebase language stats](https://www.openhub.net/p/firefox/analyses/latest/languages_summary)\n  - [GoGaRuCo 2014 - Let’s Talk About Rust by Yehuda Katz](https://www.youtube.com/watch?v=ySW6Yk_DerY)\n  - [Learning systems programming with Rust by Julia Evans](https://jvns.ca/blog/2016/09/11/rustconf-keynote/)\n  - [Shape of errors to come by Jonathan Turner](https://blog.rust-lang.org/2016/08/10/Shape-of-errors-to-come.html)\n  - [Rust's Code of Conduct](https://www.rust-lang.org/policies/code-of-conduct)\n  - [\"Where is the rust community allowed to talk about changes\" thread on Reddit](https://www.reddit.com/r/rust/comments/hnfnti/where_is_the_rust_community_allowed_to_talk_about/)\n  - [rustc Dev Guide](https://rustc-dev-guide.rust-lang.org/)\n  - [Rust RFCs](https://github.com/rust-lang/rfcs)\n  - [Eternal September](https://en.wikipedia.org/wiki/Eternal_September)\n  - [Why the developers who use Rust love it so much](https://stackoverflow.blog/2020/06/05/why-the-developers-who-use-rust-love-it-so-much/)\n  - [Rust RFC: Edition 2021 and beyond](https://github.com/rust-lang/rfcs/pull/2966)\n  - [Opening up the Core Team agenda](https://blog.rust-lang.org/inside-rust/2020/07/27/opening-up-the-core-team-agenda.html)\n  - [Rust RFC: rust-analyzer as our official LSP](https://github.com/rust-lang/rfcs/pull/2912)\n  - [awesome-rust-mentors](https://rustbeginners.github.io/awesome-rust-mentors/)\n- Links from the community\n  - [Laying the foundation for Rust's future](https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html)\n\n### Error Handling Isn't All About Errors - [Jane Lusby](https://twitter.com/yaahc_)\n\n- [Video](https://www.youtube.com/watch?v=rAF8mLI0naQ)\n- [Slides](https://yaah.dev/rustconf)\n- [Captions](https://thisten.co/fgdpl/gpqltlf8162UY6HqVAWocYl9dKvYPqKE8IaerYHs)\n- Links from the speaker\n  - [Awesome Rust Mentors](https://github.com/RustBeginners/awesome-rust-mentors)\n  - [eyre - A trait object based error handling type for easy idiomatic error handling and reporting in Rust applications](https://github.com/yaahc/eyre)\n  - [color-eyre - Custom hooks for colorful human oriented error reports via panics and the eyre crate](https://github.com/yaahc/color-eyre)\n  - [The #[must_use] attribute](https://doc.rust-lang.org/reference/attributes/diagnostics.html#the-must_use-attribute)\n  - [The Error trait](https://doc.rust-lang.org/std/error/trait.Error.html)\n  - [thiserror - derive(Error) for struct and enum error types](https://github.com/dtolnay/thiserror)\n  - [displaydoc - A derive macro for implementing the display Trait via a doc comment and string interpolation](https://github.com/yaahc/displaydoc)\n  - [snafu - Easily assign underlying errors into domain-specific errors while adding context](https://github.com/shepmaster/snafu)\n  - [anyhow - Flexible concrete Error type built on std::error::Error](https://github.com/dtolnay/anyhow)\n  - [The #[non_exhaustive] attribute](https://doc.rust-lang.org/reference/attributes/type_system.html#the-non_exhaustive-attribute)\n  - [fehler - a library to add support for \"throwing functions\" to Rust through procedural macros](https://github.com/withoutboats/fehler)\n  - [tracing-error - Application level tracing for Rust](https://github.com/tokio-rs/tracing)\n  - [extracterr - Helpers for bundling context with errors and later extracting said context thru dyn Error trait objects](https://github.com/yaahc/extracterr)\n- Links from the community\n\n### How to Start a Solo Project that You’ll Stick With - [Harry Bachrach](https://twitter.com/HarryB)\n\n- [Video](https://www.youtube.com/watch?v=yv6L_xmjw5I)\n- [Slides](https://harrisonbachrach.com/rustconf2020)\n- [Captions](https://thisten.co/f3fs5/jhdkfx77OEb3AF4AXAv7miAq3rVjhJtp1vcRBJ2y)\n- Links from the speaker\n  - [ruut - Make easy-to-type folder and easy-to-get structures easy to read; think `tree` for data](https://github.com/HarrisonB/ruut)\n  - [New Year's Resolution Experiment](http://www.richardwiseman.com/quirkology/new/USA/Experiment_resolution.shtml)\n  - [Promoting habit formation](https://www.tandfonline.com/doi/abs/10.1080/17437199.2011.603640)\n  - [Action plans and coping plans for physical exercise: A longitudinal intervention study in cardiac rehabilitation](https://pdfs.semanticscholar.org/8df0/bb429602dab29c54f42611dafa28c9d87a83.pdf)\n  - [SMART goals](https://www.projectsmart.co.uk/brief-history-of-smart-goals.php)\n- Links from the community\n\n### Under a Microscope: Exploring Fast and Safe Rust for Biology - [Samuel Lim](https://twitter.com/amadeusine)\n\n- [Video](https://www.youtube.com/watch?v=2b8InauuRqw)\n- [Slides](https://www.dropbox.com/s/p204v7apts5pwwd/RustConf_Backup.pdf)\n- [Captions](https://thisten.co/skwit/wxzFfc1eh60qtrV2cCPtUKFosgePrTq8xpx3ahD9)\n- Links from the speaker\n  - [RNA-Seq](https://en.wikipedia.org/wiki/RNA-Seq)\n  - [pico-args - An ultra simple CLI arguments parser](https://github.com/RazrFalcon/pico-args)\n  - [structopt - Parse command line arguments by defining a struct](https://github.com/TeXitoi/structopt)\n  - [nom - Rust parser combinator framework](https://github.com/Geal/nom)\n  - [logos - Create ridiculously fast Lexers](https://github.com/maciejhirsz/logos)\n  - [pest - a general purpose parser written in Rust with a focus on accessibility, correctness, and performance](https://github.com/pest-parser/pest)\n  - [FASTQ Format - a text-based format for storing both a biological sequence (usually nucleotide sequence) and its corresponding quality scores](https://en.wikipedia.org/wiki/FASTQ_format)\n  - [Gene Transfer Format](https://en.wikipedia.org/wiki/Gene_transfer_format)\n  - [Browser Extensible Data Format](https://en.wikipedia.org/wiki/BED_(file_format))\n  - [Sequence Alignment Map Format](https://en.wikipedia.org/wiki/SAM_(file_format))\n  - [needletail - a MIT-licensed, minimal-copying FASTA/FASTQ parser and k-mer processing library for Rust](https://github.com/onecodex/needletail)\n  - [rayon - a data-parallelism library for Rust](https://github.com/rayon-rs/rayon)\n- Links from the community\n  - [uniffi-rs - a multi-language bindings generator for rust](https://github.com/mozilla/uniffi-rs)\n\n### Bending the Curve: A Personal Tutor at Your Fingertips - [Esteban Kuber](https://twitter.com/ekuber)\n\n- [Video](https://www.youtube.com/watch?v=Z6X7Ada0ugE)\n- [Slides](https://docs.google.com/presentation/d/1htb-eKM9DewL2RWSWuQ7trlz9ANMz7FKxWbMUtokuPQ/edit)\n- [Captions](https://thisten.co/fcmuf/BW3KCipKHk0JdkOaaqyBc06kX8xQmA5kwtcESCFE)\n- Links from the speaker\n  - [Rust Official Discord Server](https://discord.com/invite/rust-lang)\n  - [turbo.fish](https://turbo.fish/)\n  - [Learning Curves (for different programming languages)](https://github.com/dobiasd/articles/blob/master/programming_language_learning_curves.md)\n  - [Compiler Error Messages Considered Unhelpful: The Landscape of Text-Based Programming Error Message Research](https://web.eecs.umich.edu/~akamil/papers/iticse19.pdf)\n  - [Rust RFC: Type Ascription](https://rust-lang.github.io/rfcs/0803-type-ascription.html)\n  - [Mind your language: On novices'interactions with error messages](https://www.researchgate.net/publication/254004572_Mind_your_language_On_novices'interactions_with_error_messages)\n  - [rustc --explain (official CLI docs)](https://doc.rust-lang.org/rustc/command-line-arguments.html#--explain-provide-a-detailed-explanation-of-an-error-message)\n  - [rustc --explain (Learning Rust)](https://learning-rust.github.io/docs/e1.smart_compiler.html#Explain-Error-Codes)\n- Links from the community\n\n### My First Rust Project: Creating a Roguelike with Amethyst - [Micah Tigley](https://twitter.com/micah_tigley)\n\n- [Video](https://www.youtube.com/watch?v=GFi_EdS_s_c)\n- [Slides](https://drive.google.com/file/d/1dhcT-x3viUYc_IVbOcP-IH4Xeq_FTdfj/view)\n- [Captions](https://thisten.co/k3ljw/l9WBLRVClwEwSP4FNzQTwqmNeAo9sYjvroDVycUc)\n- Links from the speaker\n  - [The Rust Programming Language Book](https://doc.rust-lang.org/book/)\n  - [DragonRuby GTK](https://dragonruby.itch.io/dragonruby-gtk)\n  - [arewegameyet.rs - Game Development in Rust](https://arewegameyet.rs/)\n  - [amethyst - Data-driven game engine written in Rust](https://amethyst.rs/)\n  - [What is ECS?](https://en.wikipedia.org/wiki/Entity_component_system)\n  - [specs::DenseVecStorage](https://docs.rs/specs/0.16.1/specs/struct.DenseVecStorage.html)\n  - [dungeontileset-ii - a downloadable tileset](https://0x72.itch.io/dungeontileset-ii)\n  - [Micah's blog - Creating a Simple Spritesheet Animation with Amethyst](https://mtigley.dev/posts/sprite-animations-with-amethyst/)\n  - [image-rs - Encoding and decoding images in Rust](https://github.com/image-rs/image)\n  - [Micah's sprite animation demo](https://github.com/tigleym/sprite_animations_demo)\n  - [Micah's blog - Running Animation](https://mtigley.dev/posts/running-animation/)\n  - [Micah's blog - Camera Follow System](https://mtigley.dev/posts/camera-follow-system/)\n- Links from the community\n  - [Bevy - a refreshingly simple data-driven game engine built in Rust](https://github.com/bevyengine/bevy)\n  - [Amethyst \u0026 Bevy: Addressing the elephant in the room](https://community.amethyst.rs/t/bevy-engine-addressing-the-elephant-in-the-room/1645?u=erlend_sh)\n\n### Controlling Telescope Hardware with Rust - [Ashley Hauck](https://twitter.com/khyperia)\n\n- [Video](https://www.youtube.com/watch?v=xlVnp7VOxRE)\n- [Slides](https://docs.google.com/presentation/d/1RfS0yXjmn_IQPq56vbyBTBikgsgjprOB9lbOF-sneZU/edit?usp=sharing)\n- [Captions](https://thisten.co/bxtku/UrDctSRyk95tWI8VqUAxJ9x0WcZiNy7lwCDw9VDG)\n- Links from the speaker\n  - [Ashley's space pics](https://khyperia.com/space.html)\n  - [serialport - A cross-platform serial port library in Rust](https://gitlab.com/susurrus/serialport-rs)\n  - [rust-bindgen - Automatically generates Rust FFI bindings to C (and some C++) libraries](https://github.com/rust-lang/rust-bindgen)\n  - [std::sync::mpsc - Multi-producer, single-consumer FIFO queue communication primitives](https://doc.rust-lang.org/std/sync/mpsc/)\n  - [scopie - Astrophotography control software for khyperia's setup](https://github.com/khyperia/scopie)\n- Links from the community\n\n### Macros for a More Productive Rust - [jam1garner](https://twitter.com/jam1garner)\n\n- [Video](https://www.youtube.com/watch?v=dZiWkbnaQe8)\n- [Slides](https://slides.com/jam1garner/rustconf-2020-macros)\n- [Captions](https://thisten.co/ezkm3/yyQTXUF7cgexlEjgtbIXoflU3zG6pPNEClYeoPWS)\n- Links from the speaker\n  - [cargo-expand - Subcommand to show result of macro expansion](https://github.com/dtolnay/cargo-expand)\n  - [The Little Book of Rust Macros - Daniel Keep](https://danielkeep.github.io/tlborm/book/)\n  - [paste - Macros for all your token pasting needs](https://github.com/dtolnay/paste)\n  - [syn - Parser for Rust source code](https://github.com/dtolnay/syn)\n  - [quote - Rust quasi-quoting](https://github.com/dtolnay/quote)\n  - [darling - a Rust proc-macro attribute parser](https://github.com/TedDriggs/darling)\n  - [treeflection - a Rust library that provides pseudo-reflection for structs and enums](https://github.com/rukai/treeflection)\n  - [inline-python - inline Python code directly in your Rust code](https://github.com/fusion-engineering/inline-python)\n  - [swsh_randomizer - Experimental randomizer plugin for Pokemon Sword/Shield](https://github.com/Raytwo/swsh_randomizer)\n  - [cpp-inherit - A macro for inheriting Rust structures from C++ classes. Nothing valued is here](https://github.com/jam1garner/cpp-inherit)\n- Links from the community\n  - [absolution - \"Freedom from syn\": Proc macro tools for operating on token trees](https://github.com/Manishearth/absolution)\n\n### Rust for Non-Systems Programmers - [Rebecca Turner](https://twitter.com/16kbps)\n\n- [Video](https://www.youtube.com/watch?v=BBvcK_nXUEg)\n- [Slides](https://becca.ooo/rustconf/2020/)\n- [Code](https://github.com/9999years/rustconf-2020-code)\n- Links from the speaker\n  - [Working memory](https://en.wikipedia.org/wiki/Working_memory)\n  - [rustdoc](https://doc.rust-lang.org/rustdoc/what-is-rustdoc.html)\n  - [mdBook](https://rust-lang.github.io/mdBook/)\n  - [structopt - Parse command line arguments by defining a struct](https://github.com/TeXitoi/structopt)\n  - [eyre - A trait object based error handling type for easy idiomatic error handling and reporting in Rust applications](https://github.com/yaahc/eyre)\n  - [reqwest - An easy and powerful Rust HTTP Client](https://github.com/seanmonstar/reqwest)\n  - [serde-json - Strongly typed JSON library for Rust](https://github.com/serde-rs/json)\n  - [PragmataPro - Rebecca's font for code in her talk](https://fsd.it/shop/fonts/pragmatapro/)\n- Links from the community\n  - [Iosevka - an open-source, sans-serif + slab-serif, monospace + quasi‑proportional typeface family](https://typeof.net/Iosevka/)\n\n### Closing Keynote - [Siân Griffin](https://twitter.com/sgrif)\n\n- [Video](https://www.youtube.com/watch?v=RNsEsZbXE-4)\n- [Slides](https://www.slideshare.net/SeanGriffin54/learning-empathy-from-pokemon-blue)\n- [Captions](https://thisten.co/8uyul/RFv2T2YEll5g2fMmRrbWNi7dX7o7vew8QQEvUHNh)\n- Links from the speaker\n  - [pokered - Disassembly of Pokémon Red/Blue](https://github.com/pret/pokered)\n- Links from the community\n\n## Other Links\n- [This Week in Rust - Handpicked Rust updates, delivered to your inbox](https://github.com/emberian/this-week-in-rust)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoteto%2Frustconf-2020","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpoteto%2Frustconf-2020","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpoteto%2Frustconf-2020/lists"}