Sign in

Tan

@tanho.ca
2.9K followers 652 following 910 posts

#rstats carver, @nflverse.com wizard, pumpkin engineer, easily nerdsniped, he/him. soccer @ teamworks intelligence, mentor @dslc.io. tanho.ca

PostsRepliesMedia
Tan @tanho.ca · 21/09/2026
I came away with similar AI-anxiety after conf this year: in the tradeoff between craft and outcomes, people care about THEIR craft and are willing to AI the outcomes of stuff they don't care about at craft depth. Since interests don't overlap, everyone deals with AI slop in their craft 🫠
0230
Tan @tanho.ca · 16/09/2026
I aspire to the gloriousness of @travisgerke.bsky.social’s talk-giving outfit
Travis wearing his 80s outfit while presenting: Mohawk haircut, aviator sunglasses, red puffer vest over denim jacket over plaid, and baggy jeans.
3180
Tan @tanho.ca · 16/09/2026
loving this talk by @kellybodwin.com - real, structured, domain-specific projects are so much more helpful for learning R programming than token example datasets. really similar to what I wanted from a beginner book tanho.ca/posts/2024-1...
tanho.ca
The Beginner Data Science Programming Book That Doesn't Exist (Yet?) · TanHo.ca
Free idea: the beginner book that doesn’t exist yet (but should) is one that introduces programming via language-agnostic, domain-specific case studies that complement existing resources on learning p...
090
Tan @tanho.ca · 16/09/2026
Dammit Wes I’m not ready for the feels this early in the morning 😭
A slide from Wes McKinney’s keynote:

2015: Burnout

