Journal 2025-03-14

Pi Day!

Ok, I hit an issue with nesting in #:transmissions. Can leave that for now.

Grrr. Might have to dive back into the core : the settings precedence doesn't seem quite right. It appears to be putting config.ttl above manifest.ttl rather than vice versa (if a manifest is given).

This is right at the limit of what I ccan remember (why I need #:semem). Ok, curiosity :

danny@danny-desktop:~/hyperdata/transmissions$ cloc --vcs=git --md .
cloc github.com/AlDanial/cloc v 1.98 T=3.18 s (216.4 files/s, 56724.5 lines/s)
Language files blank comment code
Markdown 252 16302 14 56817
HTML 84 16542 536 22546
Text 32 4217 0 19251
JSON 43 0 0 16403
SVG 17 0 11 11039
JavaScript 215 2197 1788 9880
CSS 18 218 98 1216
Nunjucks 19 98 0 735
YAML 1 5 0 116
TypeScript 2 12 5 102
Bourne Shell 3 19 21 92
Python 1 8 37 46
Bourne Again Shell 1 2 2 2
-------- -------- -------- -------- --------
SUM: 688 39620 2512 138245

Only a fraction of the files in the top 3 types are relevant, most is test data etc. But I think there's a lot of important Turtle classified as text.

I'm happy with the JS figures at this point in time. When finished (as much as it'll ever be), I reckon there should be about 50 'active' JS files, maybe 20 in the core (model, api, engine), 30 key processors. The same number of 'passive' - tests. The ratio of JS file count and LOC isn't great IMHO. Average is about 50, I'd rather have that around the max (hmm, the Jasmine tests are long-winded, not a big deal, so maybe it's not as bad as it seems).

Transmission nesting issue

#:todo move to #:transmissions docs

#:todo alsomake test for command-line named transmission calls

The sparqlstore-to-site-indexes #transmissions application should be a good place to use nested transmissions. I set them up, but didn't fully test. With :

:sparqlstore-to-indexes a :Transmission ;
  :pipe (:p10 :p20 :p30 :p40 :p50) .
  ...
:p40 a :Accumulate ;
      :settings :accumulator .

:p50 a :make-html-index .

# HTML
:make-html-index a :Transmission ;
  :pipe (:p100 :SM2) .
  ...

It falls ove3r trying to make the processor connection,

TypeError: Cannot read properties of undefined (reading 'receive')
    at Accumulate.<anonymous> (file:///home/danny/hyperdata/transmissions/src/model/Connector.js:28:33)
...

Somewhere around, in Transmission.js :

getFirstNode() { // used for nested transmissions
  logger.log(this)
  logger.log(this.processors[0])
  return this.processors[0]
}

Journal 2025-03-14