# 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 1328
# self = https://watcher.sour.is?uri=https://txt.sour.is/user/xuu/twtxt.txt&offset=319
# next = https://watcher.sour.is?uri=https://txt.sour.is/user/xuu/twtxt.txt&offset=419
# prev = https://watcher.sour.is?uri=https://txt.sour.is/user/xuu/twtxt.txt&offset=219
@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. \n\nThe 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.
@vain I have seen it pop up on a few feeds around and adopted it into the new parser I built. \n\nThe format I have followed has been '# ' :whitespace: :key-name: '=' :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. \n\nThe format I have followed has been '# ' :whitespace: '=' :whitespace: :text-before-newline: 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
@prologic I know! it has 55 new emoji!! \\u1F90C
@prologic I know! it has 55 new emoji!! \u1F90C
@prologic I know! it has 55 new emoji!! \\x1F90C
@prologic I know! it has 55 new emoji!!
Hmm on mobile it shows as the text :poop: and not 💩\n\nMaybe 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?
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\n\nhttps://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
@xuu @prologic @thewismit ah.. probably a bug with the re parser. looks like i can do it without the <>'s with lex\n\nhttps://fosstodon.org/@/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
@thewismit @prologic Yo. wrap that naked link in some brackets 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. \n\nKristall for OS X\n\nElaho for iOS\n\nmore here\n\nthough 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 :|\n\n
\nBenchmarkAll/retwt-16                  1        4940172200 ns/op       587319376 B/op    2587159 allocs/op\nBenchmarkAll/lextwt-16                 1         775764020 ns/op         9223088 B/op     197557 allocs/op\nBenchmarkParse/retwt-16                1         591158277 ns/op        67539096 B/op     230841 allocs/op\nBenchmarkParse/lextwt-16               1         716961837 ns/op         5450448 B/op     130290 allocs/op\nBenchmarkOutput/retwt-html-16          1        8358103017 ns/op       918709168 B/op    4692292 allocs/op\nBenchmarkOutput/lextwt-html-16         1         822033267 ns/op        14280112 B/op     261795 allocs/op\nBenchmarkOutput/retwt-markdown-16      1        8114225415 ns/op       929928384 B/op    4693004 allocs/op\nBenchmarkOutput/lextwt-markdown-16     1         806554306 ns/op        14332608 B/op     270905 allocs/op\nBenchmarkOutput/retwt-text-16          1        8098215897 ns/op       923862192 B/op    4684739 allocs/op\nBenchmarkOutput/lextwt-text-16         1         745064673 ns/op        12689784 B/op     252476 allocs/op\nBenchmarkOutput/retwt-literal-16       1        4068799822 ns/op       409517880 B/op    2372471 allocs/op\nBenchmarkOutput/lextwt-literal-16      1         754793627 ns/op         9834520 B/op     214931 allocs/op\n
@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 ¯\\_(ツ)_/¯
@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
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 \n\ncontent-type: text/plain; charset=utf-8
Are you able to coax your webserver to add the charset to the content encoding header? Browsers are having a hard time thinking you are sending latin-1 \n\ncontent-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 ¯\\_(ツ)\_/¯_
@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 ¯\\_(ツ)\_/¯_
@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.
@hxii hi i am replying to test something
@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 that would be an interesting idea. I think your current spec of using an SMTP proto is probably best for DM. \n\nbut 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."\n\nI 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