Sign in

Eric Yates

@ericyates.bsky.social
137 followers 142 following 118 posts

On a mission to reveal the causal mechanisms of unexplained neurological conditions, starting with my own I’ve built robust software for real-time biosignals over 5 years of SBIR/STTR grants Functional neuroanatomy + insula 🧠🤖💜👋🏻 github.com/neurodevs

PostsRepliesMedia
Eric Yates @ericyates.bsky.social · 23/08/2026
“Loneliness does not come from having no people about one, but from being unable to communicate the things that seem important to oneself, or from holding certain views which others find inadmissible.” Carl Gustav Jung
020
Eric Yates @ericyates.bsky.social · 12/08/2026
After 30+ years of reading, I just learned that the letter A is an upside-down ox head. I've seen it millions of times. Billions? Now it's the only thing I can see. A = 𐤀 = 𓃾 IT HAS TWO HORNS Ɐ #linguistics #etymology
291
Eric Yates @ericyates.bsky.social · 04/08/2026
What rabbit hole have I fallen into now? Reading about reward processing in orbitofrontal cortex sparked a hunch: abstract rewards (money) don’t get devalued with repeated delivery the way primary rewards (food) do (you get full) Diving into papers now…Uh oh #NeuroSky #Neuroeconomics
120
Eric Yates @ericyates.bsky.social · 03/08/2026
From a book on Cassandra (see reply) for anyone else who resonates: “Her failure to communicate all that she knows keeps her on the limits of society, and her existence there allows her to expand on and even celebrate the very knowledge that she fails to communicate” #Mythology #Cassandra #BookSky
140
Eric Yates @ericyates.bsky.social · 19/07/2026
Created a #Notion database today for the educational DVDs I own on ancient Greek history, mythology, and philosophy (excluding TV/movie adaptations) Here's the list if it's useful for anyone! Am I missing anything good? #AncientGreece #GreekHistory #GreekMythology #GreekPhilosophy #Odyssey
Screenshot of a Notion database table with Type, Provider, and Name columns, listing:

Courses: Medea & Other Plays (Euripides) (Memoria Press), Ancient Greek Civilization (The Great Courses), Greek Tragedy (The Great Courses), Introduction to Greek Philosophy (The Great Courses), Masters of Greek Thought: Plato, Socrates, and Aristotle (The Great Courses), The Long Shadow of the Ancient Greek World (The Great Courses)

