's Avatar

@ercbk.bsky.social

Github: https://github.com/ercbk Website: https://ericbook.netlify.app/ Mastodon: @erc_bk@fosstodon.org

75 Followers  |  130 Following  |  128 Posts  |  Joined: 24.12.2023  |  2.1034

Latest posts by ercbk.bsky.social on Bluesky

Is Monshun Sales a "Indy native"? Think I heard something from Wiltfong that made it sound like he grew up in Alabama and moved here.

04.02.2026 15:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Think I'd want a second opinon.

29.01.2026 23:42 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0

One of my pet peeves is when developers have a plot function that outputs a ggplot which allows you some theming options but no ability to change point/line colors, etc. Anyways I've used your method, but another option is to use ggplot_build (in a similar manner) to style these plots.

21.01.2026 14:46 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Never seen anything this bad on IU's side of the bracket.

20.01.2026 03:36 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I mean how many responsibilities do punt returners have? Drives me nuts when they down inside the 10.

20.01.2026 01:05 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I might check out that data to confirm, but from my recollection, IU started making football a greater priority when Kevin Wilson got there. I'm not sure he gets enough credit in that regard.

16.01.2026 19:07 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Thank goodness. They need another one though. Also, this guy is a guard, so I don't know what they're going to do if Carter Smith goes to the NFL. IU could have a pretty young o-line room going into next season.

14.01.2026 20:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Benson is pass protection against talent DEs is still a liability. IU might want to get Ajani in there.

10.01.2026 01:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Sounding like a bit larger than that from IU fans that are there, but that could be because fans segregated into different areas.

09.01.2026 21:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That's a big one. Along with these edges they got, I'm really excited about their defensive line next season.

08.01.2026 14:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Can't remember the last good punter we've had. I guess other teams are hitting on these Aussie punters which must be part of the reason we keep signing them, but it hasn't been us (IIRC).

07.01.2026 20:44 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

netlify

06.01.2026 21:19 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

That's all you got, Nicole! lol

01.01.2026 22:19 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

You think OSU is losing this badly mostly because of rust? Bain just looks like a monster to me, and that monster is taking advantage of an offensive line which is probably OSU's greatest weakness. I'd say there is rust, but I think the OL quality is primary cause for this first half thrashing.

01.01.2026 02:28 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Sounds like you use dbt with some regularity. Any concern about dbt labs merging with Fivetran?

30.12.2025 14:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I noticed you're using the terms "reference table" and "fact table." Are you using dimension modeling for your database and reference table is another name for dimension table?

