Future Meetups

Rust and Friends (daytime coffee)

In January we're having a couple of events in the same week:

  • An evening pub event on Tue the 21st (see other Meetup Event)
  • A daytime coffee event on Fri the 24th (this event)

Our intent is to cater to as wide a range of preferences as possible. Please choose the one that suits you the best!

This is totally optional, but: it can be helpful to bring your laptop along if you'd like some help. There is no absolutely requirement to, but since this is during the day and in a cafe it makes a bit easier to do this.

Past Meetups

Rust and Friends (evening pub)

In January we're having a couple of events in the same week:

  • An evening pub event on Tue the 21st (this event)
  • A daytime coffee event on Fri the 24th (see other Meetup Event)

Our intent is to cater to as wide a range of preferences as possible. Please choose the one that suits you the best!

Rust and Friends (pub)

Rust is growing, increasingly powered by its many and varied application areas. This group is about catering to the interests of people who just want to apply it, as well as those who want to learn more about the core language itself.

This is a small pub get-together on these themes. The intent is we at least have one of these every 2 months, occasionally interspersed / replaced with some talks.

Bootstrap Beers

It's been a while since we've gotten together, and I want to get us started in a way that makes this a going concern in 2024.

New to Rust? Wanting to be part of a local community of Rustaceans? Having some tricky issues that you're stuck on?

If any of these apply to you, then please come along!

Reasoning about Rust: an introduction to Rustdoc’s JSON format

An online talk from Luca Palmieri (see Speaker bio):

Macros are the primary mechanism for metaprogramming in Rust, either to perform code generation or enforce constraints at compile-time that are not easily captured by the type system (e.g. sqlx).

Macros are also limited: their input is a stream of tokens, with no type-level information.

Up until last year, you had to hook directly into the compiler internals to get a more featureful representation. This is no longer the case, thanks to Rustdoc’s JSON format: an information-rich representation of your Rust API in a machine-parsable format (with a versioned schema!).

We will introduce the feature, look at the structure of the data and cover a few of the usecases where it shines. You will leave the talk with a basic understanding of the format and ideas on how you could leverage it to build tools that enhance your own Rust workflows.

Speaker Bio

Luca Palmieri builds technology products for a living, and has been doing so for a while. His current focus is on backend development, software architecture and the Rust programming language.

He currently works at MainMatter as a Principal Engineering Consultant. He partners with teams across the industry to make sure they succeed in adopting or scaling their Rust usage, where it makes sense to do so. He was formerly at AWS and TrueLayer.

He has been part of the Rust community since 2018 and is best known as the author of “Zero to Production in Rust”, an introduction to using Rust for backend development.

When he is not coding, you’ll find him baking cakes or rolling pasta sheets.

December Talks + Rust Book Raffle

Something for people just getting started as well as wanting to go a bit deeper:

We also gave away a free copy of the excellent "Zero To Production In Rust" by Luca Palmieri which is also a great book for getting started in your journey with Rust.

We were generously hosted this evening within Huawei's Edinburgh Research Centre, where David works in the Programming Languages Group.

Applying Rust to your day job (includes Special Guests)

Rust was pretty hot around then, with many big names putting their support behind it. We asked: Is Rust now "Crossing the Chasm"? More pragmatically, how can we best apply it in our day jobs?

In this Meetup we heard from these Special Guests who've successfully applied Rust in their own companies:

We also opened it up for general Q/A about how we might get the best out of Rust ourselves.

Rust Coffee Morning, June

We were trying out some face-to-face Meetups, for pretty-open chats about anything Rust or Rust-related.

This one is a "coffee morning"

Rust in the Polymesh Project

This was presented by Vladimir Komendantskiy.

Polymesh is a blockchain for financial securities. It is built on the Substrate framework written in Rust. Around this time the valuation of all projects built on top of Substrate reached $5 billion.

Vladimir described what blockchain securities are and gave examples of operations on them in Rust: settlement, corporate actions, and confidential transactions.

He showed how a WASM runtime can be constructed on Substrate and how it is upgraded on the fly without restarting the network nodes. He talked about the zero-knowledge cryptography behind confidential transactions (MERCAT) and showed smart contracts written in Ink! (a Rust-based DSL).

Fluence: interface-types for server-side WebAssembly modules

This was presented by Mikhail Voronov.

The Fluence Compute Engine is intended to run multi-module WebAssembly applications with a shared-nothing linking scheme and with interface-types support.

