Broadcasting: Scalars or vectors| josiahparry.com
Apache Arrow, Rust, and cross-langauge data science| josiahparry.com
Apache Arrow, Rust, and cross-langauge data science| josiahparry.com
Apache Arrow, Rust, and cross-langauge data science| josiahparry.com
Say you have a plumber API and you need to serve it over https. You can do this by spinning up a Docker container in something like DigitalOcean, Render, Heroku, or AWS ECS. If you have you own server, you may want to use that instead. The most common way to do this is by using a reverse proxy. Caddy is the simplest reverse proxy I am aware of. The Plumber API Below we define a simple plumber API. Save this file to plumber.R. library(plumber)pr()|>pr_get("/echo", function(msg=""){list(msg =pa...| Josiah Parry
Building local packages for WebR| josiahparry.com
v0.1.1 Features| josiahparry.com
Rust| josiahparry.com
I am working on a rust project that I want to use OpenID Connect for. I’m struggling to wrap my head around it, so naturally, I implemented it in R to understand it better. What is OIDC? OpenID Connect (OIDC) is an authentication standard based on OAuth 2.0. The hope is that most identity providers (IDP) can have an implementation of OIDC so that plugging in their authentication system is pretty straight forward. OIDC discovery Each OIDC provider has an {issuer_url}/.well-known/openid-confi...| Josiah Parry
reimagining readr::read_csv()| josiahparry.com
I’ve been building a thing with Leptos and Tailwind CSS for a while. One challenge I’ve had is adding syntax highlighting to my code chunks. Note I am using pulldown-cmark to take a README.md to process it in html. Then adding the contents to a div. Something like: fn md_to_html(content:&str) ->String{let parser =pulldown_cmark::Parser::new(content);// Write to a new String buffer.letmut html_output =String::new();pulldown_cmark::html::push_html(&mut html_output, parser); html_output}#[se...| Josiah Parry
A GitHub Action for package developers| josiahparry.com
Robust type checking with r-lib| josiahparry.com
{plumber} and multipart request #RinProd| josiahparry.com
{plumber} is (always) the answer| josiahparry.com
I am developing Rust bindings to WebR. Because WebR is not compiled for WASI and only WebAssembly, native Rust bindings are not possible. Instead, bindings are done through wasm-bindgen which creates bindings to JavaScript. The WIP Rust crate is called webr-js-rs. Tip I’m building these bindings to support flrsh.dev. Sign up for an account to be notified when I launch our first course (a deep dive on DuckDB)! webr-js-rs works only on wasm targets. Note See this informative blog post from Mo...| Josiah Parry
Prompted by a post on Mastodon, I wanted to explore how to evaluate an R string as code. This is generally a pretty common pattern that I have myself encountered in the past and had to work through a solution for—many times. The Problem How can I programatically create and execute valid R code? A solution In this case, the problem space is quite simple: given a package name and a dataset name extract the dataset as an object You can typically extract datasets from a package’s namespace. T...| Josiah Parry
Docker: keep your secrets secret| josiahparry.com
Design choices for a highly performant R package| josiahparry.com
When insertion is important| josiahparry.com
DuckDB and the R ecosystem| josiahparry.com
The incorporation of spatially dependent variables in a machine learning model can greatly improve the model’s performance. These features can include, but not limited to: the spatial lag (neighborhood average) of a variable counts of neighboring features most common category nearby spatial embedding via principle coordinate analysis Deriving spatial features These kinds of spatial variables are dependent upon the features nearby them. To calculate these variable one needs to have a concept...| Josiah Parry
extending R with Arrow and Rust| josiahparry.com
And why you probably dont need one| josiahparry.com