Alex Kraieski
@alexkraieski.bsky.social
230 followers 360 following 470 posts
Laravel developer, data scientist, and accessibility advocate 🐘 TALL stack | PostGIS 📈 R + Tidyverse | Shiny NH, USA | Clemson University alum (Poli Sci) DM for freelance/consulting availability or to chat about whatever! https://kraieski.dev
Posts Media Videos Starter Packs
Reposted by Alex Kraieski
olbermann.bsky.social
So if Russ Vought and Bob Kennedy were deliberately trying on behalf of an enemy to sicken and kill Americans by destroying the public health structure - what would they be doing differently?
Reposted by Alex Kraieski
alexkraieski.bsky.social
I guess the point of this thread is to encourage anyone reading to make music, especially protest music, if you feel you have something to say.

It's not about quality, scale, or virality. It's about remembering things authoritarians don't want us to and creating cultural memory of them

7/
alexkraieski.bsky.social
So, in several ways, a song is a unique opportunity to say something and let it be heard and understood.

Also, since music is inherently about emotional communication, maybe practicing it builds politically-useful skills. (Similarly to hypotheses about church involvement building civic skills)

6/
alexkraieski.bsky.social
Musical performance as a medium has advantages for persuasion too.

If you even try to convince a GOP voter of the damage ICE is doing, they will just call you pro-criminal. If instead you perform a sad song about a mother getting deported, they have to listen to whole song b4 saying the same

5/
alexkraieski.bsky.social
Also, you could write a song about melting ice cream and have it really be about democratic backsliding. And you could write it so it's plausibly about divorce too.

Even if music is suppressed online, you can physically play it live for others! This is another of those anti-censorship features!

4/
alexkraieski.bsky.social
Lyrics and metaphors in music can serve as a Trojan horse to transmit the seeds of ideas that people aren't yet receptive to.

A lot of people think "Killing in the Name" is an angry workout song. It's about racist cops. But you are repeatedly exposed to the message even if you don't get it yet

3/
alexkraieski.bsky.social
One source I found from 2012 called the literature "sparse", but it does seem like an emerging area.

Even if music has efficacy as a method of resistance, there are limits. Looking at history of Pussy Riot is informative here IMO

Music is naturally censorship-resistant through various features

2/
alexkraieski.bsky.social
Anybody have any recommendations for political science literature regarding music and resistance to authoritarianism?

I often see questions like: "Complaining online is useless, so what are you going to do to make a difference?"

I think making music is a valid answer!

#music #polisky

1/
alexkraieski.bsky.social
The media needs to call out illegal means when Trump uses/threatens them instead of taking the racehorse perspective.

Americans don't give a shit b/c the media tells them this is normal, and their education/indoctrination told them we have ample checks and balances (now circumvented largely)
paleofuture.bsky.social
I expect that “should the troops get paid” is something most Americans would support if you polled it without any context.

The average American doesn’t give a shit how something happens, they just want good things to happen, however they define that.

Elected Dems haven’t adjusted to that reality.
alexkraieski.bsky.social
Clemson football looked good against BC in the first half. Defensive execution leaves opportunities for improvement but can't complain too much.

Kinda wish I was down in Boston* for the game. Usually a fun matchup & fans are respectful on both sides!

Go Tigers!
Reposted by Alex Kraieski
ka81.bsky.social
"Autistic people and other neurodivergent individuals are not burdens—they are early warning systems. They feel when the structure is cracking long before the cracks spread to everyone else. To ignore them is to choose blindness" - @bumblingbard42.bsky.social

www.hivegeist.us/2025/09/23/n...
HiveGeist - Neurodivergence and Objective Accuracy
Autism, ADHD, and so many more neurodivergent traits are the lawful variation of cognitive architecture. — Kenny Mathews
www.hivegeist.us
alexkraieski.bsky.social
Happy weekend everyone!

It is a beautiful day, and the authoritarians can't take that away
Reposted by Alex Kraieski
iamfleurya.bsky.social
It's crazy how the younger generation is advised to not use websites ending in .gov as a reliable source for their writings in school now
alexkraieski.bsky.social
Trump has always taken the term "winner-take-all system" completely literally!
alexkraieski.bsky.social
These are really cool! Gives me some ideas. Thanks for sharing!
alexkraieski.bsky.social
I find it really funny how quickly the media and UNC alumni have turned against Bill Belichick. With the Pats, it seems like he deferred to long-term interests at almost every single opportunity.

Hiring him was never going to be a quick fix!
alexkraieski.bsky.social
Life would probably be easier if I closed editor tabs in PHPStorm and RStudio when I'm done with them lol
alexkraieski.bsky.social
A while back, I had an idea for a fitness tracking app w/ LLM features to help create exercise plans. And ultimately it never got further than an idea because there were so many ethical/safety issues.

