# 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=38327
# next = https://watcher.sour.is?uri=https://txt.sour.is/user/all/twtxt.txt&offset=38427
# prev = https://watcher.sour.is?uri=https://txt.sour.is/user/all/twtxt.txt&offset=38227
{@https://twtxt.net/user/prologic/twtxt.txt>#jlqwk6q} Speaking of which... @xuu Did you know we have a Mobile App? It's on the App and Play store and is called "Goryon".
{@https://twtxt.net/user/prologic/twtxt.txt>#gzxuq5q} @xuu (#jmgdkdq) Sounds complicated ๐คฃ One of the driving principles behind this platform jointwt/twtxt](https://github.com/jointwt/twtxt and Twtxt itself is simplicity. As it stands today you need only _really_ three things: A twtxt.txt
file hosted somewhere, an avatar.png
file alongside and some kind of "client" that also understand the convention around "Subject"(s) (_the thing you see in parens_). Beyond that this backend we call Twt.social pods is just a web app / client and API that allows us to also have the same on Mobile...
{@https://txt.sour.is/user/xuu/twtxt.txt>#rdtnoia} (#jmgdkdq) @prologic \n> That way at least we can form some kind of cryptographic โidentityโ without having to involve the users that much, it just worksโข\n\ni like some of the work that keys.pub is doing with ed25519 crypto keys with something like that.
{@https://txt.sour.is/user/xuu/twtxt.txt>#cs7j4sa} (#jmgdkdq) @prologic huh.. true.. the email is md5/sha256 before storing.. if twtxt acted as provider you would store that hash and point the SRV record to the pod. .. to act as a client it would need to store the hash and the server that hosts the image.
{@https://twtxt.net/user/prologic/twtxt.txt>#baqxcca} @xuu (#jmgdkdq) Hmmm What exacrtly is this?\n\n> freeing the web one face at a time\n\nIs this some kind of Gravatar alternative?\n\nThe problem with doing this for Twtxt is that we don't store any kind of personal identifiable information at all. Not even email addresses. I'm not sure how this would work? ๐ค
{@https://twtxt.net/user/prologic/twtxt.txt>#p7ojg7a} @xuu (#jmgdkdq) \n\n> The gpg command line leaves much to be desiredโฆ\n\nIndeed. I find it somewhat unintuitive myself at times, and hardly anyone really uses it so I mostly use it only to sign Git commits ๐คฃ
{@https://twtxt.net/user/prologic/twtxt.txt>#eipfmcq} @xuu (#jmgdkdq) That's the tricky part, yeah. Most people don't have a clue when it comes to privacy let alone encryption. One idea I had was to use NaCL crypto and store an identity key pair server-side on Twt.social pods encrypted with PBKDF2 against the user's password. That way at least we can form some kind of cryptographic "identity" without having to involve the users that much, it just worksโข
{@https://twtxt.net/user/prologic/twtxt.txt>#s6dnwba} Reddit just published their DAU count finally of ~52M I _guess_ I can publish some stats here too, but what's the point? ๐คฃ If I do some PromQL against server_sessions
, db_sessions
and db_tokens
this is what we get for twtxt.net:\n\n
\n\nDoes it mean anything? I'm not sure ๐ค
{@https://txt.sour.is/user/xuu/twtxt.txt>#xrzp7tq} (#jmgdkdq) @xuu @prologic something that would be interesting would be libravatar for the user image. i made one that does the same for a profile cover image.
{@https://txt.sour.is/user/xuu/twtxt.txt>#sl2q45q} (#jmgdkdq) @xuu @prologic The gpg command line leaves much to be desired...
{@https://txt.sour.is/user/xuu/twtxt.txt>#x64m54q} (#jmgdkdq) @prologic it is some interesting work to decentralize all the things.. tricky part is finding tooling. i am using a self hacked version of the go openpgp library. A tool to add and remove notations would need to be local since it needs your private key.
{@https://twtxt.net/user/prologic/twtxt.txt>#55sl6cq} @lyxal (#nfwt72a) Wut?! ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#f3efisq} @xuu (#jmgdkdq) Sounds very intriguing ๐ค I wonder how we can easily integrate this into Twtxt somehow? ๐ค The problem of course is trying to make this easy enough for anyone to use not just technically minded folks like us ๐
{@https://twtxt.net/user/lyxal/twtxt.txt>#qlhwlxq} Mmmmm yes, I love the taste of TextView
objects! Makes the meal taste even better :p\n\n
@prologic this is a go version of Keyoxide.org that runs all server side. which is based on work from https://metacode.biz/openpgp/\n\nOpenPGP has a part of the self signature reserved for notatinal data. which is basically a bunch of key/values. \n\nthis site tries to emulate the identity proofs of keybase but in a more decentralized/federation way. \n\nmy next steps are to have this project host WKD keys which is kinda like a self hosting of your pgp key that are also discoverable with http requests. \n\nthen to add a new notation for following other keys. where you can do a kind of web of trust.
{@https://twtxt.net/user/prologic/twtxt.txt>#g5fzoaa} @xuu (#jmgdkdq) So... How will this work exactly? Can you explain your flows here that will use this GPG key? ๐ค
{@https://twtxt.net/user/prologic/twtxt.txt>#ozqzcaa} @lyxal (#q4i3tdq) That is really cool! ๐ I have cards I _could_ send you and you could give out, or I can send yout eh digital version! I want to create some posters too at some point ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#d3khv5a} (#qqgzqfa) So Git Submodules are basically references to other Git repositories that are embedded in the source repository. You manage them with git submodule ...
. The painful thing is that you have to be careful which type of URI you add them with, git://
or https://
(_which can bite you in the ass depending on the rest of your pipelines_) and every time you make a change to a Git submodule's repository you have to go and update umpty nine other repositories that reference the submodule and update to point to a new Git sha. It's all quite painful and a waste of time!
{@https://twtxt.net/user/lyxal/twtxt.txt>#yybkmza}
\n\nJust a little something I did at my local Bunnings
{@https://twtxt.net/user/prologic/twtxt.txt>#5y5kv5a} @xuu (#jmgdkdq) Nice! ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#mwzl7fq} @xuu (#4rk4dna) Haha ๐คฃ
{@https://txt.sour.is/user/xuu/twtxt.txt>#beyra2q} This is an OpenPGP proof that connects my OpenPGP key to this Twtxt account. See https://key.sour.is/id/me@sour.is for more.\n\nVerifying my OpenPGP key: openpgp4fpr:20AE2F310A74EA7CEC3AE69F8B3B0604F164E04F]
{@https://txt.sour.is/user/xuu/twtxt.txt>#otuw7xa} (#4rk4dna) @prologic Oh snap. that's what i get for copy paste! ill just have to repost and update my key.
{@https://twtxt.net/user/lyxal/twtxt.txt>#qrvybuq} @prologic (#qqgzqfa) okay second question: what's a git submodule?
{@https://twtxt.net/user/prologic/twtxt.txt>#wozq33q} @lyxal (#qqgzqfa) Mostly too many extra steps you have to do ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#ba66o6a} Git submodule(s) are the worst idea ever! ๐คฌ
{@https://twtxt.net/user/prologic/twtxt.txt>#oztexsq} (#cqbl3ia) there are of course other influencing factors that have influenced the design, for example we donโt support or believe in likes or artificially promoting posts via any kind of algorithm
{@https://twtxt.net/user/prologic/twtxt.txt>#puhmyqq} @stats @lyxal (#cqbl3ia) thatโs easy! I have always wanted an open decentralized social media platform that supports microblogging and full blogging but more importantly wonder is also self-hosteable (_easily_)
{@https://twtxt.net/user/lyxal/twtxt.txt>#22rp5qq} @stats @prologic (#cqbl3ia) out of curiosity: what inspired the creation of twtxt.net and the twt.social project?
{@https://twtxt.net/user/prologic/twtxt.txt>#bhk6cca} @stats (#cqbl3ia) Impressive ๐ณ
{@https://twtxt.net/user/stats/twtxt.txt>#7kvyslq} ๐งฎ USERS:242 FEEDS:27 TWTS:6506 BLOGS:9 ARCHIVED:272693 CACHE:3200 FOLLOWERS:236 FOLLOWING:376
{@https://twtxt.net/user/prologic/twtxt.txt>#gsmiglq} @lyxal (#aiapu3q) this is true but I saw it in my/dot feeds at work yesterday afternoon so I wasnโt about to open it on my work laptop! Itโs disappointing that people canโt write basic websites that I responsive I mean itโs not that hard right?
{@https://twtxt.net/user/prologic/twtxt.txt>#ljjbyra} @lyxal (#aiapu3q) Yes ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#ibtcfiq} (#aiapu3q) this is what it looks like on my phone ๐ณ
{@https://twtxt.net/user/lyxal/twtxt.txt>#dqnz4na} @prologic (#aiapu3q) I mean, it pretty much assumes you'll be doing it on computer, seeing as how it requires problems to be solved with extremely long inputs. I don't think you'd be solving the daily challenges on mobile anyway.
{@https://twtxt.net/user/lyxal/twtxt.txt>#tpgouxq} @prologic (#aiapu3q) oh wait you mean responsive as in "fits the mobile screen" rather than "didn't load and froze"
{@https://twtxt.net/user/lyxal/twtxt.txt>#ppm5ata} @prologic (#aiapu3q) uh, but it loads perfectly fine on my phone. Note that there's only been one day so far, and that it unlocks one day at a time.\n\nIs there a timer next to the second day? That shows how long until it unlocks
{@https://twtxt.net/user/prologic/twtxt.txt>#kx7tk2q} @lyxal (#aiapu3q) I think @markwylde has a few things to say as well ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#nyvyfxq} @lyxal (#aiapu3q) no Iโm not! I had to look at the website on my mobile phone and quickly realized it wasnโt responsive so Iโm out! my personal take is if you canโt be bothered to make a website responsive in todayโs day and age then I donโt know ๐ณ
{@https://twtxt.net/user/prologic/twtxt.txt>#fs4r33a} Yup and itโs done! salesforce acquires slack for $27.7 billion ๐ณ
{@https://twtxt.net/user/prologic/twtxt.txt>#jogazkq} @xuu (#4rk4dna) You mean Twtxt right? ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#z2u7cdq} @333 Hi! ๐
{@https://twtxt.net/user/twtxt/twtxt.txt>#5htdxxq} FOLLOW: @333 from @prologic using twtxt/0.1.0@9fdcb47
{@https://twtxt.net/user/prologic/twtxt.txt>#slejjya} @webi Hello! ๐ Welcome to Twtxt! ๐ค
{@https://twtxt.net/user/prologic/twtxt.txt>#jfhofua} @jamiet (#szvneuq) Hah ๐
{@https://twtxt.net/user/prologic/twtxt.txt>#lnhglka} @jamiet Hello! ๐ Welcome to Twtxt! ๐ค
{@https://twtxt.net/user/twtxt/twtxt.txt>#nx5hjpq} FOLLOW: @jamiet from @prologic using twtxt/0.1.0@9fdcb47
{@https://twtxt.net/user/prologic/twtxt.txt>#2yjklbq} @wsdhw12 Hello there! ๐
{@https://twtxt.net/user/twtxt/twtxt.txt>#wi2syca} FOLLOW: @wsdhw12 from @prologic using twtxt/0.1.0@9fdcb47
{@https://twtxt.net/user/prologic/twtxt.txt>#c6rlr3a} @testytest (#asnypla) Haha Sounds like you need an intravenous drip of caffeine into your bloodstream! ๐คฃ
{@https://twtxt.net/user/prologic/twtxt.txt>#5nyy67q} @testytest Hi! ๐
{@https://twtxt.net/user/twtxt/twtxt.txt>#tl233hq} FOLLOW: @testytest from @prologic using twtxt/0.1.0@9fdcb47
{@https://twtxt.net/user/twtxt/twtxt.txt>#22w3q3a} FOLLOW: @off_grid_living from @lyxal using twtxt/0.1.0@9fdcb47
{@https://twtxt.net/user/twtxt/twtxt.txt>#jv4yd4q} FOLLOW: @333 from @333 using twtxt/0.1.0@9fdcb47
{@https://twtxt.net/user/off_grid_living/twtxt.txt>#uthbzzq}
What an image?
{@https://twtxt.net/user/twtxt/twtxt.txt>#khg4nca} FOLLOW: @lyxal from @webi using txtnish/0.2
{@https://twtxt.net/user/twtxt/twtxt.txt>#rwnncoq} FOLLOW: @theodric from @webi using txtnish/0.2
{@https://twtxt.net/user/twtxt/twtxt.txt>#k4nh3iq} FOLLOW: @adi from @webi using txtnish/0.2
{@https://twtxt.net/user/twtxt/twtxt.txt>#ph74z4a} FOLLOW: @prologic from @webi using txtnish/0.2
{@https://twtxt.net/user/twtxt/twtxt.txt>#g345h6a} FOLLOW: @kt84 from @webi using txtnish/0.2
{@http://twtxt.opstack.info/twtxt.txt>#s7c2m6q} hello everyone :)
{@https://twtxt.opstack.info/twtxt.txt>#kiexura} hello everyone :)