# 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 60515
# self = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=60215
# next = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=60315
# prev = https://watcher.sour.is?uri=https://twtxt.net/user/prologic/twtxt.txt&offset=60115
@bender Same size they always were.
@bender Hmmm I can't figure out how you did this 🀣
Or like this?
Like this? In the post box at the bottom?
@bender Did you mean to mention me? 🧐
@aelaraji Cool! 😎
@bendereapl.me@eapl.me A few years ago or decades ago? 🀣
@bender Well done πŸ‘
I _believe_ the bug has been fixed πŸ₯³
@abucci Apologies, the basic summary is as follows:

- Decided to rewrite the cache backend.
- It will now be a SQLite backend going forward.
- I'm planning on no data migration.
@david yeah @movq and I discovered its a bug in lextwt last night 😒 We'll fix it as soon as @xuu can 🀣
Anyway. this was a good use for search btw. I couldn't find my Twt, so I just quickly searched for it, snap, bingo I found it in a snap! 🫰
@bender Oh fuck you're absolutely right!!! 🀣 I only posted this 13h ago πŸ€¦β€β™‚οΈ
ping? πŸ“
@aelaraji Yeah I'm in the process of rewriting (_incrementally_) the cache storage backend. It's now been live for at least a week now and pagination and peering are the last things left to do 🀞
@bender Cute cat 🐱
@aelaraji Ahh this is coming back 403 Forbidden here btw πŸ˜…
@aelaraji Picture where? πŸ€”
@kate No worries πŸ˜‰
Yes you were right. It was technically a failure. It is very difficult to reconcile the differences between a distributed network and one that's truly decentralized.
@kate it will if we continue to support the community on the ecosystem 🀣
@kate @eldersnake @abucci -- I've already spoken to @xuu on IRC about this, but the new SqliteCache backend I'm working on here, what are your thoughts regarding mgirations from old MemoryCache (_which is now gone in the codebase in this branch_). Do you care to migrate at all, or just let the pod re-fetch all feeds? πŸ€”
@lyse I _think_ we found a bug in the lextwt parser actually πŸ˜…
@lyse @movq I mean I have a camper trailer here out the front so we probably have plenty of room for a Yarn party in real life 🀣
@lyse Actually @kate it is just Profile (_top right_) and then Muted.
@lyse Also very nice! Mf favourite has to be this one πŸ‘Œ
@thecanine I mean I can restore whatever anyone likes, the problem is the last backup I took was 4 months ago 😭 So I decided to start over (_from scratch_). Just let me know what you want and I'll do it! I used the 4-month old backup to restore your account (_by hand_) and avatar at least 🀣
@thecanine I'm so sorry I fucked things up πŸ₯² I hope you can trust I'll try to do a better job of backups and data going forward πŸ€—
OH wait! 😳 Why am I storing the timestamp as created = 2025-04-07T19:59:51Z ?! 😱 @movq's feed shows:


2025-04-07T19:59:51+00:00	I wonder if my current Linux installation will actually make it to 20 years:

    $ head -n 1 /var/log/pacman.log
    [2011-07-07 11:19] installed filesystem (2011.04-1)

It’s not toooo far into the future.

It would be crazy … 20 years without reinstalling once … phew. πŸ₯΄


Hmmmm
I'm so confused. None of this code has changed in yarnd at all. Hmmm πŸ€”
@movq Not according to the output of ./yarnc debug <your feed url>:


znf6csa 2025-04-07T19:59:51+00:00	I wonder if my current Linux installation will actually make it to 20 years:

    $ head -n 1 /var/log/pacman.log
    [2011-07-07 11:19] installed filesystem (2011.04-1)

It’s not toooo far into the future.

It would be crazy … 20 years without reinstalling once … phew. πŸ₯΄
Doesn't look like it Hmmm


sqlite> select * from twts where content LIKE '%Linux installation%';
    hash = znf6csa
feed_url = https://www.uninformativ.de/twtxt.txt
 content = I wonder if my current Linux installation will actually make it to 20 years:

    $ head -n 1 /var/log/pacman.log
    [2011-07-07 11:19] installed filesystem (2011.04-1)

It’s not toooo far into the future.

