James Balamuta

omnipresent explorer of the unknown, fashionably caffeinated informatics phd, amorous cavalier. design, build, analyze. on + and with

James Balamutacoatless
2025-12-17

@hrbrmstr corporate R == Posit? I think it's the reverse for Shiny. There's some interesting _generalization_ of the Shiny library happening. c.f. Shiny with React work that Winston is leading:

github.com/wch/shiny-react
github.com/wch/create-shiny-re

I'm evaluating the use of it for a more _complex_ Shiny Application. Though, I may fall back to {Ambiorix} or just bite the bullet and port everything I need into Python.

James Balamutacoatless
2025-12-17
James Balamutacoatless
2025-12-17

Shiny for R: GPL-3 → MIT ✨

Your dashboards are now legally chill. Deploy without consulting three lawyers and a ouija board first.

Screenshot of a GitHub pull request #4339 titled "chore(license): Change license from GPL-3 to MIT." The PR shows a purple "Merged" badge indicating it was merged by user cpsievert 13 minutes ago, with 5 commits from the branch "migrate-gpl-to-mit-license" into main. The description by contributor karangattu explains the PR closes issue #4208 and updates the Shiny package licensing from GPL-3 to MIT License.
James Balamutacoatless
2025-11-29

Released a extension for collapsible content blocks.

Why? The {details} are inside.

📚 quarto.thecoatlessprofessor.co
💻 github.com/coatless-quarto/det

Screenshot of the details extension quickstart documentation showing three methods to create collapsible blocks in Quarto: using the summary attribute, using a heading, and using a summary div. Each method shows the code syntax and its rendered output as expandable disclosure widgets.Hexagonal sticker logo for the details Quarto extension. Orange background with a stylized illustration of three accordion-style collapsible content panels in cream and brown, with the word "details" in white text at the bottom.
James Balamutacoatless
2025-11-29

Turning another year older tomorrow and celebrating by releasing Quarto extensions into the wild. Gift to me, gift to you. And yes, if you've been peeking at my GitHub, you already know what's coming. Act surprised!

James Balamutacoatless
2025-11-22

{ripper} dissects your documents, extracting code blocks by language and leaving executable scripts behind.

Supports , , , and 13 other victims.

For those who never stopped celebrating Halloween.

📚 quarto.thecoatlessprofessor.co
💻 github.com/coatless-quarto/rip

Ripper extension hex logo with Halloween-inspired design. Black hexagonal badge featuring a white .qmd document on the left with red blood splatter effect, and multiple file extension labels on the right (.R, .py, .jl, .js, .lua, .sh, .ts, .md) resembling torn paper. The word 'RIPPER' appears in large red distressed lettering at the bottom, with additional blood drip effects throughout.Screenshot demonstrating the ripper Quarto extension workflow. Shows the ripper logo (a dark house silhouette with red text), documentation page for Default Configuration, example R and Python code blocks in the rendered document, and two code editor windows displaying the generated script files (qripper-default-config.R and qripper-default-config.py) with extracted code. A red arrow connects the 'Script files' section to the generated output files.
James Balamutacoatless
2025-11-09

@hrbrmstr hmm, "corporate R". Mind defining? Is this just tidyverse always influx or Posit's overall R support now being degraded in a post-polyglot first world?

CRAN, I can agree with at times with the monorepo hell and just infuriating hidden checks for _no reason_ on package submit.

James Balamutacoatless
2025-10-23

One does not simply stay away from social media. I return with: R packages, portable R, Shiny/shinylive apps, Electron integrations, Python packages, Quarto extensions, LLMs, and blog posts. The code has been reforged. The roadmap is full.

James Balamutacoatless
2025-09-27

@trevorld The CRAN maintainer gleefully triggering mass deadline emails was part of the toot's joke: CRAN definitely doesn't work that way (at least for URLs)! Though given all the very real work happening right now with due to compilation standards changing for an upstream package I heavily depend upon, I figured we could all use a laugh about imaginary URL apocalypses.

James Balamutacoatless
2025-09-26

Nothing makes you feel vintage like your license getting moved to the retirement home directory. GNU put GPL 2.0 in /old-licenses/ causing packages to throw URL warnings. Somewhere a CRAN maintainer is rubbing their hands together, ready to trigger 847 email requests...

