Piano Piano Task Force and Namespaced Hashtags
I'll need help from AI to get the wording of this more quotable, but something like :
The slow worker has the advantage of being able to take their time to think about things.1
I am a slow worker and a slow thinker. Of course I'd rather I was Mr. Lightspeed2 externally and quick-witted3 internally. But there is a plus side to each failing (#neurodivergence). A case in point.
I've gravitated to two formats for stuff I write : Markdown for any text, Turtle for any data (for code I currently favour JS, another story).
You can say anything in #Turtle (ok, with provisos 4). But there aren't many vectors through which to cleanly and easily extend markdown. Bridging the two has been lurking around my #todo lists for while.
With Postcraft as my first practical application of my pipeliney thing Transmissions, I have been pondering what I might slip in. A page like this is written in markdown, a transmission is used to render it to HTML. But into that transmission I can throw in whatever pre-processors I fancy.
So today it occurred to slowww Danny, there's an low-effort/high-value thing available :
Namespaced Hashtags {#namespaced-hashtags}
Motivation
Ok, so #hashtag is a convention for a keyword. But it's all very folksy, prone to ambiguity, is #swift a bird or a singer?
In practice, I want to get my tokens as cleanly separated as I can, so they get a head start in vector space.
I bet someone's done this before, but still, this :
Specification
ok, first pass, formal-ish :
- Within any document resource, a string of the form
#hashtag
will be assumed to have no significance under this specification. - Within a document resource, eg.
http://example.org/birdies.md
a string of the form#ns:hashtag
will be interpreted as a pair of identifiers associated with the document,ns
andhashtag
. - Within the domain
http://example.org
a document resource a string of the form#ns:hashtag
SHOULD have an easily-accessible means of interpreting the significance ofns
andhashtag
ns
will identify a namespace (as per XML & RDF prefix notation), which SHOULD be associated with a URIhashtag
will identify a term which SHOULD be defined within the namespace document and identified with a URI, eg.http://example.org/terms/swift
#ns:hashtag
MAY be interpreted as the statement `http://example.org/birdies.md rdfs:seeAlso http://example.org/terms#swift . (and whatever else)
in practice...
Not entirely sure yet, but in the transmission I'll regex/template this out so that #ns:hashtag
turns into something like:
[#hashtag](http://example.org/terms?ns-hashtag)
Respond to that on the server with the results of a SPARQL query and/or vector similarity giving the term defn and/or related pages.
- TODO RFC refs for all the terms above
- TODO BNFs
- TODO write up #h:griller spec (GRDDL for JSON & markdown)
Previous notes at :
postcraft/danny.ayers.name/content-raw/todo/2024-08.md
->
`transmissions/docs/postcraft-site/todo/turtle-markdown.md`
- grrr, footnotes
The Bumper Book of danja quotes by Danny Ayers is licensed under CC BY 4.0
- grrr, footnotes
If you wait by the interweb stream long enough, the implementation of your amazing idea will float by.
- grrr, footnotes
- grrr, footnotes
- grrr, footnotes
Footnote testing
This was also a test to see if the markdown processor I'm using, marked understood GitHub-flavoured markdown footnotes. It didn't out of the box, but there was an easy-to-add extension, marked-footnote. I've also added marked-code-format There was a version conflit with marked-gfm-heading-id so I tried marked-custom-heading-id, which didn't work. I made have to code something up for that.
Footnotes
-
This is on my #todo list: ↩
-
Another danja quote I would like out there is a modified version of the saying (questionably) attributed to Sun Tzu : ↩
-
Maybe 8 years ago I was with my cousin Nick in a kitchen (at Geil Torrs?). He had an Elvis fridge magnet in his hand. As he stuck it onto the fridge, he said "Elvis is cool!" I nodded, smiled, said "Yup, he sure is.". Nick repeated the gesture and words several times. I responded, increasingly bemused "yeah...", before he gave up. It must have been about 3 years later, I was dozing off in bed, it finally hit me : Elvis...cool...fridge. Oh yeah, now I get it! I am genuinely really slow-witted. PS. I mentioned this in chat with Nick. He reckoned I had false memory syndrome. Ok, that's impossible to confirm or refute, but is definitely more fun-twisted if he's right. ↩
-
I like to take a simplistic approach with data. Core RDF covers most of my bases, Turtle is nice and easy. Ok, at minimum Named Graphs5 are essential too, especially when using SPARQL. But while definitely nice-to-know-they-exist, personally I've never actually found need for specs like TriG or RDF-*. I'm happy with the assumption that if there's an RDF resource at say http://hyperdata.it/, then (depending on the format defn) it MAY be considered a graph with the name `http://hyperdata.it/'. ↩
-
The Wikipedia page for Named Graphs is still largely as I created it in 2010 (hat tip to self, but it did take me me 5 years to see their value, slowwww). TODO ping @bobdc & Jeremy Carroll, prompt them to revise that page. ↩