# 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 286
# self = https://watcher.sour.is?uri=https://twtxt.net/user/eldersnake/twtxt.txt&offset=86
# next = https://watcher.sour.is?uri=https://twtxt.net/user/eldersnake/twtxt.txt&offset=186
It's interesting that the double up is actually in the twtxt.txt file itself, and looking at this particular example, the double up comment was timestamped two seconds after the original.
@adi Oh it totally is. And as I said in the article, I once did essentially just that. Which I totally regretted. And managing all the bits and pieces with Webpack/Rollup etc, while it might be useful for really big projects, just felt like bloat and overkill.
@prologic @xuu Strange, I made that comment from Goryon if that helps at all.
@adi thank you!
@adi thank you!
@xj9 you must have words to express?
@bml just on OpenBSD, how's the hardware support? in terms of drivers etc. I can never quite tell looking at the site. I used to play around with FreeBSD a bit which I enjoyed, I think it's the only BSD I've tried though.
@bml haha I hear ya. I'm not against it in general but the way it gets overused in many places just hurts my soul lol.
@bml love the simplicity TBH. If it's all you need, that's all that matters.
Hmm, just to let you know, the tw.tgz file doesn't seem to download, I get a 406 error.
Rant ahoy! Write HTML, Not Javascript
I uh... don't know what to say about this 😳
Haha awesome. I love how Plan9 seems to be cropping up in more and more places lately, a twtxt client was bound to happen at some point.
I'm all for a prologic built Aussie search engine! Sadly you just know the buffoons who'll fork out money will give it to some company that will try to take advantage of peoples data and be Aussie's Google-lite.
Yeah look I'll grant them the work they did early on, they earned their stripes to get them on their way. But then eventually they've made their whole "Do No Evil" mantra look like a total farce, because for mine they do plenty of 'evil'.
Yeah you built one as a starting point in a weekend sitting on your own budget. Given money in the millions, I imagine it's not too hard of an ask at all. Google's dominance comes down to a bunch of other factors anyway rather than who is _better_, not least of which the fact it's included as default search engine on so many devices and browsers.
@slashdot memo to thr world: you don't have to get AI to do everything..
it's nice not having data held hostage 👍
in the meantime I just run a Cron scheduled script to periodically wget the twtxt.txt hosted here and copy it to my local machine as well as push the downloaded copy to my personal website.
interesting indeed. The import syntax and concat'ing of variables reminds me of JavaScript funnily enough.
@prologic Good stuff. Yeah sys-admin-ing a typical mail setup isn't exactly always fun...
Sh*t like this is what makes one want to use their own hosted mail...*
Nice!
@prologic No worries! And that makes sense regarding the angle brackets, force of habit for me just using them wily nily in WYSIWYG editors. But anyway, it helped expose a bug 😎
@prologic Odd! For extra info, the reason I edited is I originally had my "insert web framework" enclosed in arrows (eg. less than and greater than arrows) but putting them in directly made the whole bit of text not even show (I'm guessing they weren't automatically converted to HTML safe > etc).
@prologic Heh exactly! And interesting, I edited my comment and it put it after yours.
KISS has been my mantra for some years now, and I still have to pull myself up sometimes for being caught up trying to over complicate some solution or falling for the hype around _insert web framework_ etc etc.
KISS has been my mantra for some years now, and I still have to pull myself up sometimes for being caught up trying to over complicate some solution or falling for the hype around etc etc.
@slashdot ...what could go wrong?!
twtxt/Yarn.social is definitely the best Indieweb-ish thing I've come across. Even Webmentions looked a little complicated to self implement, although I suspect part of that is the documentation is all over the place (and maybe part of it is me, who knows)
looks great!
@prologic I'm totally quietly thinking of it as Yarns 🙊😅
yeah I love not having to be on some massive API reference docs page just to generate a website too, as a user.
And this would be a bad thing?? lol 😅
@jlj very interesting. And through that I just discovered the solar version of Low Tech Magazine. I think I'm in love!!
@jlj very interesting. And through that I just discovered Low Tech Magazine. I think I'm in love!!
It amazes me sometimes how these things end up vertical enough to end up embedded like this. Always sucks!
@prologic You can according to this (run your own Gab instance) https://code.gab.com/gab/social/gab-social. I just think no one... really has. I assume because of a combination of complexity and maybe just the general audience would rather pay a Pro subscription to be on the main instance instead of going through the work of spinning up their own. But yes as it stands the user experience is one of frustration a lot of the time. If a comment thread is big enough, it somehow even lags my phone terribly while trying to type.
@prologic As for *this* site, besides the odd caching issue, it runs like a dream. I know the demand and everything is apples and oranges, obviously, but I think twtxt is structured in such a way from the outset it will always scale better for reasons you just stated.
As for Gab's design, that didn't worry me too much, if we're talking aesthetics, but what worries me is their underlying codebase. They're struggling to keep up with the server demand and performance as it is, and I'm pretty sure it's based on Ruby under the hood? I thought that would introduce some scaling problems alone, but I'm no expert on it. In any case, it doesn't run terribly well a lot of the time.
Yeah I have mixed thoughts on Gab since that post. It was my first forey into a new free speech platform, that was also meant to be somewhat decentralised, although I don't know how many people *actually* run separate Gab instances.
My idea was good; get more diverse people on there to make it less of an echo chamber. Problem is, there's still so many hardcore Christian evangelists there it might scare people away.
Yeah I have mixed thoughts on Gab since that post. It was my first forey into a new free speech platform, that was also meant to be somewhat decentralised, although I don't know how many people *actually* run separate Gab instances.\nMy idea was good; get more diverse people on there to make it less of an echo chamber. Problem is, there's still so many hardcore Christian evangelists there it might scare people away.
@adi Looks good, and I was able to tell what it was so it's effective enough. I'm not sure what else you could really do with the website, it's minimalism and cleanliness is very relevant to the software itself. Maybe somewhere it could do with a bit more talking mkws itself up in terms of its advantages, a few 'testimonials' etc.
Say it ain't so. Lol!
@adi Now that's an interesting idea... I don't know how you solve the security issue exactly, but it makes a lot of sense otherwise. And yes, progressive enhancement FTW.
Wow 😳
@antonio How are you finding it? I ended up switching from Firefox to Brave after using Firefox for years, mostly because ironically Firefox was finding ways to constantly chew up all my RAM. The other reason was just related to Mozilla, but that's a separate issue and not the fault of the browser. I suspect I'm in the minority with the RAM issues, because most people report the opposite.
@prologic True enough, and while @will and I were talking about 'Likes' before, it got me thinking. As innocent as they seem, I guess they contribute because it's not uncommon for people to get hooked and post things just for the endorphin hit of receiving "likes". No doubt the social media companies take full advantage of this.
default.css is nice actually, some of the minimal class-less CSS inserts are not perhaps as minimal as they could be. Haven't had a chance to look over the others ones properly yet, but one thing I do really respect is the minimal and functional approach. 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.
@adi You're welcome! I don't have much, but I'm all for giving a little of what one can for free software I use and appreciate. 😀 🥂
Lol. As a side note I really do think the requirements of passwords has gotten to the point where they're long and ridiculous enough that they're basically impossible for any human to reliably remember.
Anyone else have to refresh the conversation pages to show the new replies after navigating to them? I'm assuming it's an aggressive cache thing.
@will @prologic It's a massive problem for sure. I still have close friends and family on FB, none of them would ever move or really understand, I don't think. And it's a kind of chained problem. I'm only still on there because of them... and they there because of others, and so on. Once upon a time I will say FB legit helped me meet up with people from school etc that I wouldn't have found again otherwise, but that was its only saving grace. It's gotten too big and powerful for its own good now.
Lol. I kind of do, but I wonder if I'm just too used to them. I don't imagine they could be implemented in the twtxt protocol too easily anyway, although I could be wrong.
Nice! I can tell by the source view that site was made with mkws also :P
@adi I'm gonna do a writing about mkws sometime soon, be good to try spread the word.
Monetization can be the difficult one, of course depends how you go about it. I remember the PHP-based Kirby CMS which I used for a number of years, obviously all open source code, but charge a license fee to use it on a public server. Back when I used it it was nowhere near the price it is now, so I guess it skyrocketed in popularity at some point. Only other ways I know of is of course ads and/or donations, but it's not a reliable model for fairly niche projects of course.
@adi Lol, good point! It can be a small world when that's the case.
Actually, I discovered mkws first and had just begun tinkering with it. Then soon after, somehow, I stumbled upon twtxt (the format), then of course ended up here. I *believe* I found twtxt from perusing the indieweb.org wiki. Funny thing is originally (before I found twtxt.net) I was going to email you with compliments/comments on mkws, then I saw you by chance on here. Ha!
@slashdot @prologic Interesting times we live in that's for sure. The part I hone in on though is these silo social media platforms trying to curate their feeds so much, and that always frustrates me. One of the reasons I'm loving decentralised alternatives like twtxt all the more lately.
@adi Good, simple and to the point while looking clean and modern for those that care about that sort of thing. I reckon the How-to page is worth having back on there though, I personally found it quite useful.
@prologic Holy moly, I never knew that! That'll come in handy, it has actually happened a few times over the years (no ip, ifconfig etc).
@prologic 🤣 🤣 🤣
@prologic Haha that last line gave me a chuckle! :p I'm sure there's a few of those out there. On that point, does Spyda handle some of those horrible overly-JavaScript driven sites? I know Google spiders can navigate JS powered content, although those sorts of sites should probably be penalised in rankings anyway.. okay I'll stop before I go on a rant LOL.
@prologic nice! Watching this one with interest.
heh you got it all going on! Well I'm always happy to test something out when you put something together 🙂
@adi makes sense! With the blog idea I guess the main difference will be handling dates out of the box, Markdown etc?
ah yep, I hear you. Honestly think it does work great the way it is. I think the (few) different independent pieces working together is nice, very Unix philosophy etc. I feel like anyone already using mkws would be more than comfortable manually handling any small changes brought about by updates.
@adi I believe so. Maybe I'm being a bit dense as I just woke up (lol), but what would be the alternative you might think of?
@adi Yeah I was using a Google cached version of your HOWTO page. I did originally consider it, but as I use a little helper script (example: make-post.sh) that just creates a new directory with a given name, and brings up a Vim window for me with the new post's Markdown file and a meta file, I just find that more convenient for my use case. I just whack a TITLE=<whatever> etc in the meta file and it'll get sourced for that page when processed
@prologic Ahh gotcha :) Well that helped me fix the immediate issue anyway, as I'm just doing rudimentary display on my site I was able to use sed to replace the unicode 2028 into <br>. Cheers!
@adi Yeah it definitely feels a bit weird to mix them. But oh well, works for them I guess. I like a lot of suckless ways of doing things, but I have my limits lol. I think the shell scripting for templating combined with the pp binary as a processor makes a lot of sense.
Anyone got any tips for handling the newlines generated on this site in the twtxt.txt file when outputting in the shell, via cat and the likes? With cat they just look like spaces. In something like the Mousepad editor, it shows the new lines (or carriage returns?) represented with a graphical symbol.
Anyone got any tips for handling the newlines generated on this site in the twtxt.txt file when outputting in the shell, via cat and the likes? With cat they just look like spaces. In something like the Mousepad editor, it shows the new lines (or carriage returns?) represented with a graphical symbol. \n
@lazarus I hear ya. And I'm just generally appreciating less is more, lately. Life is too busy with things flying into our brains as it is, let alone with overly busy and distracting websites.
@adi It's obscure and hard to find, but it's what suckless.org actually uses now (they used to use werc).
It's called, I think, build-page.c and I found it through this. And the repo is here. Of course it contains the whole suckless site(s), but the build-page.c source is there. I guess really it's just them self-dogfooding, but I found it interesting.
@adi It's obscure and hard to find, but it's what suckless.org actually uses now (they used to use werc).\nIt's called, I think, build-page.c and I found it through this. And the repo is here. Of course it contains the whole suckless site(s), but the build-page.c source is there. I guess really it's just them self-dogfooding, but I found it interesting.
Love it :D
@adi I think I pretty much went online and searched "most simple static site generator" or something along those lines lol. mkws was one of the results amongst a few typical results, like 11ty etc. One was also a suckless type one where the HTML source code was embedded in C source code, which was... interesting.\n\nHere's the bin/mkws code: https://www.andrewjvpowell.com/pastebin/1612574353/\n\nFair warning that I'm no shell expert and basically learn as I go.
@adi I think I pretty much went online and searched "most simple static site generator" or something along those lines lol. mkws was one of the results amongst a few typical results, like 11ty etc. One was also a suckless type one where the HTML source code was embedded in C source code, which was... interesting.