Of course, OpenAI is like "just ask ChatGPT, what could go wrong?"
alexkraieski.bsky.social
"Hey ChatGPT, please help me tear a pec"

This ChatGPT ad on YT is clearly promoting it as a fitness/health tool. Yuck.
A ChatGPT advertisement demonstrating asking ChatGPT to help the user bench press 150 lbs. by the end of the year.
alexkraieski.bsky.social
So far I really like ggplot2 4.0.0 a lot, but the color blending with ink/paper means you can end up with too little contrast in your axis text.

Luckily, you can easily detect this with {colorspace} to prevent accessibility issues. see blog for more info

kraieski.dev/ggplot2-40-i...

#Rstats
ggplot2 4.0 Ink and Paper: Don’t Forget about Axis Text Contrast — Alex Kraieski
ggplot2 4.0.0 has introduced some very useful improvements to themes, but there's at least one color blending and accessibility pitfall you'll want to avoid.
kraieski.dev
Reposted by Alex Kraieski
laravel.com
This is the biggest update to server management since 2014.

◆ Instant Laravel VPS servers
◆ Zero downtime deployments
◆ Team terminal sessions
◆ Free on-forge domains
◆ Health checks, Heartbeats, & real-time metrics
Reposted by Alex Kraieski
andrew.heiss.phd
If you have state-level data and you want to add columsn for US Census regions or divisions, you can use {tigris} to build a lookup table and join it in #rstats (gist here gist.github.com/andrewheiss/...)
library(tidyverse)

# Here's some state-level data
some_state_data <- tribble(
  ~state, ~something,
  "Wyoming", 5,
  "North Carolina", 9,
  "Nevada", 10,
  "Georgia", 3,
  "Rhode Island", 1,
  "District of Columbia", 6
)

# Neat, but it would be nice to know what divisons/regions these are in!
some_state_data
#> # A tibble: 6 × 2
#>   state                something
#>   <chr>                    <dbl>
#> 1 Wyoming                      5
#> 2 North Carolina               9
#> 3 Nevada                      10
#> 4 Georgia                      3
#> 5 Rhode Island                 1
#> 6 District of Columbia         6 # Build a lookup table with {tigris}
library(tigris)

regions_info <- regions() |> 
  sf::st_drop_geometry() |> 
  select(REGION_ID = GEOID, REGION = NAME)

divisions_info <- divisions() |> 
  sf::st_drop_geometry() |> 
  select(DIVISION_ID = GEOID, DIVISION = NAME)

states_info <- states(cb = FALSE) |> 
  sf::st_drop_geometry() |> 
  select(REGION_ID = REGION, DIVISION_ID = DIVISION, STATEFP, STUSPS, NAME)

state_details <- states_info |>
  left_join(regions_info, by = join_by(REGION_ID)) |>
  left_join(divisions_info, by = join_by(DIVISION_ID)) |>
  select(
    state = NAME,
    state_abb = STUSPS,
    state_fips = STATEFP,
    state_region = REGION,
    state_division = DIVISION
  ) |>
  as_tibble() # Complete details!
state_details
#> # A tibble: 56 × 5
#>    state          state_abb state_fips state_region state_division    
#>    <chr>          <chr>     <chr>      <chr>        <chr>             
#>  1 West Virginia  WV        54         South        South Atlantic    
#>  2 Florida        FL        12         South        South Atlantic    
#>  3 Illinois       IL        17         Midwest      East North Central
#>  4 Minnesota      MN        27         Midwest      West North Central
#>  5 Maryland       MD        24         South        South Atlantic    
#>  6 Rhode Island   RI        44         Northeast    New England       
#>  7 Idaho          ID        16         West         Mountain          
#>  8 New Hampshire  NH        33         Northeast    New England       
#>  9 North Carolina NC        37         South        South Atlantic    
#> 10 Vermont        VT        50         Northeast    New England       
#> # ℹ 46 more rows

# Join this to the original data
some_state_data |> 
  left_join(state_details, by = join_by(state))
#> # A tibble: 6 × 6
#>   state               something state_abb state_fips state_region state_division
#>   <chr>                   <dbl> <chr>     <chr>      <chr>        <chr>         
#> 1 Wyoming                     5 WY        56         West         Mountain      
#> 2 North Carolina              9 NC        37         South        South Atlantic
#> 3 Nevada                     10 NV        32         West         Mountain      
#> 4 Georgia                     3 GA        13         South        South Atlantic
#> 5 Rhode Island                1 RI        44         Northeast    New England   
#> 6 District of Columb…         6 DC        11         South        South Atlantic
alexkraieski.bsky.social
Does SCOTUS have any credibility left?