Josiah Parry
Josiah Parry
  • Видео 38
  • Просмотров 129 327
RIP RStudio 🪦 Positron has my 💕
(No RStudio isn't dead but there's a new show in town!)
Download Positron: github.com/posit-dev/positron
My keybindings: gist.github.com/JosiahParry/f254923b2c75ea32db28de07fb755a7e
Extensions:
- Material Theme (cant live without)
- Toggle Light/Dark (cant live without)
- Rust analyzer (can't live without)
- Todo tree
- Docker
Просмотров: 8 923

Видео

R's new exploit: how it works & other ways you're vulnerable
Просмотров 2,4 тыс.5 месяцев назад
A vulnerability in the R programming language was discovered. I show how it works as well as other ways that you can be exploited by using features of the R programming language. We go over: - abusing .onLoad() - hiding bad intentions in S3 generics - and how compiled code can hide things The exploit is because promises can be stored in an rda or rds files. These unexecuted pieces of code can t...
Parse JSON with Rust & Serde
Просмотров 9905 месяцев назад
Parsing JSON in Rust is easy with the serde and serde_json crates. In this video we'll parse a json file of todo tasks. You'll learn how to create a struct, derive Deserialize and Serialize to work with serde as well as how to use serde_json to process text into your struct. Rust Code: gist.github.com/JosiahParry/cd1e132e91603df468b7043a52b26e88 Twitter: JosiahParry GitHub: github.c...
Rust & R: Decoding Geohashes into sf objects | Pt. 2
Просмотров 2406 месяцев назад
Part 1: ruclips.net/video/yaxfqpECIZ0/видео.html Code: github.com/JosiahParry/geohash Geohash Rust Crate: docs.rs/geohash Follow me on Twitter: JosiahParry Connect with me on LinkedIn: linkedin.com/in/josiahparry In this second part of our live coding series, we further explore the fusion of Rust and R in geospatial data processing. We make a function that decodes geohashes into bou...
Rust 101: Quick VS Code Setup in Under 2 Minutes
Просмотров 2 тыс.6 месяцев назад
No fluff or frills instructions to set up VS Code to be used with Rust all within 90 seconds (84 to be exact). I go over how to install the rust-analyzer and the other extensions that you need as well as a simple keybinding that can be helpful for checking or running your rust code. Extensions you need: - rust-analyzer - even better TOML - crates Follow me on: Twitter: JosiahParry G...
Build a geohash R package using Rust
Просмотров 5606 месяцев назад
We cover more advanced Rust concepts to build a package to perform geohashing in R. You'll learn how to: • Using match statements for control flow • Creating and working with custom structs • Deriving traits for added functionality on your structs • Implementing the From trait for custom structs • Destructure tuples • Vectorization across two variables • Handling NAs effectively • Generating da...
Building UwU: Rust-based UUIDs for R
Просмотров 4316 месяцев назад
I tackle a problem from twitter and develop Rust-based R package called {uwu} for generating UUIDs. In this video, I dive into the world of rust R via extendr, showing you how I transform a tweet problem into a functional solution. GitHub Repository: github.com/JosiahParry/uwu Tweet: x.com/merm_bot/status/1781022234519216364 extendr tutorial: extendr.github.io/user-guide/heckin-case-converter.h...
1 billion row challenge in Rust using Apache Arrow
Просмотров 10 тыс.6 месяцев назад
I walk through how I did the One Billion Row challenge using Rust and the Apache Arrow DataFusion query engine. Code: github.com/JosiahParry/youtube-tutorials/blob/main/onebrc/src/main.rs DataFusion: docs.rs/datafusion 1brc: github.com/gunnarmorling/1brc Follow me on twitter: JosiahParry
Valve: R belongs in production
Просмотров 2,2 тыс.Год назад
R belongs in production. Valve is designed to make R even more powerful. Valve auto-scales `{plumber}` APIs concurrently using Rust libraries Axum, Tokio, and Deadpool. Learn to make your R code fly in production! Sponsor me on Github: github.com/sponsors/JosiahParry/ Valve: valve.josiahparry.com/ Plumber: www.rplumber.io/ Video Repo: github.com/JosiahParry/youtube-tutorials/tree/main/intro-valve
S3 Objects and Functions in R
Просмотров 3,8 тыс.Год назад
Understand R's S3 Object System and deepen your knowledge of R. This video breaks down base R object to the most fundamental aspects showing that a data.frame is just a list, a factor is an integer vector, and matrixes aren't real. Then learn how to write generic functions to create class specific functions using inheritance. Resources: Advanced R by Hadley Wickham adv-r.hadley.nz/base-types.ht...
Be a better R programmer with this add-in: {codegrip}
Просмотров 1,7 тыс.Год назад
{codegrip} has single handedly made me a more efficient R programmer. See how to install this R package and configure the add in to restructure your code for you. github.com/lionel-/codegrip
RAW STRINGS IN R?!
Просмотров 594Год назад
Raw strings have been in R for a while now and no one told me?! Unbeliavble. Take a minute to learn how to make raw strings in R and make your life a lot easier. One tidbit to make you a better R programmer. josiahparry.com/posts/2023-01-19-raw-strings-in-r.html
Making R 300x times faster!
Просмотров 4,8 тыс.Год назад
Someone came to me with some slow R code and asked if Rust could make it faster. Here is how I made their R code 300 times faster using Rust. After, someone schools me and makes the code 2000 times faster using base R and data.table. Sometimes an over emphasis on the tidyverse and data frames can make folks write slower code! 0:00 - Intro 1:00 - The problem 1:35 - Reviewing the code 2:50 - Func...
Geohash: coding from scratch - Part 2
Просмотров 2,1 тыс.Год назад
Geohashes are everywhere locations are collected. Here we implement the geohash algorithm from scratch in R. Part 1: ruclips.net/video/vGKs-c1nQYU/видео.html R implementation: github.com/JosiahParry/youtube-tutorials/blob/main/geohash/geohash.R Rust implementation: github.com/JosiahParry/youtube-tutorials/blob/main/geohash/geohash.rs GM Morton's original geohash: dominoweb.draco.res.ibm.com/rep...
Geohash: the algorithm inside and out - Part 1
Просмотров 9 тыс.Год назад
Most videos only show you how to use a geohash-not how to create one. I'm changing that. Geohashes are everywhere. Twitter's "Algorithm" keeps track of location solely with geohashes. Why are they so powerful? Part 1 of 2 GM Morton's original geohash: dominoweb.draco.res.ibm.com/reports/Morton1966.pdf Slides: josiahparry.github.io/youtube-tutorials/geohash/slides.html Written notes: josiahparry...
R and Rust - getting started with extendr
Просмотров 1,9 тыс.Год назад
R and Rust - getting started with extendr
Demystifying . . . (dots): R package dev fundamentals
Просмотров 2,1 тыс.Год назад
Demystifying . . . (dots): R package dev fundamentals
Write R functions like a pro in 6 minutes
Просмотров 1,4 тыс.Год назад
Write R functions like a pro in 6 minutes
Write surprisingly fast for loops in R
Просмотров 1,4 тыс.Год назад
Write surprisingly fast for loops in R
Hot Spot Analysis: the Fundamentals (Gi & Gi*)
Просмотров 2,5 тыс.Год назад
Hot Spot Analysis: the Fundamentals (Gi & Gi*)
Hot Spot Analysis in R: GIS Fundamentals
Просмотров 6 тыс.Год назад
Hot Spot Analysis in R: GIS Fundamentals
Introduction to Spatial Lags for Spatial Analysis
Просмотров 6 тыс.Год назад
Introduction to Spatial Lags for Spatial Analysis
Aggregate points to a fishnet in R (sf)
Просмотров 1,1 тыс.Год назад
Aggregate points to a fishnet in R (sf)
SLICED! Live Machine Learning
Просмотров 7733 года назад
SLICED! Live Machine Learning
Creating a t test with R
Просмотров 5113 года назад
Creating a t test with R
ANOVA in R
Просмотров 1 тыс.3 года назад
ANOVA in R
Turn your R model into a RESTful API [Part 3]
Просмотров 2 тыс.3 года назад
Turn your R model into a RESTful API [Part 3]
Calling your own API - Put your R model into production [Part 4]
Просмотров 1,5 тыс.3 года назад
Calling your own API - Put your R model into production [Part 4]
Put your R model into production - making functions [Part 2]
Просмотров 1,2 тыс.3 года назад
Put your R model into production - making functions [Part 2]
Put your R model into production [Part 1]
Просмотров 2,1 тыс.3 года назад
Put your R model into production [Part 1]

Комментарии

  • @Annetthossain
    @Annetthossain 2 дня назад

    Very simple and quick, no time wasted ❤❤

  • @hamskyxxx
    @hamskyxxx 7 дней назад

    Excellent explanation and straight to the point. Wish I found this video while doing my project last year.

  • @druizcardenas312
    @druizcardenas312 11 дней назад

    Great video, thanks for all the tips

  • @nishanksoni7120
    @nishanksoni7120 26 дней назад

    You have explained really well..hats off to you. Great work.

  • @cicakmuhamed
    @cicakmuhamed Месяц назад

    Thank you for doing humanity a big favor. Somebody who is uncomfortable with people just accepting things and explaining the concept under the hood. Appreciate it!

  • @edmel144
    @edmel144 2 месяца назад

    Coffee in profile pic? That's a + from me.

  • @billweberx
    @billweberx 2 месяца назад

    I don't have a c:/Users/Myname/Library folder. How is this created? I've installed both VSCode and Rust. So I can't edit the Keybindings.json.

  • @DougLopes
    @DougLopes 3 месяца назад

    Impossible to read a single word of this in smartphone

  • @viktorkuznetsov1617
    @viktorkuznetsov1617 3 месяца назад

    What should I use instead cargo? It's "deprecated"

    • @soymichelo75
      @soymichelo75 3 месяца назад

      the message tells you to use "Dependi"

  • @AdrienneMichelson
    @AdrienneMichelson 3 месяца назад

    Oh wow the version switching is super nice.

  • @sinan_islam
    @sinan_islam 3 месяца назад

    This project sounds like polars?

    • @josiahparry
      @josiahparry 3 месяца назад

      Entirely different! This is not a data frame library. This is about scaling existing plumber APIs using Rust. So if you can write a function in R you can make a REST API, if you can do that, you can deploy it to production as a backend web service or as a serverless function. Or whatever you want! Valve helps make sure that you use all available resources on a container or machine to scale that effectively .

  • @sinan_islam
    @sinan_islam 3 месяца назад

    I think if Google decided to make TensorFlow and Scikit-Learn commercial, the Python hype will burst.

  • @joseoscardelgadobautista2105
    @joseoscardelgadobautista2105 3 месяца назад

    🤣

  • @Aaqib..
    @Aaqib.. 3 месяца назад

    I havent used R studio myself since i installed Positron, working with R and Python at the same time is just so easy and somehow i feel like it's faster in response and everything.

  • @MrThessalonikiman1
    @MrThessalonikiman1 3 месяца назад

    If someone uses Visual Studio code that runs almost everything, does he need positron or r-studio?

    • @josiahparry
      @josiahparry 3 месяца назад

      you can use the command line if you want to i suppose. you don't _need_ VS Code or RStudio, or Positron, or any other editor. They're just nice to play with

  • @88fjoe
    @88fjoe 3 месяца назад

    brilliant!

  • @meryplays8952
    @meryplays8952 3 месяца назад

    Now we need R to become more developer friendly, like Julia. BTW, how is it different from VScodium (or Theia) + R extension?

    • @dianyiyang5977
      @dianyiyang5977 2 месяца назад

      you have a data/variable explorer i guess

    • @meryplays8952
      @meryplays8952 2 месяца назад

      @@dianyiyang5977 and many baked-in extensions at the moment.

  • @asteinmetz
    @asteinmetz 3 месяца назад

    It's worth thinking about the audience for this product. I've been testing it from the viewpoint of a data scientist and, like VS Code, there is a lot going on beyond what I need. I applaud Posit for becoming language agnostic but Positron is very much developer-centric so far. I don't like a workflow that includes dropping into the command line (or Powershell) - this is one thing I think RStudio gets right vs. what Python tools expect from people.

  • @cmhhansen
    @cmhhansen 3 месяца назад

    I must admit I'm a little confused by this whole positron thing. Im already using vscode for everything besides R. I'd have much rather they contributed a nice R extension for use with vscode. Tbh, I often use vscode for R also when I'm accessing remote machines and can't be assed installing rstudio server, and I find the setup okay...

    • @wngmv
      @wngmv 3 месяца назад

      The way i see it they just want more users. As I'm as R heavy as BASH, with a mind to go into other stuff I'm just gonna stay with base VSC.

  • @thhaase-soz
    @thhaase-soz 4 месяца назад

    what makes this better then VSCode? (or codium what im using)

    • @dianyiyang5977
      @dianyiyang5977 2 месяца назад

      data viewer and variable panel

    • @thhaase-soz
      @thhaase-soz 2 месяца назад

      @@dianyiyang5977 skilllissue

  • @brancengregory
    @brancengregory 4 месяца назад

    "the R installation something something" - felt

  • @kurokami254
    @kurokami254 4 месяца назад

    Been getting into rust and trying to up my game as an R user as well, think I'll try this. Also, can't wait to see what you build in the future

  • @Andrei_WongE
    @Andrei_WongE 4 месяца назад

    Actually, I do like the R project way of doing stuff...

    • @josiahparry
      @josiahparry 4 месяца назад

      its the same thing as an r project without the bloated files

  • @blaisepascal3905
    @blaisepascal3905 4 месяца назад

    Amazing tool! But I already use vs code. What are the benefits to move to Positron then?

  • @davidbudzynski9290
    @davidbudzynski9290 4 месяца назад

    What is the point of making a clone of vs code? They cant keep up with rstudio developennt, so how are they going to keep up with VS Code development and implement patches. The licence itself is also a big turn off. Posit really fell off.

    • @joshstat8114
      @joshstat8114 4 месяца назад

      Yeah, I've asked this for myself: What's the use of RStudio and the point of making this? I am disappointed and otherwise, I'll be astonished to this one.

    • @m4dnus
      @m4dnus 4 месяца назад

      I was sure that they would release something instead of r-studio. But I wasn't expecting a vs code clone.

    • @josiahparry
      @josiahparry 4 месяца назад

      It's not a VS Code "clone". Think of it as opinionated extensions of VS Code OSS that is continaully being synced with its upstream

    • @davidbudzynski9290
      @davidbudzynski9290 4 месяца назад

      @@josiahparry it is a vs code clone because it's a forked core of vs code. It doesn't have access to vs code packages just like VS codium because MS license does not allow this

  • @j.moggridge
    @j.moggridge 4 месяца назад

    This is looking pretty awesome, excited to try

  • @marcosmetalmind
    @marcosmetalmind 4 месяца назад

    I tested the Positron and I like it. Combine Rstudio, Spyder and Vscode in a single IDE.

  • @KK-tt5jz
    @KK-tt5jz 4 месяца назад

    Are you able to take advantage of apple's gpu with positron? thanks

  • @KK-tt5jz
    @KK-tt5jz 4 месяца назад

    can't wait to try this, rstudio has been so slow for me lately I am having to build models for Kaggle comps using dataspell that I have to pay out of pocket for.

  • @commandocringe7557
    @commandocringe7557 4 месяца назад

    oh wow i wasn't aware of that. finally r programming coming to the 21st century. the feel of RStudio and the versatility and modernism of VSC combined could be great.

  • @azmebengraine1437
    @azmebengraine1437 4 месяца назад

    great videos, very informative, just subbed. ps: increase the editor font size.

  • @dextrowim
    @dextrowim 4 месяца назад

    You do know that the java dudes ended this challenge with less than 2 seconds ? :-) But fair is fair, your code is at least understandable...

    • @Gramini
      @Gramini 2 месяца назад

      And the duration highly depends on the machine. The server for the official challenge has 32 cores IIRC.

  • @vacon04
    @vacon04 4 месяца назад

    Hey thank you for the video. I saw that you also already have the docker instructions in the package website. I'm hoping to run a simple app with plumber in production in the next few weeks. I was going to just use caddy as a load balancer for multiple plumber instances but I think using Valve should provide better functionality out of the box. Thanks again!

    • @josiahparry
      @josiahparry 4 месяца назад

      Just make sure that your Docker container has enough vCPU to handle multiple threads and ensure that you don't over-allocate them as well! And you can also use a load balancer in front of multiple Valve apps

    • @vacon04
      @vacon04 4 месяца назад

      @@josiahparry thanks! I have a cloud instance with 8 vcpus so it should be good. I'm not expecting massive traffic either and the computations that R has to do are very quick. I just want to make the UX as good as possible. I think 4 workers max should be good enough for my purposes. In case more is needed well that's the beauty of your package, I can just reload with more workers and if should be good to go =)

  • @rafabws
    @rafabws 4 месяца назад

    That was one of the best video tutorials I've seen lately, super informative and easy to follow! I cannot wait to test this out with some different datasets. Thanks for the amazing work!

  • @jiojio97
    @jiojio97 4 месяца назад

    Hi, i'm trying to implementing the algorithm in java and following the same steps i got the same results, so i guess i'm reimplementing it correctly. The only problem is, if i try to use any lat/long coordinates for example, my home adddress lat/long, got a geohash that is totally far away from the addres used. In fact if i use some online tool the hash generated is totally different and correct.

    • @josiahparry
      @josiahparry 4 месяца назад

      You got the order wrong! Its long lat! Classic mistake. :) longitude is the x axis and latitude is the y axis

  • @mukulbhave9376
    @mukulbhave9376 5 месяцев назад

    super clear ,easy and concise walkthrough. Amazing

  • @mitchbet
    @mitchbet 5 месяцев назад

    I'm curious how this works. Is it loading the whole file into memory before doing the aggregation? Or the query planner smart enough that it knows it only needs to load 1 line at a time (and then handles keeps track of the required aggregations accordingly)

    • @LtdJorge
      @LtdJorge 3 месяца назад

      He run it multiple times, so the OS has cached the file in memory already.

  • @kamertonaudiophileplayer847
    @kamertonaudiophileplayer847 5 месяцев назад

    It isn't fair.

  • @manzyzuzajnr3508
    @manzyzuzajnr3508 5 месяцев назад

    There a chance to show us how to do species distribution modelling using Biomod2 or SDM package

  • @NicholasTierney
    @NicholasTierney 5 месяцев назад

    Great video, Josiah! For benchmarking, just a fun FYI in case you didn't know, you can do `summary(benchmark_obj, relative = TRUE)` and it will compare the two in relative terms, which is neat!

  • @brentonbills5946
    @brentonbills5946 5 месяцев назад

    Wish i knew more R 😅. Looks useful for helping out the R community with rust 🙂

  • @brentonbills5946
    @brentonbills5946 5 месяцев назад

    Nice library 🎉.

  • @BrianPondiGeoGeek
    @BrianPondiGeoGeek 5 месяцев назад

    Clear explanation.

  • @superslash7254
    @superslash7254 5 месяцев назад

    What it boils down to is that R is at its core a fully featured programming language. To some degree it will always be inherently unsafe, as will any other programming language, simply because by nature they have to be in order to function. Much like a good quality knife is also able to cut you as well as your dinner. There are some shenanigans at play here, but it still pales in comparison to the likes of Java's Fracturiser hidden in minecraft mods or malicious executables.

  • @davidbosak7503
    @davidbosak7503 5 месяцев назад

    This whole thing seems suspicious to me. A contract threat research company sets out to find a way to exploit R, and then, (Wa-La!) finds it! Then advertises it like crazy! And in the write-up they specifically reference the usage of R in the Pharmaceutical industry, and even links to a talk by R/Pharma. This whole thing feels like a set up. Was HiddenLayer contracted to do this? By who? Very suspicious that a *potential* exploit got as much coverage as way more damaging *actual* exploits.

    • @superslash7254
      @superslash7254 5 месяцев назад

      Especially when the exploit basically boils down to blindly running completely unknown code. This is the coding version of downloading random executables from the internet and running them as administrator. Or to use a physical metaphor it's like saying household appliances are unsafe because someone told you to stick a fork in the socket and you did it. P.s. "Voila". Because the french were so rich they had to use extra letters just to show off.

  • @joshstat8114
    @joshstat8114 5 месяцев назад

    I emailed Hadley and he said, you don't have to update R to 4.4.0. Someone in reddit said, it is no use to update R if you use RDS/RDA files from unknown source. Also, for a follow up question, is it possible to combine C, FORTRAN, C++ and Rust code together in one package? I tried to combine C++ and Rust but failed to debugged my R package but I know there's a certain package that uses C and C++ together (EBImage as an example).

    • @josiahparry
      @josiahparry 5 месяцев назад

      You can use all of them together it just requires extra work on your behalf to make sure they dont conflict with eachother. These tools aren't designed to work out of the box with eachother.

    • @joshstat8114
      @joshstat8114 5 месяцев назад

      @@josiahparry yeah you're right. I tried both C and C++ and in order to be working, you need to call the C code from C++. And yes, it is such a pain.

  • @skeleton_craftGaming
    @skeleton_craftGaming 5 месяцев назад

    What is R used for? Like with syntax like that I understand why it is used [That might be the most beautiful code I've ever seen] But for what like what is its practical applications?

    • @josiahparry
      @josiahparry 5 месяцев назад

      Biomedical research, econometrics, data engineering, machine learning, big geospatial analysis, interactive dashboards, nlp, web scraping, idk whatever you want to do you can do

    • @superslash7254
      @superslash7254 5 месяцев назад

      R's biggest strength is data engineering. Cleaning, analyzing, and reporting tabular data can be done with a fraction of the code and a fraction of the runtime in R compared to pretty much any other language. Data.table is several times faster than Pandas, and Collapse is even faster still. The nature of the interactive console also makes it incredibly easy to really get hands-on with the data step by step before cementing an optimized pipeline.

    • @skeleton_craftGaming
      @skeleton_craftGaming 5 месяцев назад

      @@superslash7254 hmm.. like I said that is some beautiful syntax

  • @JasonMitchellofcompsci
    @JasonMitchellofcompsci 5 месяцев назад

    I don't get how it is a huge vulnerability. When you download code from the internet it can run code. cmd() or similar is a common resource in nearly every programming language. There is nearly no scripted programming language where a downloaded module couldn't do that. I guess it might better let them obfuscate because it is calling it indirectly? In general you should assume all downloaded code can run anything within userland within the same user on the machine. Launching a calculator is just something code can do. Any module in any programming language could probably delete all your files or send them off to some server.

    • @josiahparry
      @josiahparry 5 месяцев назад

      I think the idea is that these are data formats and you might think you're loading data but actually you're loading a promise to unexecuted code. Then that code is executed instead of being a piece of data already. It feels like a feature not a bug but alas, you shouldn't need to have a binary file to store unexecuted code.

  •  5 месяцев назад

    1:26 I can confirm that note LOL

    • @josiahparry
      @josiahparry 5 месяцев назад

      Can confirm. You smell good.