Scientific Computing in Rust
Scientific Computing in Rust
  • 50
  • 29 844
Matthew Scroggs - Writing a grid library for finite and boundary element methods
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop.
In the last few years, we've been working on rewriting our boundary element method library Bempp in Rust (Bempp-rs). Recently, we've been undertaking some work to spin the grid management out from Bempp-rs into its own library, and generalise it so that it can be used for other methods based on grids. In this talk, I will present some details and highlights of our grid implementation.
มุมมอง: 322

วีดีโอ

Manuel Drehwald - Cargo +GPU build: An early outlookManuel Drehwald - Cargo +GPU build: An early outlook
Manuel Drehwald - Cargo +GPU build: An early outlook
มุมมอง 3712 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. This is a talk about my latest, highly WIP project. I want to show a new rustc feature called #[offload], which allows running almost arbitrary Rust code on co-processors like a GPU, TPU, or IPU. I will show the current design which separates the Kernel writing from the Scheduling and allows a safe interface, un...
Spencer Williams - Back to basics: rebuilding computational biomechanics crate by crateSpencer Williams - Back to basics: rebuilding computational biomechanics crate by crate
Spencer Williams - Back to basics: rebuilding computational biomechanics crate by crate
มุมมอง 1272 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. Carl Sagan famously said that "If you wish to make an apple pie from scratch you must first invent the universe." Rust is an appealing language for us to rebuild biomechanics simulation from scratch due to its speed, safety, and ease of distribution. From our own experience in biomechanics research, we believe w...
Jacksen Narvaez Coral - Rusph: a SPH astrophysical simulation code in the Rust programming languageJacksen Narvaez Coral - Rusph: a SPH astrophysical simulation code in the Rust programming language
Jacksen Narvaez Coral - Rusph: a SPH astrophysical simulation code in the Rust programming language
มุมมอง 1452 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. The Smoothed Particle Hydrodynamics (SPH) algorithm has proven to be a successful method for simulating astrophysical systems. However, due to its computational cost, codes are usually written using low-level programming languages, such as Fortran, C or C , to achieve high performance in terms of both speed and ...
David B. Dahl - Developing Rust-based R packages using the Roxido frameworkDavid B. Dahl - Developing Rust-based R packages using the Roxido framework
David B. Dahl - Developing Rust-based R packages using the Roxido framework
มุมมอง 1022 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. R is a programming language for statistical computing and data visualization. This talk introduces the roxido framework, a simply idiomatic Rust-based API which wraps commonly used parts of R's API with minimal overhead and allows a programmer to easily add additional wrappers. The creation of a new package usin...
Alex W. N. Riasanovsky - Efficient 1-bit matrix approximationsAlex W. N. Riasanovsky - Efficient 1-bit matrix approximations
Alex W. N. Riasanovsky - Efficient 1-bit matrix approximations
มุมมอง 2352 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. In this talk, we introduce the signed cut decomposition of an arbitrary matrix or tensor and our efficient implementation in Rust. Our work is inspired by Szemerédi’s Regularity Lemma and greatly simplifies the algorithms from the 1999 paper of Frieze and Kannan which spawned the field of combinatorial limit the...
Jed Brown - Productive and reliable constitutive modeling in RustJed Brown - Productive and reliable constitutive modeling in Rust
Jed Brown - Productive and reliable constitutive modeling in Rust
มุมมอง 1382 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. Constitutive modeling is at the core of materials science and computational engineering, representing the response of materials to stimuli. The models encode principles such as reference-frame invariance, the second law of thermodynamics, and unit invariance, and new models are constantly being developed for bot...
Christopher Jefferson - Maths software in Rust after 20 years of C++: graph isomorphism and groupsChristopher Jefferson - Maths software in Rust after 20 years of C++: graph isomorphism and groups
Christopher Jefferson - Maths software in Rust after 20 years of C++: graph isomorphism and groups
มุมมอง 1.3K2 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. Group theory is a huge area of maths, featuring a wide range of algorithms. The most famous group theory algorithms is graph isomorphism, which finds if two graphs (represented as nodes and edges) are equivalent up to renaming the nodes. After writing logic algorithms in C and C for over 20 years, I decided to i...
Mutlu Simsek - Perpetaul: a hyperparameter-free gradient boosting machineMutlu Simsek - Perpetaul: a hyperparameter-free gradient boosting machine
Mutlu Simsek - Perpetaul: a hyperparameter-free gradient boosting machine
มุมมอง 902 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. I want to talk about a gradient boosting algorithm which I developed in Rust. It is different from other GBM algorithms because it doesn't need hyperparameter tuning. github.com/perpetual-ml/perpetual
Bartosz Telenczuk - Polars in the factory: when databases trump collections for modelingBartosz Telenczuk - Polars in the factory: when databases trump collections for modeling
Bartosz Telenczuk - Polars in the factory: when databases trump collections for modeling
มุมมอง 1262 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. Rust offers versatile and efficient data structures to represent and process collections of objects. Its crate ecosystem adds even more to this functionality and turns it into a versatile tool for data science applications. On the other hand, data scientists are used to build online analytical pipelines (OLAP) b...
Louis Boulanger - An embedded memory cache for persistent memory accessLouis Boulanger - An embedded memory cache for persistent memory access
Louis Boulanger - An embedded memory cache for persistent memory access
มุมมอง 872 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. As part of my thesis on persistent memory programming, I am exploring the use of my library on embedded systems. This library is a "persistent-style standard library" that allows users to manipulate any kind of non-volatile memory (SSD, NVRAM, ...) as actual memory, through normal data structures. The goal of th...
Libor Spacek - Rstats: multidimensional data analysis in RustLibor Spacek - Rstats: multidimensional data analysis in Rust
Libor Spacek - Rstats: multidimensional data analysis in Rust
มุมมอง 1992 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. Describing my crate Rstats and the novel ideas in it.
Ignacia Fierro Piccardo - Rusting RSRSIgnacia Fierro Piccardo - Rusting RSRS
Ignacia Fierro Piccardo - Rusting RSRS
มุมมอง 722 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. According to Yesypenko and Martinsson [1], we can use the RSRS algorithm as a black box to efficiently compress and factor Hierarchical matrices that are in most cases related to Partial Differential Equations problems. This can also be applied to other types of problems, as long as we know a hierarchical partit...
Mo Bitar - Physics simulations in BevyMo Bitar - Physics simulations in Bevy
Mo Bitar - Physics simulations in Bevy
มุมมอง 3802 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. Bevy is the most popular game engine in Rust. Because of its flexibility, it can be used not only for games but also for (scientific) physics simulations. In this talk, I will share my experience using Bevy for physics simulations from scratch as part of my master's thesis.
Mossa Merhi Reimert - extendr: frictionless bindings for R and RustMossa Merhi Reimert - extendr: frictionless bindings for R and Rust
Mossa Merhi Reimert - extendr: frictionless bindings for R and Rust
มุมมอง 1242 หลายเดือนก่อน
Recording of a talk given at the Scientific Computing in Rust 2024 online workshop. ExtendR is a suite of software packages that brings Rust to the R ecosystem. First, an overview of the various parts of extendR. (1) libR-sys which is a sys-crate for R API (2) extendr crate that enables calling Rust function in R, data type marshalling, etc. (3) An accompanying R-package rextendr that incorpora...

