- RustConf 2024 trip
- Morning booths
- OSS secure by design from Aeva Black
- Safety Goggles for Alchemists from Jack Wrenn
- Safe Transmute project
- bytemuck/zero copy traits but in compiler
- Types as finite automata
- TransmuteFrom trait in core
- const ASSUME
- Let's you specify what things to check
- Tells you what you need to justify validity of
- Needed stuff
- DST support
- Fallible transmute
- Optimize
- Avoid recursion
- Run-length encoding for arrays
- Related
- CTA
- Rustify Your API: A Journey from Specification to Implementation
- MongoDB Rust API
- MDB has driver spec for all languages
- bulkWrite function
- Fluent API pattern
- Instead of builder for options
- client.bulkwrite(...).verboseresults(true).await
- bulk_write returns BulkWriteAction
- verbose_results takes ownership and returns new action
- impl IntoFuture for BulkWriteAction
- Lunch
- Talked about Zed
- Git commiting is on roadmap
- JetBrains Rust quiz
- 5th place
- Won book and JB license
- rustc perf
- The (Many) Mistakes I Made in rkyv
- Pronounced "archive"
- Zero-copy deserialization
- 0.8 released live
- Mistakes
- Soundness
- Unstable layouts
- Not portable
- Not repr(c)
- opt-in strict feature to add repr(c) and handle endianness right in 0.7
- Wrong
- Alignment can differ across targets
- Public API is wrong now
- In 0.8 always repr(c), endianness is right, primitives are always wrapped
- Ergonomics
- Unhelpful error
- Type annotations needed for With<T, W>
- Not problem with full-qualifies syntax
- One other impl in scope, is blanket impl
- Compiler thinks the blanket impl could apply, even though unrelated
- Blanket impl gone in 0.8
- Project health
- Unhealthy optimism
- Giving timeline estimates is mistake
- Rusty public transit map
- Caternary
- GTFS (General Transit Feed Specification)
- Designed by Google and Trimeet
- Has schedule and realtime data
- Can just throw all the GTFS data into Postgres and use Diesel ORM
- Scraping data in realtime
- Have to query everything, every couple seconds
- No way to get diff or subset of data
- Uses passwords from control panel
- Transfer patterns
- OpenStreetMap
- https://ad-publications.cs.uni-freiburg.de/ALENEX_scalable_tp_BHS_2016.pdf