Screenshot of a code diff showing line 10 being updated. The removed line (red) shows a GPL 2.0 license URL pointing to gnu.org/licenses/gpl-2.0.html, while the added line (green) shows the same URL updated to point to gnu.org/licenses/old-licenses/gpl-2.0.html, indicating the license documentation has been moved to an 'old-licenses' directory.
James Balamutacoatless
2025-09-19

Flying to Istanbul to meet my SO's family felt like nervous excitement. Flying to California felt like possibility. Flying back home for a funeral feels like gravity remembering how to work. Now Illinois feels like living in a house where all the furniture is made of memories.

James Balamutacoatless
2025-09-16

@Mehrad @eddelbuettel Thanks! Though, I'm still working on getting external R packages into the image. R_HOME is a fickle taskmaster.

James Balamutacoatless
2025-09-16

@eddelbuettel Docker: 'First, install Docker, learn containers, write a Dockerfile, understand volumes, manage images...' (or pull a rocker image ...)

AppImage: 'wget, chmod +x, done.'

Sometimes the wheel needed to be more... round? 🎡

😉 :heart_fire:

James Balamutacoatless
2025-09-16

macOS 26 Tahoe + R 4.5.1: Keeps moving along on . Upgrade confidently, just remember to update Xcode CLI afterwards if using stan & compiled code.

A screenshot showing R 4.5.1 working under Positron 2025.9.0 (Universal) on macOS Tahoe (26.0.0) with a call to compiled code requiring gfortran through RcppArmadillo.A screenshot showing R 4.5.1 working under RStudio 2025.9.0.387 on macOS Tahoe (26.0.0) with a call to compiled code requiring gfortran through RcppArmadillo.
James Balamutacoatless
2025-09-15

@Mehrad @Lluis_Revilla Spent part of the weekend hacking on this:

mastodon.social/@coatless/1152

AppImage is setup right now just for base R (no packages are present).

Try a copy here:

github.com/coatless-r-n-d/port

James Balamutacoatless
2025-09-15

Finally, R that travels light and doesn't judge your distro choices: Portable R AppImages!!

Because you need the same base R everywhere: your Ubuntu laptop, friend's Fedora server, or data scientist cousin's Arch setup (btw)

No sudo, no tears, just science ✨

(package support coming soon!)

📁 Repo: github.com/coatless-r-n-d/port

Terminal session showing the download and execution of an R AppImage from GitHub releases. The commands show wget downloading the ARM64 AppImage built on Ubuntu 24.04, making it executable with chmod +x, and then launching it to run R statistical analysis including a linear regression model with income vs age data, demonstrating the workflow from GitHub release to running statistical computations.VS Code terminal showing R 4.5.1 running from an AppImage on ARM64 architecture. The file explorer shows the typical AppImage directory structure with usr/bin, usr/lib, and usr/share folders, demonstrating the self-contained portable nature of the R installation.VS Code showing the successful completion of an R AppImage build process. The terminal displays the build summary indicating a 76MB minimal R 4.5.1 AppImage for ARM64 architecture with package installation disabled (immutable). The output shows usage examples and confirms the build completed successfully, with R actually running at the bottom showing the standard R startup message and executing system environment commands, demonstrating the fully functional portable R installation.
James Balamutacoatless
2025-09-12

@Mehrad @Lluis_Revilla {shinyelectron} is focused on deploying an electron app. This simplifies how we're able to deliver an appimage as it's part of an output target electron-builder makes available under certain assumptions.

My read on the initial ask is you're looking more for a pure portable linux version of R. I've had an issue ticket open on that for awhile on the same repo:

github.com/coatless-rpkg/shiny

The short gist is to maybe repurpose `appimage-builder`'s py:

appimage-builder.readthedocs.i

James Balamutacoatless
2025-09-10

Ubuntu 24.04 dev preview has some AppArmor issues during development (github.com/coatless-rpkg/shiny) but the built AppImage works perfectly.

James Balamutacoatless
2025-09-10

Linux support 🐧

Same → desktop workflow on 42 aarch64:

shinyelectron::export() → → portable app

Plot twist: no more "go buy yourself a real computer" moments - you get zero R dependencies too! The condescending Unix users have won this round.

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst