🧮 USERS:1 FEEDS:2 TWTS:657 ARCHIVED:65390 CACHE:2180 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:656 ARCHIVED:65379 CACHE:2194 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:655 ARCHIVED:65372 CACHE:2206 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:654 ARCHIVED:65370 CACHE:2207 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:653 ARCHIVED:65362 CACHE:2203 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:652 ARCHIVED:65338 CACHE:2186 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:651 ARCHIVED:65333 CACHE:2182 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:650 ARCHIVED:65326 CACHE:2184 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:649 ARCHIVED:65320 CACHE:2196 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:648 ARCHIVED:65314 CACHE:2192 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:647 ARCHIVED:65298 CACHE:2185 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:646 ARCHIVED:65287 CACHE:2179 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:645 ARCHIVED:65271 CACHE:2174 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:644 ARCHIVED:65253 CACHE:2180 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:643 ARCHIVED:65245 CACHE:2176 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:642 ARCHIVED:65237 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:641 ARCHIVED:65231 CACHE:2185 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:640 ARCHIVED:65224 CACHE:2188 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:639 ARCHIVED:65217 CACHE:2196 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:638 ARCHIVED:65211 CACHE:2192 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:637 ARCHIVED:65193 CACHE:2185 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:636 ARCHIVED:65185 CACHE:2186 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:635 ARCHIVED:65166 CACHE:2175 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:634 ARCHIVED:65152 CACHE:2171 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:633 ARCHIVED:65140 CACHE:2170 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:632 ARCHIVED:65137 CACHE:2169 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:631 ARCHIVED:65030 CACHE:2166 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:630 ARCHIVED:64978 CACHE:2170 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:629 ARCHIVED:64967 CACHE:2182 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:628 ARCHIVED:64953 CACHE:2190 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:627 ARCHIVED:64847 CACHE:2191 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:626 ARCHIVED:64842 CACHE:2188 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:625 ARCHIVED:64830 CACHE:2191 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:624 ARCHIVED:64823 CACHE:2191 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:623 ARCHIVED:64818 CACHE:2204 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:622 ARCHIVED:64811 CACHE:2208 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:621 ARCHIVED:64807 CACHE:2206 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:620 ARCHIVED:64780 CACHE:2187 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:619 ARCHIVED:64738 CACHE:2168 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:618 ARCHIVED:64733 CACHE:2168 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:617 ARCHIVED:64720 CACHE:2162 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:616 ARCHIVED:64713 CACHE:2163 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:615 ARCHIVED:64701 CACHE:2156 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:614 ARCHIVED:64689 CACHE:2147 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:613 ARCHIVED:64667 CACHE:2129 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:612 ARCHIVED:64655 CACHE:2123 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:611 ARCHIVED:64646 CACHE:2119 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:610 ARCHIVED:64510 CACHE:2114 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:609 ARCHIVED:64503 CACHE:2120 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:608 ARCHIVED:64494 CACHE:2122 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:607 ARCHIVED:64488 CACHE:2117 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:606 ARCHIVED:64477 CACHE:2165 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:605 ARCHIVED:64476 CACHE:2165 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:604 ARCHIVED:64470 CACHE:2169 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:603 ARCHIVED:64467 CACHE:2167 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:602 ARCHIVED:64461 CACHE:2165 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:601 ARCHIVED:64457 CACHE:2184 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:600 ARCHIVED:64316 CACHE:2206 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:599 ARCHIVED:64309 CACHE:2204 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:598 ARCHIVED:64300 CACHE:2205 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:597 ARCHIVED:64064 CACHE:2198 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:596 ARCHIVED:64054 CACHE:2198 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:595 ARCHIVED:64042 CACHE:2192 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:594 ARCHIVED:64020 CACHE:2189 FOLLOWERS:13 FOLLOWING:14
@rebelljoe@twt.nfld.uk now that is cool 😁
I still have the email, and I still appreciate the gesture :)
🧮 USERS:1 FEEDS:2 TWTS:593 ARCHIVED:64015 CACHE:2189 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:592 ARCHIVED:64007 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:591 ARCHIVED:63989 CACHE:2182 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:590 ARCHIVED:63977 CACHE:2176 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:589 ARCHIVED:63935 CACHE:2156 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:588 ARCHIVED:63927 CACHE:2171 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:587 ARCHIVED:63841 CACHE:2171 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:586 ARCHIVED:63831 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:585 ARCHIVED:63825 CACHE:2185 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:584 ARCHIVED:63810 CACHE:2195 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:583 ARCHIVED:63800 CACHE:2218 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:582 ARCHIVED:63798 CACHE:2221 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:581 ARCHIVED:63785 CACHE:2258 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:580 ARCHIVED:63776 CACHE:2257 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:579 ARCHIVED:63753 CACHE:2257 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:578 ARCHIVED:63738 CACHE:2252 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:577 ARCHIVED:63725 CACHE:2253 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:576 ARCHIVED:63695 CACHE:2236 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:575 ARCHIVED:63676 CACHE:2225 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:574 ARCHIVED:63652 CACHE:2218 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:573 ARCHIVED:63631 CACHE:2212 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:572 ARCHIVED:63610 CACHE:2206 FOLLOWERS:13 FOLLOWING:14
I’m not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
I’m not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
🧮 USERS:1 FEEDS:2 TWTS:571 ARCHIVED:63568 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:570 ARCHIVED:63537 CACHE:2200 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:569 ARCHIVED:63530 CACHE:2208 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:568 ARCHIVED:63527 CACHE:2215 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:567 ARCHIVED:63500 CACHE:2211 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:566 ARCHIVED:63493 CACHE:2207 FOLLOWERS:13 FOLLOWING:14
I played around with parsers. This time I experimented with parser combinators for twt message text tokenization. Basically, extract mentions, subjects, URLs, media and regular text. It’s kinda nice, although my solution is not completely elegant, I have to say. Especially my communication protocol between different steps for intermediate results is really ugly. Not sure about performance, I reckon a hand-written state machine parser would be quite a bit faster. I need to write a second parser and then benchmark them.
lexer.go and newparser.go resemble the parser combinators: https://git.isobeef.org/lyse/tt2/-/commit/4d481acad0213771fe5804917576388f51c340c0 It’s far from finished yet.
The first attempt in parser.go doesn’t work as my backtracking is not accounted for, I noticed only later, that I have to do that. With twt message texts there is no real error in parsing. Just regular text as a “fallback”. So it works a bit differently than parsing a real language. No error reporting required, except maybe for debugging. My goal was to port my Python code as closely as possible. But then the runes in the string gave me a bit of a headache, so I thought I just build myself a nice reader abstraction. When I noticed the missing backtracking, I then decided to give parser combinators a try instead of improving on my look ahead reader. It only later occurred to me, that I could have just used a rune slice instead of a string. With that, porting the Python code should have been straightforward.
Yeah, all this doesn’t probably make sense, unless you look at the code. And even then, you have to learn the ropes a bit. Sorry for the noise. :-)
@jlj@twt.nfld.uk Very grateful for the 5€/month donation, it’s paying my backup server Intel ATOM N2800 Kimsufi dedicated server. It’s running DragonflyBSD! :D
🧮 USERS:1 FEEDS:2 TWTS:565 ARCHIVED:63479 CACHE:2199 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:564 ARCHIVED:63474 CACHE:2199 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:563 ARCHIVED:63447 CACHE:2193 FOLLOWERS:13 FOLLOWING:14