James Balamuta's Avatar

James Balamuta

@coatless.bsky.social

omnipresent explorer of the unknown, fashionably caffeinated informatics phd, amorous cavalier. design, build, analyze. #rstats on #macos + #webr and #python with #pyodide

1,029 Followers  |  15 Following  |  294 Posts  |  Joined: 06.10.2023  |  2.3596

Latest posts by coatless.bsky.social on Bluesky

I did; but at the end of the day it's just eye candy for a README that I touch once every 3 years. The license section at the end of the README with "GPL (>=2)" is more than sufficient. In the end, I'm trying to pay it forward to my future self on simplifying CRAN maintenance tasks pings.

27.09.2025 02:56 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Aye, I noticed the timeout persisting despite the changes. So, to get ~10 packages update; I'm just dropping all badges in the README sin the R CMD check one.

27.09.2025 02:50 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
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.

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.

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

26.09.2025 18:12 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

19.09.2025 00:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
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.

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.

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 Positron 2025.9.0 (Universal) on macOS Tahoe (26.0.0) with a call to compiled code requiring gfortran through RcppArmadillo.

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

16.09.2025 00:39 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
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.

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 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.

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.

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 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.

R that travels light on #Linux: Portable R AppImages.

Now working everywhere: your Ubuntu, friend's Fedora, cousin's Arch setup (btw)

No sudo, no tears, just base R science ✨

(package support coming soon!)

#RStats #AppImage #DataScience

15.09.2025 18:37 β€” πŸ‘ 20    πŸ” 2    πŸ’¬ 0    πŸ“Œ 2
RcppEnsmallen v0.2.22.1.2 Released - Upstream Armadillo Changes – TheCoatlessProfessor

RcppEnsmallen 0.2.22.1.2 on CRAN: Upstream Armadillo Changes

blog.thecoatlessprofessor.com/software-rel...

#rstats #rcpp #rcppensmallen #ensmallen

11.09.2025 03:55 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
AppImage is Problematic under Dev Mode with AppArmor on Ubuntu 24.04 / 23.10 Β· Issue #6 Β· coatless-rpkg/shinyelectron After building the electron app on Ubuntu 24.04 ARM, we're getting: Running npm run electron > My-App-Title@1.0.0 electron > electron . [77996:0908/150845.938417:FATAL:sandbox/linux/suid/client/set...

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

10.09.2025 05:50 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Linux support 🐧

Same #rshiny β†’ desktop workflow on #Fedora 42 aarch64:

shinyelectron::export() β†’ #rshinylive β†’ #AppImage β†’ portable #Linux app

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

10.09.2025 05:49 β€” πŸ‘ 13    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0

Core Shiny Application (Shinylive Layer): 61.9 MB

This represents the base Shiny application code and dependencies

Platform-Specific Packaging Overhead (ARM64):

Windows: 300.1 MB
macOS: 264.1 MB
Linux: 304.9 MB

Total Application Size by Platform:

Windows: 362 MB
macOS: 326.4 MB
Linux: 366.8 MB

09.09.2025 21:25 β€” πŸ‘ 7    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

{flexdashboard} will not work as that requires a genuine R shiny backend. The rest depend on capabilities of webR and what assets are included in r-shinylive.

For persistence, electron does allow writing to disk in the user directory. This isn't supported under the VFS for shinylive variant though

08.09.2025 18:25 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

{golem} should work with some creativeness, e.g. place app.R in the package-level directory:

pkgload::load_all(export_all = FALSE, helpers = FALSE, attach_testthat = FALSE)
options( "golem.app.prod" = TRUE)
mygolemapp::run_app()

This side steps the custom WASM compile of the golem app.

08.09.2025 18:19 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Eh, I've tended to stay away from VMware post-broadcom acquisition. Appreciate the note though...

08.09.2025 18:15 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Correct, we're not embedding genuine R (like prior attempts). We're limited by webR/Shinylive capabilities. If the package compiles under webR, you're set!

As of webR v0.5.5, making HTTP requests was addressed by George. But, genuine R embedding is on the feature list.

08.09.2025 18:14 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Agreed. More coming soon...

08.09.2025 18:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Should work out of the box on Windows 10. I only have a Windows 11 license to test with.

08.09.2025 18:11 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

By request: Same #rshiny app β†’ native #electron desktop app workflow now on #Windows11

shinyelectron::export() β†’ #rshinylive β†’ installer β†’ app.exe

