New Rustacean artwork

New Rustacean

103 episodes - English - Latest episode: about 5 years ago - ★★★★★ - 79 ratings

A show about the Rust programming language and the people who use it.

Technology News Tech News rust programming programming languages software
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

RBR 2017: Arun Kulsheshthra

November 15, 2017 03:02 - 5 minutes - 5.02 MB

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

RBR 2017: Anthony Deschamps

November 14, 2017 04:02 - 5 minutes - 5.02 MB

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28. ## Transcript **Chris:** hello! Can you tell me your name and a little bit about yourself? **Anthony:** My name is Anthony Deschamps, I, um, I’m a software developer, I work in Automotive. **Chris:** Oh! Very interesting. Long-time listeners will recognize Anthony’s name as a sponsor of the show; thank you for sponsoring the show! **Anthony:** You’re welcome! **Chris:** So, what got you into Rust? **...

RBR 2017: Colin Dean

November 11, 2017 20:22 - 7 minutes - 6.68 MB

A micro-interview recorded at Rust Belt Rust 2017, in Columbus, Ohio, October 27–28.

Meta 2: Two milestones

September 25, 2017 13:20 - 12 minutes - 11 MB

Two years and fifty episodes of New Rustacean—time to celebrate with stickers and shirts! Links JavaScript to Elm Idris Elixir Shirts Get them here! – available till Oct 9, 2017 at 8:00 PM EDT. Sponsors Aaron Turon Alexander Payne Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure Behnam Esfahbod Benjamin Wasty Brent Vatne Charlie Egan Chris Jones Chris Palmer Dan Abrams Daniel Collin [David W. Allen] David Hewson Derek Mo...

CYSK: Rayon

September 16, 2017 18:25 - 14 minutes - 13 MB

Safe, threaded, parallel code in Rust! Links and Notes Rayon Source Crate Docs README blog post Other things referenced on the show Request for Explanation #10 [e016: RefCells and code smells] – on mutability ["embarassingly parallel"] https://www.newrustacean.com/show_notes/e016/index.html ["embarassingly parallel"]: https://en.wikipedia.org/wiki/Embarrassingly_parallel Sponsors Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure...

News: Rust 1.20

September 01, 2017 02:30 - 13 minutes - 12.2 MB

Associated constants, conference season, meetups, and more! Links and Notes Rust 1.20 blog post changelog Associated items RFC – and see the code for today's show for examples of the variants I described on the show! RustConf 2017 RustFest 2017 registration Rust Belt Rust 2017 registration (and don't forget to use code newrustacean for 20% off!) rustrations.club Sponsors Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure Behnam E...

Bonus 9: Open source is mostly just normal people

August 14, 2017 13:00 - 9.81 MB

My experience with ember-cli-typescript as an example: we're all just people muddling along and doing our best. Links and Notes ember-cli-typescript The Bike Shed #118: Nonsense In, Nonsense Out Sean's appearance on New Rustacean: Interview 1 Sponsors Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Behnam Esfahbod Benjamin Wasty Brent Vatne Charlie Egan Chris Jones Chris Palmer Christopher Giffard Dan Abrams Daniel Collin [David W. Allen] ...

e021: Keeping your types under cover

July 18, 2017 00:35 - 17 minutes - 16.1 MB

Using type aliases and creating custom type wrappers for more expressive and safer code. Links and Notes Deref Iterator std::io::Result Sponsors Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure Behnam Esfahbod Benjamin Wasty Brent Vatne Charlie Egan Chris Jones Chris Palmer Dan Abrams Daniel Collin David W. Allen Derek Morr Eugene Bulkin Henri Sivonen Jakub "Limeth" Hlusička James Cooper Jonathan Turner Jordan Henderson...

News 3: Increasing Rust's Reach

July 04, 2017 20:00 - 13 minutes - 12 MB

