Want a Squeezable / Modern / Helpful / Wide Language? Choose Four
Rust, a language born in 2006, may now be in your kettle, your browser, and your AI. Somehow it's managed to do this whilst still being the "most admired" programming language.
Come along to find out what "Squeezable / Modern / Helpful / Wide" mean in practice, and why, in Rust, you can do hard things and still have a good time (eventually).
Mike Moran is a Principal Engineer at Skyscanner. He has been programming in some form since the early 90's, and on the Internet since 1994, when he created a website for Comet Shoemaker-Levy hitting Jupiter.
This was all before search-engines existed so you can't prove him wrong. Since that time he's worked in startups, scale-ups and behemoths, been a manager and an IC, and helped Skyscanner reach Unicorn status.
He's fallen in and out of love with multiple (computer) languages so knows how to spot a fad. His programming in Rust started in 2019, and he's been running the Rust and Friends Edinburgh Meetup since 2020.
Malcolm Still on The Crab and the Pufferfish: Applying OpenBSD’s Secure Software Design Pattern in Rust. From Malcolm:
"Mechanical Engineer by training, I've been writing rust professionally for 5 years. Currently a Senior Software Engineer at Swordbreaker protecting organisations from ransomware attacks."
Cosmo on Exploring a State-of-the-art Chess AI built with Rust. From Cosmo:
"Hi, I'm Cosmo, the author of Viridithas, a chess-playing program that competes at the highest level. Currently, I work at Esri, writing micro-services in Rust."
Welcome to Rust + Coffee 😀. This is intended as a choice for people who want to get together to chat/learn about Rust but can't make an evening session or just don't want to meet in a pub.
In June we're having a couple of events in the same week:
A daytime coffee event on Fri the 20th (this event)
An evening pub event on Thu the 19th (see other Meetup Event)
We had a great turn-out like last time, and ended up still a nice relaxed chat with interesting topics.
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.
Welcome to Rust + Coffee 😀. This is intended as a choice for people who want to get together to chat/learn about Rust but can't make an evening session or just don't want to meet in a pub.
In April we're having a couple of events in the same week:
A daytime coffee event on Fri the 25th (this event)
An evening pub event on Thu the 24th (see other Meetup Event)
We had a great turn-out last time, but ended up still a nice relaxed chat. This time we are trying a different venue (Machina Coffee); the last venue was great, but it's good to try out new places.
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.
It's time for some talks again! Tonight we'll be hearing from:
Chris Stafford on Escaping Node and React: Powering the web with Rust. From Chris:
"I've been writing web applications in Javascript since 1998, and I'm sick of it. React and server-side rendering is turning the web into an unmaintainable nightmare. Can Rust save us from ourselves? Possibly not, but maybe you can get an educational talk out of me trying it."
Hugo Tunius on Escaping coloured functions hell using inversion. From Hugo:
"Sync or Async? Tokio, Async-std, Smol, or Glommio? How about all of them? This talk will show you how to side-step these choices while writing code that is easier to test extend, and port across runtimes. Learn a design approach that frees your core logic from runtime dependencies, allowing you to leverage any ecosystem without getting locked in."
"I stumbled upon Rust in 2017 and have been hooked ever since. For the last 3+ years I've been working professionally with Rust building live streaming infrastructure at Lookback."
(This is a rescheduled instance of the event we previously had planned for January but had to cancel due to weather warnings)
Welcome to Rust + Coffee 😀. This is intended as a choice for people who want to get together to chat/learn about Rust but can't make an evening session or just don't want to meet in a pub.
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.
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.
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.
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.
Richard Bownes: "Extending Python with Rust - A friendly introduction to compiled languages." ( slides)
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.
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:
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).
The
FluenceCompute 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
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: 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.
"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."
"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"
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.
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 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.
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.