Documentary: Greece: Secrets of the Past (IMAX), Alexander's Lost World (Athena), 5000 Years of Magnificent Wonders: Ancient Greece (Questar), Ancient Civilizations: Athens and Ancient Greece (Questar), Ancient Greece: Gods and Battles (The History Channel), In Search of History: The Greek Gods (The History Channel), The True Story of Alexander the Great (The History Channel), In Search of the Trojan War (BBC), Helen of Troy (PBS), Odysseus Returns (PBS), The Greeks: Crucible of Civilization (PBS), The Real Olympics (PBS)
041
Eric Yates @ericyates.bsky.social · 19/07/2026
How many people with valuable work are going unseen because they’re skilled at what they do rather than knowing the right words to say on social media? #BuildInPublic #SoftwareEngineering #Builders #ThisSucks
160
Eric Yates @ericyates.bsky.social · 19/07/2026
The cool thing about abstraction is that I spent hundreds of hours building the first adapter for one particular model of the Muse headset… The second model took maybe a dozen of hours… The third model only took hours… And now 2 of the remaining 3 models took about 30 minutes. #Muse #EEG #BCI
There are various biosensors shown, including all 6 current models of the Muse headset: Muse 1 Gen 1, Muse 1 Gen 2, Muse 2, Muse S Gen 1, Muse S Gen 2, Muse S Athena. There are a few other biosensors shown that are not directly relevant to this post.
000
Eric Yates @ericyates.bsky.social · 09/07/2026
Data streaming in from the Cyton! That's a solid stopping point for tonight. #Biosensors #EMG #BuildInPublic
030
Eric Yates @ericyates.bsky.social · 09/07/2026
Got another biosensor! This one is the OpenBCI 8-channel Cyton Biosensing Board for ExG. I’ll be using it to measure muscle activity (EMG), and then using it to estimate where in the brain (EEG) that muscle activity came from. Technical docs here: docs.openbci.com/Cyton/CytonL... 🤓
The OpenBCI 8-channel Cyton Biosensing Board is shown, with its variety of parts laid out in an orderly fashion. At the center of the image, there is a box that has its electrodes and cables shown, along with an OpenBCI sticker on the front left of the box. In front of the box, there is a paper card that shows the contents of the box, with both a name and a visual representation for each part. The parts themselves are laid around the card.
010
Eric Yates @ericyates.bsky.social · 02/07/2026
Now I have one biosensor tower! Pictured from top to bottom: Muse 2, Muse S Athena, Muse S Gen 2 (yes it’s confusing), and the Zephyr BioHarness 3.0 #Biosensors #Biosignals #EEG #PPG #ECG #Muse
A “biosensor tower” that is a rounded piece of cardboard with 4 biosensors running from top to bottom: Muse 2, Muse S Athena, Muse S Gen 2, and Zephyr BioHarness 3.0.
000
Eric Yates @ericyates.bsky.social · 02/06/2026
Final version out! Great work from the whole team, and am grateful to have contributed to the data logistics and a bit of writing about it. #eeg #stroboscopic #burnout #npjDigitalMedicine
nature.com
Alpha and theta audiovisual interventions in a reflective chamber demonstrate acute effects on stress and burnout - npj Digital Medicine
npj Digital Medicine - Alpha and theta audiovisual interventions in a reflective chamber demonstrate acute effects on stress and burnout
000
Eric Yates @ericyates.bsky.social · 06/03/2026
Our paper on stroboscopic interventions for burnout was accepted at npj Digital Medicine today. It’s my first! I suppose that means I still have an h-index of 0 for now 🙃 Preprint: www.researchsquare.com/article/rs-7... #Neuroscience #MentalHealth #Burnout #EEG #DigitalHealth
researchsquare.com
Alpha and Theta Audiovisual Interventions in a Reflective Chamber Demonstrate Acute Effects on Stress and Burnout
Escalating stress prevalence, particularly among essential service personnel whose cognitive compromise threatens public welfare, necessitates rapid, accessible, and non-pharmacological interventions....
020
Eric Yates @ericyates.bsky.social · 12/08/2025
TW: Painful facial expressions These 4 trials show a basic pattern of my response to C-tactile touch. EEG, ECG, and more soon. See thread for hypotheses! Also, please excuse the very scientific Q-tip. I've...misplaced my Von Frey monofilaments! 😂 #BuildInPublic #Neurophysiology #Biosignals #Nof1
160
Eric Yates @ericyates.bsky.social · 09/08/2025
If these acronyms light up your brain, we should talk :) SpI/II, Sp5C, VMpo, Idfp, post-IC, mid-IC, vAIC, MCC, PAG, NRA, NA, FMN, VH 🧠 #Neuroscience #Neuroanatomy #FunctionalNeuroanatomy #Neurophysiology #Interoception #EmotionalMotorSystem
010
Eric Yates @ericyates.bsky.social · 09/08/2025
I’ve lived with symptoms that doctors have repeatedly asserted has no biological cause. It’s made me determined to prove they do have a measurable cause, so no one else is dismissed like that again. Who else is working towards this change? #Neurosky #Neuroskyence #ChronicIllness #Psychosomatic
2101
Eric Yates @ericyates.bsky.social · 06/08/2025
Spent a lot of time today reading The Emotional Motor System (1996). It’s funny how often a decades-old textbook is still the deepest, most comprehensive take on a topic. For another prime example, check out The Midbrain PAG Matter (1991)! #Neurosky #AffectiveNeuroscience #EmotionalMotorSystem
000
Eric Yates @ericyates.bsky.social · 03/08/2025
Finished building a #ReactJS badge to show (hardcoded) total repos and test counts for a #GitHub org. Will soon integrate with the node-test-counter package I just built, so it can be updated automatically. Check it out here! github.com/neurodevs/react-github-badge ✅ #BuildInPublic #OpenSource
Screenshot of a webpage footer displaying a GitHub-style badge labeled "Neurodevs" with "22 repos, 540 tests" in green, positioned below a symmetrical diagram of brain regions labeled left (L) and right (R).Code snippet showing a TestCounterBadge React component with props for title (Neurodevs), githubUrl (https://github.com/neurodevs), numRepos (22), and numTests (540).
042
Eric Yates @ericyates.bsky.social · 31/07/2025
Finally got around to building a small module to count tests across packages. I've written 536 tests so far across all @neurodevs repos, and it only took 3 of those tests to count the rest! github.com/neurodevs/no... #BuildInPublic #TestDrivenDevelopment #TDD #SoftwareEngineering
Terminal screenshot showing a script output for test counts across @neurodevs repos. The script, executed with node build/scripts/demo.js, displays a JSON-like object: total: 536, with a perRepo breakdown. The repo with the highest count is 'react-connectivity-graphs': 78, followed by 'node-ble': 71 and 'node-lsl': 70. Repos with the fewest tests include and 'node-test-counter': 3, 'node-html-loader': 2, and 'node-eeg': 2.Terminal screenshot showing test results for the file CrossRepoTestCounter.test.ts. All 3 tests passed in a total of 6ms:

• createsInstance
• throwsIfRepoNotFound
• resultEqualsExpected
030
Eric Yates @ericyates.bsky.social · 22/07/2025
Started building a #NodeJS adapter for this robotic arm to eventually deliver #C-tactile stimuli in experiments. It’ll target both sides of my cheeks, forearms, and calves to test for somatotopy using #EEG source localization. There will be many other tests too! #BuildInPublic #Neuroskyence
260
Eric Yates @ericyates.bsky.social · 15/07/2025
C-tactile touch (slow, gentle) is normally pleasant. For me, it's painful (allodynia) and causes involuntary movements / vocalizations under certain conditions. Hypothesis: C-tactile => #Insula => Cingulate => PAG => Motor Here’s a partial #causal model to test! #BuildInPublic #EEG #Nof1
A terminal window displays output from running a Node.js script (node build/scripts/demo.js) for a causal model used in the I-INSULA protocol.

The causal model M is shown as a triple ⟨U, V, F⟩, where U is a set of external variables (like C-tactile, vestibular, thermal, and visual stimuli), V is a set of internal biosignal variables (like source-localized EEG and EMG), and F is a set of causal mechanisms represented as functions. 

A submodel Mx is also shown, where one function in F has been modified to return a constant value (e.g., 1) to simulate activity of an internal variable (in this example, posterior insular cortex activity) to test whether it is sufficient to causally explain downstream activity in the cingulate cortex or EMG muscle activity.A screenshot of TypeScript code in a code editor, showing part of the StructuralCausalModel class implementation. 

The method toSubmodel takes a set of mechanism modifications (Fx), stores them in instance variables (currentF, currentFx), and performs causal mechanism overrides via doMechanismModifications(), replacing the function with a constant-returning one. The new submodel is then created in createSubmodel() and returned.
031
Eric Yates @ericyates.bsky.social · 14/07/2025
I’ve been building these graphs to show likely neuroanatomical pathways of my unexplained condition. Tonight, I started building the causal engine to move from unexplained to explained. I'm becoming a falsifiable model, one mechanism at a time. #Neuroscience #Causality #EEG #Nof1 #BuildInPublic
Screenshot of a TypeScript class named StructuralCausalModel implementing Judea Pearl’s formalism of a structural causal model. The class defines private readonly fields U, V, and F for external (exogenous) variables, internal (endogenous) variables, and causal mechanisms, respectively. It includes a static Create method, a toTriple method, and supporting interfaces for typing the causal model components. The code structure reflects a modular, type-safe design for executable causal modeling.
151
Eric Yates @ericyates.bsky.social · 12/07/2025
Testing efficiency matters. Inefficient: Manually spinning up separate instances just to tweak one value at a time. Me, earlier today. Efficient: 9 side-by-side graphs, each testing a different value, all in a single view. Me, now. #BuildInPublic #DeveloperExperience #DX #UXTesting #VisualTesting
121
Eric Yates @ericyates.bsky.social · 11/07/2025
Ensuring the graph fits seamlessly wherever it’s embedded has been tricky. Now, with fixed-width nodes and word wrapping on long labels, its dimensions are much better defined. This should go a long way toward making this #reactjs component “just work” wherever it's embedded! #buildinpublic #css
020
Eric Yates @ericyates.bsky.social · 10/07/2025
Okay, I've spent enough time on this mild curiosity! I found a bug that hid for 3+ years in my code. It broke the radial layout unless there were at least 4-5 nodes. Back then, I fixed it with a hack. Now, I know why. I may even be less likely to do it again! :D #buildinpublic #code #opensource
An image showing git changes in TypeScript code, with 2 changes made. A minus sign was changed to a plus sign, which fixed a known issue. Text overlay on the image also describes the thought process.A screenshot of WolframAlpha showing three different lines plotted on the same graph: 

y = 140 / (x - 1)
y = 140 / (x + 1)
y = 140

There is commentary on the graph which shows the problems associated with using a minus sign, and the more beneficial effects observed when using a plus sign.An image showing the flowgraph with the corrected layout. The nodes start at the proper intended angle. Before, the actual angle was a bit shallow, which led to the nodes feeling crammed and the top/bottom nodes being hard to read because they're at a steep angle relative to horizontal. Now, the angle is a bit wider as was intended, giving more visual space and making it easier to read labels of nodes.
032
Eric Yates @ericyates.bsky.social · 27/06/2025
Noticing a recurring #tdd pattern in my #frontend work: minor: create footer component – Footer.test.tsx => rendersFooter patch: renders footer in app – App.test.tsx => rendersFooterInApp First, assert "it" exists. Then, assert it exists in a context. Anyone else do this or have a name for it?
000
Eric Yates @ericyates.bsky.social · 25/06/2025
A while ago, I had a wonderful package called react-connectivity-graphs Then, I had the smart idea to change its name to node-connectivity-graphs because... #ssr #nodejs Now after two days of undoing that "smart idea", I'm back to having a wonderful #react package 😂 #buildinpublic #stillaboutnode
020
Eric Yates @ericyates.bsky.social · 21/06/2025
Added a #css transition to smooth the menu modal by toggling between .open and .closed classes. Per #tdd, updated tests to capture toggle behavior. Then, updated actual behavior and CSS definitions. The transition still felt clunky, so I added a fade effect to <main> also! #buildinpublic #reactjs
251
Eric Yates @ericyates.bsky.social · 19/06/2025
I've now made my developer website mobile-first, with progressive enhancement for desktop. The idea behind progressive enhancement is to first build your core UX with the hardest case (mobile) and then scale up to desktop. Hello world still stands! #buildinpublic #reactjs #frontend #mobilefirst
151
Eric Yates @ericyates.bsky.social · 19/06/2025
Alright, I got distracted by life for a bit. Happens. Especially these days it seems. Getting back into it, now I've added these hover transitions for desktop users and tightened up styling once again. How long can I go until I get rid of hello world? 😂 #buildinpublic #softwarecraftsmanship
041
Eric Yates @ericyates.bsky.social · 14/06/2025
🛠️ Public Build Log #5 Sometimes building out is tempting. More features, more flash. Today, I paused and decided to reinforce what was already there. Half a day of work later, it may only look a bit cleaner, yet the foundation is now solid. #software #craftsmanship #stillmatters
A minimalistic webpage with a header and “Hello world!” below it. The header includes a logo with a blue square and a blue question mark within the square, @ericthecurious, Posts, Projects, and About. The items are visually styled to include ample space around them.
010
Eric Yates @ericyates.bsky.social · 12/06/2025
🛠️ Public Build Log #4 To build better #flowchart abstractions, I want to first embed them into a broader web app to get a clearer sense of how to proceed. I also need a personal website, so that serves both purposes. I remember building a partial website before. Here’s just how partial 😂 #react
A very minimal webpage for a personal website. A header shows @ericthecurious, Posts, Projects, and About. The main body shows “Hello world!” The rest is blank space.
000
Eric Yates @ericyates.bsky.social · 11/06/2025
🛠️ Public Build Log #3 This graph shows many more nervous system structures likely related to my condition based on known human neuroanatomy. It’s still oversimplified, yet also now becoming too complex. Needs more crisp abstractions 🧩 #graphtheory #datavisualization #designpatterns #neuroanatomy
000
Eric Yates @ericyates.bsky.social · 10/06/2025
🛠️ Public Build Log #2 Now, you can see full names and other connections by hovering over nodes with your cursor! Shown here is a simplified neural pathway for left-sided C-tactile touch, which goes to the right-side of your brain 🧠 #neuroanatomy #interoception
000
Eric Yates @ericyates.bsky.social · 08/06/2025
Public Build Log: Today, added this vertical green line to clarify the left/right sides of this lateralized flow chart Believe it or not, it was fairly tricky based on how the code had been structured It’s a good lesson to remember: complexity of inner mechanisms sets the timeline, not appearance
200
Eric Yates @ericyates.bsky.social · 24/04/2025
Wonderful talks today at #KSInteroception25, yet what stayed with me most was a passing comment: “What you want depends on how you are.” It instantly struck me as true, both experientially and neuroanatomically, even if I can’t fully explain why yet #neuroscience
000
Eric Yates @ericyates.bsky.social · 22/04/2025
Heading to the Allen Institute today for an interception conference. Setting an intention to live the embodied experience it seeks to explain. Before the models and maps, the body speaks. I want to listen. If you’re there too, feel free to say hi! :) #Interoception #Neuroscience
000