Growing Rust's diversity to help Rust grow. Links and Notes Initiative blog post Initiative submission form Sponsors Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure Behnam Esfahbod Benjamin Wasty Charlie Egan Chris Jones Chris Palmer Christopher Giffard Dan Abrams Daniel Collin Derek Morr Eugene Bulkin Henri Sivonen Jakub "Limeth" Hlusička James Cooper Jonathan Turner Jordan Henderson Jupp Müller Justin Ossevoort Karl...

CYSK: Rocket

July 01, 2017 02:00 - 17 minutes - 16.1 MB

An accessible, well-designed web framework in Rust! Links and Notes Rocket Hyper Iron Django Rails ASP.NET MVC Procedural macros in the Rust book first edition second edition – still in progress at time of publication RFC #1566 implementation tracking issue metaprogramming Lisp Sponsors Anthony Deschamps Anthony Scotti Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure Ben Whitley Behnam Esfahbod Benjamin Wasty Charlie Egan Chris Jones Chris Palmer Chr...

Interview 4 – Jonathan Turner: Part 3

June 17, 2017 19:47 - 22 minutes - 20.2 MB

Smoothing the Rust dev story Future work on the RLS, in Rust itself, and in Servo. Show Notes Building the Rust Language Service: Language Server Protocol plugins RLS reference VS Code plugin Kalita Alexey's vscode-rust langserver.org The 2017 Rust Roadmap Improved match ergonomics around references const generics RFC #1931 Working on Servo: Servo Windows nightlies LLVM Apple's use on their graphics pipeline: OpenGL Metal clang Swift Project Quantum WebKit KHTML Safar...

Interview 4 – Jonathan Turner: Part 2

May 30, 2017 20:36 - 25 minutes - 23.1 MB

Making Rust Better Rust as the fusion of systems and high-level programming languages, and the RLS. Show Notes The survey Language adoption: Guido van Rossum and Python Matz (Yukihiro Matsumoto) and Ruby Dart Building the Rust Language Service: Racer rustw Language Server Protocol Demo at RustConf 2016 Anders Hejlsberg – designer or lead developer of Turbo Pascal, Delphi, C#, and TypeScript Serde Roadmap GitHub Project Language Server Protocol plugins RLS reference VS Code p...

Interview 4 – Jonathan Turner: Part 1

May 01, 2017 02:13 - 22 minutes - 20.9 MB

Getting to Rust Background, TypeScript, coming to Rust, and how helpful the Rust community can be. Show Notes On Jonathan's programming backstory: TI-99/4A Commodore 64 Cray Chapel TypeScript Yehuda Katz ECMAScript Language Committee Data locality CPPCast BASIC Pascal Ultima After the transition to working on Rust full-time: Improving the error messages— design issue Jonathan's personal blog post "Helping with the Rust Errors" Official Rust blog post announcing and descri...

CYSK: RLS

April 18, 2017 18:17 - 11 minutes - 10.6 MB

Where the RLS came from, what it can do, and how you can start using it today! Notes One major ergonomic improvement to developing in Rust in 2017 is coming via the Rust Language Service: an initiative that lets us share a common core of functionality between every editor – from Vim to VS Code and everything in between. In today's episode, I give some background on it and talk about how you can start using it today! Links Rust Language Service repo blog posts announcement alpha 2 rel...

e020: Putting code in its place

April 01, 2017 18:38 - 20 minutes - 18.7 MB

How do we organize code in Rust? Where do we break it apart into modules or crates, and why? Notes Structuring code in a language like Rust can seem a bit more ambiguous than doing the same in a language with classes to attach all our functionality to, but in practice, the concerns are much the same: modules are namespaces, and we group by responsibility. In today's episode, I talk through that philosophy (and give some comparisons to other languages), and then look at what it looks like i...

Bonus 8: Giving back (by teaching)

March 19, 2017 15:00 - 13 minutes - 12.4 MB

