Mara Profile Banner
Mara Profile
Mara

@m_ou_se

Followers
44,741
Following
455
Media
517
Statuses
2,056

Rust dev, Electronics engineer, Author, @rustlang Library team lead, ADHD, Polyamorous, Lesbian, She/Her

Delft, Nederland
Joined April 2009
Don't wanna be here? Send us removal request.
Explore trending content on Musk Viewer
@m_ou_se
Mara
3 years
Got a new laptop with the wrong power plug. But nothing a little `unsafe` block can't solve. 😌 🦀 ⚡️
Tweet media one
135
497
5K
@m_ou_se
Mara
2 years
"Nobody uses Rust in production", he emailed (with Thunderbird) from his laptop (running Windows) to a mailing list (on AWS, behind Cloudflare), which I then read (in Firefox) on my phone (running Android) after clicking a link (in Discord) to the list archive (served by Fastly).
30
408
4K
@m_ou_se
Mara
2 years
🦀📕 All chapters of my book, Rust Atomics and Locks, are now freely available online: Enjoy! ✨
67
674
3K
@m_ou_se
Mara
2 years
⚛️📋 I made an overview of the ARMv8 and x86-64 machine instructions for all the common atomic operations:
Tweet media one
27
367
2K
@m_ou_se
Mara
3 years
🐚 Brace expansion in shells like Bash and Zsh can be very useful to avoid repeating yourself. ✨ For example, if you want to do: $ mv some_long_file_name.txt some_long_file_name.rs You can write this instead: $ mv some_long_file_name.{txt,rs} Here's some ways to use braces:
Tweet media one
24
414
2K
@m_ou_se
Mara
3 years
🆕🦀 A new exciting @rustlang feature coming up in Rust 1.58: format argument capturing! 🎉✨ Starting in Rust 1.58, which will be released as stable on January 13, you can refer to variables from within format strings: let name = "world"; println!("Hello, {name}!"); Examples:
Tweet media one
Tweet media two
Tweet media three
Tweet media four
51
358
2K
@m_ou_se
Mara
2 years
🦀📕 I just finished writing the ninth chapter of my ten-chapter #rustlang book! Almost done! ✨🥳 If everything goes as planned, it should be available before the end of the year, so you can all read it during the holidays. 😊
Tweet media one
52
179
2K
@m_ou_se
Mara
2 years
🆕🦀 About an hour ago, @rustlang 1.65.0 was released. As is tradition, here's a thread with some of the highlights. 🧵 1/10
13
362
2K
@m_ou_se
Mara
2 years
🦀📕 Did I tell y'all I've been working on a book?! 🤩 Title: Rust Atomics and Locks It's not finished yet! But it will be, later this year! ✨
Tweet media one
55
150
2K
@m_ou_se
Mara
3 years
✨ Need to quickly plot something in @rustlang ? Just import the excellent Matplotlib from Python! 🦀 💛 🐍 📊
Tweet media one
47
217
2K
@m_ou_se
Mara
2 years
🦀 The standard library of @rustlang 1.63 ships with a long-awaited feature: scoped threads! Unlike thread::spawn(), this new feature allows threads to borrow local variables, instead of only 'static ones. 🎉 (Rust 1.63 will be released on August 11th.)
Tweet media one
30
239
2K
@m_ou_se
Mara
2 years
🦀📕 Here's a sneak preview of my book, Rust Atomics and Locks 📖 It's already available for pre-order! It should ship in December, so you can all read it during the holidays. ✨
Tweet media one
46
212
2K
@m_ou_se
Mara
3 years
🐚 Did you know? Posix shell input/output redirection doesn't need to be at the end of the command. You can put it at the start or in the middle of the command too: $ echo >file hello world ✨
Tweet media one
53
238
2K
@m_ou_se
Mara
2 years
Hey @rust_foundation , maybe don't promote ponzi schemes. As a reminder to everyone: the Rust Foundation is entirely separate from the Rust Project. They do not represent us, and they do not involve us in decisions like this.
@rust_foundation
Rust Foundation
2 years
Rust Foundation Silver Member @_parastate provides insight into how Rust can help reduce blockchain energy consumption. Read the piece:
Tweet media one
96
14
77
34
217
2K
@m_ou_se
Mara
3 years
A few hours ago, @rustlang 1.56 was released! 🦀 This version ships with the new edition: Rust 2021! 🐊✨🎊 There's quite a few new features in the new version and edition: 1/17
7
381
1K
@m_ou_se
Mara
3 years
Another exciting new feature in @rustlang 1.53: Nested or patterns. 🦀✨ This allows you to use the `|` or operator anywhere inside a pattern, instead of only at the top level: Before: Some(A) | Some(B) After: Some(A | B)
Tweet media one
29
202
1K
@m_ou_se
Mara
3 months
Apparently the concept of users who are not men is "too controversial" in the SerenityOS project, "as to not alienate anyone*". (*Anyone, as long as you go by he/him, of course.)
Tweet media one
106
122
1K
@m_ou_se
Mara
2 years
🆕🦀 Just moments ago, @rustlang 1.63.0 was released! 🎉 It's quite a big release, with even more exciting new features than usual! Here's a thread with some of the highlights. 🧵 1/16
15
310
1K
@m_ou_se
Mara
3 years
I just tried to charge my phone by connecting it to my laptop (with USB-C), but instead of my phone, my *laptop* started getting charged, quickly draining my phone's battery. Uh, what. 👀
31
54
1K
@m_ou_se
Mara
1 year
I feel really uncomforatble calling something "Rust Global" when it's just an event the US, with nothing planned in other countries yet. The US-centrism is an issue we must work on. This "Rust Global" announcement Tweet doesn't even mention the country, just "Bellevue, WA". :/
@rust_foundation
Rust Foundation
1 year
The Rust Foundation is thrilled to present #rustglobal : an event dedicated to driving collaboration b/w tech decision-makers & #rustlang users internationally. The 1st Rust Global will be co-located w/ #WasmCon on Sept 6. More info here: @linuxfoundation
Tweet media one
17
25
97
53
109
1K
@m_ou_se
Mara
2 years
🦀 Starting in @rustlang 1.63, Mutex::new, RwLock::new, and Condvar::new are all const functions! That means you can now finally use these types as static variables, without needing lazy_static or once_cell or other workarounds. 🎉
Tweet media one
21
166
1K
@m_ou_se
Mara
3 years
😌
Tweet media one
Tweet media two
46
185
1K
@m_ou_se
Mara
3 years
New programming outfit. ✨ (To wear while making the Rust standard library more gay. 🦀🏳️‍🌈)
Tweet media one
63
35
1K
@m_ou_se
Mara
3 years
We're very close to stabilizing @rustlang 2021! A few decisions and bugs are still left, but it looks like it'll be ready for inclusion in Rust 1.56! ✨🦀 We already tested the edition migration on the top 10'000 most downloaded crates, and will soon test *all* public crates. ⏳
Tweet media one
12
155
1K
@m_ou_se
Mara
3 years
💶🦀 If more companies did this, for more maintainers, we could maintain Rust without the overhead and distractions of employment/contracting. As sponsorship, this doesn't come with expectations/targets. It is recognition, and trusting I'll continue to do what is right for Rust.
Tweet media one
5
88
1K
@m_ou_se
Mara
3 years
If you like @rustlang so much, stop trying to hire all the active Rust team members to work on something else. Sponsor us instead! ✨💶 "We love Rust and your work on the language and standard libary, so how about you quit doing that?" —Startup founders in all of our inboxes. 🙄
14
125
1K
@m_ou_se
Mara
3 years
🦀🎄✉️
Tweet media one
5
155
1K
@m_ou_se
Mara
2 years
🦀
Tweet media one
36
61
1K
@m_ou_se
Mara
2 years
🦀 As of Rust 1.62 (going into beta this week), std::sync::Mutex, RwLock, and Condvar no longer do any allocations on Linux. 🎉 Benchmarking locks is extremely tricky, as their performance depends heavily on the exact use case, but there are very noticable differences:
Tweet media one
11
151
1K
@m_ou_se
Mara
5 years
I just made a Frankenstein's monster: Python code embedded directly in @rustlang code. Should I kill it before it escapes the lab? 👩‍🔬
Tweet media one
Tweet media two
38
426
1K
@m_ou_se
Mara
2 years
🦀 New (cursed) Rust proc macro! This one expands to whatever `use` statements you need to make the rest of the code compile. 🪄 😄
Tweet media one
Tweet media two
35
163
1K
@m_ou_se
Mara
2 years
🆕🦀 Just a few hours ago, Rust 1.61 was released! ✨ Here's a thread with fourteen highlights: 1/16
8
215
1K
@m_ou_se
Mara
2 years
🦀 ChatGPT has some great ideas for new #rustlang features:
Tweet media one
9
146
1K
@m_ou_se
Mara
3 years
The entirety of , almost half a million crate versions, pretty much the entire @rustlang open-source ecosystem, is only 63 GiB. That means it easily fits (four times!) in the ram of my new computer. So, I can grep through all crates in mere seconds! 🦀🔎💨
Tweet media one
38
86
1K
@m_ou_se
Mara
3 years
I just approved the PR for a very exciting addition to @rustlang 1.53: IntoIterator for arrays 🎉🦀 Before this change, only references to arrays implemented IntoIterator, which meant you could iterate over &[1,2,3] and &mut [1,2,3], but not over [1,2,3] directly. 1/6
Tweet media one
Tweet media two
19
133
1K
@m_ou_se
Mara
2 years
🆕🦀 A few hours ago, @rustlang 1.64.0 was released! 🎉 Just like every six weeks, at every new release, here's a thread with some of the highlights. 🧵 1/15
9
203
992
@m_ou_se
Mara
3 years
🦀💶 Who is sponsoring me for my work on @rustlang : ✅ Lots of individuals who care about Rust 💛 ✅ @EmbarkStudios and sometimes other tiny companies 💛 ❌ Microsoft ❌ Amazon ❌ Google ❌ Huawei ❌ Facebook ❌ Any other big company using Rust Open source funding is broken. 😞
28
137
994
@m_ou_se
Mara
2 years
🦀📺 #rustlang has finally become mainstream: hackers in TV shows are now compiling Rust to look cool. 😁 (From Pantheon S1E5.)
Tweet media one
13
108
974
@m_ou_se
Mara
2 years
🆕🦀 Just moments ago, @rustlang 1.62.0 was released! 🎉 As usual, a thread with some of the highlights. 🧵 1/9
9
183
969
@m_ou_se
Mara
2 years
🆕🦀 Just an hour ago, #rustlang 1.66.0 was released! As usual, here's a thread with some of the highlights. 🧵 1/12
5
178
965
@m_ou_se
Mara
3 years
Unlike many languages like C and C++, #rustlang does not implicitly treat integers as booleans, nor does it have a ternary operator. So, expressions like x ? 1 : -1 get a bit more verbose in Rust: if x != 0 { 1 } else { -1 } Here are some alternatives:
Tweet media one
57
128
950
@m_ou_se
Mara
3 years
🦀 I am so excited for std::thread::scope in the @rustlang standard library! 🤩 Coming to a Rust version Soon™. ✨ (Probably.)
Tweet media one
Tweet media two
15
98
949
@m_ou_se
Mara
3 years
Lots of new standard library additions will become stable in @rustlang 1.53. 🦀🎉 Thread:
9
148
950
@m_ou_se
Mara
4 years
Did you know you can just fork() the @rustlang compiler from your proc_macro? :D This is, of course, a horrible idea.
Tweet media one
Tweet media two
28
131
919
@m_ou_se
Mara
3 years
Important crab-related diagnostics improvement shipping in nightly @rustlang 1.59:
Tweet media one
21
139
906
@m_ou_se
Mara
2 years
It's really cool how Steam lets me play Windows-only games on my MacBook by remotely launching them on my *Linux* desktop using Proton/Wine and then streaming it over the network with no noticable latency. It feels like this shouldn't be possible. ^^'
20
27
908
@m_ou_se
Mara
2 years
🆕🦀 Yet another version of @rustlang , Rust 1.67.0, has just been released! This one is a relatively small release. So, short release thread: 🧵 1/6
14
136
903
@m_ou_se
Mara
1 year
🦀 Starting in @rustlang 1.73.0 (to be released on October 5th), panic!() and assert_eq!() messages will be a bit easier to read: unnecessary quotes and punctuation have been removed, and the message itself will appear its own line. ✨ Thanks to @nyuriks for driving this effort!
Tweet media one
Tweet media two
23
74
855
@m_ou_se
Mara
11 months
🦀🇯🇵 私の本「詳解 Rustアトミック操作とロック」が日本語版で出版されました! Rust Atomics and Locks is now available in Japanese!
Tweet media one
10
170
857
@m_ou_se
Mara
3 years
🦀✨ @rustlang 1.58.0 was released just now! As usual, a thread to highlight some of the new features: 1/11
1
166
849
@m_ou_se
Mara
3 years
For everyone worried about my safety: 1. I'm an electronics engineer. I know what I'm doing. 2. The power strip was switched off and not plugged in. See point 1. 3. I disassembled this right after taking the picture, so no one would accidentally power it. See also point 1. (:
31
10
840
@m_ou_se
Mara
2 years
🦀 This is really exciting: "In Android 13, about 21% of all new native code is in #rustlang ." ✨
Tweet media one
4
119
849
@m_ou_se
Mara
2 years
🦀 It's "Rust", not "RUST".
67
27
807
@m_ou_se
Mara
3 years
We finished the design of the new @rustlang edition: Rust 2021! 🦀🎉 What are Rust editions? And what is changing in Rust 2021? I wrote a blog post with all the answers:
13
179
811
@m_ou_se
Mara
4 years
After 2 years of discussions, more than ten proposed renames, several hundred GitHub comments with over 10000 words in total, 4 proposed 'final' commenting periods, and several video calls, `bool::then()` has finally landed as stable today with the release of @rustlang 1.50.0. 🎉
Tweet media one
22
72
800
@m_ou_se
Mara
2 years
🦀📕 Book book book book book book book book book book
Tweet media one
Tweet media two
Tweet media three
22
35
795
@m_ou_se
Mara
2 months
Reminder that my book—Rust Atomics and Locks—is freely available online: 😊 (If you read it, please leave a review on )
14
160
805
@m_ou_se
Mara
3 months
The Rust Evangelism (Crowd)Strike Force will continue the outages until everything is rewritten in Rust. 🦀🚀
@Perpetualmaniac
Zach Vorhies / Google Whistleblower
3 months
For people looking for a conspiracy, the replacement language for C++, Rust, is compromised by a cabal of woke tards that are doing strange things. It's possible this could be a plot to move mission-critical code to Rust. It's the only other language Linux is allowing, other
440
623
7K
13
67
795
@m_ou_se
Mara
3 years
🦀✨ @rustlang 1.57.0 was released just moments ago! As usual, a thread to highlight some of the new features: 1/11
9
153
773
@m_ou_se
Mara
2 years
🦀📔 What would you want to see in a book titled "Rust for C and C++ programmers"?
140
50
759
@m_ou_se
Mara
7 months
🦀 I'm really excited about today's Rust release! 🥳 - offset_of! - stripping release binaries by default! - IP/socket types available in no_std! - File::create_new (won't overwrite existing files)! - more array and slice methods (each_ref, chunk methods)! - Mutex::clear_poison!
@rustlang
Rust Language
7 months
Rust 1.77.0 is now available! 🦀🌈 This release comes with c"" string literals, offset_of!(), recursive async functions, stripping of binaries in release mode, File::create_new, Mutex::clear_poison, and more! Check out the announcement and release notes:
11
215
1K
13
97
763
@m_ou_se
Mara
2 years
assert_eq!(vec![🌽].pop(), Some(🍿));
20
61
753
@m_ou_se
Mara
2 years
🦀 New atomic memory ordering proposal:
Tweet media one
18
66
743
@m_ou_se
Mara
4 years
Starting in @rustlang 1.51, all integer types will have a ::BITS constant for the number of bits in the type. No more std::mem::size_of::<usize>() * 8 or 0usize.count_zeros(). 🎉
Tweet media one
10
76
737
@m_ou_se
Mara
3 years
I'm thinking of making some educational videos about #rustlang and related topics. 🦀🎙️📹🎞️ Anything specific you'd be interested in?
Tweet media one
Tweet media two
Tweet media three
Tweet media four
66
28
689
@m_ou_se
Mara
3 years
🦀 Happy new Rust! 🎆 Just now, @rustlang 1.55 was released, shipping with some small but very nice improvements. A thread:
9
160
682
@m_ou_se
Mara
3 years
⚡️💡Two years ago, I wanted to explain some folks digital protocols like I²C. I wanted to skip the boring stuff; make it a hands-on experience. So I made these little boards that they could use as I/O pins and invent their own protocols to talk to each other across the table. 1/3
14
99
667
@m_ou_se
Mara
2 years
🦀 This code compiles (and runs without panicking). 10 points if you can figure out how. 😁
Tweet media one
34
63
665
@m_ou_se
Mara
3 years
🆕✨ Starting today, I'm the team lead of the *new* @rustlang Library Team! 🦀 New? Yes, we did some restructuring! Thread: 1/9
Tweet media one
15
53
655
@m_ou_se
Mara
3 years
🦀 Do you have an Option<String>, but need an Option<&str>? Or do you have an Option<Vec<T>>, but want an Option<&[T]>? Or do you have an Option<Box<T>>, but require an Option<&T>? There's a method for that: Option::as_deref()! ✨ Works on everything that implements Deref. ✨
Tweet media one
12
78
658
@m_ou_se
Mara
3 months
Tweet media one
15
10
658
@m_ou_se
Mara
2 years
🦀💭 The gap between no_std and regular Rust is too large. With std, you basically assume there is a (Unix or Windows-like) filesystem, networking, "infallible" memory allocation, processes, locks, and so on. And in no_std, there is nothing. For too many use cases, neither works.
17
42
633
@m_ou_se
Mara
4 years
✨ New unstable @rustlang feature: I've added `assert_matches!()`, which can be used to assert an expression matches a pattern. Like `assert_eq`, but doesn't require PartialEq and allows for some more flexibility. Available in tomorrow's nightly with #![feature(assert_matches)].
Tweet media one
Tweet media two
18
84
629
@m_ou_se
Mara
3 years
The new stable version of @rustlang , Rust 1.52, was released just now! 🦀🎉 This release contains quite a few new small but significant features. A thread. 1/10
8
122
618
@m_ou_se
Mara
3 years
@chandlerc1024 When we switched from C++ to Rust, people with very little programming experience were suddenly writing embedded, systems, real-time, and/or performance critical software within weeks. I thought it was the type of software that made it hard to teach. But it was the language.
10
89
609
@m_ou_se
Mara
3 years
🦀🌈✨Iterator::collect() in @rustlang can do more than you might think. It can collect Results and stop at the first Err & same for Options, it can concatenate Strings and OsStrings too, it can join Paths, it can produce Cows, and more: ([].into_iter() only works in Rust 2021.)
Tweet media one
Tweet media two
Tweet media three
Tweet media four
12
93
603
@m_ou_se
Mara
1 year
🆕🦀 Just moments ago, #rustlang 1.69.0 was released! As usual, here's a thread with some of the highlights. 🧵 1/8
17
106
592
@m_ou_se
Mara
2 years
"programming is serious and not a game [..] stop with the outfits and princess programmer stuff" I think we should all start writing software and giving talks while wearing princess dresses. 👸👗👩‍💻
46
42
584
@m_ou_se
Mara
2 years
🆕🦀 A bit more than a week ago, @rustlang 1.60.0 was released! ✨ Here's a thread with ten highlights from this release: 1/12
4
107
574
@m_ou_se
Mara
2 years
🦀🧮 Update: my fast integer🡘floating point conversion functions have been merged into both Rust's compiler-builtins and the .NET runtime. 😊
Tweet media one
@m_ou_se
Mara
2 years
🦀📢 New blog post! ✨ Converting Integers to Floats Using Hyperfocus ✨ Making u128 to f64 conversion much faster through some manual bit twiddling. 🧮
21
81
563
7
48
570
@m_ou_se
Mara
2 years
“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.” —Tony Hoare
1
70
563
@m_ou_se
Mara
2 years
This happened to me several times, even when I was introduced as the CTO or founder. I asked technical questions, and the (engineering) candidate would not even look at me and give the answer to the man in the room. I asked follow up questions, but the responses went only to him.
22
77
558
@m_ou_se
Mara
2 years
Developers who say performance is more important than correctness.
@magdraws
Mag
2 years
Mushroom Office
Tweet media one
84
3K
19K
17
70
555
@m_ou_se
Mara
3 months
The community: 46 👍, 6 🎉! The maintainer: Too controversial! Closed! Locked!
Tweet media one
11
7
556
@m_ou_se
Mara
2 years
Another big new feature in today's Rust release is let-else statements. You can now write things like: let Ok(a) = i32::from_str("123") else { return }; without needing an if or match statement. This can be useful to avoid deeply nested if statements. 3/10
Tweet media one
5
48
550
@m_ou_se
Mara
2 years
👀
Tweet media one
Tweet media two
17
8
543
@m_ou_se
Mara
2 years
🦀📢 New blog post! 📝✨ Do we need a "Rust Standard"? My views on whether we need a Rust standard, or a Rust specification, and an overview of what we already have and do in terms of stability, specification, and language evolution.
13
114
534
@m_ou_se
Mara
3 years
🦀 @rustlang trick: ✨ You can make array repeat expressions work for *non-Copy types*, by using a const for the value:
Tweet media one
Tweet media two
11
67
538
@m_ou_se
Mara
3 years
I've succesfully invented time travel.
Tweet media one
8
61
529
@m_ou_se
Mara
2 years
🦀✨ New blog post! 📝 Comparing Rust's and C++'s Concurrency Library A review of the concurrency features of the C++ standard library, and what their Rust equivalent might look like.
9
100
525
@m_ou_se
Mara
4 years
So excited to see how well our flight controller reacts to disturbances in our test setup.🌪️😊 All implemented in @rustlang 🦀, running on our own hardware. See for details on what we make. ^^
14
54
517
@m_ou_se
Mara
3 years
Great news! The @rustlang library team has a new member: @yaahc_ 🎉 Welcome to the team, Jane! ❤️
Tweet media one
12
27
513
@m_ou_se
Mara
2 years
@OtaK_ Fun fact: the most recent CVE in the Rust standard library (remove_dir_all) also applies to C++ standard library implementations. But in C++ it's just considered undefined behaviour and your own fault if any other process touches the file system, so it's not considered an issue.
5
62
505
@m_ou_se
Mara
2 years
Maybe one day, when #rustlang const generics and type inference become powerful enough.. 😌
Tweet media one
22
28
508
@m_ou_se
Mara
3 years
TIL Portal 2 crashes if you have too many cores.😬 "Out of thread ids. Decrease the number of threads or increase MAX_THREAD_IDS" Googling that shows some leaked cs:go source with "const int MAX_THREAD_IDS = 128;". The game is probably allocating an ID per core, and a few more.
Tweet media one
13
58
501
@m_ou_se
Mara
1 year
🦀 I wrote a proposal for an #[export] attribute in Rust to allow for *dynamic* linking between Rust crates, without losing memory safety at the linker boundary. This will make other ABI work aimed at Rust FFI directly usable between Rust crates as well.
11
54
497