# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 76
# self = https://watcher.sour.is/conv/ii5fobq
I assume you were meaning to tag @adi ?\nBut yes, his mkws.sh is great 🤘 It's minimal but powerful because of pp and all the things you can do using the shell and UNIX-type programs.
I assume you were meaning to tag @adi ?
But yes, his mkws.sh is great 🤘 It's minimal but powerful because of pp and all the things you can do using the shell and UNIX-type programs.
@eldersnake Thanks! @bml Yeah, please check it out, let me know if you have any questions.
@eldersnake Thanks! @bml Yeah, please check it out, let me know if you have any questions.
i think i finally figured out how to use mkws! it's inspiring me to start a blog now! been some years since i've updated it. i used to just e-mail myself the blog posts which got filtered into a seperate e-mail mbx folder and then a shell script would parse that mbx folder to an html version of each mail.\n\nsome of documentation need to be updated a little bit. the Install part:\n> wget -O - https://mkws.sh/mkws@4.0.8.tgz | tar -xzvf -\n\nbut the lastest version is 4.0.9!\n\nanyway pretty cool!
ah! curious! is there anyway to combine mkws and lmt and pp into one single file? maybe the shell script could "contain" the binaries inside and then run those binaries when needed? just wondering.
@bml I don't believe it's possible. 4.0.9 is identical to 4.0.8. It's a bug.
@bml I don't believe it's possible. 4.0.9 is identical to 4.0.8. It's a bug.
@adi @bml Regarding the blog, maybe you can read this conv https://twtxt.net/conv/cqzsjsq.
@adi @bml Regarding the blog, maybe you can read this conv https://twtxt.net/conv/cqzsjsq.
@adi @bml @prologic Can @bml see my replies, if not please ping him?
@adi @bml @prologic Can @bml see my replies, if not please ping him?
@adi @bml Doesn’t look like @bml is following you no 😁\n\n
@adi @bml Doesn’t look like @bml is following you no 😁

@adi @bml Doesn’t look like @bml is following you no 😁

@prologic @adi weird, i thought i had followed @adi the other day... definitely following now. \n\ni also noticed some features don't work on here with javascript disabled on the web interface.
@bml It is possible to have all files in a single sh file via https://man.openbsd.org/shar. I'll have to explore this.
@bml It is possible to have all files in a single sh file via https://man.openbsd.org/shar. I'll have to explore this.
@adi @prologic i really did follow you other day too, maybe check the logs?. i wonder what happened. anyway, i can now see your replies :)
@adi @bml which features in particular ?
@adi @bml which features in particular ?
@adi @bml An internal event is triggered and the bot @twtxt makes a twt so if it isn’t there it didn’t happen 🤣
@adi @bml An internal event is triggered and the bot @twtxt makes a twt so if it isn’t there it didn’t happen 🤣
@adi @bml It's possible but not pretty, explore it yourself also. 😁
@adi @bml It's possible but not pretty, explore it yourself also. 😁
@adi it seems possible to embed a binary in shell? i never done this before, but reading this now:\n\n"How to embed a binary file in a bash shell script"\n\n> https://www.xmodulo.com/embed-binary-file-bash-script.html\n\nand it looks like a binary exeuctable can also be embed and also run too?
@adi @bml Also let us know the address of your blog.
@adi @bml Also let us know the address of your blog.
@prologic @adi with the javascript turned off, when i hit the reply button, it doesn't include the @ and hash tag, it's just blank. \n\nfor awhile i had it turned off and just hit the reply and just replied, but it all had no references to anything. i think that's why some people got confused at my replies? :)
@bml @prologic Thanks for explaining! 😁 Regarding binaries in shell not sure about distributing something like this: https://clbin.com/Z7pvr.
@bml @prologic Thanks for explaining! 😁 Regarding binaries in shell not sure about distributing something like this: https://clbin.com/Z7pvr.
@bml Ahh I see! It’s possible to build server-side equivalent capabilities, but is it really worth the added complexity and duplication ? 🤔
@bml Ahh I see! It’s possible to build server-side equivalent capabilities, but is it really worth the added complexity and duplication ? 🤔
@adi @prologic yes, it doesn't look pretty :) but it'd be cool to have just one file static linked executable that does it all.
@prologic i have javascript enabled for twtxt now. it's all good now :)
@adi my blog? yes, i'll let you know when i start it again! currently it's been offline, for awhile now. but, i'm itching to get back into it again, maybe use github for blogging? or maybe sdf? http://bml.sdf.org/ ... maybe a tech/programming/gardening blog? :P
@bml Ahh! Cool how do you do that btw? I'm curious, I never disable Javascript myself except in Dev/Testing...
@bml Ahh! Cool how do you do that btw? I'm curious, I never disable Javascript myself except in Dev/Testing...
@bml @prologic\n\n> but it’d be cool to have just one file static linked executable that does it all.\n\nMaybe yes, maybe no. It would complicate some stuff, like customization, you would have to add config files, all is a broad scope. My idea was to distribute a full tree to and from which you can add/extract stuff to your preference. Read this also https://twtxt.net/conv/hvygjbq. There are also other static site generators who deliver a single static executable, hugo, zola, `saait`.
@bml @prologic

