coolbutuseless's Avatar

coolbutuseless

@coolbutuseless.fosstodon.org.ap.brid.gy

Nerd. #RStats [bridged from https://fosstodon.org/@coolbutuseless on the fediverse by https://fed.brid.gy/ ]

330
Followers
8
Following
358
Posts
01.01.0001
Joined
Posts Following

Latest posts by coolbutuseless @coolbutuseless.fosstodon.org.ap.brid.gy

Post image

#mood

That early part of the year where you feel if you just had a new, really nice pen that it would make all the difference and bring much success

05.03.2026 21:51 πŸ‘ 5 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0

Hey all, we're looking for 1 speaker for March and more for April onwards. If you're keen or curious about speaking, please get in touch!

#RStats #DataScience #Edinburgh #MeetUp #Tech

28.02.2026 17:17 πŸ‘ 1 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0

My semi annual posting of the prescient song by Melbourne electro outfit "b(if)tek" - Machines Work

"People can do the work so machines have time to think."

https://www.youtube.com/watch?v=955dZpR7QwY

#AI #retrofuturism

02.03.2026 01:11 πŸ‘ 0 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Post image

#norway #logic

02.02.2026 05:41 πŸ‘ 21 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0
Rtinycc is an R interface to TinyCC, providing both CLI access and a libtcc-backed in-memory compiler. It includes an experimental FFI inspired by Bun’s FFI for binding C symbols with predictable type conversions and pointer utilities. The package targets Unix-alike systems and focuses on embedding TinyCC and enabling JIT-compiled bindings directly from R. Combined with treesitter.c, which provides C header parsers, it can be used to rapidly generate declarative bindings.

Rtinycc is an R interface to TinyCC, providing both CLI access and a libtcc-backed in-memory compiler. It includes an experimental FFI inspired by Bun’s FFI for binding C symbols with predictable type conversions and pointer utilities. The package targets Unix-alike systems and focuses on embedding TinyCC and enabling JIT-compiled bindings directly from R. Combined with treesitter.c, which provides C header parsers, it can be used to rapidly generate declarative bindings.

Post image Post image Post image

#RStats Rtinycc : Builds 'TinyCC' 'Cli' and Library for 'C' Scripting in 'R'

Package Link for Segfault lovers: github.com/sounkou-bioi...

07.02.2026 19:05 πŸ‘ 4 πŸ” 3 πŸ’¬ 0 πŸ“Œ 1

#RStats the comparison results with #{quickr} is expected since tinycc is not an optimizing compiler like gfortran/flang, but still since you don t need an additional compiler at runtime and you can iterate (more segfault :D) very fast ! (no windows support for now/never)

12.02.2026 00:23 πŸ‘ 2 πŸ” 2 πŸ’¬ 0 πŸ“Œ 1
time_slices <- 300 # 300 days
block_length <- 14 # 2 weeks
n_samples <- 200 # 200 resamples

block_idxs <- make_block_indices(
  n_time = dim(r5to10)[2],
  time_slices = time_slices,
  block_length = block_length,
  n_samples = n_samples
)

plan(future.mirai::mirai_multisession, workers = 10L)

tib_vario_params <- purrr::map(
  asplit(block_idxs, 1),
  \(x) {
    estim_params_vgm(x, dat = r5to10)
  }
) |> 
  futurize() |> 
  list_rbind()

mirai::daemons(0)

time_slices <- 300 # 300 days block_length <- 14 # 2 weeks n_samples <- 200 # 200 resamples block_idxs <- make_block_indices( n_time = dim(r5to10)[2], time_slices = time_slices, block_length = block_length, n_samples = n_samples ) plan(future.mirai::mirai_multisession, workers = 10L) tib_vario_params <- purrr::map( asplit(block_idxs, 1), \(x) { estim_params_vgm(x, dat = r5to10) } ) |> futurize() |> list_rbind() mirai::daemons(0)

Can't get much simpler than that. Yeah, {futurize} is nice.
#rstats

25.01.2026 17:20 πŸ‘ 11 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image

#norway #logic

02.02.2026 05:41 πŸ‘ 21 πŸ” 4 πŸ’¬ 1 πŸ“Œ 0
The onion of R from The  R ByteCode Book by Mike Chen
Describing Levels of R code interpretation to compilation

The onion of R from The R ByteCode Book by Mike Chen Describing Levels of R code interpretation to compilation

