🧮 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.
🧮 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
🧮 USERS:1 FEEDS:2 TWTS:562 ARCHIVED:63431 CACHE:2189 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:561 ARCHIVED:63420 CACHE:2186 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:560 ARCHIVED:63371 CACHE:2183 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:559 ARCHIVED:63350 CACHE:2185 FOLLOWERS:13 FOLLOWING:14
@funbreaker@yn.vern.cc Hi! I have attached the current screenshot, as you see it’s not done yet, I need to add some things, but a lot of work is already done.
I will fix the remaining things and try to make it usable enough this week so that I can upload the source.
Need to add the remaining reply button, image loading and width of the text etc first.
I had that in the FLTK client, so I just need to add it to this new GTK gui.
Here is what I had with FLTK
https://yarn.stigatle.no/twt/4nuoc7q
I did not have time to work on those things today, ran out of time. But I’ll resume tomorrow.
🧮 USERS:1 FEEDS:2 TWTS:558 ARCHIVED:63340 CACHE:2188 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:557 ARCHIVED:63326 CACHE:2175 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:556 ARCHIVED:63317 CACHE:2167 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:555 ARCHIVED:63310 CACHE:2162 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:554 ARCHIVED:63292 CACHE:2155 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:553 ARCHIVED:63280 CACHE:2150 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:552 ARCHIVED:63138 CACHE:2177 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:551 ARCHIVED:63130 CACHE:2170 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:550 ARCHIVED:63092 CACHE:2142 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:549 ARCHIVED:63043 CACHE:2179 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:548 ARCHIVED:63034 CACHE:2192 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:547 ARCHIVED:63013 CACHE:2195 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:546 ARCHIVED:63000 CACHE:2236 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:545 ARCHIVED:62992 CACHE:2275 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:544 ARCHIVED:62990 CACHE:2275 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:543 ARCHIVED:62969 CACHE:2272 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:542 ARCHIVED:62959 CACHE:2270 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:541 ARCHIVED:62952 CACHE:2275 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:540 ARCHIVED:62940 CACHE:2275 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:539 ARCHIVED:62929 CACHE:2275 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:538 ARCHIVED:62902 CACHE:2274 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:537 ARCHIVED:62882 CACHE:2274 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:536 ARCHIVED:62826 CACHE:2266 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:535 ARCHIVED:62788 CACHE:2265 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:534 ARCHIVED:62776 CACHE:2263 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:533 ARCHIVED:62758 CACHE:2261 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:532 ARCHIVED:62741 CACHE:2262 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:531 ARCHIVED:62700 CACHE:2258 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:530 ARCHIVED:62658 CACHE:2248 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:529 ARCHIVED:62620 CACHE:2229 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:528 ARCHIVED:62588 CACHE:2219 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:527 ARCHIVED:62577 CACHE:2229 FOLLOWERS:13 FOLLOWING:14
🧮 USERS:1 FEEDS:2 TWTS:526 ARCHIVED:62564 CACHE:2235 FOLLOWERS:13 FOLLOWING:14