# 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 535
# self = https://watcher.sour.is?uri=https://twtxt.net/user/https://twtxt.net/user/adi/twtxt.txt/twtxt.txt&offset=435
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/https://twtxt.net/user/adi/twtxt.txt/twtxt.txt&offset=335
@adi @prologic I blame your definition of capitalism for that! SPAs are a forced tech. Abstractions just don't fit. It's fighting windmills!
@prologic But it *seems*, all do!
@adi I would prefer good hardware, but not for SPAs.
From my experience SPAs hog on any computer!
The reason I rarely use 2-3-4 SPAs is because they hog my computer. I put 2 more there just in case I forgot any. I don't believe buying better hardware that still hogs is an option.
@adi @prologic Ok, I *rarely* use SPAs and not a fan of the experience.
@prologic I use GMail, and visit Facebook sometimes, not a big fan of the experience.
@prologic I don't!
@adi @lyse Maybe I can remove the tracked images and replace them with untracked ones.
@lyse Interesting, good to be aware of that.
@prologic I agree the web doesn't suck but I do have a problem with SPAs hogging my computer.
@prologic I also believe courage is not running away from "hard" stuff, also I believe, once understood, "hard" stuff is not "hard" anymore.
@prologic I didn't say it's easy.
Added some affiliate recommended books to https://mkws.sh/docs.html, what's your opinion?
@adi @movq I would write one in C.
@movq Their team is pretty small, I don't believe it's impossible.
@mckinley The way I run them is grep 16/Feb/2021 /var/www/logs/mkws.shaccess.log | grep -vf /home/adi/share/bots | flvu | wc -l where /home/adi/share/bots is a list of bot user agents.
@mckinley You might be interested in my log tools https://adi.tilde.institute/cbl/.
@adi @eldersnake As for real pagination a combination of head and tail I guess?
This recently caught my eye. https://www.ekioh.com/flow-browser/
This really caught my eye https://www.ekioh.com/flow-browser/, new browser engine, don't have a Raspberry PI to try.
@adi @eldersnake Agree with _latest_ N.
lobste_rs (#zxo5xaa) I toyed with sam a little, would really like to use it a little bit more at some point.
@eldersnake It wasn't a technical question, it was philosophical regarding effortlessness. By definition an action is effortless no more no less.
@vain How are you still using sudo, did you pkg_add it? Or?
@lyse @thewismit Awesome design on https://thewismit.com/, regarding Mastodon, not a big fan.
@eldersnake Can effortlessness be more or less? 😛
@prologic golang_news Will it allow twtd to be go get-able?
@eldersnake You can run date inside awk http://onetipperday.sterding.com/2015/08/use-getline-to-capture-system-command.html
Morning!
@prologic Nope! Did it now, doesn't work.
@adi @eldersnake Just run ./twtmd < ./twtxt.txt | smu > t.html
@prologic Pasting this in the post form? https://pastebin.com/UtGXjG9k. Btw! It converts twtxt to Markdown.
@adi @eldersnake https://pastebin.com/UtGXjG9k. You have the date in the "$1" variable. tail -r is BSD specific, you could use tac or awk also I believe for reversing the lines.
@adi Weird, I got an "You've been blocked" screen a few seconds ago!
hello, test!
@eldersnake Ah, I understand, I would probably convert the whole twxt to Markdown in one go via awk if possible and rerun through another awk to add wrapper divs but probably those would be better represented as lis so no need for the wrapping part.
@darch @eldersnake I guess a better idea would be to just convert the twtxt file to Markdown via an awk script and then run the whole output through smu?
@eldersnake My opinion is that installing Node.Js and a JavaScript framework to develop a simple static site is incredibly weird.
@bml @adi @eldersnake https://lobste.rs/s/l40c33/write_html_not_javascript
@eldersnake @bml 👏 Good read! I believe you expressed my feelings exactly!
@prologic I personally would contribute to https://git.suckless.org/sbase/.
@prologic Was aware of the tutorial, might step through it at some point. Thx!
@eldersnake Not necessarily JavaScript, but "more serious" programing languages.
@prologic It's at least a good learning exercise.
@antonio Thanks for the recommendation! Looks good but French puts me off a little bit, although it might make it more interesting.
Interesting shell https://github.com/NeowayLabs/nash
@prologic Good read: https://poolp.org/posts/2019-09-14/setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd/
@vain Agree!
Speaking of "never done in software" I believe mkws is done. I also believe chasing progress is a trap, that's why people believe software is "never done".
@prologic Good night!
@jlj Cool song!
@adi @prologic What's your opinion on buying computer parts? 😀
@prologic Thanks! I linked to https://twtxt.net/ for questions!
@prologic Yeah, removed it!
Ok, enabled donations, please let me know your opinions https://mkws.sh/docs.html ! 💻😋
@eldersnake What's nice is that you can memorize them if they're less.
@prologic Very good!
@adi Lots of time gained!
Btw, since I started with mkws I started Googling less and less. Less abstractions.
@jlj @eldersnake What post?
@prologic I'm not familiar with how Linux namespaces work.
@prologic I believe a chroot is enough? thttpd supports chroot.
@adi @eldersnake Here's an example of parsing GET/POST variables in a CGI https://stackoverflow.com/questions/3919755/how-to-parse-query-string-from-a-bash-cgi-script, now that's not a great piece of code.
@eldersnake I'm not satisfied about the way GET and POST input is parsed, my idea is to preparse the GET/POST input in a special CGI pp and dump the variables in the global scope of the execve(3) sh. The security issue lays in overwriting any other variable already present in the global scope.
@eldersnake I have some testimonials but I'd rather not "ruin" the homepage with them.
@adi @eldersnake Also a webmail client using https://github.com/leahneukirchen/mblaze and pp. I believe this is a sane way to build dynamic websites, parsing GET and POST variables in CGI is still a problem tho. I personally prefer interpreted languages for developing websites due to no compile time and in place debugging.
@eldersnake I believe in progressive enhancement, I believe it's a good idea for some websites to be HTML interfaces to CLI tools. For instance I would like to create an HTML interface for the log analytics tools on adi.tilde.institute, cl, cbl, fl, using pp.
@adi The logo I made myself, it's a shell prompt and a set of HTML tags.
What are your opinions of the branding of https://mkws.sh/?
Ah, regarding Facebook, I believe it's a "like" market.
\n> I’ve played around with various web frameworks and tools, and like you I imagine, really just got sick of all the bloat and unnecessary complexity.\n\nExactly!
@prologic @will @eldersnake I personally disagree with the concept of "like" exactly because of the endorphin effect, I don't vote for instance, although many people do, on the basis of liking or disliking but on the basis on arguments, proof. I believe the term "agree" or "upvote" is more appropriate. I agree with just twt-ing a reply rather than adding "likes".
@eldersnake Yeah, also built with mkws, not pleased with the design tho, I'll keep it as close as possible to plain text as an homage to UNIX and tilde.institute which are an awesome group. I _personally_ believe all tiny scripts there are at least decent, I believe the linters are nice and the log analytics scripts are nice although, both of them may be rewritten in C even tho awk fits so well for the log analytics. And default.css is nice. I've incorporated the linters in my mkws build process.
@adi @will @eldersnake Thanks for the pizzas @eldersnake!!! 🍕🍕🍕🎉
@will @eldersnake I have this https://www.buymeacoffee.com/adriangrigore, it was on the website for while, maybe it's a good idea to put it again, however I have a low amount amount of traffic on the website. If you believe mkws is cool or any other of my code, you can throw something there. Spreading the word would also be great!
@eldersnake @adi I'm taking a breaking from promoting it, but it would be great to be accepted http://ethicalads.io/ so I can focus on promoting.
@eldersnake Thanks for spreading the word! I applied for http://ethicalads.io/ but got not reply yet, I contacted https://www.ericholscher.com/ directly, but he stopped answering when I asked how long it would take to get approval, if.
@eldersnake You can check out some other stuff I made https://adi.tilde.institute/. It's a good idea to update that website also.
@eldersnake I wonder how I could promote it better, and, if possible, monetize it.
@eldersnake Haha, not exactly chance, interests and opinions are similar. 😊
@will How about when people complain they're being criticized?
@eldersnake How did you learn about https://twtxt.net/, I believed you discovered mkws via this website.
@eldersnake Yeah, my idea is building modern looking websites with old, battle tested tech.
@eldersnake Yeah, I'll have to add the HowTos there at some point.
@eldersnake What's your opinion on the http://mkws.sh/ website?
@adi @eldersnake I would really like to develop a simple https server I can bundle with that, but for now https://acme.com/software/thttpd/ can also be used.
@adi @eldersnake UI would be similar to this https://datenstrom.se/yellow/demo.
@adi @eldersnake I'm also considering running pp via CGI and building a simple dynamic cms but there are some security issues there I have to solve.
@eldersnake Yeah, exactly!
@adi @eldersnake I'm considering writing some bundles with existing classless CSS frameworks like https://newcss.net/ or https://simplecss.org/ that you can just download and start building. Also considering building an mkblog equivalent altought not sure about the naming.
@eldersnake Yeah, I'm under the impression that we're automating maybe too much in programming and maybe too early when some little manual work could easily do the job with less complexity.
The alternative is what Hugo does, a single binary and having the static site as "source code" which Hugo compiles, but I believe the idea of customizing the main mkws script is really nice, I'm replacing config files with just scripting your generator, updating may be a problem but there's not much to update there anyway.
@adi @eldersnake Do you believe it's a good idea to just download the bundled files (main script, statically compiled binaries and templates) and customize everything in place?
@eldersnake If it works for you. 😛
@adi Looks like the code is not there, I'll have to incorporate it somehow. Here's a link http://mkws.sh/HOWTO.
Did you see my solution for the meta in http://mkws.sh/mkws/README?
@eldersnake Not a big fan of mixing C code and HTML. I belive PHP kinda nailed it when it comes to websites, nesting dynamic code with HTML, it's an inspiration for pp.
@eldersnake What was the suckless one, any idea?
@eldersnake How did you find out about mkws?\n\nFor \n<a href="https://google.ro"></a>\n\npp -d outputs\n\necho "<a href="https://google.ro"></a>\n"\n\nand pp outputs\n\n<a href=https://google.ro></a>\n\nSo when using double quotes the output is unpredictable.