29.12.2025 16:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Our defense almost always shows up (2nd half at Penn St might be the only time it didn't). I think Bama better stop the run at least as well as OSU or IU's offense could roll.

27.12.2025 16:21 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

What does your partner think about you using up all the hot water while you're vibe coding? πŸ˜‚

27.12.2025 15:51 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Think most of my stuff is mostly about coding and not the science.
www.reconlearn.org
epiverse-trace.github.io/learn.html

What Should the First 100 Lines of Code Written During an Epidemic Look Like?
(Paper and Summary)
www.thelancet.com/journals/lan...
epiverse-trace.github.io/posts/100day...

20.12.2025 16:18 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
library(ggdag); library(ggplot2)

notebook_colors <- unname(swatches::read_ase(here::here("palettes/Forest Floor.ase")))


da_dag <- dagify(
  Y ~ A + B + C,
  D ~ A + B,
  C ~ D,
  outcome = "Y",
  exposure = "A"
) |> 
  tidy_dagitty(layout = "sugiyama")


da_dag |> 
  ggplot(aes(
    x = -.data$y, 
    y = -.data$x, 
    xend = -.data$yend, 
    yend = -.data$xend)
  ) +
  geom_dag_node(color = notebook_colors[[6]]) +
  geom_dag_edges() +
  geom_dag_text() +
  theme_dag(
    panel.background = element_rect(fill='#FFFDF9FF',
                                    color = NA),
    panel.border = element_blank(),
    panel.grid.minor = element_blank(),
    plot.background = element_rect(fill='#FFFDF9FF',
                                   color = NA),
    legend.background = element_rect(color = NA, 
                                     fill='#FFFDF9FF'),
    legend.box.background = element_rect(fill='#FFFDF9FF', 
                                         color = NA)
  )

library(ggdag); library(ggplot2) notebook_colors <- unname(swatches::read_ase(here::here("palettes/Forest Floor.ase"))) da_dag <- dagify( Y ~ A + B + C, D ~ A + B, C ~ D, outcome = "Y", exposure = "A" ) |> tidy_dagitty(layout = "sugiyama") da_dag |> ggplot(aes( x = -.data$y, y = -.data$x, xend = -.data$yend, yend = -.data$xend) ) + geom_dag_node(color = notebook_colors[[6]]) + geom_dag_edges() + geom_dag_text() + theme_dag( panel.background = element_rect(fill='#FFFDF9FF', color = NA), panel.border = element_blank(), panel.grid.minor = element_blank(), plot.background = element_rect(fill='#FFFDF9FF', color = NA), legend.background = element_rect(color = NA, fill='#FFFDF9FF'), legend.box.background = element_rect(fill='#FFFDF9FF', color = NA) )

To make it flow from left to right, you have to interchange x, y, xend, yend and add negative signs.

08.12.2025 22:15 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
library(ggdag); library(ggplot2)

notebook_colors <- unname(swatches::read_ase(here::here("palettes/Forest Floor.ase")))


da_dag <- dagify(
  Y ~ A + B + C,
  D ~ A + B,
  C ~ D,
  outcome = "Y",
  exposure = "A"
) |> 
  tidy_dagitty(layout = "sugiyama")


da_dag |> 
  ggplot(aes(
    x = .data$x, 
    y = .data$y, 
    xend = .data$xend, 
    yend = .data$yend)
  ) +
  geom_dag_node(color = notebook_colors[[6]]) +
  geom_dag_edges() +
  geom_dag_text() +
  theme_dag(
    panel.background = element_rect(fill='#FFFDF9FF',
                                    color = NA),
    panel.border = element_blank(),
    panel.grid.minor = element_blank(),
    plot.background = element_rect(fill='#FFFDF9FF',
                                   color = NA),
    legend.background = element_rect(color = NA, 
                                     fill='#FFFDF9FF'),
    legend.box.background = element_rect(fill='#FFFDF9FF', 
                                         color = NA)
  )

library(ggdag); library(ggplot2) notebook_colors <- unname(swatches::read_ase(here::here("palettes/Forest Floor.ase"))) da_dag <- dagify( Y ~ A + B + C, D ~ A + B, C ~ D, outcome = "Y", exposure = "A" ) |> tidy_dagitty(layout = "sugiyama") da_dag |> ggplot(aes( x = .data$x, y = .data$y, xend = .data$xend, yend = .data$yend) ) + geom_dag_node(color = notebook_colors[[6]]) + geom_dag_edges() + geom_dag_text() + theme_dag( panel.background = element_rect(fill='#FFFDF9FF', color = NA), panel.border = element_blank(), panel.grid.minor = element_blank(), plot.background = element_rect(fill='#FFFDF9FF', color = NA), legend.background = element_rect(color = NA, fill='#FFFDF9FF'), legend.box.background = element_rect(fill='#FFFDF9FF', color = NA) )

Btw if anyone is looking to do this in {ggdag}, it looks like layout = "sugiyama" gets it done.

08.12.2025 21:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Whether it was you or Claude, nice work figuring out how to aggregate to those H3 cells. Thought maybe I could shorten the code in that function, but nope. Also, would've thought that aggregating would be something in the docs, but I couldn't find anything while skimming {h3o} or {h3jsr} docs.

26.11.2025 23:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Ahh I see. Thanks.

21.11.2025 13:58 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

If I'm understanding correctly, the Ohio State value is nonsensical given they're undefeated.

21.11.2025 13:30 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I hate reading code that uses it. It makes it more difficult to find assignments. Instead of just skimming the left side of the script, I also have to look at the right side and find the end of piped code.

19.11.2025 13:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Friendly's book is also online. (It's posted at his uni, so I assume it's legal.) See Ch.11.
euclid.psych.yorku.ca/www/psy6136/...

12.11.2025 14:42 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Heiss talks.andrewheiss.com/2024-04-25_k...
Silge juliasilge.com/blog/rstats-...
UCLA stats stats.oarc.ucla.edu/r/dae/poisso...
Zeileis:
tutorial www.zeileis.org/news/poisson/
paper www.jstatsoft.org/article/view...
book ch discdown.org/microeconome...

12.11.2025 14:29 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Are there any run/passpro PFF grades for Michalski this season?

01.11.2025 19:25 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

I like how the background of the value label matches associated sunburst(?) segment. Didn't see anything special in the code to do that. Does ggrepel do that by default?

23.10.2025 13:04 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Preview
smartDesign: Sequential Multiple Assignment Randomized Trial Design SMART trial design, as described by He, J., McClish, D., Sabo, R. (2021) &lt;<a href="https://doi.org/10.1080%2F19466315.2021.1883472" target="_top">doi:10.1080/19466315.2021.1883472</a>&gt;, includes...

R package, cran.r-project.org/web/packages...

20.10.2025 12:14 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@ercbk is following 20 prominent accounts