Software Package
Web application
A consistent, accessible visual language for statistical analysis in R and Python.
Post
Figures often change their visual language as an analysis moves from exploration to reporting. This post uses depictr to examine a simulated lexical-decision experiment, plot its mixed-model estimates, audit a figure and correct the accessibility problems that the audit finds.
Post
Selecting words is only the first step in preparing a psycholinguistic experiment. This post uses lexsync to match high- and low-frequency items, balance them across lists, and export timed PsychoPy and OpenSesame scripts that send electroencephalography (EEG) triggers, plus a jsPsych version that logs event markers.
Post
A simulated semantic-priming study shows how precision, sign errors, magnitude errors and singular fits can be examined alongside power before choosing a design.
Post
A literature-search export does not preserve the decisions that produced it. This post uses scopusflow to define a search in advance, resume it from checkpoints and generate a PRISMA-S search record from the resulting data.
Post
A theory written only in prose cannot be checked mechanically. This post represents a theory of modality switching as structured data, derives the conditional independencies it implies, and tests them against data simulated from the theory and from a rival account.
Software Package
Web application
Versioned, machine-checkable scientific theories in R and Python.
Software Package
Web application
Simulation-based design analysis from a portable R and Python specification.
Software Package
Web application
Reproducible, quota-aware Scopus searches in R and Python.
Software Package
Web application
Lexical stimulus matching and experiment generation in R and Python.
Post
A production-ready local transcription workflow leveraging OpenAI's Whisper models that addresses the limitations of cloud-based solutions through complete data sovereignty, unlimited scale, reproducible processing and advanced quality control, while maintaining GDPR compliance.
Software Pipeline
A secure, local transcription workflow using OpenAI's Whisper, with batch processing on high-performance computing (HPC) clusters and built-in quality control. Designed for academic and enterprise use, it avoids the privacy and reproducibility limitations of cloud-based services.
Post
Understanding the interplay between speech and gesture is crucial for linguistic and cognitive research. The current prototype, available on GitHub, aims to automate the analysis of temporal alignment between spoken demonstrative pronouns and pointing gestures in video recordings. By integrating computer vision (via Google’s MediaPipe) and speech recognition (using language-specific Vosk models) using Python, the workflow provides enriched video annotations and alignment data, offering valuable insights into deictic communication.
Post
I'm sending the triggers in a binary format because Python requires this. For instance, to send the trigger 1, I run the code serialport.write(b'1'). I have succeeded in sending triggers in this way. However, I encounter two problems. First, the triggers are converted in a way I cannot entirely decipher. For instance, when I run the code serialport.write(b'1'), the trigger displayed in BrainVision Recorder is S 49, not S 1 as I would hope (please see Appendix below). Second, I cannot send two triggers with the same code one after the other. For instance, if I run serialport.write(b'1'), a trigger appears in BrainVision Recorder, but if I run the same afterwards (no matter how many times), no trigger appears. I tried to solve these problems by opening the parallel port in addition to the serial port, but the problems persist.
Post
Python inline script for OpenSesame that automatically loads participant-specific parameters from a CSV file, enabling complex counterbalancing schemes beyond the standard interface options.