Next session: undecided. We will use a video conferencing system, Big Blue Button, provided by the Software Freedom Conservancy.

I plan to run a session from time to time. If I manage to arrange that, I will announce it on this page, and on the fediverse (follow me at @liw@toot.liw.fi). No registration is necessary.

Instructions for joining the training:

  • Go to https://bbb.sfconservancy.org/b/lar-v1t-llh-2ib (works with my Firefox).
  • Enter your name or handle in the box, and press join.
  • You'll be asked if you want to join with a microphone or just to listen: it's your choice.
  • There's then an echo test. It doesn't work for me, even when the mic and speakers work in the actual meeting. I don't know what's up. Click "Yes", otherwise the computer is sad.
  • You're then presented with a big area where you'll see the speaker, and the slides I show. In the bottom you will see a few round buttons: mic (if you chose to join with mic), phone, camera. Click on mic to speak, phone to change speakers, or camera to turn your web cam on/off. You don't need to have your camera on if you don't want to.
  • There is also a button on the lower right to raise you hand. Use that if you have a question during the training or otherwise want to speak.
  • To the left of the big presentation area is a chat. You can type in questions or comments there. Note that I may not have time to follow the chat closely.
  • To the far left is a list of people present.
  • To leave the meeting, close the browser window or tab, or open the menu from the top right corner (three dots), and choose "Leave meeting".

It would be good if you join up to fifteen minutes ahead of time to make sure everything works for you.

If there are insurmountable problems, I'll update this page.

Slides for today: https://pilvi.pieni.net/s/c7bacew2Cr5MDeN (version 2.5)


Do you write code for free and open source projects? Would you like to learn the basics of the Rust programming language? I’m offering to teach the basics of Rust to free and open source software programmers, for free. The free course is based on my commercial Basics of Rust training.

After the free course, you will be able to:

  • understand what kind of language Rust is
  • make an informed decision about using Rust in a project
  • read code written in Rust
  • write command line programs in Rust
  • understand the fundamentals of memory management in Rust
  • learn more Rust on your own

This is a lecture; there is unfortunately no time for hands-on practice. To be clear: this course will not make you an expert in Rust. The goal is to get you started. To become an expert takes a long time and much effort.

You do need to know how to program.

The structure of the course varies, as I experiment with approaches and tailor the course for varying needs, but the usual outline is roughly:

  • Overview of Rust.
    • hello, world
    • workflow
    • strengths and weaknesses of the language
    • in general, what kind of language is it
  • A whirlwind tour of some basic aspects of Rust
    • functions
    • control structures
    • variables
    • command line parsing
    • reading files
  • Generic types
  • Iterators
  • Memory management
    • ownership
    • borrowing
    • lifetimes
    • mutating data
  • Threads (if there's time)

The course is in English using a video conferencing system (accessed with a web browser). You can install the Rust toolchain before the course starts: either using packages for your operating system or using rustup. Your installation works if you can run the following commands and get the expected output.

$ cargo init hello
     Created binary (application) package
$ cd hello
$ cargo run
   Compiling hello v0.1.0 (/home/liw/tmp/x/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 1.07s
     Running `/home/liw/tmp/cargo/debug/hello`
Hello, world!
$

To get started learning the language, any version of Rust from the past couple of years should work fine. Using a very recent Rust release will work better with some dependencies.

For whom?

This offer is limited to people who already contribute to FOSS projects via code: to meaningfully learn Rust you need to already know how to program, and I'm biased towards FOSS, sorry.

You don't need to sign up or register. Just show up before the session starts.

(If you're not a FOSS developer, you could ask your employer to pay for a course for their staff, possibly even in person.)

When?

See top of page.

If you attend, please be warned that I will ask you to tell others what you thought of the course (directly to friends, or on your blog, or on social media, wherever you're comfortable doing it).

The session will not be recorded.

Why am I doing this?

I have a passion for software freedom. I really like the Rust programming language. I also like teaching. I have a side business in training Rust, aimed at corporate customers.

You get: a quick introduction to Rust.

I get: the satisfaction of helping FOSS develops, feedback on my training course so I can improve it, and a bit of advertising.

(The advertising bit: if you'd like your employer to pay me to run the course for their staff, point them at my training courses page.)

Useful sites for learning Rust

The official home page and main documentation:

Tutorials:

Day-to-day lookup sites:

Other useful links:

News about Rust:

From participants of previous time I've run this course

Gunnar Wolf posted about his experience from my course.

Julien Jerphanion on Mastodon.

Clayton Craft on Mastodon.

Sumana Harihareswara on her blog.

Gaétan Lepage posted on their web page.