Here's the bin/mkws code: https://www.andrewjvpowell.com/pastebin/1612574353/

Fair warning that I'm no shell expert and basically learn as I go.
@prologic have to admit I like Yarn.social 👀 not only the double meaning, but I think it's the kind of simple buzzword/name that would catch on well amongst the regular folk.
@darch @prologic I'd love to see twtxt take off more. I guess it will always be a niche because a lot of people don't know or care how their content is handled (unfortunate) but for those willing to even DIY a little, twtxt is simple enough for pretty much anyone to use (I mean, it's PLAIN text 😎). And twt.social services like this one makes it accessible to anyone.
@darch thanks! I will check those out. 😊
@adi yeah I'll post it when I'm home and near my main machine. Re: the markdown, I'm just using smu similar to what I saw in the docs.
I don't mind writing HTML without quoting attributes, or just using single quotation marks, but admittedly I do forget sometimes. The funny thing is I've forgotten a few times to change from the double quotation marks, and it still worked fine...? pp didn't seem to care, but I assume there's a case where it must.
@adi yeah I'll post it when I'm home and near my main machine. Re: the markdown, I'm just using smu similar to what I saw in the docs. \nI don't mind writing HTML without quoting attributes, or just using single quotation marks, but admittedly I do forget sometimes. The funny thing is I've forgotten a few times to change from the double quotation marks, and it still worked fine...? pp didn't seem to care, but I assume there's a case where it must.
@adi Basically my install is modified to output the actual site to a dedicated separate output folder as well as sourcing a file called meta if it exists in the given page folder for titles, descriptions etc. Most of my pages use Markdown. This would have all probably been a pain to add in another more complicated and opinionated SSG.
@adi Yep I do: here. Still not finished and just has some placeholder content from years ago with a few new things like a twts feed, but I got the site set up structurally how I want. I have little helper shell scripts to rebuild the site and push it to the server etc. I'll post the modified mkws script when I get a chance, though my code is probably horrible xD
@jlj @adi Heh yeah you won't regret it I don't reckon! If you like and are comfortable in the shell, and the usual coreutils etc, mkws feels extremely comfortable once you delve into it. I like having a folder-per-page with a nested index.html as my site structures personally, which mkws doesn't do out of the box, but it was very easy to modify the main script to accommodate this.
@gr0k @jlj @thewismit @prologic heh, I think I'm a little guilty of not RTFM, cos I completely missed the bit in the docs, especially about the registry and such. I actually thought to self host the twtxt.txt file and still be able to interact on a pod like this one you needed to self host a pod as well. Doh! Cheers mate.
Shout out to @adi and his static site generator, mkws! I've been playing around with it for a week or two now building my personal little site. I never thought of the shell as a templating language, but dang does it work well. I've been very surprised. I wanted a SSG that was less 'opinionated' than others and easily extendable, and this seems to be fitting the bill.
@gr0k I know right? Hadn't even heard of the twtxt format until a few days ago... also wanted to say I really like the minimalism/style of your site! Are you running a twt.social instance? I notice your twtxt.txt file is hosted there. I'd love to do something similar on my site but not sure my host would handle a client written in Go.
@prologic gee, feel better dude!
Parler CEO fired 😯https://reclaimthenet.org/parler-ceo-john-matze-fired/
@prologic @dooven Oh that's a shame! Hope he's doing okay. Good thing I guess the API here and the twtxt format itself is so simple, any other volunteer app that had an inactive dev would probably have broken in some way by now.
Gotta say, if you're on mobile it's well worth trying out that app @prologic mentioned, "Goryon". Beautifully simple and fluid mobile interface that works lovely with twts!
@prologic @adi So you just casually bang out a search engine on the weekend? I wish I had that motivation and ability LOL. Any alternative search engines that value privacy first and foremost can only be a good thing. Looks like it pulled an RSS feed into the crawled results, not sure if that was intended
@prologic I have to agree, I've just been playing around accessing the API with cURL on the commandline. I'm no pro but learn this stuff as I go, but it looks like even I could jerry rig it together into something I could use outside of just this site. I'm still tossing up whether to post here first and synchronise with my own website twtxt.txt, or vice versa. The editor and reading capabilities are much nicer here though...
@prologic Thank you kind sir! Awesome to see you're another Aussie too ;)
@prologic @thewismit @antonio I would also be interested in this, I just started using twtxt and had planned on just using the CLI client and scripting my static site generator to post my twts whenever I publish it. Now I'm on here because of the discoverability and increased interactions possibilities. If I could sync it all up it would be awesome.
Hello world! Looking forward to getting to know twtxt :)