On the responsibilities and opportunities we have to help others with our knowledge and abilities. Notes Many of us have been very blessed with opportunities and support as we learn software. We should go out of our way to share with others in kind. Today, my focus is on teaching, but there are lots of ways to "give back." And I'd love to hear your thoughts and things you're doing in that vein! Links Julia Evans keyof and Mapped Types in TypeScript 2.1 -- the blog post I mentioned writi...

e019: Let's `Clone` a `Cow`

February 28, 2017 22:20 - 18 minutes - 14.6 MB

code{white-space: pre;} The final pieces of the story for (single-threaded) memory management in Rust. Notes Sometimes, we actually do need to copy types. Wouldn't it be nice if Rust gave us a convenient way to do that when it's convenient, or when the cost is low enough that the ergonomic tradeoffs are worth it? Well, perhaps unsurprisingly, it does! The Copy and Clone traits, plus the Cow type, give us everything we need! Links underhanded.rs The typess std::marker::Copy "Copy t...

CYSK: clap

February 15, 2017 02:33 - 10 minutes - 8.6 MB

A Command-Line Argument Parser. Links crates.io docs.rs GitHub videos book YAML: example from clap YAML associated Rust implementation example from lightning-rs: YAML associated Rust implementation Sponsors Sponsors Aleksey Pirogov Andreas Fischer Andrew Thompson Austin LeSure Ben Whitley Charlie Egan Chris Palmer Christopher Giffard Daniel Collin Derek Morr Jakub "Limeth" Hlusička Jordan Henderson Jupp Müller Keith Gray Lachlan Collins Luca Schmid Matt Rudder...

e018: `Borrow`, `AsRef`, `Deref`: my head hurts now

January 31, 2017 23:32 - 17 minutes - 14 MB

Three traits which are essential for designing good, Rustic APIs. Notes Borrow, AsRef, and Deref are a little complicated, but they're well-worth understanding. Together, they give you tools for dealing with everything from HashMap and friends to conversions involving smart pointer types to easily using String and str or Vec and slice together. Links AsRef, Borrow, and Deref: Borrow and AsRef in The Rust Programming Language collections::borrow::Borrow std::convert::AsRef std::ops::De...

CYSK: quick-xml

January 09, 2017 14:03 - 8 minutes - 6.95 MB

A pull-parser for reading and writing XML. Links crates.io docs.rs GitHub syntax highlighting – example from lightning-rs Sponsors Aleksey Pirogov Andreas Fischer Ben Whitley Cameron Mochrie Chris Palmer Christopher Giffard Daniel Collin Derek Morr Jakub “Limeth” Hlusička Jupp Müller Keith Gray Lachlan Collins Luca Schmid Matt Rudder Matthew Piziak Micael Bergeron Ovidiu Curcan Pascal Hertleif Peter Tillemans Philipp Keller Ralph Giles (“rillian”) Raph Levien redd...

News 2: Let's talk roadmap!

December 29, 2016 19:00 - 21 minutes - 17 MB

Rust’s achievements in 2016 and goals for 2017 Links Rust releases: 1.10: blog post | release notes 1.11: blog post | release notes 1.12: blog post | release notes 1.12.1: blog post 1.13: blog post | release notes 1.14: blog post | release notes Rust 2017 roadmap RFC text RFC discussion Other official Rust blog posts: Shape of errors to come Incremental compilation Milestone: beta Milestone: across crates Milestone: in typechecking Cargo workspaces: Original RFC and discus...

Meta 1 – Slowing Down

November 12, 2016 18:26 - 7 minutes - 6.19 MB

Avoiding burnout by taking it a little easier. Sometimes, the way a podcast stays in existence is by coming out less often. That’s what’s happening here. Links lightning-rs Pelican Hugo Jekyll Static Site Generators: The definitive listing of Static Site Generators — all 445 of them! Become a sponsor Patreon Venmo Dwolla Cash.me Flattr PayPal.me Follow New Rustacean: Twitter: @newrustacean App.net: @newrustacean Email: [email protected] Chris Krycho Twitter: @chrisk...

