Terry Christiani 👋
@terrychristiani.bsky.social
300 followers 1.3K following 380 posts
Content strategist and events management. Executive Director for the R Consortium #rstats. www.randomactsoftourism.com All posts are my own.
Posts Media Videos Starter Packs
Pinned
terrychristiani.bsky.social
Hey there! I am Terry. I am a nature lover, politics junkie, content strategist, events management expert, and #rstats fan. I am also a huge fan of sugar-free and grain-free cooking. So, hopefully, we can connect and have fun. Cheers! 🥂
terrychristiani.bsky.social
It is here!!! So very excited to bring this #rstats event to life! I hope you will join us for this conference and help us make this first one a success. Get your ticket and get ready for some community created education for R+AI!
rconsortium.bsky.social
R+AI 2025 • Nov 12–13 • Online • Low-cost

Skip the hype. See how R + AI works in production!

Keynote: Joe Cheng (Posit) on focused, reliable LLMs for data science

Actionable R+AI sessions. Students from $25.

Register: rconsortium.github.io/RplusAI_webs...

#rstats @posit.co @jcheng5.bsky.social
R+AI 2025 • Nov 12–13 • Online • Low-cost

Keynote: Joe Cheng (Posit) on focused, reliable LLMs for data science.

Actionable R+AI sessions. Students from $25.
terrychristiani.bsky.social
That is simply the most badass hummingbird I've ever seen. It will take it to the ground.
terrychristiani.bsky.social
Exactly what I thought to post. Thank you!
Reposted by Terry Christiani 👋
brandonrohrer.com
New post: Controlling IP traffic on your webserver

A cool part about having your own webserver is that you get to choose who can visit. When IP addresses try to access sensitive files or aggressively scrape, you can just block them.

Here's how.

brandonrohrer.com/hosting5.html
Block an IP address
The most straightforward way to block and IP address is in the firewall. It is the tool build specifically for this.

To block the address 101.101.101.101, run from the command line


sudo ufw insert 1 deny from 101.101.101.101

This instructs ufw (the Uncomplicated FireWall) to insert a rule at the the top of the list (position 1) to deny all incoming traffic from the address. After running this, no restart of the firewall is needed. The rule is active. (ufw docs

The position 1 is important because in ufw, the first rule that matches is applied. If there was a rule to allow all addresses that started with 101. and that rule came before the deny rule, then the deny rule would never be reached.

While it's possible to block specific ports, or even to block an IP address from seeing particular pages, complex rules and conditions get difficult to analyze very quickly, and can lead to cases where there are loopholes. Use fancy rule combinations sparingly.

Parse logs
In their raw form access logs are technically human-readable, but they are a lot. I found it really useful to do a little parsing to pull out the bits I'm interested in. (I'm working with the default nginx log format, so adjust this according to your own.)

I wrote a script to take advantage of the repeatable structure of these logs to dissect them into their parts. It uses tricks like splitting the log based on brackets and spaces. It productes a pandas dataframe with columns containing the IP address, requested URI, HTTP status code, and every component of the date and time.
Reposted by Terry Christiani 👋
jakubnowosad.com
New blog post by Adam Steer: Identifying deformed sea ice using geomorphons ❄️🌊

Exploring sea ice as a landscape analysis problem with QGIS + GRASS GIS, using drone + lidar data.

👉 www.spatialised.net/identifying-...

#Geospatial #RStats #RSpatial #GISchat
terrychristiani.bsky.social
As someone who spent my Sunday making pumpkin soup and sugar free pumpkin pie custard, I am so here for this.
terrychristiani.bsky.social
Well, when the extremes are battling, the center gets bigger in reaction to the fight. Also, both of these people have aged and found common cause in protecting what we used to believe were norms of behavior from our political class and institutions. Glad to see it happening.
terrychristiani.bsky.social
I've done my part! Please do yours! There are no restrictions in Washington State. I literally made an appointment online with a local chain pharmacy. The appointment took 20 minutes and was covered by my insurance. Get vaccinated and help build herd immunity to protect those among us who can't.
doh.wa.gov
Flu and COVID-19 vaccination rates are down - 36% fewer COVID-19 doses and 18% fewer flu doses have been given so far this season compared to last year.