“The lives-of-the-living we touch matter more than the paper trail of intellectual accomplishments we leave behind us.”
0110
Tan @tanho.ca · 16/09/2026
family photo
photo of the teamworks soccer engineering team at positconf: me, Lydia, Michael, and Andrew
3180
Tan @tanho.ca · 15/09/2026
lol ggsql continuing the support for both the -ise/-ize endings in “visualize/visualise”
1120
Tan @tanho.ca · 14/09/2026
enjoying the new options for pimping your #positconf2026 nametag, these ribbons are fun!
Picture of my name badge for positconf. It has my name (Tan Ho) and company (Teamworks) printed on it, and then additionally it has an nflverse sticker attached as well as the positconf pin (primarily used to counterbalance my badge holder only being attached on the right side to help hold it straighter) and then has four fabric ribbons attached: positconf veteran, shiny happy person, team R, and he/him.
1170
Tan @tanho.ca · 14/09/2026
Didn’t realize it at the time but apparently I booked myself a flight connection where I landed at 7:45 and the next flight started boarding at 7:51. More the miracle is that the first flight a) was on time b) landed at a gate five minutes walk away to the next gate. Praise be to the plane gods!
190
Tan @tanho.ca · 13/09/2026
Pro tip for #positconf: lanyards naturally hang your nametag rather far from your face, which can lead to an awkward downwards scan for someone who is looking at your face to read your name. You can either a) shorten the lanyard by tying a knot in it or b) bringing a different nametag holder!
Picture of me illustrating where name tags tend to sit when hung from a lanyard, which is basically around my belly button, as compared to the normal spot of being in the upper chest area
3203
Reposted by Tan
PySport @pysport.org · 09/09/2026
𝐀𝐧𝐚𝐥𝐲𝐭𝐢𝐜𝐬 𝐂𝐮𝐩 𝟐.𝟎 𝐢𝐬 𝐡𝐞𝐫𝐞. 🇪🇺🇺🇸 Following the success of the first edition, PySport and @skillcorner.bsky.social are inviting the analytics community to work with open-source 𝐟𝐨𝐨𝐭𝐛𝐚𝐥𝐥 𝐝𝐚𝐭𝐚 (including body pose data) and 𝐛𝐚𝐬𝐤𝐞𝐭𝐛𝐚𝐥𝐥 𝐝𝐚𝐭𝐚 to turn new ideas into open-source projects with real value.
189
Tan @tanho.ca · 04/09/2026
can confirm apparently minnesota is canadian
my dialect score which is most similar to minnesota (and alaska, parts of vermont/new hampshire as well as southern california) and least like the american south. not surprising I guess.
160
Reposted by Tan
Tan @tanho.ca · 30/08/2026
Some longer form thoughts on setting up a dry-aging fridge and on my first dry-age tanho.ca/posts/2026-0...
tanho.ca
Dry Aging At Home, Episode 1 · TanHo.ca
Some reflections on setting up a dry-aging fridge at home and experimenting with my first 45-day aging.
062
Tan @tanho.ca · 30/08/2026
Some longer form thoughts on setting up a dry-aging fridge and on my first dry-age tanho.ca/posts/2026-0...
tanho.ca
Dry Aging At Home, Episode 1 · TanHo.ca
Some reflections on setting up a dry-aging fridge at home and experimenting with my first 45-day aging.
062
Tan @tanho.ca · 28/08/2026
Food nerdery: I recently set up a home dry aging fridge and just finished my first 45 day dry age! It’s been a fun little project to set up a raspberry pi to monitor it and keep on top of temperature and humidity.
4253
Reposted by Tan
American Soccer Insights Summit @americansoccerinsights.com · 11/08/2026
The American Soccer Insights Summit is back for 2027. The Summit will be held at Rice University on March 26th and 27th, during a FIFA men's international break window. Registration is now open: americansoccerinsights.com/registration/
Save the date: March 26-27. Rice University | Houston, TX. American Soccer Insights Summit 2027.
02813
Tan @tanho.ca · 21/07/2026
this is awesome, feels like a worthy successor to the OG atrebas post
atrebas.github.io
A data.table and dplyr tour · Home
090
Reposted by Tan
Nute @nutedawn.bsky.social · 19/07/2026
Ok this is very good
91712383
Reposted by Tan
cata @catabush.com · 15/07/2026
I'm starting a new newsletter. Yeah, I know, another newsletter. This one isn't about soccer though... it's about YOU 🤯 "The Post-Match Report" will release weekly and contain links, analysis, and updates on everything happening in soccer analytics. Publishing on @leaflet.pub. More info 👇
post-match-report.leaflet.pub
July 15: Penalties and Goats
The first edition of a weekly soccer analytics newsletter
74921
Reposted by Tan
cata @catabush.com · 07/07/2026
just so everyone knows, we're in an alternate timeline bc in the original timeline, the red card stood and the usmnt lost, so some rando asked "what if balo played", went back in time, caused this whole mess, and is currently discovering that while timelines are mutable, outcomes are not
39718
Reposted by Tan
John Muller @johnspacemuller.com · 05/07/2026
That black hole in the left halfspace is Norway’s biggest achievement here
2595
Tan @tanho.ca · 05/07/2026
yknow how after unusually good performances athletes get special doping tests? We should test this ref for financial doping
070
Reposted by Tan
Anchorage Man @sethpartnow.bsky.social · 05/07/2026
Mbappe audibly laughing in dude’s face
1506
Reposted by Tan
mark thompson @markposts.bsky.social · 29/06/2026
if you're into J-League or this World Cup has made you interested in Japanese football, follow Ryo
1193
Reposted by Tan
rOpenSci @ropensci.org · 29/06/2026
🎉 We've just moved @ropensci.org on Bluesky to a fully independent account! We were previously bridged from our Mastodon account via Bridgy Fed. Same community, same content, fresh start. Give us a follow if you haven't already! 🦋 #RStats
05929
Reposted by Tan
SickosFC @sickosfc.bsky.social · 28/06/2026
I DID IT. THANK YOU CANADA 🇨🇦 1-0
818011
Reposted by Tan
SickosFC @sickosfc.bsky.social · 28/06/2026
Debating on posting we’re going to pens and then someone scores a goal immediately after I post this.
12471
Tan @tanho.ca · 28/06/2026
Ohhh my fucking god
020
Reposted by Tan
Dan Why-Ner @danweiner.bsky.social · 22/06/2026
BBC News went live to Cabo Verde and then Cabo Verde scored a goal. Absolute scenes.
111166327
Tan @tanho.ca · 16/06/2026
I can’t wait for Saudi Arabia and Cape Verde to advance as first and second place from this group
040
Tan @tanho.ca · 11/06/2026
of the many entertaining things in this mexico/south africa match, my parents have been extremely amused by how some of these players are vigorously chewing gum, especially south africa's #20
static.klipy.com
Yummy Food Cartoon Character Funny Face
Alt: cartoon character chewing gum vigorously
120
Reposted by Tan
Hudl Statsbomb @statsbomb.com · 27/05/2026
NEW: Hudl Statsbomb Release Free Data for Five Top Women's Leagues www.hudl.com/blog/statsbo...
14218
Reposted by Tan
Jon Harmon (he/him/his) @jonthegeek.com · 20/05/2026
{beekeeper} 0.5.0 is available on GitHub! It currently generates documented #RStats functions for every endpoint described in an OpenAPI definition doc. Watch for 0.6.0 in July! @returns documentation, example-driven testing, and hopefully response parsing (with {tibblify}). beekeeper.api2r.org
beekeeper.api2r.org
Rapidly Scaffold API Client Packages
Automatically generate R package skeletons from application programming interfaces (APIs) that follow the OpenAPI Specification (OAS). The skeletons implement best practices to streamline package deve...
0112
Reposted by Tan
The R Foundation @r-foundation.bsky.social · 19/05/2026
In memoriam Tomáš Kalibera (1978–2026). www.r-project.org/doc/obit/tom...
r-project.org
R:
02411
Tan @tanho.ca · 13/05/2026
even in 1858 they knew to only use radial bar charts for seasonal comparisons, how did we get that so wrong in the last 150 years
060
Tan @tanho.ca · 12/05/2026
if I wrote tanstack it would never have had these problems, how dare they besmirch my name like that
030
Tan @tanho.ca · 12/05/2026
Ottawa native here: this is 1000% in line with my experience. What’s worse is that the overwhelming majority of speed cameras in Ottawa are set up in front of school zones, it’s not even like it’s policing major arteries where traffic is expected to be moving at 80km+ per hour
051
Reposted by Tan
Nicola Rennie @nrennie.bsky.social · 29/04/2026
📊 Five #ggplot2 functions I wish I'd known about earlier 📊 I've written a short blog (with examples) of some of the lesser-known {ggplot2} functions and arguments that make it easier to create better charts! Link: nrennie.rbind.io/blog/five-gg... #RStats #DataViz
nrennie.rbind.io
Five ggplot2 functions I wish I’d known about earlier – Nicola Rennie
There are a few small tweaks you can make to your ggplot2 code to improve your charts. However, they’re not often mentioned. So here’s a few functions and arguments I wish I’d known about earlier.
616549
Reposted by Tan
Pizza Rachel 🍕👨🏻 @dftbarachel.dftba.social · 27/04/2026
i had the best time making these silly little pelicans this weekend 🤩 i present: ✨The Pelifont✨
image of an illustration of the alphabet, only a goofy pelican is in the shape of each letter, at the bottom right is text that reads The Pelifont dftbarachel
391332192
Reposted by Tan
Micah McCurdy @hockeyviz.com · 11/04/2026
Open your heart to joy and to the Ottawa Senators
2193
Reposted by Tan
frank brank @realfrankbrank.bsky.social · 08/04/2026
FTN is partnering with the Carnegie Mellon Sports Analytics Center to provide advanced charted data to students to help prepare them for a career in sports data and analysis. Special thanks to @stat-ron.bsky.social for being a leader in this partnership.
1229
Tan @tanho.ca · 07/04/2026
Me: @niccrane.bsky.social how do I get a dput of an arrow schema pls halp Nic: try schema$code() R6 method? Me: uh what where I’ve never seen that _works exactly as expected_ Me: how tf, that wasn’t in the docs?! _consults google_ wtf, google returns to v12.0 as the first result (not v23) #rstats
Me googling “arrow schema R” and then clicking on the first resultturns out the first result links to arrow v12.0.1 which is an impressive 11 versions out of date
240
Reposted by Tan
Richard McElreath 🐈‍⬛ @rmcelreath.bsky.social · 07/04/2026
I would have preferred to have the "draw the rest of the owl" meme on the cover, but this will do. Seems like it is on schedule, and we'll leave some typos so you know we didn't write it with AI.
cover of the book "Bayesian Workflow" by Gelman, Vehtari, et al. Coming out later this year, in the summer probably.
1237956
Reposted by Tan
Tan @tanho.ca · 29/03/2026
wow when they said python was the second best language at everything they weren’t kidding eh?
ctvnews.ca
Ottawa deploying two ‘Python’ machines to tackle thousands of spring potholes
As spring arrives, after a snowy winter marked by dozens of freeze-thaw cycles, potholes are once again popping-up, by the thousands, across Ottawa roads.
2161
Tan @tanho.ca · 29/03/2026
wow when they said python was the second best language at everything they weren’t kidding eh?
ctvnews.ca
Ottawa deploying two ‘Python’ machines to tackle thousands of spring potholes
As spring arrives, after a snowy winter marked by dozens of freeze-thaw cycles, potholes are once again popping-up, by the thousands, across Ottawa roads.
2161
Reposted by Tan
Nicholas Murray @njemurray.bsky.social · 29/03/2026
So, I need you to watch Oakland Roots goalkeeper Raphael Spiegel (blue) here. He's up for a late free kick, but when it goes awry he heads behind the goal and get a second ball to punt onto the field. Eventually, after Tommy McCabe's goal line clearance, he gets sent off. #USL-C
1427367
Reposted by Tan
ryan scharf @ryanscharf.com · 28/03/2026
we're now live with the first public iteration! usls-modeling.ryanscharf.com
usls-modeling.ryanscharf.com
USL Super League Playoff Odds
133
Tan @tanho.ca · 28/03/2026
three stupid ways I convince myself to do basic adulting: 1. Shove something to cook in the oven for ~30 minutes as a timed challenge 2. Call someone (my sister or mom usually help) and do stuff while catching up 3. procrastinating something daunting all three: I’ve been on a bender this morning 😅
160
Reposted by Tan
Etienne Bacher @etiennebacher.bsky.social · 24/03/2026
#rstats I'm glad to announce Jarl 0.5.0! Jarl is a very fast R linter, written in Rust. This release brings many improvements and fixes. See the blog post: www.etiennebacher.com/posts/2026-0... And the full changelog: jarl.etiennebacher.com/changelog 🧵 to highlight some features below (1/4)
etiennebacher.com
Jarl 0.5.0
15812
Reposted by Tan
R-Ladies Remote @rladiesremote.bsky.social · 23/03/2026
Join us for “Working Smarter in R” 💜 📅 Apr 22 ⏰ 6–7 BST / 11–12 PDT A global panel sharing tips on workflows, data cleaning, debugging & more in R. Featuring: @nrennie.bsky.social, Pao C., @meghansharris.bsky.social, Soraya C., @ivelasq3.bsky.social & @cghlewis.bsky.social #RStats #RLadies
Poster for an R-Ladies Remote panel event titled “Working Smarter in R: Tips, Tricks & Real-World Lessons.” The event takes place on April 22, 2026, at 6:00 PM UTC. It features a panel discussion with Meghan Harris, Nicola Rennie, Soraya Campbell, Isabella Velásquez, Crystal Lewis, and Pao Corrales. The session will cover practical tips for working in R, including workflows, data cleaning, data visualisation, debugging, and advanced programming practices. The poster has a purple R-Ladies themed design and includes a QR code for registration.
23818