It would be crazy … 20 years without reinstalling once … phew. πŸ₯΄
 created = 2025-04-07T19:59:51Z
 subject = (#znf6csa)
mentions = []
    tags = []
   links = []
I'm thinking you _may_ have edited. Lemme check actually... yarnd (_on this branch_) will now restore every version, and maybe I _might_ have introduced a bit of a weird behavior there. One moment...
@movq Apparently you wrote it :D The hash doesn't lie? 🀣 https://twtxt.net/twt/znf6csa
@movq I don't think so? Why? πŸ€”
πŸ“£ I'm going to try and restore a few accounts tonight 🀞
@andros Looking πŸ‘€ Thanks! πŸ™
@kate Fair enough! πŸ˜‚ Also a good approach, change the environment 🀣
@bender Ack πŸ™‡β€β™‚οΈ
@movq Good luck 🀞
@movq All lies 🀣
Definitely open to taking on users πŸ‘ŒI only have open registrations turned off because of spam accounts and my pod being the most popular amongst spammers 🀣
Fuck
Got anywhere in mind? 🧐
@xuueapl.me@eapl.me This is actually pretty cool 😎
Can you confirm the fix temporarily in browser before I make the CSS change? I'm rubbish at CSS 🀣
Ahhh! It's all Soren's fault 🀣


commit ea9eaaf3d3977701dcb84b927c77c4f921bdbf43
Author: sorenpeter <sorenpeter@noreply@mills.io>
Date:   Sat Sep 24 23:34:07 2022 +0000

    Replacing Pico.css with Simple.css (#990)

    Replacing pico.css with simple.css along with some small UI changes
@bender Didn't we fix this ages ago?! πŸ€¦β€β™‚οΈ
@bender Fair enough πŸ‘Œ
@bender It does right 🀣 (_no highlights though, will have to figure out how I refactor the display code to support that_)
Search syntax appears to be:


hello
"hello world"
hello AND world
hello OR world
hello NOT world
"this is a phrase"
@lyse I'm open to other suggestions 🀣 But _hopefully_ both adding the additional prompt, not allowing it to enter shell history and removing from my shell history prevents me from doing such silly things in haste by pressing ^R and using fuzzy search which if you type fast you sometimes get wrong πŸ˜‘
I had a day like that just today, in fact I've had one of those weeks, actually no wait, I've had one of those months! 🀯
FYI: I've re-opened up search for anonymous use. So things like this now work without having to have an account on this pod or login. πŸ‘Œ #search #twtxt
Fixed.
Confirmed. Fix inbound.
Is it just me or is there a display bug for "Yarn"(s) that are duplicating the root twt? πŸ€”
This is an example of what I _believe_ every SRE should master and whatever Post Incident Review (PIR) _should_ focus on. Where did the system fail. What are the missing or incomplete Safety Controls.
Then I cleaned up my shell history of all of the invocations I ever made of dkv rm ... to make sure I never ever have this so easily accessible in my shell history (^R):


$ awk '
  /^#/ { ts = $0; next }
  /^dkv rm/ { next }
  { if (ts) print ts; ts=""; print }
' ~/.bash_history > ~/.bash_history.tmp && mv ~/.bash_history.tmp ~/.bash_history && history -r
So I re-write this shell alias that I used all the time alias dkv="docker rm" to be a much safer shell function:


dkv() {
  if [[ "$1" == "rm" && -n "$2" ]]; then
    read -r -p "Are you sure you want to delete volume '$2'? [Y/n] " confirm
    confirm=${confirm:-Y}
    if [[ "$confirm" =~ ^[Yy]$ ]]; then
      # Disable history
      set +o history

      # Delete the volume
      docker volume rm "$2"

      # Re-enable history
      set -o history
    else
      echo "Aborted."
    fi
  else
    docker volume "$@"
  fi
}
This weekend (_as some of you may now_) I accidently nuke this Pod's entire data volume πŸ€¦β€β™‚οΈ What a disastrous incident 🀣 I decided instead of trying to restore from a 4-month old backup (_we'll get into why I hadn't been taking backups consistently later_), that we'd start a fresh! πŸ˜… Spring clean! 🧼 -- Anyway... One of the things I realised was I was missing a very critical Safety Controls in my own ways of working... I've now rectified this...
@bender Please remind me to fix this after I'm done with this cachet branch and it's merged 🀞
Okay that's a bug πŸ˜†
Does mentioning @prologicdoesnm.p.psf.lt not work? 🧐
@bender I know! πŸ˜‚ Thankfully I think I fixed most problematic bugs 🀞
@movq Just keep them for a while.
@bender Whoohoo! πŸ₯³
@lyse Very nice 😊
@lyse Haha yeah 🀣 And thanks I'll take a look but honestly it'll be fine πŸ˜†
@movq Nah it's okay 🀣 It would only be a partial restore anyway 😭
I need to get Peering working again on this branch! That will drag in many Twts Twts I now no longer have 😭
At least I've fixed many bugs with the new SQLiteCache 🀣
@aelaraji Sounds cool! 😎
@movq We'll recover just fine right ? πŸ˜† It's only 4 months worth of posts πŸ˜… Not like it's the end of the world πŸ˜‚
Oh well, let's just start over! 🀣
Oh well. I've gone and done it again! This time I've lost 4 months of data because for some reason I've been busy and haven't been taking backups of all the things I should be?! πŸ€” Farrrrk 🀬
FindTwter fixed
Mentions view fixed
@aelaraji That's pretty cool! 😎
@bender As you know it's very hard to have consistency in decentralised system. Not as hard in a distributed system, and easy in a centralised one haha 🀣
@bender Working?
@bender Testing forking?
@bender C'
B
A
@bender What do you mean? The way things are written hopefully hasn't changed at all 🀞
Works okay hmmm what's up?
@bender Like this?
woot fixed edits and deletes 🀣 Okay okay g'night (_fer realz now!_) 😴
One more update 🀣
@bender Okay πŸ‘
if someone can help me create a list of things that are either not working or behaving in an unexpected/indescribable way, please list them, in some order of priority, and I'll focus on fixing them tomorrow. G'night! 😴 (_leaving this pod on the highly experimental SqliteCache backend_)
I think yes
Do I add a function to delete a Twt if it was an Edit/Delete from the user?
Because this cache behaves very differently compared to the old cache. Feeds are never overwritten like they used to!
Fuck! 🀣 Yes this makes sense! Now you'll see edits too 😱
Wait...
Confirmed fix πŸ₯³
EDIT: Testing a fucked typo if I can
@bender Soonβ„’ πŸ”œ