Interview 3 – Carol (Nichols || Goulding)

September 30, 2016 12:00 - 47 minutes - 37.9 MB

Carol (Nichols || Goulding) on learning Rust, teaching Rust, and building community Notes Chris talks with Carol (Nichols || Goulding), a Rust community team member, co-author of the first major revision of The Rust Programming Language, and co-founder of the first Rust consultancy. Links XSLT (XML Style Sheet Transformations) Rspec Rails Think Through Math — remedial math tutoring app built with Rails Rust for Rubyists The Rust Programming Language Julia Evans RustConf 2016 keynote...

Bonus 7: Katas—or: learning by doing

September 10, 2016 17:50 - 10 minutes - 7.18 MB

Katas—or: learning by doing Notes One of the best ways to learn is to pick a small problem you have already internalized, and to do it again but in a new language or in a new way in a language you already know. Links AreWeGameYet AreWeIDEYet AreWeWebYet Setting our vision for the 2017 cycle Incremental Compilation cargo-incremental: internals post repo Elm Dave Thomas’ CodeKata Crates I used in my Rust “kata”: Hyper docs crate repo Serde docs crate repo Pencil (inspire...

Bonus 6: It doesn‘t have to be sexy

August 20, 2016 16:15 - 11 minutes - 7.89 MB

Building (and celebrating) all the little, not-so-glorious pieces of the Rust ecosystem. Notes We love the Rust compiler team. But there’s more to the Rust community, and more required for Rust to be as great as it can be, than just the language itself. We need to celebrate other libraries, and even the small ones, just as much (and maybe more) than changes to the language. We need to dig in and work on building the whole ecosystem. (The good news is, we are!) Links futures-rs “Zero-cos...

e017: Point me where I need to go

August 08, 2016 20:35 - 17 minutes - 7.41 MB

A deep dive on references and pointers in Rust. Notes By listener request, today we look at the syntax and semantics of referencing and dereferencing and the corresponding & and * operators. As was the case with e016, the code samples have little to say in their documentation; reading the code will be necessary for seeing the ideas. Links “Inside the Fastest Font Renderer in the World” The Rust Platform: original blog post Rust internals discussion Reddit discussion Hacker News dis...

e016: RefCells and code smells

July 23, 2016 17:58 - 18 minutes - 7.6 MB

Digging deeper on smart pointers and mutability with Cell and RefCell. Notes What are the Cell and RefCell types, and when should we use them? Today, we follow up both the detailed discussion of smart pointers in e015 and the closely related discussion in Interview 2 with Raph Levien, and look at two types you need to have a good idea how to deal with if you want to use these smart pointer types more ergonomically—that is, how to use them without feeling like you’re beating your head agai...

Interview 2::Part 2 – Raph Levien

July 04, 2016 23:35 - 19 minutes - 7.85 MB

Raph Levien on Rust’s current strengths and places it can improve Notes Chris chats with Raph Levien about what inspired him to build a text editor, as well as about where the rough edges in the Rust development story are today, and how we might improve them going forward. Links Rust/Ruby bridge: Helix blog post GitHub Rust Bridge project Ropes original paper Rust implementation C++ implementation Yehuda Katz on Code Newbie Creating Ember JS - Part I Creating Ember JS - Part II...

Interview 2::Part 1 – Raph Levien

June 25, 2016 01:26 - 28 minutes - 11.3 MB

Raph Levien on using Rust to build the Xi editor Notes Chris chats with Raph Levien about his background in software development, what attracted him to Rust, and how he’s using Rust to build the Xi Editor, a project which aims to be the fastest text editor out there, with native user interfaces and a Rust text engine. Links Past work: GIMP GTK GhostScript Google Web Fonts Current projects: font-rs pulldown-cmark Xi Editor fuzz testing sanitizers FreeType HarfBuzz ICU Ropes ...

e015: Not dumb pointers

June 18, 2016 00:07 - 20 minutes - 7.94 MB

Box, String, Vec, Rc, and Arc have this in common: they’re not dumb. This episode, we take a close look at smart pointer types—from a few we’ve already talked about, like Box, Vec, and String, to some new ones, like Rc and Arc. What smart pointers are, and what makes them ‘smart’. Why we want or need smart pointers. A bit about Box. A lot more about Rc and Arc. Links RustConf Rust Belt Rust Conference sessions Rusty Radio feed Rust Exercism track All exercism language tracks Sp...

News 1: One year and counting

May 31, 2016 18:13 - 26 minutes - 10.1 MB

A year in, Rust is changing fast but still stable. Links Rust 1.9 blog post release notes LLVM Projects built with LLVM Wikipedia discussion MIR blog post play.rust-lang.org – note the MIR button! Two enhancements enabled by MIR: Non-zeroing dynamic drop RFC pull request and discussion Issue 811: “Non-lexical borrow scopes and better treatment of nested method calls” Cargo blog post rustup blog post install from rustup.rs Sponsors Aleksey Pirogov Chris Palmer Daniel Co...

Bonus 5: Better than open-source contributions

May 10, 2016 01:47 - 11 minutes - 4.41 MB

Some things matter more than contributing to open-source software in your free time. A lot more. It’s trendy to ask for open-source work as evidence of your interest in tech and commitment to software development. Trendy and completely wrong. Companies should not demand open-source contributions from their employees, and beyond that, should learn to recognize that profit is not the most valuable thing in the world. People are. Links Xi editor Rust survey Expecting people to do open-sour...

e014: Stringing things along

April 26, 2016 02:16 - 18 minutes - 7.56 MB

Strings &strs and Vecs and slices (and Unicode) – oh, my! Notes This episode, I take a deep dive on strings in Rust, looking at the differences between String and &str, discussing Unicode a bit, and then expanding the discussion to think about how these types relate to the types they’re built on (like Vec). Links Strings: The Rust Book Rust by Example str docs: module primitive type String module type definition Dereferencing coercions std::ops::Deref Sponsors Aleksey Pirogo...

Bonus 4: We can have nice things

April 19, 2016 11:50 - 10 minutes - 4.05 MB

Just how good Rust is, and how you can learn it even if you’re busy. Notes Sometimes life goes crazy and I don’t have time to do all the technical writing required for a full episode, but I can’t get Rust off my mind, so I record an episode like this one. Where I talk a bit about how versatile Rust is and suggest some surprising ways you might be able to use it. Links Rust 1.8 blog post Fake build tool in F♯ HackerNews on Rust 1.8 Someone using it for personal projects Using it in pl...

e013: Staying alive

April 04, 2016 23:52 - 17 minutes - 7.17 MB

Reasoning about and using lifetimes in Rust (and why we need them) Notes Lifetimes are our way of reasoning about how long a given piece of data is available and safe to use in Rust. The reason we don't have the dangling pointer problem is that we do have lifetimes instead. They're not magic, they're just a bit of semantics and syntax that let us specify the rules for how long any given item lives, and how long references to data must be valid. Links Diesel Tutorial API docs Mio, ...

e012: I'm not familiar with that expression

March 21, 2016 11:00 - 16 minutes - 6.88 MB

What it means to be an expression-oriented language, and how that works out in Rust. Notes Rust is an expression-oriented language. What does that mean, and how does it play out in Rust? We look at if and match blocks, discuss looping constructs, and examine functions, and then widen out to discuss how having an expression-oriented language can change the way we think about programming. Links Redox Servo alpha announcement WebRender Wired article on Dropbox Rust documentation on expr...

e011: Once Upon a Type

March 08, 2016 15:00 - 17 minutes - 7.67 MB

Type systems: strong vs. weak, dynamic vs. static, and degrees of expressivity. Notes Talking about type systems! A broad and wide-ranging discussion about type systems in general, with specific examples from languages like PHP, JavaScript, Python, C, C++, Java, C♯, Haskell, and Rust! What is a type system? What are the kinds of things we get out of type systems? What are the tradeoffs with different type systems? What is Rust’s type system like? What is especially attractive about Ru...

Interview 1::Part 2 – Sean Griffin

February 25, 2016 13:30 - 22 minutes - 9.3 MB

Sean Griffin on type systems and hopes for Rust's future Notes Chris chats with Sean Griffin about the tradeoffs between mental overhead and type safety, the expressiveness of different type systems, and some of the places where Rust currently falls down. Corrigenda Sean noted he could be wrong about IEnumerable<T> not having a Sum method in C♯, and post-show research indicated that he was (it's possible it was added after he had stopped doing .NET work, of course). See the documentation...