To make it easier to track these trends, we have launched a new Respiratory Immunization Dashboard.
Respiratory Immunization Data
Dashboard updates will occur on Wednesdays by 3:00 p.m. Pacific Time.
doh.wa.gov
terrychristiani.bsky.social
1. Hydration is your friend.
2. Get an active hobby. It could just be walking as long as it keeps you active for at least 30 minutes / day.
3. Sunscreen - yes, really.
4. Consume analog forms of information - books and magazines - give your brain a chance to relax while increasing elasticity.
terrychristiani.bsky.social
Not to brag but I got both my flu and COVID vaccine shots on Friday and I feel fine. I hope everyone who wants to get the shots can get the shots. Herd immunity here we come!
terrychristiani.bsky.social
Spent my Sunday in the kitchen with a pumpkin. I made a savory soup and sugar-free pumpkin pie custard. It was a good day. I needed this.
A pumpkin split into three pieces on a counter. This is how all of it starts - deconstructing a squash. Finished pumpkin soup in a pot on a stove. This is the easiest step after creating puree. It is also the smartest thing to do because now you have dinner ready, regardless of how the rest of it goes. Pumpkin soup finished with a sage yogurt drizzle and pepitas in a mini crock style bowl. Dinner tonight plus a piece of yummy toasted bread with butter and a chicken drumstick. 6 cups of cooked pumpkin pie custard in Pyrex ramekins on a rack to cool on a counter. Today's batch is the first time I have made this 100% sugar free. Instead of sugar, I used Lakanto Golden erythritol-monk fruit blend and maple flavored allulose syrup. It's wetter than previous batches.
terrychristiani.bsky.social
I just got my flu and COVID vaccine shots. Anticipating post vaccine face plant in 3, 2, 1...
Reposted by Terry Christiani 👋
rconsortium.bsky.social
📢 WEBINAR NEXT WEEK: Topological Data Analysis in R

Learn how topological data analysis (TDA) techniques are being integrated into everyday R workflows—more accessible for users beyond the specialists.

👉 Details & registration: r-consortium.org/webinars/mod...

#rstats #opensource
📢 WEBINAR NEXT WEEK: Topological Data Analysis in R

Sign up today!

Learn how topological data analysis (TDA) techniques are being integrated into everyday R workflows—making them accessible for researchers and analysts beyond the specialists.
Reposted by Terry Christiani 👋
rconsortium.bsky.social
THERE'S STILL TIME! R Consortium Technical Grants - Applications close Oct 1, 2025

Apply Now! Let's build the R community together!

Details on applying: r-consortium.org/all-projects...

#RStats #OpenSource
THERE'S STILL TIME! R Consortium Technical Grants - Applications close Oct 1, 2025

Apply Now! Let's build the R community together!

Details on applying: https://r-consortium.org/all-projects/callforproposals.html
Reposted by Terry Christiani 👋
rconsortium.bsky.social
WEBINAR NEXT WEEK! Topological Data Analysis in R

Register now!

Integrating popular techniques from topological data analysis (TDA) into common statistical workflows in R. For non-specialist researchers and analysts!

Full details here: r-consortium.org/webinars/mod...

#rstats #opensource
WEBINAR NEXT WEEK! Modular, Interoperable, Extensible Topological Data Analysis in R. 

Covers integrating popular techniques from topological data analysis (TDA) into common statistical workflows in R. These extensions are available for non-specialist researchers and analysts!
Reposted by Terry Christiani 👋
rconsortium.bsky.social
🚀 NEXT WEEK! Apply for an R Consortium Technical Grant by Oct 1, 2025. Grants fund projects that strengthen the #rstats ecosystem.

Example: volcalc — streamlining chemical volatility research - r-consortium.org/posts/unlock...

Details + apply: r-consortium.org/all-projects...

#opensource
Reposted by Terry Christiani 👋
ropensci.org
📣 Save the date!!

Next Community Call: R-multiverse: a new way to publish R packages 📦 🚀
📆 Monday, 29 September 2025 14:00 UTC with Will Landau
👉 Information + find your local time + How to join: https://ropensci.org/commcalls/r-multiverse/

#rstats
R-multiverse: a new way to publish R packages · Community Call
Community Call about R-multiverse
ropensci.org
Reposted by Terry Christiani 👋
rconsortium.bsky.social
Get funding for your R project! 🚀 R Consortium tech grants support open-source tools + community initiatives.

⏰ 2 weeks left to apply: r-consortium.org/all-projects...

Past grantee: “Straightforward, smooth, and helpful. Highly recommended.” – Andreas Neudecker

#rstats #opensource #rprogramming
From R Consortium: Apply Now! for R Consortium Technical Grants