Chris J. Karr (BRIC)
@chris.bric.digital
16 followers 19 following 15 posts
Creating and supporting a sustainable software development environment for scientific research infrastructure.
Posts Media Videos Starter Packs
chris.bric.digital
We wrote a post about the moderation infrastructure that we introduced last week at ISRII '25.

In short, we created a voting system for various automated agents to moderate content originating from user-generated or large language model contexts. We're using this system to improve rule-based bots.
Introducing Simple Moderation: Real-time moderation for LLM- and user-generated content
We're using AIs and machine learning classifiers to moderate content before passing that on to human beings.
bric.digital
chris.bric.digital
Good to see this work from some of the folks @bric.digital has worked with in the past (not necessarily under the BRIC umbrella).

Allcott, Gentzkow & Wojcieszak, to name a few.
johnholbein1.bsky.social
What happens to people when researchers encourage them to deactivate Facebook or Instagram for a few weeks in the lead up to an election?

People get modestly* happier/less depressed/less anxious.

"The Facebook effect is driven by people >35, while the Instagram effect is driven by women <25."
Reposted by Chris J. Karr (BRIC)
cjkarr.bsky.social
Stepping away from the Bluesky doomscrolling today.

Working on a new engine for scheduling future tasks as part of all the Django infrastructure I'm building. I already have the "do X on 5 second intervals" nailed down (Quicksilver). I'm working on the "do Z if A, B, and C haven't happened" side.
Code snippet from a plugin for the scheduling system to send a text message or push notification.
chris.bric.digital
We've been having problems sending out our Ghost newsletter posts and finally tracked down the culprit: internal Mailgun limits on how many messages can be in an API batch call.

We wrote up the details as another newsletter post (partially to test our fix).

#GhostNewsletter #Mailgun #SelfHosting
Leveling-Up the Newsletter
Our Ghost newsletter has grown beyond some undocumented limits that started causing problems for us.
bric.digital
chris.bric.digital
We have a new post up on the BRIC newsletter about how we're using tools like Docker Desktop to solve some problems specific to science: sharing your work with other researchers to replicate, and navigating getting the software running in the first place when each institution is different.
Containerized Science
An introduction to how BRIC is using software containerization in the service of science.
bric.digital
chris.bric.digital
The iOS side is trickier because Apple has developers implement these kind of features in app-specific extensions.

Unlike Android, I can't say "just import this", and the appropriate extensions appear. I have to walk users through the process of creating an extension properly that hooks into this.
chris.bric.digital
The "host yourself" feature is a big deal in HIPAA, GDPR, and IRB-governed contexts, where third-party data disclosure is discouraged or prohibited.

Working now on getting it packaged up with documentation. Not a big deal for the Android side of things, but a bit trickier for iOS...
chris.bric.digital
Just sent a ton of Baby Yoda images to some clients, demonstrating how we can use all the scheduling and transmission infrastructure developed for SMS text messaging projects in the context of iOS and Android native apps.

It's effectively a cut-down version of OneSignal that you can host yourself.
Sending configurable push notifications using our standard Simple Messaging console.
chris.bric.digital
BRIC is pleased to announce its first Interstellar Conference on Behavioral Research Infrastructure (ICBRI) to be held later this summer in HIP 4055.

The deadline for abstract submissions is May 1st, 3311.

#EliteDangerous #HIP4055 #BRIC #AprilFools
Announcing ICBRI, the first Interstellar Conference on Behavioral Research Infrastructure
The Behavioral Research Innovation Center (BRIC) would like to extend an invitation to researchers around the Milky Way galaxy to present their work and findings at the Interstellar Conference on Beha...
bric.digital
chris.bric.digital
I've finally finished a minor manifesto on how we're developing software infrastructure at BRIC, alongside with an announcement that the open-source tools and components that I've been developing for the past decade (and then some!) now lives under the BRIC non-profit umbrella.

#ResearchSoftware
Stone Soup Software Development
How a classic child's tale can influence software development in a positive direction.
bric.digital
chris.bric.digital
Also, unless you are going to pay someone to maintain it, DO NOT create mobile research apps in JavaScript. There's simply too much churn in that ecosystem that after 3 years, bringing one of these apps back becomes a painful exercise in JS library and code archeology and native integration.
chris.bric.digital
When you are forced to ensure that your project is build-able under CI, not only do those weird quirks get surfaced REALLY QUICKLY and have to be fixed to pass a build, BUT the CI build instructions function as a form of documentation as well.
chris.bric.digital
If I'm a stickler for things like third-party continuous integration, one of the BIG reasons is that a lot of research code simply isn't build-able from scratch.

Struggling with a inherited JS project that has dependencies that must be installed under Node v. 14, but requires Node 16+ to run.
chris.bric.digital
At home, I still have copies of the SGI MPI programming manuals for these machine with instructions for writing the massively multiprocessor code needed to make the most of these machines.
Message Passing Interface - Wikipedia
en.wikipedia.org
chris.bric.digital
Until I can get a proper mug shot, I figured that I'd use the ASCI Blue Mountain supercomputer at Los Alamos National Laboratory as my avatar.

It holds a special place in my heart, as one of my summer jobs (and introduction to scientific computing) was assisting LANL scientists learning to use it.
ASCI Blue Mountain - Wikipedia
en.wikipedia.org