Interview 1::Part 1 – Sean Griffin

February 15, 2016 20:00 - 24 minutes - 10.6 MB

Sean Griffin on Rust, ORMs, and Web Frameworks Notes Chris chats with Sean Griffin about his programming background and initial experience with Rust, Rust's appeal, and what he's doing with Diesel and some of his plans for a new web framework in Rust. Links Ruby on Rails Active Record Diesel GitHub Gitter The Bike Shed episodes which include talk of Rust and Diesel 51: Is Sim City Still Running (with Steve Klabnik) 49: A More Practical Haskell 48: Is Everyone Trying Their Best? ...

Bonus 3: Building as a community

February 01, 2016 00:08 - 12 minutes - 4.96 MB

Community is one of the most important parts of a programming language community, or indeed any technical community. In this episode, I talk a bit about what happens when you don't have a good community, how Rust's community has done well so far, and then how to keep building a good community and how to build good things as a community. Sponsors Aleksey Pirogov Chris Palmer Derek Morr Hamza Sheikh Luca Schmid Micael Bergeron Ralph Giles (“rillian”) reddraggone9 William Roe Become ...

e010: Macros rule!

January 18, 2016 15:25 - 16 minutes - 6.78 MB

Macros rule! Notes Because of the way macros are exported—before name resolution on crates occurs—the documentation for the macros defined in the source for this episode occurs in the Macros section of the show_notes crate documentation, rather than within the documentation for this module. (See the Rust Book discussion of documenting macros for details.) Even so, the source is still in this module; see the implementations for details. Links Rust book: Macros Rust by Example: Macros Rus...