> but it’d be cool to have just one file static linked executable that does it all.

Maybe yes, maybe no. It would complicate some stuff, like customization, you would have to add config files, all is a broad scope. My idea was to distribute a full tree to and from which you can add/extract stuff to your preference. Read this also https://twtxt.net/conv/hvygjbq. There are also other static site generators who deliver a single static executable, hugo, zola, `saait`.
@bml @prologic\n\n> but it’d be cool to have just one file static linked executable that does it all.\n\nMaybe yes, maybe no. It would complicate some stuff, like customization, you would have to add config files, all is a broad scope. My idea was to distribute a full tree to and from which you can add/extract stuff to your preference. Read this also https://twtxt.net/conv/hvygjbq. There are also other static site generators who deliver a single static executable, hugo, zola, `saait`.
@bml @prologic\n\n> but it’d be cool to have just one file static linked executable that does it all.\n\nMaybe yes, maybe no. It would complicate some stuff, like customization, you would have to add config files, all is a broad scope. My idea was to distributed a full tree to and from which you can add/extract stuff to your preference. Read this also https://twtxt.net/conv/hvygjbq. There are also other static site generators who deliver a single static executable, hugo, zola, `saait`.
@adi @bml @prologic In my case, a single static executable would combine pp and lmt I guess?
@adi @bml @prologic In my case, a single static executable would combine pp and lmt I guess?
@prologic i've been using firefox as my webbrowser and there's an addon/plugin called NoScript Security Suite. and by default javascript is (mostly) turned off unless i manually enable it for a particular site. \n\n> https://addons.mozilla.org/en-US/firefox/addon/noscript/\n\nthis plugin is really great if one is running old hardware old cpu desktops like i am :)
@adi @prologic yes, somehow if pp and lst and mkw.sh could all be combined into one? anyway, it's no big deal, just a thought :)
@bml @prologic My idea was to use the mkws script for customization. pp, lmt and mkws could be combined in a single shell file via shar but that would give a complicated main mkws script I guess or combine them all in a single static binary but that would mean being unable to customize the mkws script. Anyway, give it a spin and let me know how it works.
@bml @prologic My idea was to use the mkws script for customization. pp, lmt and mkws could be combined in a single shell file via shar but that would give a complicated main mkws script I guess or combine them all in a single static binary but that would mean being unable to customize the mkws script. Anyway, give it a spin and let me know how it works.
@bml @prologic @adi Anyway, here's another idea, I have a ./bin/d script for development:\n\n
\n#!/bin/sh\n\nexport DEV=1\n\nhttps &\n\nfind . -type f  -name 'mkws' -o -name '*.upp*' | entr ./bin/mkws https://mkws.sh\n
\n\nhttps is https://clbin.com/tIIMk, entr is http://eradman.com/entrproject/.
@bml @prologic @adi Anyway, here's another idea, I have a ./bin/d script for development:


#!/bin/sh

export DEV=1

https &