[Worth the Parallels license to record this from my Mac]

Still no #rstats dependencies for end users. Living the cross-platform life (virtually).

07.09.2025 05:57 β€” πŸ‘ 45    πŸ” 14    πŸ’¬ 7    πŸ“Œ 1

It’s straightforward under shinylive variants at the cost of needing to be WebAssembly compliant + lowers the security risk considerably (VFS instead of FS access).

Still working on genuine embedded R. Likely possible with outsourcing installer packaging on different OS to GH actions.

06.09.2025 20:52 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
Meridian Research Labs

JJ Allaire & Charles Teague (of Posit fame) launched Meridian Labs, a nonprofit dedicated to frontier AI research and evaluation tools.

Early focus: LLM evals + visualization & SWE Agent tooling for Inspect AI.

meridianlabs.ai | github.com/meridianlabs-ai

#AI #Research

06.09.2025 17:15 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Yes, the goal is to create a standalone Shiny application that mirrors a traditional application. For now, the experimental build supports R shiny apps via `r-shinylive`. This will likely be available for PyShiny via `py-shinylive`; but, that's a ways off and maybe a Python package later ;)

04.09.2025 14:27 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Video thumbnail

Prototyping #rshiny apps to native #electron desktop apps:

shinyelectron::export() β†’ #rshinylive conversion β†’ .dmg β†’ Native Mac app

Zero #rstats dependencies for end users! Early days but promising πŸ‘€

04.09.2025 07:35 β€” πŸ‘ 30    πŸ” 10    πŸ’¬ 2    πŸ“Œ 0
Screenshot of JupyterLab launcher interface showing the main dashboard with two sections: "Notebook" and "Console". Each section displays kernel options for Python 3.9 (py39) and R 4.2.2 with their respective icons. The left sidebar contains a file browser showing "Storage" and "Temporary" folders, both modified "a minute ago", with a search filter box at the top. The interface includes typical JupyterLab navigation elements and is running on sciserver.org as shown in the browser tab.

Screenshot of JupyterLab launcher interface showing the main dashboard with two sections: "Notebook" and "Console". Each section displays kernel options for Python 3.9 (py39) and R 4.2.2 with their respective icons. The left sidebar contains a file browser showing "Storage" and "Temporary" folders, both modified "a minute ago", with a search filter box at the top. The interface includes typical JupyterLab navigation elements and is running on sciserver.org as shown in the browser tab.

Screenshot of RStudio Server interface showing an "About RStudio Server" dialog box. The dialog displays version 2022.07.2 Build 576 with copyright information from 2009-2022 RStudio, PBC. Behind the dialog, the RStudio interface is visible with the console panel showing R version 4.2.1 startup information, a terminal tab, and various menu options (File, Edit, Code, View, Plots, Session, Build, Debug, Profile, Tools, Help). The right side shows a Tutorial panel and file browser. The browser tab indicates this is running on sciserver.org.

Screenshot of RStudio Server interface showing an "About RStudio Server" dialog box. The dialog displays version 2022.07.2 Build 576 with copyright information from 2009-2022 RStudio, PBC. Behind the dialog, the RStudio interface is visible with the console panel showing R version 4.2.1 startup information, a terminal tab, and various menu options (File, Edit, Code, View, Plots, Session, Build, Debug, Profile, Tools, Help). The right side shows a Tutorial panel and file browser. The browser tab indicates this is running on sciserver.org.

I think that covers SciServer Essentials v1.0. There are 4 different versions. The latest has software at #rstats 4.2.2 and #Python 3.9 inside of #JupyterLab.

The R+RStudio image has R 4.2.1 and RStudio Build 2022.07.2.

Maybe raise a ticket to update the underlying suites?

28.08.2025 16:45 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Screenshot of SciServer homepage showing a blue header with the SciServer logo and "Collaborative data-driven science" tagline. The main section features a colorful nebula background with white text reading "The Science Platform" and "A collaborative environment for server-side analysis with extremely large datasets." Below are six feature boxes with icons for About, Hosted Datasets, Compute Images, Science Domains, Education, and Help, each containing brief descriptions. The page includes a "Login to SciServer" button and NSF funding acknowledgment at the bottom.

Screenshot of SciServer homepage showing a blue header with the SciServer logo and "Collaborative data-driven science" tagline. The main section features a colorful nebula background with white text reading "The Science Platform" and "A collaborative environment for server-side analysis with extremely large datasets." Below are six feature boxes with icons for About, Hosted Datasets, Compute Images, Science Domains, Education, and Help, each containing brief descriptions. The page includes a "Login to SciServer" button and NSF funding acknowledgment at the bottom.