The #RStats ByteCode Book by @coolbutuseless.fosstodon.org.ap.brid.gy for lovers of esoterica

coolbutuseless.github.io/book/rbyteco...

26.01.2026 18:31 πŸ‘ 11 πŸ” 6 πŸ’¬ 0 πŸ“Œ 0
A code snippet that shows how to connect to an encrypted DuckDB database via in-memory database and then attach with key

A code snippet that shows how to connect to an encrypted DuckDB database via in-memory database and then attach with key

Visualization of an unencrypted DuckDB: Mostly black, a few colored strips at the top.

Visualization of an unencrypted DuckDB: Mostly black, a few colored strips at the top.

Visualization of an encrypted DuckDB: Fully randomized points, no pattern.

Visualization of an encrypted DuckDB: Fully randomized points, no pattern.

Since November 2025, DuckDB databases have built-in encryption. This is great news for IT-security in data journalism.

A short post on how to work with an encrypted @duckdb in R:
https://katharinabrunner.de/2026/01/how-to-use-an-encrypted-duckdb-in-r/

The […]

[Original post on mastodon.social]

22.01.2026 09:45 πŸ‘ 3 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
In the movie "Goodfellas", Tommy enters a room expecting something good to happen

In the movie "Goodfellas", Tommy enters a room expecting something good to happen

With an open mind
I check an email from CRAN
Surprise awaits me

#RStats #Haiku

11.01.2026 21:17 πŸ‘ 14 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
In the movie "Goodfellas", Tommy enters a room expecting something good to happen

In the movie "Goodfellas", Tommy enters a room expecting something good to happen

With an open mind
I check an email from CRAN
Surprise awaits me

#RStats #Haiku

11.01.2026 21:17 πŸ‘ 14 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
# A quine in R. Running this code produces an R plot that shows the contents of the string variable x arranged along a sine wave
x = 'y=1:nchar(x);plot(0,type="n",xlim=range(y),ann=F,ax=F);text(y,sin(y/9),strsplit(x,"")[[1]])'
eval(parse(text = x))

# A quine in R. Running this code produces an R plot that shows the contents of the string variable x arranged along a sine wave x = 'y=1:nchar(x);plot(0,type="n",xlim=range(y),ann=F,ax=F);text(y,sin(y/9),strsplit(x,"")[[1]])' eval(parse(text = x))

Genuary 2026 - 11: "A Quine"

