trans-dev
#:yapp : Yet Another Placeholder Project : https://github.com/danja/trans-dev
Maybe more justifiable than usual...
Quite early on with #:transmissions it occurred to me that I could do with something like a specialized IDE for the thing. During these stages of dev, it's convenient to have something that runs on the desktop, for the sake of easy fs access.
Which led me to play with #:pulsar editor, start making #:hyperdata-desktop. (Which has been troublesome at times, largely due to the fact that Pulsar has to be built with an older version of node. But I'll be sticking with it for now at least, it seems like it carries less baggage than eg. making VSCode plugins, it feels more manageable somehow).
So far I've only been using #:hyperdata-desktop as a text editor with General MIDI bells & whistle - markdown, tabs, file tree, search, terminal etc. (I'm typing in it right now). Where I imagined going next with this was adding a few buttons to do #:transmissions-specific operations, comparable to running bash scripts rather than having to remember everything in the regular terminal CLI.
However, the past week or two I've spent a lot of time bouncing between the raw JS and the declarative bits of #:transmissions. It's occurred to me that something akin to Jupyter notebooks would be very desirable. I had a chat with Claude about this, with the result that it appears my best approach would be to create a lightweight thing like Jupyter. I can't deny I often go *Not Invented Here in the way I develop things, but this is mostly motivated by my desire to know what's going on under the hood, rather that #:link adopting Yet Another Framework.
An extra motivation here is that I want to include #:semweb features from the ground up. Web-native is a requirement.
Claude helped put together the Jupyter-like requirements (with excellent hints re. libs to look at), my only notable extra bit being an abstraction of storage. I want to be able to use native OS fs, HTTP methods against a suitably-shaped server setup, as well as a SPARQL store. All this lends itself to being built incrementally, as things are needed, with Claude or another of his species doing the grunt work.
I'll make it a submodule of #:hyperdata per /home/danny/github-danny/hyperdata/workspaces/hyperdata/articles/a-package-starter.md
It'll need stuff for npm and its own (#:postcraft) doc bits. I might as well do the same for #:squirt (a posting PWA) now. That will be quasi-standalone, but sits inside #:farelo, docs can go there.
cd /home/danny/github-danny/hyperdata/packages
git submodule add https://github.com/danja/trans-dev.git trans-dev
cd trans-dev
npm init -y
mkdir ~/github-danny/hyperdata/packages/trans-dev/docs
cp -r ~/github-danny/postcraft/postcraft-template ~/github-danny/hyperdata/packages/trans-dev/docs/postcraft
ln -s ~/github-danny/hyperdata/packages/trans-dev/docs/postcraft/content-raw ~/github-danny/hyperdata/workspaces/trans-dev
Hmm. Where's #:farelo again..?
/home/danny/github-danny/hyperdata/packages/farelo
Ok. I know I've got #:fam under #:farelo, #:squirt should be the same. I guess easiest is :
cd ~/github-danny/hyperdata/packages/farelo
cp -r form-a-matic squirt
Then delete unwanted stuff. Jeez, cp took a couple of seconds...
Heh, node_modules innit mate.
I'd better get the Claude chat into #:trans-dev.
Export...
Hmm. What are the odds /home/danny/github-danny/transmissions/src/applications/claude-json-converter still works...
TypeError: Cannot read properties of undefined (reading 'toString')
at MarkdownFormatter.extractMarkdown (file:///home/danny/github-danny/transmissions/src/processors/staging/MarkdownFormatter.js:42:94)
at MarkdownFormatter.process (file:///home/danny/github-danny/transmissions/src/processors/staging/MarkdownFormatter.js:21:32)
Yeah, predictable tests you idiot!
Though it looks like MarkdownFormatter was called loads of times before it failed.
Heh, not a difficult one. The bit that listed other key:value in the message was falling over with key = subtask, when the value was undefined.
MarkdownFormatter has at least one hardcoded path, but I don't need it for anything else right now so no probs.
Target path is like
"filepath": "/home/danny/github-danny/hyperdata/docs/postcraft/content-raw/chat-archives/md/6de5/2024-11-09_500.m..."
Ok, relevant chat is under /home/danny/github-danny/hyperdata/workspaces/hyperdata/chat-archives/md/2ea9
Doesn't look like I implemented #:todo artifact saving. Not to worry, only a few to download.
All placed under /home/danny/github-danny/hyperdata/workspaces/trans-dev/claude-chat
I'll just do /home/danny/github-danny/hyperdata/workspaces/trans-dev/todo/next-steps.md
Links
- VSCodium is a community-driven, freely-licensed binary distribution of Microsoft’s editor VS Code