find . -type f  -name 'mkws' -o -name '*.upp*' | entr ./bin/mkws https://mkws.sh


https is https://clbin.com/tIIMk, entr is http://eradman.com/entrproject/.
@bml @prologic @adi Anyway, here's another idea, I have a ./bin/d script for development:\n\n
\n#!/bin/sh\n\nexport DEV=1\n\nhttps &\n\nfind . -type f  -name 'mkws' -o -name '*.upp*' | entr ./bin/mkws https://mkws.sh\n
\n\nhttps is https://clbin.com/tIIMk, entr is http://eradman.com/entrproject/.
@adi @bml @prologic My ./share/l.upphtml file is https://clbin.com/phoub, where l.js is https://livejs.com/. This gives me a live reload env.
@adi @bml @prologic My ./share/l.upphtml file is https://clbin.com/phoub, where l.js is https://livejs.com/. This gives me a live reload env.
@adi @bml @prologic Point is some people would say add Markdown capabilities to the main binary, or add a web server, or add live reload to the main binary. I kept it as simple as possible, I don't believe I really have to combine everything in a single executable, a tree is not bad.
@adi @bml @prologic Point is some people would say add Markdown capabilities to the main binary, or add a web server, or add live reaload to the main binary. I kept it as simple as possible, I don't believe I really have to combine everything in a single executable, a tree is not bad.
@adi @bml @prologic Point is some people would say add Markdown capabilities to the main binary, or add a web server, or add live reload to the main binary. I kept it as simple as possible, I don't believe I really have to combine everything in a single executable, a tree is not bad.
@adi @prologic you want to include a (tiny) webserver with mkws? this sounds like a good idea... i noticed a lot of apps include their own webservers now too, like fossil scm.\n\nentr is pretty cool! it's works really well never had any issues with it. i use it to monitor some changes in some files and it launches a script to process those files. i see entr is at version 4.8 now, i better upgrade mine soon!
@prologic @bml Not sure if in the main package, might add a tools, plugins or extensions section to the website. Also, you can check out some stuff from here also https://adi.tilde.institute/, linters and cl, cbl and fl which are CLI log "analytics" tools: unique, visits, referers etc. Might rewrite them in C not sure, but awk fits the bill pretty well. Some tinkering required for now.
@prologic @bml Not sure if in the main package, might add a tools, plugins or extensions section to the website. Also, you can check out some stuff from here also https://adi.tilde.institute/, linters and cl, cbl and fl which are CLI log "analytics" tools: unique, visits, referers etc. Might rewrite them in C not sure, but awk fits the bill pretty well. Some tinkering required for now.
I dunno, why not just write it all in Go, keep all the nice shell(ism) that make mkws, pp, up what it is, etc... And use embed to embed all the things you need. There is something to be said about the beauty and simplicity of portable monoliths.
I dunno, why not just write it all in Go, keep all the nice shell(ism) that make mkws, pp, up what it is, etc... And use embed to embed all the things you need. There is something to be said about the beauty and simplicity of portable monoliths.
@prologic How would that work? What would I embed?
@prologic How would that work? What would I embed?
@adi I’ll build you a proof of concept — gimme an hour or two
@adi I’ll build you a proof of concept — gimme an hour or two
@prologic That would be great! Point is, I believe sh is a good fit as a templating language, it was built for massaging text, that's what templating languages mostly do.
@prologic That would be great! Point is, I believe sh is a good fit as a templating language, it was built for massaging text, that's what templating languages mostly do.
@adi Yeah I somewhat agree with that 👌
@adi Yeah I somewhat agree with that 👌
@prologic It's not great towards bad at editing HTML, but editing HTML is the exception, most of the times it's just text.
@prologic It's not great towards bad at editing HTML, but editing HTML is the exception, most of the times is just text.
@prologic It's not great towards bad at editing HTML, but editing HTML is the exception, most of the times it's just text.
@prologic i really haven't spent much time with golang, but there's something really attractive about golang that i can't quite explain now.
@bml @prologic Simplicity
@bml @prologic Simplicity
The purist in me still wants to properly learn good old C before thinking about Go.