“This shirt is ‘dry-clean only’. Which means… it’s dirty.” –Mitch Hedberg
07.10.2025 16:54 — 👍 1 🔁 0 💬 0 📌 0@dankleinman.bsky.social
Research scientist at Yale Child Study Center (formerly Haskins Labs). PhD. Interested in language, dyslexia, bilingualism, EEG, stats. Proponent of summary limericks. I probably drink more tea than you. Posts are ~50% science; opinions are 100% my own.
“This shirt is ‘dry-clean only’. Which means… it’s dirty.” –Mitch Hedberg
07.10.2025 16:54 — 👍 1 🔁 0 💬 0 📌 0Thrilled to see universal dyslexia screeners rolled out for CA kids in grades K-2. Early identification is so important.
07.10.2025 16:51 — 👍 0 🔁 0 💬 0 📌 0A notification on MacOS: "zoom.us" Is Accessing Your Screen. "zoom.us" has accessed your screen and system audio 4417 times in the past 90 days
Me: It's nice not having a lot of meetings these days!
Zoom: You were saying...?
Saw this for the first time last year (in the theater!) and had the same thought. As a psycholinguist, I loved that is-he-or-isn’t-he aspect to the hallucinatory speech restoration — same with the ever-changing emphasis on the word “us” in the key sentence. Talk about shades of meaning!
24.08.2025 16:34 — 👍 1 🔁 0 💬 1 📌 0I’m working with an RA now on a research project in which she characterizes the errors made by students with dyslexia during a phonological processing task. Lots of granular detail and discussions about “What processes could have produced this?” Just delightful stuff (if somewhat painstaking).
21.08.2025 16:59 — 👍 2 🔁 0 💬 1 📌 0Nice! I find there’s something clarifying about trying to describe (or reading others describe) behavior(/speech) closely, especially in less structured situations. Paradigms usually allow us to take those things for granted! Always feels to me like a return to the roots of the field.
21.08.2025 16:58 — 👍 1 🔁 0 💬 2 📌 0Reminds me of that paper listing all the ways people describe effects with p-values north of .05.
21.08.2025 16:48 — 👍 1 🔁 0 💬 2 📌 0I call this the “get on my lawn” trope.
21.08.2025 15:35 — 👍 3 🔁 0 💬 0 📌 0Reminds me of an old lawsuit: A guy went to an all-you-can-eat sushi place in LA and removed all the rice from each piece. The owner said it wasn’t all-you-can-eat sashimi, and that he relied on customers filling up on rice. The customer — a diabetic — sued for discrimination (and I think lost).
17.08.2025 03:20 — 👍 1 🔁 0 💬 0 📌 0You must have some cheap ice cream places near you, then — that would cost around $8/lb. where I live. Might make sense if you want to stock up your pantry on sprinkles, though…
17.08.2025 03:06 — 👍 1 🔁 0 💬 1 📌 0It’s okay not to understand contrast coding (though it’s important to learn). But *everyone* should be able to look at their model output and say, “This doesn’t match what I’m seeing in my data, and I need to understand why before proceeding.” Don’t just throw up your hands and trust your model!
15.08.2025 18:07 — 👍 0 🔁 0 💬 0 📌 0For instance, I have reviewed multiple papers which used linear mixed-effects models to analyze data and reported effects that are impossible to see in the tables or figures — because they were using treatment-coded contrasts but they interpreted them (incorrectly) as sum-coded contrasts.
15.08.2025 18:07 — 👍 1 🔁 0 💬 1 📌 0This is a nice description of what I call “passing the smell test”. Fancy stats can be very useful (I occasionally rely on them!), but it’s critical to look for converging evidence that an effect is “real” rather than blindly trusting the results of a model (which could be misspecified).
15.08.2025 18:07 — 👍 3 🔁 1 💬 1 📌 0We had a nice conversation about null/alternative hypotheses and data generation. We also talked about how a paper can be useful for some things (ideas, data coding) but not others (stats).
At any rate: Please don't do stats this way!
You will not be surprised to learn that the results were significant, t(4) ≈ 9.
To explain to my RA why this is not a good idea, we ran some simulations. If you throw a 6-sided die 6 times and then compare the lower & higher values, p(p<.05) = 41%. Throw it 8 times, p = 85%. 10 times, p = 97%.
Specifically, the author saw that some students made more errors than others. He divided them into two groups of 3 based on their error counts, then used a t-test to compare the number of errors they made.
🤯
(I'm not even clear on why – I think he wanted to show that performance was variable.)
Read a paper the other day from the early 1990s which reported an in-depth analysis of reading/writing/spelling errors made by 6 students. The main focus of the paper was the detailed coding scheme used to classify the errors. But! – there was also a statistical analysis comparing their performance.
08.08.2025 16:18 — 👍 1 🔁 0 💬 1 📌 0n.b. This worked perfectly for the tables I loaded (which I verified by comparing every cell). However, I don't know whether all JMP features are supported, so make sure you check your inputs/outputs given the features you use.
06.08.2025 15:55 — 👍 0 🔁 0 💬 0 📌 0# set up JuliaCall, specifying Julia dir library(JuliaCall) julia <- julia_setup(JULIA_HOME='/Applications/Julia-1.8.app/Contents/Resources/julia/bin/') # install and load relevant package to open JMP files julia_install_package_if_needed("JMPReader") julia_library("JMPReader") # read in data julia_assign("filepath", "~/Desktop/mydata.jmp") julia_command("df = readjmp(filepath)") # transfer to R df <- julia_eval("df")
The process couldn't be easier. After getting packages installed and loaded, you read in the data using Julia command readjmp() (within R command julia_command()) and then transfer the result to the R workspace using julia_eval(). Magic!
06.08.2025 15:55 — 👍 0 🔁 0 💬 1 📌 0The R package JuliaCall (cran.r-project.org/web/packages...), which allows you to call Julia commands from R. It also allows you to install Julia directly from the R command line, though that piece didn't work for me so I installed Julia separately (v1.8.5; later versions may not be compatible).
06.08.2025 15:55 — 👍 0 🔁 0 💬 1 📌 0The key ingredient is Jaakko Ruohio's Julia package JMPReader (github.com/jaakkor2/JMP...), which can import JMP's proprietary data tables into Julia using the command readjmp(). I don't use Julia, though, which brings us to the other half of the solution:
06.08.2025 15:55 — 👍 0 🔁 0 💬 1 📌 0A text thread between two people. First text: "I JUST SUCCESSFULLY READ A JMP DATA FILE INTO R". Response: "WHAT"
In "news that will be very exciting to a small group of people", I discovered today that – a full decade after I first wished for this feature – it is now possible to read JMP files into R!
06.08.2025 15:55 — 👍 1 🔁 0 💬 1 📌 0@nytxworeo.bsky.social is going to have a very exciting day tomorrow
30.07.2025 03:53 — 👍 1 🔁 0 💬 0 📌 0If that EEG means she is saying to herself “Oh my God!”, then I too am generating a similar reading
29.07.2025 21:20 — 👍 1 🔁 0 💬 0 📌 0WHAT NO
29.07.2025 21:18 — 👍 1 🔁 0 💬 1 📌 0On board my flight to #SSSR2025. The flight attendant gave instructions to the emergency exit row passengers in front of me and asked if they had any questions. One did: “How do I know when to open the door?”
Hopefully I make it to Calgary in one piece…!
The expectation is that mistakes will happen; the question is how to structure systems and processes so that they are easily identified and have minimal impact. Takes the ego out of the equation — it’s no longer “I did this” but “Here’s what happened”.
14.07.2025 22:06 — 👍 1 🔁 0 💬 0 📌 0I started explicitly thinking about scientific research this way after seeing Jeff Rouder talk about it at Psychonomics. One of many benefits: It takes pressure off of RAs (who have heard me talk about this).
14.07.2025 22:06 — 👍 3 🔁 0 💬 1 📌 0I learned this in grade school (of course) but I only ever heard it called “the Stussy S”. Were you all out there calling it the cool S?
11.07.2025 21:51 — 👍 0 🔁 0 💬 1 📌 0