Screenshot of SciServer's Education page with the same blue header design. The main content shows "Education" as the page title, followed by explanatory text about using SciServer to teach data science. The page includes sections on "How to Teach with SciServer" with detailed instructions, and an "Examples" section featuring astronomy course examples from University of St Andrews and University of North Carolina Asheville, with links to GitHub repositories containing sample notebooks.

Screenshot of SciServer's Education page with the same blue header design. The main content shows "Education" as the page title, followed by explanatory text about using SciServer to teach data science. The page includes sections on "How to Teach with SciServer" with detailed instructions, and an "Examples" section featuring astronomy course examples from University of St Andrews and University of North Carolina Asheville, with links to GitHub repositories containing sample notebooks.

TIL about SciServer.org: Free scientific computing platform with persistent accounts (#NSF-funded). All the power of #JupyterHub without the setup hassle. Focus on building great teaching + research notebooks, not infrastructure! #OpenScience

28.08.2025 15:07 β€” πŸ‘ 7    πŸ” 3    πŸ’¬ 1    πŸ“Œ 0

{multideploy} is now on CRAN! πŸŽ‰

This #rstats πŸ“¦ streamlines file deployments across multiple #GitHub repositories. Update CI workflows, configs, and templates at scale with precision + automated PRs.

Install with: install.packages("multideploy")

CRAN: cran.r-project.org/package=mult...

27.08.2025 17:16 β€” πŸ‘ 10    πŸ” 5    πŸ’¬ 0    πŸ“Œ 1
The toolkit consists of three focused shell scripts: install-openmp.sh handles automatic Xcode version detection and downloads official CRAN binaries; check-openmp.sh performs diagnostics across five categories; and uninstall-openmp.sh provides safe removal with confirmation prompts and cleanup guidance.

The toolkit consists of three focused shell scripts: install-openmp.sh handles automatic Xcode version detection and downloads official CRAN binaries; check-openmp.sh performs diagnostics across five categories; and uninstall-openmp.sh provides safe removal with confirmation prompts and cleanup guidance.

Request fulfilled! Converted {macrtools::openmp_*()} #OpenMP suite into standalone shell scripts for #macOS:

🎯 Auto Xcode detection & OpenMP library mapping
πŸ”¬ Diagnostics tests
🧹 Safe uninstall

πŸ“¦ Repo: github.com/coatless-she...
πŸ“ Post: blog.thecoatlessprofessor.com/programming/...

27.08.2025 02:27 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

Thanks for the update! Not to put any pressure on the team and you, but do you know if it’s imminent, Q4, or next year?

24.08.2025 01:38 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

We’re working on relicensing everything under MIT

23.08.2025 23:16 β€” πŸ‘ 8    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

TIL: The web framework licensing game is mostly MIT/Apache… except Shiny for #rstats went rogue with GPL-2 πŸ˜…

Shiny for #Python: MIT βœ…
Gradio: MIT βœ…
Streamlit: Apache 2.0 βœ…
Dash: Apache 2.0 βœ…
#rshiny: GPL-2 πŸ€·β€β™‚οΈ

Anyone know the backstory here?

23.08.2025 19:48 β€” πŸ‘ 6    πŸ” 2    πŸ’¬ 1    πŸ“Œ 0
A collection of bright green coffee mugs arranged on a white kitchen counter. In the foreground is a light green mug filled with black coffee, featuring a decorative blue and green owl design with large eyes. Behind it are six empty matching bright green mugs.

A collection of bright green coffee mugs arranged on a white kitchen counter. In the foreground is a light green mug filled with black coffee, featuring a decorative blue and green owl design with large eyes. Behind it are six empty matching bright green mugs.

After my 6th cup of coffee, I've officially entered the owl dimension. My empty mugs have finally summoned their nocturnal overlord. We communicate only in hoots and caffeine-induced anxiety now. πŸ¦‰β˜•

22.08.2025 14:21 β€” πŸ‘ 4    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Me and the Devil
YouTube video by Soap&Skin - Topic Me and the Devil

Discovered Soap&Skin's 'Me And The Devil' and honestly sounds like my skincare routine took a VERY dark turn 🧴😈

www.youtube.com/watch?v=ZfWS...

22.08.2025 01:54 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@coatless is following 15 prominent accounts