# 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 43627
# self = https://watcher.sour.is?uri=https://txt.sour.is/user/all/twtxt.txt&offset=39627
# next = https://watcher.sour.is?uri=https://txt.sour.is/user/all/twtxt.txt&offset=39727
# prev = https://watcher.sour.is?uri=https://txt.sour.is/user/all/twtxt.txt&offset=39527
{@https://twtxt.net/user/prologic/twtxt.txt>#lar4ftq} (#qn4y6wa) @xuu I _would_ absolutely love you to contribute! Please do! β€οΈ If types.Twt
is close enough, let's make it an Interface :) Why not! What kind of interface are you thinking about anyway?
{@https://twtxt.net/user/prologic/twtxt.txt>#hfxueiq} @xuu @lyxal (#n5wisfq) There are in fact _some_ users that host their twtxt.txt
files in Gopherspace over gopher://
... I _coudl_ add support for this in jointwt/twtxt by using go-gopher](https://github.com/prologic/go-gopher (_one of the first things I wrote in Go!_) -- If there was enough interest... But it would only be _limited support_ (fetch, and host, not much else...)
{@https://txt.sour.is/user/xuu/twtxt.txt>#3fnqycq} @prologic (#tgfjfma) yeah I do. \n\nIt seems a bit wonky that it imports from your packages in some places. I'm guessing that's some legacy bits that need updates?
{@https://txt.sour.is/user/xuu/twtxt.txt>#l2eyyya} @lyxal @prologic (#n5wisfq) yah. the service can have a flag for allowing non-TLS for development. but by default ignores. \n\nare there some users that use alternative protos for twtxt? like ftp/gopher/dnsfs π€
{@https://twtxt.net/user/prologic/twtxt.txt>#x5e5ana} @xuu Do you keepΒ your pop up-to-date with jointwt/twtxt as we push commits to master
? π€
{@https://twtxt.net/user/twtxt/twtxt.txt>#evxdvzq} FOLLOW: @prologic from @oevl using txtnish/0.2
{@https://twtxt.net/user/prologic/twtxt.txt>#5xplkga} @ionores (#uxapiia) Nah man, all Linux Distros are dead! Long live uLinux π€£
{@https://twtxt.net/user/ionores/twtxt.txt>#oldnreq} CentOS is dead. Long live Rockylinux ! ππ\nRockylinux
{@https://twtxt.net/user/prologic/twtxt.txt>#su3nb3q} @iolfree (#cweux5q) I like it, very jumpy and catchy π
{@https://twtxt.net/user/twtxt/twtxt.txt>#uw6hpia} FOLLOW: @prologic from @markwylde using twtxt/0.1.0@15886dd
{@https://twtxt.net/user/deadguy/twtxt.txt>#c5a3icq} @prologic (#cn3kxka) that would be awesome, looking forward to it
{@https://twtxt.net/user/prologic/twtxt.txt>#lforyka} (#cn3kxka) @deadguy Yeah that's "fair enough". I _think_ you've seen my say this in other Twt(s), I _fully_ intend to provide more features to the API and command-line client twt
so what you probably _thought_ was possible will* become possible. I'd like it myself anyway (_just becuase_), on the upside, hopefully when we get around to it it'll mean you get the best of both worlds, self-hsoted twtxt.txt
file, synced to your "Pod" account, with API and Mobile App access π*
{@https://twtxt.net/user/deadguy/twtxt.txt>#edocima} @prologic @lyxal (#cn3kxka) admittedly, i claimed it because i have the intention of using it, but i thought maybe my self hosted file would get replicated here. Not that having my "main" file on someone's pod is a bad idea or anything
{@https://twtxt.net/user/prologic/twtxt.txt>#v76bwka} (#inoxwhq) @deadguy I know! That's why I felt compelled to write a version of ed
in Go with some modern takes on _some_ aspects of it (_mostly edit history and syntax highlighting_) π
{@https://twtxt.net/user/deadguy/twtxt.txt>#eiek5dq} @prologic (#inoxwhq) ED IS THE STANDARD EDITOR
{@https://twtxt.net/user/prologic/twtxt.txt>#afbdvqq} (#cn3kxka) @deadguy Agree with @lyxal in regards to having an account but being on "hiatus" or just keeping it as a "claim" / "identity"?
{@https://twtxt.net/user/deadguy/twtxt.txt>#poeaggq} @prologic (#cn3kxka) i have to say i'm with @lyxal on this one. I registered here to claim my username, but in doing so i had no idea this feed would take precedence over my self hosted one. And since i'm self hosting (and have been subscribing to "slow" usage of the internet more and more) i don't feel compelled to post all the time, which may or may not be considered a hiatus
{@https://twtxt.net/user/prologic/twtxt.txt>#hvwrnda} @adi (#luunu2q) Yup Gotcha. Although there are server-side variants of this too that basically tell a Browser, "here's your updated DOM or subset of it, go patch yourself".
{@https://twtxt.net/user/adi/twtxt.txt>#wgnvmmq} @prologic (#luunu2q) I mean one that it's a single page and all rendering is done via JavaScript client side (doesn't refresh I guess).
{@https://twtxt.net/user/prologic/twtxt.txt>#rp24f5a} @adi (#luunu2q) do you mean one that doesnβt refresh or one thatβs a single page?
{@https://twtxt.net/user/adi/twtxt.txt>#rdccgvq} @prologic (#luunu2q) By "web app" I ment SPA.
{@https://twtxt.net/user/prologic/twtxt.txt>#r7iqwoa} @adi (#luunu2q) What _really is a "web app" anyway? I mean without fancy client-side code like Javascript (_gough gough_) isn't it just a web server serving up a bunch of resources (_pages_)?_
{@https://twtxt.net/user/adi/twtxt.txt>#nhrrpua} I think the web is falling back to it's normal state of treating pages like documents instead of apps. I'm saying falling back because I believe the "web app" movement was forced.
{@https://twtxt.net/user/prologic/twtxt.txt>#nyainmq} (#cn3kxka) This is something I want to do anyway for Bitcask so that it can scale almost indefinitely unless your entire keyspace is hot and active all the time! π€£
{@https://twtxt.net/user/prologic/twtxt.txt>#zse2tha} (#cn3kxka) Yeap all good points. LIke I said, it doesn't _really_ hurt, it just consumes key space... But that's something I _could_ solve in Bitcask itself as a "technical" level where I evict inactive keys out of the in-memory keyspace and archive them to disk instead only keeping "active" keys in memory for fast lookups.
{@https://twtxt.net/user/prologic/twtxt.txt>#josftha} (#cn3kxka) You _have_ to identify yourself as an owner of a feed somehow though? I mean sure I get what you're saying, each Pod _has_ accounts. The decentralised parts are the Feeds and Conversations, not so much the "Users". You have to belong to a Pod somewhere, or run your own. At _some_ point I'd like to be able to carry your "identity" around through a network of pods which I _think_ is there things like IndieAuth can help (_PR not merged yet..._).
{@https://twtxt.net/user/lyxal/twtxt.txt>#ehif6ra} @prologic (#cn3kxka) also, some people might make accounts with the intention of using twtxt as a way of communication but then go on hiatus for different reasons. They might very well come back. I know I did. I made my account after seeing this repo on github and went on hiatus due to exams and school. I know I'd be confused if I came back and found my account deleted.
{@https://twtxt.net/user/lyxal/twtxt.txt>#32lpzcq} @prologic (#cn3kxka) that bracket should have been a question mark
{@https://twtxt.net/user/lyxal/twtxt.txt>#xtpn6sq} @prologic (#cn3kxka) base64 compress inactive twtxt files)
{@https://twtxt.net/user/lyxal/twtxt.txt>#4yl2xea} @prologic (#cn3kxka) I thought the whole point of decentralisation was that there wasn't one single entity controlling things like accounts.
{@https://twtxt.net/user/prologic/twtxt.txt>#lv22zfq} @prologic (#cn3kxka) It snot a problem now per se, but they do consume key space in memory as the database used for storing things like accounts and who owns what feed and sessions stores its key space in memory.
{@https://twtxt.net/user/prologic/twtxt.txt>#z2ye4fa} (#cn3kxka) How so? I mean people that have swung by to "test" and "check" things out, never to be seen again. There are hundreds of accounts on this pod that have never posted a thing. If course OTOH I don't actually know if they ever login and are just idle lurkers/readers...
{@https://twtxt.net/user/lyxal/twtxt.txt>#2nvngyq} @prologic (#inoxwhq) and all this time here's me thinking blind archery meant putting a blindfold on.
{@https://twtxt.net/user/lyxal/twtxt.txt>#pvqwy5q} @prologic (#cn3kxka) why? Wouldn't that go against the idea of decentralisation?
{@https://twtxt.net/user/prologic/twtxt.txt>#e4yocua} We _should_ probably start thinking about cleaning up old inactive accounts... π€
{@https://twtxt.net/user/prologic/twtxt.txt>#frjcyla} (#inoxwhq) Yeah :D I _might_ seriously consider using it a bit more again, I _did_ quite like it really.
{@https://twtxt.net/user/adi/twtxt.txt>#crssgoq} @hacker @prologic (#bdtst7q) It's like having someone in your house named robber. :)
{@https://twtxt.net/user/adi/twtxt.txt>#ijr4zqq} (#inoxwhq) @prologic Yup, using ed
makes very much sense for you! π
{@https://twtxt.net/user/prologic/twtxt.txt>#655znda} (#inoxwhq) You know ed
right? π€£ I _mean_ that I do quite literally use a non-visual line-based editor π I _even_ used it to write a few commits for the implementation (_See [Why](https://github.com/prologic/ed#)..._) -- Because of my vision impairment where I only get to see a few measily lines of code anyway, it kind of makes sense that it can work for me π
{@https://twtxt.net/user/prologic/twtxt.txt>#msgdlta} Hello @hacker ! π
{@https://twtxt.net/user/twtxt/twtxt.txt>#2qkitfq} FOLLOW: @hacker from @prologic using twtxt/0.1.0@15886dd
{@https://twtxt.net/user/adi/twtxt.txt>#6glbg4q} @xuu (#qn4y6wa) What language?
{@https://twtxt.net/user/twtxt/twtxt.txt>#v3wz6eq} FOLLOW: @hacker from @lyxal using twtxt/0.1.0@15886dd
{@https://twtxt.net/user/twtxt/twtxt.txt>#qtjncxq} FOLLOW: @hacker from @hacker using twtxt/0.1.0@15886dd
{@https://twtxt.net/user/prologic/twtxt.txt>#5esyniq} @xuu (#qn4y6wa) Nice! Whatβll it be used for? π€
{@https://twtxt.net/user/prologic/twtxt.txt>#oqsai4q} @lyxal @xuu (#n5wisfq) Yeah you mean any non-TLS Feed URI(s)?
{@https://twtxt.net/user/prologic/twtxt.txt>#7nt7jla} @cai Hello! π
{@https://twtxt.net/user/twtxt/twtxt.txt>#swaqdba} FOLLOW: @cai from @prologic using twtxt/0.1.0@15886dd
{@https://txt.sour.is/user/xuu/twtxt.txt>#pjeb3ba} My latest work over the last few days. a twtxt parser. so far looking promising. Faster and less memory than the regex version. π
{@https://mckinley.cc/twtxt.txt>#yxvhrxa} Computers page looks like garbage, but at least I've finally gotten around to making it an official part of my site.
{@https://twtxt.net/user/twtxt/twtxt.txt>#jd6ugkq} FOLLOW: @cai from @cai using twtxt/0.1.0@15886dd
{@https://twtxt.net/user/prologic/twtxt.txt>#a7oc6uq} (#pdlvy3q) ... That _might_ change with some upcoming changes to the API and the twt
command-line client where I will probably add things like twt sync
that can sync between a local twtxt.txt
file and your Twt.social account on the pod where your account lives.
{@https://twtxt.net/user/prologic/twtxt.txt>#3i74uvq} @lyxal (#pdlvy3q) Yeah they are using their own "client" -- Or client here is a rather loose term, since Twtxt itself is just _really_ a twtxt.txt
file hosted somewhere. What you you use here is a multi-user backend with API and a nice Mobile App (Goryon) to go along with. But under the hood it still manages a set of twtxt.txt
files in /data/feeds/<username>
. But no, you're right it would not be possible for any user to artificially go and post something in the future here, that would be silly, since you don't have _direct_ access to the file per se. Although...
{@https://twtxt.net/user/prologic/twtxt.txt>#oq7assq} An editor I _sometimes_ use although sometimes that is more often than you might think... Is called ed -- One day I _might_ just stop using Vim in favor of ed
π
{@https://twtxt.net/user/lyxal/twtxt.txt>#tjwdbga} @prologic (#pdlvy3q) but seriously. How do people write custom timestamps on twtxt or goryon? Or are they using a custom client? I actually honestly don't know, and I'm probably missing something extremely obvious here.
{@https://twtxt.net/user/prologic/twtxt.txt>#okvjjsa} (#pdlvy3q) itβs a really good way of pinning a Twt at the top of the timeline bar isnβt it? π€£
{@https://twtxt.net/user/lyxal/twtxt.txt>#niewnia} @prologic (#pdlvy3q) I'm not. I seriously want to know how
{@https://twtxt.net/user/prologic/twtxt.txt>#437xo3q} @emm (#2c6g3yq) Test received π
{@https://twtxt.net/user/prologic/twtxt.txt>#5iudfkq} (#lu2b3cq) Ahh here 7 days ago from you π Very pretty π
{@https://twtxt.net/user/prologic/twtxt.txt>#vbmsetq} @123 (#lu2b3cq) where have I seen this image before? π€
{@https://twtxt.net/user/twtxt/twtxt.txt>#iftlata} FOLLOW: @emm from @123 using twtxt/0.1.0@15886dd
{@https://twtxt.net/user/prologic/twtxt.txt>#g2trfra} (#pdlvy3q) Hahaha π€£ I _know_ you're just being funny here, but I _believe_ they are literally just writing a timestamp/date that is in the future to their feed twtxt.txt
file π
{@https://twtxt.net/user/lyxal/twtxt.txt>#mrfkwzq} @prologic (#pdlvy3q) but how do they control when they write?
{@https://twtxt.net/user/prologic/twtxt.txt>#mynwihq} (#pdlvy3q) But they don't follow me, so we'll never know for sure π\n\n
{@https://twtxt.net/user/prologic/twtxt.txt>#gxeqvka} (#pdlvy3q) I dunno π€·ββοΈ But this guy/gal is π€£ I had to double-check time zones and his/her feed file/uri to be sure, but I'm 99.9% sure they are writing to their twtxt.txt
feed file with a timestamp in the future π€£
{@https://twtxt.net/user/lyxal/twtxt.txt>#ekwrf5a} @mckinley @prologic (#kxlxpna) _how_ do you write in the future?
{@https://twtxt.net/user/prologic/twtxt.txt>#pmxodea} @mckinley (#kxlxpna) Why do you Twt with timestamps in the future? π€£
{@https://twtxt.net/user/prologic/twtxt.txt>#r5q7tiq} (#ehq43tq) π
{@https://twtxt.net/user/adi/twtxt.txt>#nwecrzq} @prologic (#ehq43tq) Might give a hand also, I'll let you know if I have any good name suggestions.
{@https://twtxt.net/user/prologic/twtxt.txt>#i2rrxka} (#ehq43tq) Probably π€£
{@https://twtxt.net/user/adi/twtxt.txt>#ltqeexa} @prologic (#ehq43tq) You're considering writing one if not? π