e009: Composing a Rustic tune

January 09, 2016 21:00 - 17 minutes - 6.68 MB

Notes Last time, we looked at generics and traits at a high level. This time, we dig deeper on traits, looking specifically at std::iter::Iterator as an example of a powerful trait that can be composed across types, and then at how we might compose multiple traits on a single type. We also talk about the syntax for traits, the use of marker traits, some of the things you can’t presently do with traits, and even just a smidge about the future of traits in Rust. All that in less than 20 minu...

e008: Just like something else

December 27, 2015 16:19 - 17 minutes - 6.55 MB

Notes In this episode we cover—at a very high level—two more fundamental concepts in Rust programming: generics and traits. Generics gives us the abilitty to write types and functions which can be used with more than one type. Traits give us the ability to specify behavior which can be implemented for more than one type. The combination gives us powerful tools for higher-level programming constructs in Rust. Comments on source code Now that we have a handle on how tests work, we’ll use t...

e007: Testify

December 13, 2015 17:38 - 18 minutes - 7.08 MB

Notes All about testing in Rust! In order, we take a look at: Why you need tests. Unit tests in other (dynamically-typed) languages vs. in Rust. How to write unit tests in Rust. How and why to write integration tests in Rust. How and why to use benchmarks in Rust. The detailed code samples for this episode are heavy on showing; because of the nature of test functions, you will be best off just reading the source rather than leaning heavily on the descriptions generated by rustdoc. (Th...

Bonus 2: Legacy Code

December 06, 2015 18:23 - 9 minutes - 3.89 MB

Legacy Code Software developers spend a large part of our careers dealing with legacy code. But what is the best way to deal with legacy code? When should you rip out the old and rewrite it, and when should you opt for smaller clean-up jobs because, however ugly, what is already present works? Sponsors Chris Palmer Derek Morr Luca Schmid Micael Bergeron Ralph Giles (“rillian”) reddraggone9 William Roe Become a sponsor Patreon Venmo Dwolla Cash.me Follow New Rustacean: Twitte...

Bonus 1: Polyglot Programming Promises and Perils

November 25, 2015 16:27 - 8 minutes - 3.41 MB

Polyglot Programming Promises and Perils Sometimes, you’re doing a technical interview, and you just cannot figure out why your JavaScript function isn’t behaving like it should… and then, prompted by the interviewer, you realize that you’re not returning anything. Polyglot programming is beautiful, and wonderful, and sometimes it bites you when you aren’t looking. Links Scala F♯ Elixir Sponsors reddraggone9 Chris Patti Become a sponsor Patreon Venmo Dwolla Cash.me Follow New ...

e006: Modularize this!

November 16, 2015 15:36 - 18 minutes - 8.87 MB

Notes Today, we are talking about modules, packages, and APIs in Rust. Taking a bit of a breather after some pretty hard material the last few weeks. For reference, the Rust book section on Crates and Modules will be very helpful. Corrigenda I accidentally called this episode 5, instead of episode 6. Whoops. Just before the 15:00 mark, while discussing libraries, I referred to “e006.md” when I meant to say “e006.rs”. Slips of the tongue inspired by the fact that Rust (delightfully) uses...

e005: Allocate it where?

November 08, 2015 20:15 - 18 minutes - 9.11 MB

Allocate it where? Subject: Returning functions from other functions, and thinking about the stack, the heap, and reference types. MP3 Notes This episode, we look at returning functions from other functions, and as part of that discuss some basics about the stack and the heap—and why we need to care about them for returning functions. The functions themselves are not especially interesting; they just show you the basic form you use to return functions from other functions, and how to th...

e004: Functionalized

October 30, 2015 02:45 - 17 minutes - 8.83 MB

Date: October 29, 2015 Subject: Functions, methods, closures, and function as arguments! Notes This week’s episode covers the basics of all sorts of functions: normal functions, methods, and closures. Closures An explanation (in Ruby) by Martin Fowler Rust book Rust by Example “What is a closure?” (Progammers Stack Exchange) – the first answer is the best, but the second answer may be a helpful stepping stone for people just getting their heads around this and coming from OOP languag...

e003: No. more. nulls.

October 21, 2015 17:10 - 16 minutes - 7.99 MB

No More Nulls Subject: Enumerated (enum) types, pattern matching, and meaningful return types. Notes Today’s episode discusses, in order: Enumerated types, with an eye to the difference between structs and enums, and to the differences between enums in C and in Rust. Pattern matching, with a focus on using them with enumerated types and some discussion about how they differ from switch blocks in C-like languages. Using the Option and Result enumerated types with pattern matching to pro...

Guests

Sean Griffin
4 Episodes

Twitter Mentions

@chriskrycho 87 Episodes
@newrustacean 87 Episodes
@derekmorr 79 Episodes
@daniel_collin 66 Episodes
@maxjacobson 53 Episodes
@patrickod 50 Episodes
@sebasmagri 43 Episodes
@gaveen 17 Episodes
@malnormalulo 10 Episodes
@jwbowen 10 Episodes
@jaredthecoder 2 Episodes
@softprops 1 Episode
@hansapla 1 Episode
@jdub 1 Episode
@rustwasm 1 Episode
@joestump 1 Episode
@rustnairobi 1 Episode