ความคิดเห็น

  • @dustinhess6798
    @dustinhess6798 6 วันที่ผ่านมา

    Saying Julia is not good for anything outside of simple scripting seems to me that some doesn't actually know how to program in Julia. I have written at least 2 large simulation packages ( phontonics related.) They were previously written in C for speed. Julia is just at fast as the C ones and and way easier to maintain and extend. I was able to model then optimize the code so much easier than c or c++. I think think you just don't have experience writing a large package in Julia. That is not to say Rust isn't a good language. Rust seems to be a good systems level programing language. Julia is not. Plain simple has nothing to do with size of the program.

  • @gustavojoaquin_arch
    @gustavojoaquin_arch 16 วันที่ผ่านมา

    based

  • @foobar-km4ek
    @foobar-km4ek 17 วันที่ผ่านมา

    3:49 the rust code is measuring the creation of the list & transformation, while in Python & Julia he is only benchmarking the transformation... so silly

  • @Debrugger
    @Debrugger 17 วันที่ผ่านมา

    5:10 Note the "ss" at the end, which stands for scalar single(-precision float). This code is processing one element at a time and just happens to use AVX/FMA instructions to do it. You want "ps" (packed single), which is the SIMD version of the instructions.

  • @xnadave
    @xnadave 2 หลายเดือนก่อน

    Great presentation.

  • @akreyiare78
    @akreyiare78 2 หลายเดือนก่อน

    ك

  • @RootsterAnon
    @RootsterAnon 2 หลายเดือนก่อน

    Very nice! great example.

  • @generalyoutubewatching5286
    @generalyoutubewatching5286 2 หลายเดือนก่อน

    Nice work

  • @maulberto3
    @maulberto3 2 หลายเดือนก่อน

    wow faer seems real fast

  • @yevgeniygrechka6431
    @yevgeniygrechka6431 2 หลายเดือนก่อน

    I think this is a great snippet of the issues of Julia; there are of course a lot of other issues (starting with the fact that it indexes at 1). I definitely agree that Julia does not solve the two language problem; right now mojo is the best candidate to solve it, but mojo's decision to essentially be compatible with python will be a huge albatross in this endeavor. Ironically, I do think that Rust comes closest to solving the two language problem, it is much easier to do scripting/prototyping in rust that to get a quality prod-ready code in Julia.

  • @iilugs
    @iilugs 2 หลายเดือนก่อน

    Why the hurry in the end :( those were interesting examples

  • @MrWorshipMe
    @MrWorshipMe 2 หลายเดือนก่อน

    Isn't Option more appropriate than Result for noting whether the search found something or not? Edit: it was asked at the end :)

    • @Azubits
      @Azubits 2 หลายเดือนก่อน

      (author here) I also remembered a better reason for Result, if you ignore the return value of a function which returns Option<()>, nothing happens, but if you ignore a Result<(),()>, you get a warning!

    • @MrWorshipMe
      @MrWorshipMe 2 หลายเดือนก่อน

      @@Azubits there #[must_use] for that, no?

    • @Azubits
      @Azubits 2 หลายเดือนก่อน

      @@MrWorshipMe true, but now I need to remember to "must_use" lots and lots of methods, while 'Result' just does exactly what I want, with no obvious drawbacks, except a niggling feeling it's "not what it's for" :)

  • @ib9rt
    @ib9rt 2 หลายเดือนก่อน

    Watched with interest. Graph theory and row/column permutations of equivalent sparse matrices is a very important topic in computational numerical analysis, making use of Dulmage-Mendelsohn decomposition, Tarjan's algorithm, early work by Roger Sargent, and many others in the field. These all in some way or another involve searches with backtracking. The goal is generally to permute the rows and columns of a sparse matrix to achieve a result with more useful structural properties. Is this field orthogonal to your work, does it intersect with it, and might any of your work equally be useful in numerical analysis?

  • @bontiac
    @bontiac 2 หลายเดือนก่อน

    What on earth is this channel

    • @gregorywpower
      @gregorywpower 2 หลายเดือนก่อน

      I found asking myself the same thing. But it's so cool.

  • @dotmyself
    @dotmyself 2 หลายเดือนก่อน

    Really nice talk!

  • @AnimeshSharma1977
    @AnimeshSharma1977 2 หลายเดือนก่อน

    thanks for sharing this, wondering if you explored julia before?

  • @Cammymoop
    @Cammymoop 2 หลายเดือนก่อน

    This is pretty cool

  • @nicklam3594
    @nicklam3594 2 หลายเดือนก่อน

    sovler

  • @johanngambolputty5351
    @johanngambolputty5351 2 หลายเดือนก่อน

    Why not OpenCL for GPU?

    • @xnadave
      @xnadave 2 หลายเดือนก่อน

      OpenCL is effectively dead. NVIDIA never cared about it and AMD deprecated it years ago. You'd be better off writing a compute shader in Vk or GL. The only major player still actively working on OpenCL is Intel, and they're not exactly doing great.

    • @johanngambolputty5351
      @johanngambolputty5351 2 หลายเดือนก่อน

      @@xnadave I mean, I'm going to continue using it so long as there's drivers, I found it easier to get my head around when I was first getting into GPGPU, maybe I'll give CUDA another go, but I also like the idea of a cross-vendor technology more. I know you can translate CUDA/HIP but there's just fewer steps involved if its a shared standard to begin with. I don't like the OpenGL domain specific syntax and I hear vk is worse, OpenCl is a lot closer to writing code for a cpu thread pool, which makes it so much of a smaller jump from cpu programming.

  • @jckesinger
    @jckesinger 2 หลายเดือนก่อน

    1:48 HTTP/1.0 was 1996, HTTP/0.9 was around for several years before that.

  • @bejn5619
    @bejn5619 4 หลายเดือนก่อน

    Bayes and rust, two of my favorite topics

  • @StankyPickle1
    @StankyPickle1 4 หลายเดือนก่อน

    Awesome work!

  • @grantfact9740
    @grantfact9740 4 หลายเดือนก่อน

    Faer seems great but the documentation is a nightmare!

    •  2 หลายเดือนก่อน

      Then I urge you to do somethong about it ;)

  • @mariobroselli3642
    @mariobroselli3642 7 หลายเดือนก่อน

    I want a lua vs julia comparison pls😊

  • @MarcoAntoniotti
    @MarcoAntoniotti 7 หลายเดือนก่อน

    This is an old debate. Bottom line: developing in Julia is and will be easier. Rust is an amazing compiler, but developing code in Rust seem to be a PITA.

  • @FroL_Onn
    @FroL_Onn 7 หลายเดือนก่อน

    Thanks for the talk and for the video!

  • @nanocentury
    @nanocentury 8 หลายเดือนก่อน

    never have i ever seen v.pop used or taught in julia. the use case would be someone trying to straight up paste code from some other language to julia.

  • @Gabriel38196
    @Gabriel38196 8 หลายเดือนก่อน

    I have been waiting for something similar forever!

  • @kaihsiangju
    @kaihsiangju 8 หลายเดือนก่อน

    what about software development efficiency? how easy the language for researcher or scientist to adopt the language? code readability? personally, for scientific computing, I don't think rust is anywhere close to julia/python or even matlab or R. I love rust for its speed and safety, but a lot of rust enthusiasts want others to see it as the "best language for everything" which is just clearly wrong.

  • @climbing-this-wall
    @climbing-this-wall 9 หลายเดือนก่อน

    Shame it was hurried at the end - thanks for the talk Miguel really useful insights

  • @nordgaren2358
    @nordgaren2358 9 หลายเดือนก่อน

    The guy using godbolt might be using a different compiler toolchain, or may be compiling for windows, which is why he got a different output.

  • @lorenzomonacelli
    @lorenzomonacelli 9 หลายเดือนก่อน

    I have learned both rust and julia around the same period last year and tried right away to implement them in a serious research project. My experience was that the rust ecosystem is still a bit underdeveloped. Here few examples: 1) to do efficient linear algebra, you must interface with low level BLAS and LAPACK calls, which must be implemented in an unsafe region of code and are very conterintuitive to use. 2) The tools for nuneric optimization of function are a bit outdated, depending on old version of the ndarray causing a conflict of types when used with new versions of the library (at least one year ago) 3) write performant and vectorized code require a lot of skills in the language, also not much support for GPU computing and large scale multiprocessing with message passing interface (MPI) across multiple nodes, where multithreading is highly inefficient. 4) It is extremely challenging to quick prototype an idea and to transform the prototype in a production code without rewriting. Now, it is possible that it was a skill issue from my side, but I found in julia a very efficient way to go for my huge project (and I learned julia exactly at the same time). It is way easier to pickup, and the support for scientific computing comes out of the box. Then when I discovered the Automatic Differentiation, my life changed. I work a lot with optimizations, and not having to derive and implement the expression for gradients means a huge time saving (often months of work). Then the multiple dispatch makes it so easy to extend and plugin the code that it is really a pleasure. Sure, the absence of GC and memory safety of rust are very nice, but I do not see it to be competitive in the scientific computing area.

  • @LtdJorge
    @LtdJorge 10 หลายเดือนก่อน

    8 minutes and he had to rush in the end… Sad

  • @alexpyattaev
    @alexpyattaev 11 หลายเดือนก่อน

    Give the guy 2 hour slot to talk!

  • @Sumospider
    @Sumospider 11 หลายเดือนก่อน

    Guys, use the right language for the right problem... Rust is the language you want for writing stable and performant software for sure. Noone would want to write a database in Julia, but for scientific computing, Im sorry, Julia is just the better language. There are static analysis tools for Julia as well you dont need a compiler for that. Btw you can have bad performance in any language if you dont know basics.

    • @rolandschatzle4208
      @rolandschatzle4208 9 หลายเดือนก่อน

      This is exactly the point! Rust is a systems programming language and should be used for that. Julia is aimed on scientific computing and the like and really shines there. In scientific computing, data science etc. you need an interactive environment und you don’t want to care about memory management.

    • @tychoides
      @tychoides 8 หลายเดือนก่อน

      @@rolandschatzle4208 I tried to move my data science workflow to Julia and it was hopeless. The JIT lag is still awful. It seems that they move the compilation to the library importing so there is less in the REPL, but that is useless as I need to run the script regularly in a container. I used Dataframes.jl and the performance was similar to Pandas for merging tables to 2x better for grouping. But actually I can get more improvement moving more of those operations to the database. I bet there could be more optimizations that could have been done in Julia, but also my python code was not optimized either. The memory consumption was twice than python for small datasets. Finally I tried Polars (rust library for dataframes) and it was 10x faster with automatic multi-threading, even when I was not taking advantage of the lazy evaluation. I am moving my pandas work to a mixture of sql queries, pandas and polars for the more intensive scripts. Julia is not going to win in data science or ML. Python is more than enough for that work. Libraries are made in the C/C++/Fortran and now Rust. And you want good well optimized libraries. Julia is only feasible for long simulations until they bring good static compilation to the language (the current one is a joke) and an actual interpreter to the REPL. I don't want optimized JIT. I want a decent JIT for REPL and optimized compilation for my binary.

  • @tychoides
    @tychoides 11 หลายเดือนก่อน

    At the end he suggests to use Julia in user cases that are mostly solved by Python (interactivity, prototyping and plotting). I think is unfair. I have not used Rust in a real app, but I have read and done some tutorials and it is quite more dense than Julia, and if you change the logic of your code you might need to propagate that change across you code in a very annoying way, specially with types. Not very friendly for prototypes. C++ has not the memory safety warranty offered by Rust , but scientific and numerical programming are usually not big codes with very intensive loops and very few objects with simple life cycles. Threads and parallelism can be somewhat nicer in Rust but Julia also makes then easier to use, but there is nothing like optimized OpenMP for Rust. In my view Rust is great for complex apps or libraries with low-level optimization. So I see people in sci comp using Rust in the same way as people use C/C++/Fortran: as compiled libraries for a Python script. That is my case, as I have been using Polars, a very good dataframe library, in my python scripts. Julia is great for simulations that might be longer that a few minutes. The REPL is great for using try and error to test the code, and optimizing and scaling the code step by step. However the JIT lag is awful. Even the LSP server (made in Julia) without any caching took more than a minute to compile and start. There is hope for better times lately but I will wait a bit for that promise to materialize. Python is instantaneous in comparison. And with good vectorized code and numba and JAX it can be very fast. So Julia only is a good option for scripts that would take more than 30 minutes to run. Simulations of physical systems are a good case for Julia, as they usually fall in that category. Data science is usually tables of less of 1 Gb., so Python works great for that. Tables of larger than 10 Gb are usually handled on the database, or in server side virtual machines, and the python libraries are more mature for that case, or Spark with scala is widely used in the industry. Julia only has a chance in the 1Gb to 10 Gb data sizes, but Polars probably destroyed that chance. So Julia is not bad but it is sort of stuck in a niche in simulations and Bayesian simulation (probabilistic programing). Neural networks could have been a good killer feature, but Python and Numpy API was dominant alreardy and research and effort went into Python. Torch was initially Lua, and they move to Python. And with that pressure Python has been getting faster. Mojo is in the horizon, but I am eyeing it from afar to see if the hype delivers. So I am not very hopeful about Julia growth.

  • @joaopedrorocha5693
    @joaopedrorocha5693 ปีที่แล้ว

    Hi, i'm learning about bayesian statistics now ... and will need to use the emcee package to do MCMC for regression analysis. It looks like Lace does a lot of stuff ... looks amazing ... i could use it over emcee? (i'd like to use Rust over Python ...)

  • @Antonio-yc2kx
    @Antonio-yc2kx ปีที่แล้ว

    "Promo sm" 🤭

  • @gradientboost9857
    @gradientboost9857 ปีที่แล้ว

    amazing !

  • @learningtoride1714
    @learningtoride1714 ปีที่แล้ว

    Hi, very interesting crate with lots of potential. Do you have extended documentation for Lamellar online anywhere? Thank you.

  • @damickillah
    @damickillah ปีที่แล้ว

    I couldn't get the rust code example to compile. I ended up with this, in order to get it to run: use rayon::prelude::*; fn main() { let x: Vec<i32> = vec![1, 2, 3, 4, 56, 89]; let y: Vec<i32> = vec![5, 6, 7, 8, 65, 98]; let a = 2; let sum: Vec<_> = x .par_iter() .zip(y.par_iter()) .map(|(&x, &y)| y + a * x) .collect(); println!("{:?}", sum); }

  • @offensivearch
    @offensivearch ปีที่แล้ว

    I don't think Julia has many "performance footguns". To me a footgun is something that is easy to get wrong. Does Julia allow non-performant, non-type stable, etc things? Yes. I have yet to see Julia code that is very slow where I am wondering why it isn't fast. The example given of a Array{Any}, it is obvious to me why that wouldn't be performant. To me Julia's advantage is that it is a language where it is "easy to get performant and idiomatic code". You can not care about performance at all and get code that runs slow (but you can write fast). You can, if you want, make very optimized code that looks nothing like idiomatic Julia. In most cases I want something in the middle. I want abstract idiomatic code (easy to maintain) that is reasonably fast. I've found avoiding things that make your code slow in Julia is usually easy and there are nice tools for doing so.

  • @geoffsparks2588
    @geoffsparks2588 ปีที่แล้ว

    Is the BB code available on Github?

  • @Vagelis_Prokopiou
    @Vagelis_Prokopiou ปีที่แล้ว

    Thanks for the presentation.

  • @nicklam3594
    @nicklam3594 ปีที่แล้ว

    Nd arrays in rust suck. Lack of elegant broadcasting rules also sucks. No way to generate cuda kernels (from within rust). Lack of a good AD/ML library. I dont know what kind of scientific products you are using rust for, but definately rust is not the tool for my usecase.

    • @nicklam3594
      @nicklam3594 ปีที่แล้ว

      nvm disregard this comment. I love rust now

    • @mannacharya4088
      @mannacharya4088 ปีที่แล้ว

      What happend to you bro? @@nicklam3594

    • @waynelau3256
      @waynelau3256 ปีที่แล้ว

      ​@@nicklam3594can you share what you have learnt haha.

    • @vidal9747
      @vidal9747 11 หลายเดือนก่อน

      ​@@nicklam3594It is important to any scientists to keep an open mind and change it when you realize you are wrong. But could you provide a little more contest in your change of heart? A link to a blogpost or anything would do. I am thinking of migrating some of my code to rust. I am a undergrad in computational physics and want something closer to what I get in fortran, but without using a dead language.

    • @nicklam3594
      @nicklam3594 3 หลายเดือนก่อน

      I will be making a presentation on this. Will keep you posted.

  • @halneufmille
    @halneufmille ปีที่แล้ว

    4:28 I think pop! is a feature. Most of the time, if I try to pop an empty array, I want my program to error so I can know there was something wrong.

    • @oro6768
      @oro6768 ปีที่แล้ว

      Better to gracefully handle an error (i.e. provide more meaningful context, provide a default value if necessary, etc) sounds a *lot* better than saying "whatever" and letting it crash during runtime, without your input.

  • @UpstreamNL
    @UpstreamNL ปีที่แล้ว

    Great talk

  • @0nyr
    @0nyr ปีที่แล้ว

    🎉🎉🎉