# 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 1188
# self = https://watcher.sour.is?uri=https://dev.txt.sour.is/user/xuu/twtxt.txt&offset=288
# next = https://watcher.sour.is?uri=https://dev.txt.sour.is/user/xuu/twtxt.txt&offset=388
# prev = https://watcher.sour.is?uri=https://dev.txt.sour.is/user/xuu/twtxt.txt&offset=188
@prologic yah I'll get a fix out soonish
@darch @prologic Technically it should be at the start.. Though the parser doesn't currently care where it is. Though that leads to artifacts like any random string inside perens becoming a subject.
@darch @prologic Technically it should be at the start.. Though the parser doesn't currently care where it is. Though that leads to artifacts like any random string inside perens becoming a subject.
@prologic tricky.. punctuation is being grouped in with other text. i need to break up string tokens.
@prologic tricky.. punctuation is being grouped in with other text. i need to break up string tokens.
@prologic its the puny code for the yarn emoji. Though you would want the type-able version to redirect so its not hard to type on non mobile.
@prologic its the puny code for the yarn emoji. Though you would want the type-able version to redirect so its not hard to type on non mobile.
@prologic :-D i consider myself subpar on UX outside of React, but can def give it a stab.
@prologic :-D i consider myself subpar on UX outside of React, but can def give it a stab.
xn--dw9h.social is taken :-(
xn--dw9h.social is taken :-(
@prologic we would want:
- a way to reply to the current thread. We have this.
- a way to reply to a specific twt. Need this. Maybe make all the replies start new conversations?
- check if twt is start of a conversation.. we kinda have this in the main feed with the conversation button. need to extend it for forked convs
- a way to inline first replies. maybe show one or two in the sub thread with a link to view.
- for convenience have a link to parent conv?
@prologic we would want:
- a way to reply to the current thread. We have this.
- a way to reply to a specific twt. Need this. Maybe make all the replies start new conversations?
- check if twt is start of a conversation.. we kinda have this in the main feed with the conversation button. need to extend it for forked convs
- a way to inline first replies. maybe show one or two in the sub thread with a link to view.
- for convenience have a link to parent conv?
@xuu @prologic see how it has a bar on the first level reply?
@xuu @prologic see how it has a bar on the first level reply?
@xuu @prologic we could show first level inline like twitter does. With links for deeper discussion.
@xuu @prologic we could show first level inline like twitter does. With links for deeper discussion.
@prologic speaking of complexity.. How would checking twts for sub conversations complexify things?
@prologic speaking of complexity.. How would checking twts for sub conversations complexify things?
@prologic would that need a NLP library? The lang would be great for a search engine to find language prefs.
@prologic would that need a NLP library? The lang would be great for a search engine to find language prefs.
@prologic @darch Like with many things that live in a diaspora there will be many names for about the same thing. Just look at e-mail headers!
@prologic @darch Like with many things that live in a diaspora there will be many names for about the same thing. Just look at e-mail headers!
The keys that have some use would be nick, url/feedurl, avatar, lang
@vain I have seen it pop up on a few feeds around and adopted it into the new parser I built.

The format I have followed has been '# ' :whitespace: :key-name: :whitespace: '=' :whitespace: :value: keys can be repeated and accessed like an array of values.
@vain I have seen it pop up on a few feeds around and adopted it into the new parser I built.

The format I have followed has been '# ' :whitespace: :key-name: :whitespace: '=' :whitespace: :value: keys can be repeated and accessed like an array of values.
@prologic fixed.
@prologic
@prologic
@prologic I know! it has 55 new emoji!! \\u1F90C
@prologic I know! it has 55 new emoji!! \u1F90C
Hmm on mobile it shows as the text :poop: and not 💩

Maybe the mobile version has text emoji substitution like slack/discord does?
Hmm on mobile it shows as the text :poop: and not 💩

Maybe the mobile version has text emoji substitution like slack/discord does?
Related bookmark: https://command-not-found.com/
Related bookmark: https://command-not-found.com/
@prologic @jlj @thewismit https://gist.github.com/JonLundy/fb2a23c003be46c3a66e4b14e5971f13
@prologic @jlj @thewismit https://gist.github.com/JonLundy/fb2a23c003be46c3a66e4b14e5971f13
@xuu @prologic @thewismit ah.. probably a bug with the re parser. looks like i can do it without the <>'s with lex

https://fosstodon.org/@thewismit/105673078150704477
@xuu @prologic @thewismit ah.. probably a bug with the re parser. looks like i can do it without the <>'s with lex

https://fosstodon.org/@thewismit/105673078150704477
@thewismit @prologic Yo. wrap that naked link in some <>'s https://fosstodon.org/@/105673078150704477
@thewismit @prologic Yo. wrap that naked link in some <>'s https://fosstodon.org/@/105673078150704477
@prologic deedum for android.

Kristall for OS X

Elaho for iOS

more here

though I can only vouch for the first two.
@prologic deedum for android.

Kristall for OS X

Elaho for iOS

more here

though I can only vouch for the first two.
@thewismit @darch @adi @prologic There is another: @hecanjog
@thewismit @darch @adi @prologic There is another: @hecanjog
@prologic That is strange.. i wonder if there is another change that is causing it. Benchmarks are thinking the other way :|


BenchmarkAll/retwt-16                  1        4940172200 ns/op       587319376 B/op    2587159 allocs/op
BenchmarkAll/lextwt-16                 1         775764020 ns/op         9223088 B/op     197557 allocs/op
BenchmarkParse/retwt-16                1         591158277 ns/op        67539096 B/op     230841 allocs/op
BenchmarkParse/lextwt-16               1         716961837 ns/op         5450448 B/op     130290 allocs/op
BenchmarkOutput/retwt-html-16          1        8358103017 ns/op       918709168 B/op    4692292 allocs/op
BenchmarkOutput/lextwt-html-16         1         822033267 ns/op        14280112 B/op     261795 allocs/op
BenchmarkOutput/retwt-markdown-16      1        8114225415 ns/op       929928384 B/op    4693004 allocs/op
BenchmarkOutput/lextwt-markdown-16     1         806554306 ns/op        14332608 B/op     270905 allocs/op
BenchmarkOutput/retwt-text-16          1        8098215897 ns/op       923862192 B/op    4684739 allocs/op
BenchmarkOutput/lextwt-text-16         1         745064673 ns/op        12689784 B/op     252476 allocs/op
BenchmarkOutput/retwt-literal-16       1        4068799822 ns/op       409517880 B/op    2372471 allocs/op
BenchmarkOutput/lextwt-literal-16      1         754793627 ns/op         9834520 B/op     214931 allocs/op
@prologic That is strange.. i wonder if there is another change that is causing it. Benchmarks are thinking the other way :|


BenchmarkAll/retwt-16                  1        4940172200 ns/op       587319376 B/op    2587159 allocs/op
BenchmarkAll/lextwt-16                 1         775764020 ns/op         9223088 B/op     197557 allocs/op
BenchmarkParse/retwt-16                1         591158277 ns/op        67539096 B/op     230841 allocs/op
BenchmarkParse/lextwt-16               1         716961837 ns/op         5450448 B/op     130290 allocs/op
BenchmarkOutput/retwt-html-16          1        8358103017 ns/op       918709168 B/op    4692292 allocs/op
BenchmarkOutput/lextwt-html-16         1         822033267 ns/op        14280112 B/op     261795 allocs/op
BenchmarkOutput/retwt-markdown-16      1        8114225415 ns/op       929928384 B/op    4693004 allocs/op
BenchmarkOutput/lextwt-markdown-16     1         806554306 ns/op        14332608 B/op     270905 allocs/op
BenchmarkOutput/retwt-text-16          1        8098215897 ns/op       923862192 B/op    4684739 allocs/op
BenchmarkOutput/lextwt-text-16         1         745064673 ns/op        12689784 B/op     252476 allocs/op
BenchmarkOutput/retwt-literal-16       1        4068799822 ns/op       409517880 B/op    2372471 allocs/op
BenchmarkOutput/lextwt-literal-16      1         754793627 ns/op         9834520 B/op     214931 allocs/op
@xuu @jlj @hxii only if you look at the raw text file https://0xff.nu/blog.txt
@xuu @jlj @hxii only if you look at the raw text file https://0xff.nu/blog.txt
@jlj oh dang the reply didnt add the reply. It was to @hxii because Firefox shows his shruggy like ¯\_(ツ)_/¯
@jlj oh dang the reply didnt add the reply. It was to @hxii because Firefox shows his shruggy like ¯\\_(ツ)_/¯
Are you able to coax your webserver to add the charset to the content type header? Browsers are having a hard time thinking you are sending latin-1

content-type: text/plain; charset=utf-8
@prologic @hxii I'm certain that it is a markdown thing. Its that way on other markdown sites like Reddit. Because the underline is being escaped to prevent the underline style. Gotta double it up ¯\\\\_(ツ)\\_/¯_
@prologic @hxii I'm certain that it is a markdown thing. Its that way on other markdown sites like Reddit. Because the underline is being escaped to prevent the underline style. Gotta double it up ¯\\_(ツ)\_/¯_
@hxii Recursion is the best recursion!
@hxii Recursion is the best recursion!
@xuu @hxii example: https://txt.sour.is/conv/ls4ef4a
@xuu @hxii example: https://txt.sour.is/conv/ls4ef4a
@hxii There is another twter that uses !<wikiword wikiaddr> or !wikiword for their wiki intigrations.
@hxii There is another twter that uses !<wikiword wikiaddr> or !wikiword for their wiki intigrations.
@lyse @prologic @vain A penny saved is a penny depreciating at a rate of 1.4% per annum.
@lyse @prologic I think lex will do that too currently. Should be able to lock that down.
@lyse (#ezmdswq) Looks good for me!
@thewismit @prologic I too wonder about this.
@prologic @thewismit (#nicbdoq) possible, or a pod following any feeds it finds, if any one follows or not. So it has more twts cached
@prologic @thewismit (#nicbdoq) possible, or a pod following any feeds it finds, if any one follows or not. So it has more twts cached
@prologic (#ffxaisq) Should be ready to merge with lex as opt-in option. Need more eyes on it and some clean up.
@prologic (#ffxaisq) Should be ready to merge with lex as opt-in option. Need more eyes on it and some clean up.
@prologic @thewismit (#nicbdoq) Ya I get that error a lot. I mostly use the web on mobile as a result.
@prologic @thewismit (#nicbdoq) Ya I get that error a lot. I mostly use the web on mobile as a result.
@prologic i think i finally suss'd out my hash issue.. now to figure out why im losing avatars on restart.
@prologic i think i finally suss'd out my hash issue.. now to figure out why im losing avatars on restart.
@prologic @thewismit not sure.. im using Caddy instead of nginix
@prologic @thewismit not sure.. im using Caddy instead of nginix
@prologic lol.. sorry about the spam
@prologic lol.. sorry about the spam
@xuu @prologic (#6jkpxzq) hmm from what i can tell its parsing ok.. something got broken in the markdown conversion...
@xuu @prologic (#6jkpxzq) hmm from what i can tell its parsing ok.. something got broken in the markdown conversion...
@prologic @xuu (#6jkpxzq)
@prologic @xuu (#6jkpxzq)
@prologic hmm this line seems to be tricky to parse. will need to look into it.
@prologic hmm this line seems to be tricky to parse. will need to look into it.
@prologic test. Running new parser on txt.sour.is. :D
@prologic test. Running new parser on txt.sour.is. :D
@prologic that would be an interesting idea. I think your current spec of using an SMTP proto is probably best for DM.

but having a federation of IRC servers would be interesting for realtime twt propagation.
@prologic that would be an interesting idea. I think your current spec of using an SMTP proto is probably best for DM.

but having a federation of IRC servers would be interesting for realtime twt propagation.
@prologic the meta info on the top I added manually. it's following what I have seen from some other twtxt feeds. the new parser will read them.
@prologic the meta info on the top I added manually. it's following what I have seen from some other twtxt feeds. the new parser will read them.
@prologic Veri soon. I have a experimental runflag that I am just about to deploy to my node. I have a few show stoppers holding me back.
@prologic Veri soon. I have a experimental runflag that I am just about to deploy to my node. I have a few show stoppers holding me back.
Emoji nicks are no problem with lextwt. 😁
Emoji nicks are no problem with lextwt. 😁
@prologic sometimes I think it would be nice to have a XMPP instance. then I remember it's all XML and I think "nah."

I am constantly in awe that IRC remains the only realtime chat that isn't unnecessarily complex. name another that can run chatops bot with just nc and sh?
@prologic sometimes I think it would be nice to have a XMPP instance. then I remember it's all XML and I think "nah."

I am constantly in awe that IRC remains the only realtime chat that isn't unnecessarily complex. name another that can run chatops bot with just nc and sh?
@prologic @xuu Closer! Last bit to finish is a beast. FormatTwtFactory
@prologic @xuu Closer! Last bit to finish is a beast. FormatTwtFactory
@vain @lyse @prologic Nope.. i have updated my gist to include the feeds listing. feeds.txt
@vain @lyse @prologic Nope.. i have updated my gist to include the feeds listing. feeds.txt
@prologic that seems to match my numbers. are you picking up the few gophers out there?

kinda makes me wonder about the ~300k you have cached. y'all got the library of alexandria over there.~
@prologic that seems to match my numbers. are you picking up the few gophers out there?

kinda makes me wonder about the ~300k you have cached. y'all got the library of alexandria over there.~