Advertisement · 728 × 90

Posts by ryan scharf

did not expect this goofy stuff to be so relevant so immediately old.reddit.com/r/soccer/com...

13 hours ago 0 0 0 0

So how many parts have been replaced on this computer of theseus now?

2 days ago 0 0 1 0

example: the dutch eerste divisie is a second tier division but their promotion playoff games show up as the eredivisie (the dutch first tier) matches.

2 days ago 0 0 1 0

i modeled 794 league seasons of professional soccer and here's what i've learned:

league playoff/relegation/championship structures are wildly different everywhere and it's a pain in the ass.

2 days ago 2 0 1 0

I went through the trouble of setting this up to realize that i can actually use my gpu for my project

3 days ago 1 0 1 0

not watching at night because you're gonna get your fill with the rowdies game at 3, right?

3 days ago 1 0 0 0

ok, i vibecoded the thing github.com/ryanscharf/m.... this is a good testament by how much 'R in production' code is often about everything other than R

#rstats

4 days ago 6 0 1 0

yeah. i was surprised that people were using fridges and dishwashers to nuke primary schoolers' minecraft servers.

1 week ago 1 0 0 0
Advertisement
Post image

what have we become?

1 week ago 1 0 1 0

when looking for a #rstats mirai docker container, i wasn't expecting to find out that some botnet malware uses the same name

1 week ago 2 0 1 1

this can get philosophical quickly. what is 'real' even anyway?

1 week ago 2 0 0 0
Post image

live reactions at big jim on 4/5/26

1 week ago 0 0 0 0
Post image

it's okay, i've got you covered.

1 week ago 3 0 0 0

"or thereabouts" T.T

1 week ago 0 0 0 0

Taco Tuesday

2 weeks ago 0 0 0 0

#wosoc fans, what kind of stuff do you like to see? What is #gainbridgesuperleague not giving you? What's your favorite stat to shitpost about? Feed me requests and I can see what I can make happen.
#usl #usls #sportsanalytics #sickos

2 weeks ago 1 1 0 0
**Alt text:**

> Architecture diagram showing a local network containing a TrueNAS Server with three components: a USL Stats processing container, a PostgreSQL container, and a Dynamic DNS container. The USL Stats processing container receives data from two external cloud sources — the American Soccer Analysis API and Supplementary Data — and writes to the PostgreSQL container. The Dynamic DNS container and PostgreSQL container both connect outbound to Cloudflare DNS. Cloudflare DNS communicates bidirectionally with a Shiny App hosted on Posit Connect Cloud. Outside the local network, a Positron IDE communicates bidirectionally with GitHub.

**Alt text:** > Architecture diagram showing a local network containing a TrueNAS Server with three components: a USL Stats processing container, a PostgreSQL container, and a Dynamic DNS container. The USL Stats processing container receives data from two external cloud sources — the American Soccer Analysis API and Supplementary Data — and writes to the PostgreSQL container. The Dynamic DNS container and PostgreSQL container both connect outbound to Cloudflare DNS. Cloudflare DNS communicates bidirectionally with a Shiny App hosted on Posit Connect Cloud. Outside the local network, a Positron IDE communicates bidirectionally with GitHub.

I'd like to get into to some of the details on how I productionalized this pipeline since this is one of the areas of #rstats and #datascience that you don't really get formal education on. I have a TrueNAS server that hosts docker containers to handle my infrastructure.

2 weeks ago 3 1 1 0
Advertisement

I would also be remiss to mention that I've leveraged Claude a bunch during this. I'm good at R but I'm not an expert at everything. Claude built up the github actions, docker files, and .sh scripts almost entirely by itself and was instrumental in this project pushing through post-work tiredness

2 weeks ago 0 0 0 0

The only thing I pay for, of these, is my website's domain name. These following things are being used for free:
Truenas Scale
Github
Github Actions
Posit Connect Cloud
Cloudflare DNS
Docker
Postgres
Positron
Shiny
We live during an incredible time that we have so many of these available.

2 weeks ago 0 0 1 0

I have a container in Truenas that constantly tracks what my IP address is and then updates settings in Cloudflare so that the subdomain on my website will always point to the right IP address.

2 weeks ago 0 0 1 0

This sounds easy but the devil is truly in the details. I need to have a URL to point the shiny app to, but since I'm self hosting my data, I don't want to use my raw IP. Additionally, your home IP address can change (which would break the app connection). The answer? Dynamic DNS!

2 weeks ago 0 0 1 0

I push code to Github which automatically builds a docker image, via Github Actions, for the USL Stats processing container. That container runs daily (ends early if there are no new game results) and writes data to Postgres, which my Shiny App can access.

2 weeks ago 1 0 2 0
**Alt text:**

> Architecture diagram showing a local network containing a TrueNAS Server with three components: a USL Stats processing container, a PostgreSQL container, and a Dynamic DNS container. The USL Stats processing container receives data from two external cloud sources — the American Soccer Analysis API and Supplementary Data — and writes to the PostgreSQL container. The Dynamic DNS container and PostgreSQL container both connect outbound to Cloudflare DNS. Cloudflare DNS communicates bidirectionally with a Shiny App hosted on Posit Connect Cloud. Outside the local network, a Positron IDE communicates bidirectionally with GitHub.

**Alt text:** > Architecture diagram showing a local network containing a TrueNAS Server with three components: a USL Stats processing container, a PostgreSQL container, and a Dynamic DNS container. The USL Stats processing container receives data from two external cloud sources — the American Soccer Analysis API and Supplementary Data — and writes to the PostgreSQL container. The Dynamic DNS container and PostgreSQL container both connect outbound to Cloudflare DNS. Cloudflare DNS communicates bidirectionally with a Shiny App hosted on Posit Connect Cloud. Outside the local network, a Positron IDE communicates bidirectionally with GitHub.

I'd like to get into to some of the details on how I productionalized this pipeline since this is one of the areas of #rstats and #datascience that you don't really get formal education on. I have a TrueNAS server that hosts docker containers to handle my infrastructure.

2 weeks ago 3 1 1 0
Post image Post image Post image

here's examples of what i think are my 3 biggest personal projects on github, to illustrate.

3 weeks ago 1 0 0 0

for very loose definitions of 'completed'

3 weeks ago 1 0 1 0
Advertisement

A bunch at once then don't at all for ages but then a bunch at once again

3 weeks ago 0 0 1 0
USL Super League Playoff Odds

we're now live with the first public iteration!
usls-modeling.ryanscharf.com

3 weeks ago 3 3 1 1
USL Super League Playoff Odds

we're now live with the first public iteration!
usls-modeling.ryanscharf.com

3 weeks ago 3 3 1 1

My chase card also got denied

3 weeks ago 1 0 0 0

First Accra got disc golf. Now Accra has R meetups. I like Ghana.

3 weeks ago 1 0 0 0