A quine is a program that outputs its own source code. Below is an attempt to write a quine as an R plot. Here is how it works: Write whatever it says in the image into a single-quoted string variable x (that is, x <- 'y=1:nchar […]

[Original post on mastodon.social]

10.01.2026 22:48 πŸ‘ 0 πŸ” 4 πŸ’¬ 0 πŸ“Œ 0
The interior of the Bureau of Standards of the Galactic Empire showing a vast space filled with programmers with dual monitors and individual cubicles

The interior of the Bureau of Standards of the Galactic Empire showing a vast space filled with programmers with dual monitors and individual cubicles

Two men walking through the Bureau of Standards. in the background are programmers in individual cubicles using deal monitors.

Two men walking through the Bureau of Standards. in the background are programmers in individual cubicles using deal monitors.

Say what you will about The Empire, but even low-level programmers get their own cubicle and a dual monitor setup ...

#StarWars #Andor

11.01.2026 10:24 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
The point of the doing is the doing, not what gets done I noticed a comment in a chat today at work, along the lines of: > We used an LLM to categorise the sticky notes from a workshop. It did a really good job, and even colour-coded the notes and aligned them. To which I shrugged, thought β€œgood on you” and went on with my day. Later, another colleague tagged me and asked if it was something we could learn from. I replied, rather gnomically: > The point of the doing is the doing, not what gets done. It was a somewhat throwaway comment at the time, but I’ve been thinking about it all day. So I’m trying to round my thoughts up here. ## Why do we do workshops and ideation sessions? The people we recruit to take part in Service Design workshops must, for the most part, find them incredibly tedious. But we do them because they get thoughts, ideas and experiences out of people’s heads and onto paper or digital facsimiles so that everyone else can see them. The people who are actual experts in this specialism. We do that so we can: * Challenge each others’ point of view * Bring everyone’s lived experience to the table * Understand where we agree, and disagree Most importantly, we do this to _make people talk about these things._ I can’t emphasise this enough. The entire point of these sessions is to get people talking to each other. People who have never talked to each other before. Who have never understood, or even been aware of, others’ point of view. ## The doing is the work Sure, you can ask copilot or whatever to sort your ideas. Colour code them. Manoeuvre them into neat columns. But here’s what you’re missing out on: * The nuance you get from those β€œOh, I wrote that one …” conversations * The β€œIs this related to these, or more like this cluster over here?” discussions that drive you deep into the subtleties of what those 5 or 6 words mean * An appreciation of the human frustrations, pains and needs behind every sticky note * The experience of _actually having done this exercise_ And it’s the last point that’s key. Outsourcing this to an LLM (or anything else, for that matter) is a bit like sending them on your holiday instead of going yourself. Sure, you’ll get a nice report, not terrifically well written, maybe even some entirely fabricated photos. But you will not have had the experience. You will not have felt that warm sunshine, tasted that chilled rosΓ©, felt that gentle breeze. When we finish these exercises, we typically create some kind of report or slide deck with key findings. Maybe also some photographic record of the finished board. We play it back, file it away, and in all likelihood no-one – except perhaps an assessor – will ever look at it again. But that’s OK. Because the point in doing the exercise is to do the exercise, not to produce a report. The exercise is the work. The report is a byproduct. It’s just a record that the exercise was done. The real learning is embedded in you, and everyone else collectively who took part. The point of the doing is the doing, not what gets done. David O'Brien Website | + postsBio I'm a service designer in Scottish Enterprise's unsurprisingly-named service design team. I've been a content designer, editor, UX designer and giant haystacks developer on the web for (gulp) over 25 years. * David O'Brien __The point of the doing is the doing, not what gets done * David O'Brien __Should coders design? * David O'Brien __Ain’t no I in AI * David O'Brien __No more cookies for you * David O'Brien __I cycled to work * David O'Brien __The disability myth * David O'Brien __Prototyping in the browser * David O'Brien __Running this website * David O'Brien __Who are we willing to exclude? * David O'Brien __Service Design must die * David O'Brien __What do service designers do? * David O'Brien __Prototyping in html * David O'Brien __Good Services Scale: an interactive assessment * David O'Brien __Aphantasia rocks * David O'Brien __In search of broken combs * David O'Brien __Making our account managers appy * David O'Brien __Applying WCAG principles to service design more generally * David O'Brien __Show your stripes * David O'Brien __Making prototypes in the browser * David O'Brien __Telling a story ## Possibly related * It's good to talk * A new life in the unknown * The places and people we remember * A user manual for Lindsay * How we used the Good Services Scale to evaluate the… * Design content first ... who would have thought of that?

The point of the doing is the doing.

Not what gets done.

https://design.scotentblog.co.uk/the-point-of-the-doing-is-the-doing-not-what-gets-done/

22.12.2025 20:51 πŸ‘ 1 πŸ” 5 πŸ’¬ 0 πŸ“Œ 2

#Rstats gurus is there a way to declare a package linux only ? I know the OS_type unix specification but I need to restrict to linux. Because i use linux specific things and can't/don't want to put up with macos nonsense. Plus the packages are for genomics ETL I.e going to be on linux servers

15.12.2025 15:13 πŸ‘ 4 πŸ” 3 πŸ’¬ 2 πŸ“Œ 0
Post image Post image

#Rstats treesitter.c: a 'data' package providing the #C grammar for use with the treesitter package. Since the CRAN submission, i ve added the fake libc headers from the Eli Bendersky's pycparser eli.thegreenplace.net/2015/on-pars... and some ridiculously slow R's installed headers parsing utils

11.12.2025 16:20 πŸ‘ 0 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image Post image Post image

For my(misguided)project of #RStats CFFI gen along the lines of Rffi package, which in hindsight is becoming a poor C user's Rcpp reproduction, i came across this nice device for getting offsets and the horrible macros that go with it (but what can we do, this is C )
en.wikipedia.org/wiki/Offsetof

15.12.2025 18:16 πŸ‘ 0 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
partitioning an 18x20 rectangle into smaller rectangles using seed points.

partitioning an 18x20 rectangle into smaller rectangles using seed points.

partitioning an 18x20 rectangle into smaller rectangles using seed points.

partitioning an 18x20 rectangle into smaller rectangles using seed points.

Experimenting with shikaku puzzle generation in #RStats

I'm looking for a simple way to randomly partition a rectangle into smaller rectangles which does *NOT* use binary partitioning.

Suggestions welcomed!

09.12.2025 10:53 πŸ‘ 0 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
partitioning an 18x20 rectangle into smaller rectangles using seed points.

partitioning an 18x20 rectangle into smaller rectangles using seed points.

partitioning an 18x20 rectangle into smaller rectangles using seed points.

partitioning an 18x20 rectangle into smaller rectangles using seed points.

Experimenting with shikaku puzzle generation in #RStats

I'm looking for a simple way to randomly partition a rectangle into smaller rectangles which does *NOT* use binary partitioning.

Suggestions welcomed!

09.12.2025 10:53 πŸ‘ 0 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
image of t.v. character blanche deveraux  in a red dress holding a microphone with the caption 'call me'

image of t.v. character blanche deveraux in a red dress holding a microphone with the caption 'call me'

time to revisit recursion. #adventofcode day 3 in base #rstats: https://gist.github.com/ursulams/744cc54e18d764b675151c27edf7366e

08.12.2025 02:37 πŸ‘ 2 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Post image Post image

#RStats wiith a little bit of codegen and libffi via RSimpleFFI, quick and dirty binding of the #Bioinformatics htslib library

package : github.com/sounkou-bioi...

05.12.2025 11:26 πŸ‘ 2 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Post image

You can tell The Matrix (1999) is science *fiction* because Neo is a programmer with his own freakin' cubicle!

05.12.2025 10:31 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
A shikaku puzzle

A shikaku puzzle

Solution to shikaku puzzle

Solution to shikaku puzzle

Shikaku solver in #RStats

WIP

https://www.nikoli.co.jp/en/puzzles/shikaku/

05.12.2025 07:53 πŸ‘ 3 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
3 Knights contributing their swords to a common goal. 

The goal is "a mailing list for a programming language"

The three Knights are labelled: 
* Being dicks
* Condescension
* Not replying at all

3 Knights contributing their swords to a common goal. The goal is "a mailing list for a programming language" The three Knights are labelled: * Being dicks * Condescension * Not replying at all

A mailing list for a programming language = ?

#RStats

04.12.2025 00:52 πŸ‘ 6 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0
Segmented font rendered in R showing the alphabet in color

Segmented font rendered in R showing the alphabet in color

#RStats Dev Diary {lofifonts}

Latest font-sheet in white I've fixed the letter 'V' !

26.11.2025 10:43 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0
Post image Post image Post image

Simple #RStats Foreign Function interface using libffi, inspired by the Rffi package by Duncan T Lang. A fair amount of "conscious" memory leaks and experimention with S7 on my side. Despite the overhead compared to .Call, calling arbitrary C functions at runtime is nice.

github.com/sounkou-bioi...

27.11.2025 01:33 πŸ‘ 6 πŸ” 3 πŸ’¬ 0 πŸ“Œ 1
Example of dodged pointrange (tiny)plot, with aligned ribbons layered on top.

Example of dodged pointrange (tiny)plot, with aligned ribbons layered on top.

Happy `tinyplot` v0.6.0 (codename "Thanksgiving") release day to all those that celebrate. Some new features, but mostly bug fixes and internal improvements.
grantmcdermott.com/tinyplot/NEW...

#rstats

27.11.2025 17:26 πŸ‘ 25 πŸ” 6 πŸ’¬ 1 πŸ“Œ 0
knitr::opts_hooks$set(fig.cap = function(options) {
  if (!is.null(options$fig.cap)) {
    options$fig.cap <- glue::glue(options$fig.cap)
  }

  return(options)
})

knitr::opts_hooks$set(fig.cap = function(options) { if (!is.null(options$fig.cap)) { options$fig.cap <- glue::glue(options$fig.cap) } return(options) })

New knitr / #QuartoPub #RStats trick. Add this to your setup to add automatic string interpolation to your captions.

27.11.2025 23:43 πŸ‘ 25 πŸ” 8 πŸ’¬ 3 πŸ“Œ 0
Segmented font rendered in R showing the alphabet in color

Segmented font rendered in R showing the alphabet in color

#RStats Dev Diary {lofifonts}

Latest font-sheet in white I've fixed the letter 'V' !

26.11.2025 10:43 πŸ‘ 5 πŸ” 2 πŸ’¬ 1 πŸ“Œ 0