This talk focussed on:

  • Why the interface-types proposal is essential for all ecosystems using WASM
  • Why Rust is one of the most suitable languages for any projects using WASM
  • The FCE architecture itself
  • Support for interface-types in the Fluence Rust SDK .

Audio Anywhere

This was presented by Benedict Gaster.

Benedict talked about "Audio Anywhere", a framework for working with audio plugins that are compiled once and run anywhere. He introduced a desktop example; including the use of Faust for DSP, lightweight Web-views for GUIs, and Rust as a hosting language.

At the heart of Audio Anywhere is an audio engine whose Digital Signal Processing (DSP) components are written in Faust and deployed with WebAssembly.

He described his groups modifications to the Faust compiler, utilizing Rust as an intermediate language to provide access to auto-vectorization of WebAssembly (128-SIMD). A number of example modules were discussed, demonstrating the utility of the framework.

Rust Overlaps: Web Assembly (WASM)

Rust Overlaps: where Rust isn't essential but is a key enabler. This time: doing fun things with WASM. This was a short intro to Web Assembly (WASM) followed by a few presenters from the community going over their own experiences of using Rust and WASM together.

Pirrigator - Growing Tomatoes Free From Memory Errors and Race

This was presented by Neil Gall:

"My experience learning Rust to build an embedded control system. A quick tour of the technologies used, the problems overcome and my experience diving into the Rust ecosystem for the first time to build a Raspberry Pi powered greenhouse irrigator - dubbed Pirrigator - resulting in a fine crop of tomatoes guaranteed free from race conditions and memory errors."

The Outs and Ins of the new MongoDB Rust Driver

This was presented by Mark Smith:

"MongoDB have been working hard on adding Rust as a fully supported client language for MongoDB, and the new driver reached beta this month. Mark Smith will run you through the basics of how to use it and how it was developed, including (maybe) interesting techniques used to support tokio, async-std and non-async programming approaches"

February Impl Night #2

This was small, and structured as an "Impl Night".

People brought along any work in progress or anything they'd like help with. This was at any level. Mike and other peers were there to help; so that we could work through any problems together.

February Impl Night #1

This was small, and structured as an "Impl Night".

People brought along any work in progress or anything they'd like help with. This was at any level. Mike and other peers were there to help; so that we could work through any problems together.

Rust Edinburgh Meetup #3

Speakers:

  • "How MaidSafe is using Rust for peer-to-peer networking on the SAFE Network" by Spandan Sharma, MaidSafe Engineer
  • "Improving Ethereum consensus" by Vladimir Komendantskiy, POA Network

Hosted by Codeplay and sponsored by MaidSafe.

Rust Edinburgh Meetup #1

Speakers:

  • "RLS and You" by Mark Sta Ana
  • "How Rust gets polymorphism right" by Simon Brand, Codeplay Software Ltd

Hosted by Codeplay and sponsored by MaidSafe.

About Us

Rust is growing, increasingly powered by its many and varied application areas. This "Rust and Friends" group is about catering to the interests of people who just want to apply it, as well as those who want to learn more about the core language itself.

For a taste of what to expect, see some of our past talks (Youtube), but also see areas we'll hope to cover, like Gaming / Web / ML/AI / Data / Guis.

We believe the Rust language and community can benefit anyone regardless of their level of ability or prior experience. "Rust and Friends" is a local / online Meetup intended to help us achieve that goal. We also have a #rust channel on the Scottish Technology Club Discord server.

For all meetings and interactions we follow Rust Lang Code of Conduct.

History

The Meetup was originally started in 2017 (it's believed this was by members of Codeplay and MaidSafe). These Meetups ran through 2018, but there was then a hiatus.

In 2020, the Meetup was taken over by Matt and Mike when the main Meetup group lost an owner. They managed to get a couple of Implementation Nights under their belt, but unbeknownst to them, this was on the cusp of COVID. So, they had to switch quickly to online only.

During 2021/2022, most of the Meetups were opportunistic Beer Evenings / Coffee Mornings with the occasional online Meetup. It was hard to predict when venues would be available or advisable.

In 2022, their was more interest in community in meeting up physically, and also some availability of venues, so we ended the year with our first physical talk since 2018!

Kinds of Meetup

Presentations / Discussions:
Focussed on particular topics. Sometimes hosted, sometimes online. These sometimes appear on our YouTube channel.
Beer / Coffee get-togethers:
Simple get-togethers for the community to chat about Rust and related topics.
Implementation Nights:
People bring along any work in progress or anything they'd like help with. Peers are there to help, so that we could work through any problems together.