# 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 1466
# self = https://watcher.sour.is?uri=https://aelaraji.com/twtxt.txt&offset=966
# next = https://watcher.sour.is?uri=https://aelaraji.com/twtxt.txt&offset=1066
# prev = https://watcher.sour.is?uri=https://aelaraji.com/twtxt.txt&offset=866
@lyse AWESOME! it'll definitely come up handy... πŸ™
@lyse AWESOME! it'll definitely come up handy... πŸ™
@lyse AWESOME! it'll definitely come up handy... πŸ™
@bender Glad you could find it useful ... as for like I'm glad they're not a thing here xD otherwise we wouldn't be having as much conversations going on in here. but I get it, and do appreciate it. πŸ™
@bender Glad you could find it useful ... as for like I'm glad they're not a thing here xD otherwise we wouldn't be having as much conversations going on in here. but I get it, and do appreciate it. πŸ™
@bender Glad you could find it useful ... as for like I'm glad they're not a thing here xD otherwise we wouldn't be having as much conversations going on in here. but I get it, and do appreciate it. πŸ™
@bender Gave it a try on Termux same thing @doesnm uses and it worked πŸ‘
@bender Gave it a try on Termux same thing @doesnm uses and it worked πŸ‘
@bender Gave it a try on Termux same thing @doesnm uses and it worked πŸ‘
@bender here:

e
FROM golang:alpine as builder
ARG version
ENV HTWTXT_VERSION=$version

WORKDIR $GOPATH/pkg/

RUN wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/${HTWTXT_VERSION}.tar.gz
RUN tar xf htwtxt.tar.gz && cd htwtxt-${HTWTXT_VERSION} && go mod init htwtxt && go mod tidy && go install htwtxt

FROM alpine
ARG version
ENV HTWTXT_VERSION=$version

RUN mkdir -p /srv/htwtxt
COPY --from=builder /go/bin/htwtxt /usr/bin/
COPY --from=builder /go/pkg/htwtxt-${HTWTXT_VERSION}/templates/* /srv/htwtxt/templates/
WORKDIR /srv/htwtxt
VOLUME /srv/htwtxt

EXPOSE 8000

ENTRYPOINT ["htwtxt", "-dir", "/srv/htwtxt", "-templates", "/srv/htwtxt/templates"]


Don't forget the --build-arg version="1.0.7" for example when building this one, although there isn't much difference between the couple last versions.
P.S: I may have effed up changing htwtxt's files directory to /srv/htwtxt when the command itself defaults to /root/htwtxt so you'll have to throw in a -dir whenever you issue an htwtxt command (i.e: htwtxt -adduser somename:somepwd -dir /srv/htwtxt ... etc)
@bender here:

e
FROM golang:alpine as builder
ARG version
ENV HTWTXT_VERSION=$version

WORKDIR $GOPATH/pkg/

RUN wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/${HTWTXT_VERSION}.tar.gz
RUN tar xf htwtxt.tar.gz && cd htwtxt-${HTWTXT_VERSION} && go mod init htwtxt && go mod tidy && go install htwtxt

FROM alpine
ARG version
ENV HTWTXT_VERSION=$version

RUN mkdir -p /srv/htwtxt
COPY --from=builder /go/bin/htwtxt /usr/bin/
COPY --from=builder /go/pkg/htwtxt-${HTWTXT_VERSION}/templates/* /srv/htwtxt/templates/
WORKDIR /srv/htwtxt
VOLUME /srv/htwtxt

EXPOSE 8000

ENTRYPOINT ["htwtxt", "-dir", "/srv/htwtxt", "-templates", "/srv/htwtxt/templates"]


Don't forget the --build-arg version="1.0.7" for example when building this one, although there isn't much difference between the couple last versions.
P.S: I may have effed up changing htwtxt's files directory to /srv/htwtxt when the command itself defaults to /root/htwtxt so you'll have to throw in a -dir whenever you issue an htwtxt command (i.e: htwtxt -adduser somename:somepwd -dir /srv/htwtxt ... etc)
@bender here:

e
FROM golang:alpine as builder
ARG version
ENV HTWTXT_VERSION=$version

WORKDIR $GOPATH/pkg/

RUN wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/${HTWTXT_VERSION}.tar.gz
RUN tar xf htwtxt.tar.gz && cd htwtxt-${HTWTXT_VERSION} && go mod init htwtxt && go mod tidy && go install htwtxt

FROM alpine
ARG version
ENV HTWTXT_VERSION=$version

RUN mkdir -p /srv/htwtxt
COPY --from=builder /go/bin/htwtxt /usr/bin/
COPY --from=builder /go/pkg/htwtxt-${HTWTXT_VERSION}/templates/* /srv/htwtxt/templates/
WORKDIR /srv/htwtxt
VOLUME /srv/htwtxt

EXPOSE 8000

ENTRYPOINT ["htwtxt", "-dir", "/srv/htwtxt", "-templates", "/srv/htwtxt/templates"]


Don't forget the --build-arg version="1.0.7" for example when building this one, although there isn't much difference between the couple last versions.
P.S: I may have effed up changing htwtxt's files directory to /srv/htwtxt when the command itself defaults to /root/htwtxt so you'll have to throw in a -dir whenever you issue an htwtxt command (i.e: htwtxt -adduser somename:somepwd -dir /srv/htwtxt ... etc)
P.S:

h
~/remote/htwtxt Β» podman image list htwtxt                                                                                the@wks
REPOSITORY                TAG           IMAGE ID      CREATED      SIZE
localhost/htwtxt          1.0.5-alpine  13610a37e347  3 hours ago  20.1 MB
localhost/htwtxt          1.0.7-alpine  2a5c560ee6b7  3 hours ago  20.1 MB
docker.io/buckket/htwtxt  latest        c0e33b2913c6  8 years ago  778 MB
P.S:

h
~/remote/htwtxt Β» podman image list htwtxt                                                                                the@wks
REPOSITORY                TAG           IMAGE ID      CREATED      SIZE
localhost/htwtxt          1.0.5-alpine  13610a37e347  3 hours ago  20.1 MB
localhost/htwtxt          1.0.7-alpine  2a5c560ee6b7  3 hours ago  20.1 MB
docker.io/buckket/htwtxt  latest        c0e33b2913c6  8 years ago  778 MB
P.S:

h
~/remote/htwtxt Β» podman image list htwtxt                                                                                the@wks
REPOSITORY                TAG           IMAGE ID      CREATED      SIZE
localhost/htwtxt          1.0.5-alpine  13610a37e347  3 hours ago  20.1 MB
localhost/htwtxt          1.0.7-alpine  2a5c560ee6b7  3 hours ago  20.1 MB
docker.io/buckket/htwtxt  latest        c0e33b2913c6  8 years ago  778 MB
@bender I built my own, a much smaller one with a multi stage build... shouldn't that do the trick? πŸ€”
@bender I built my own, a much smaller one with a multi stage build... shouldn't that do the trick? πŸ€”
@bender I built my own, a much smaller one with a multi stage build... shouldn't that do the trick? πŸ€”
@doesnm I tried to go install github.com/plomlompom/htwtxt@1.0.7 as well as

h
# this is snippet from what I used for the Dockerfile but I guess it should work just fine.
cd ~/go/pkg && wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/1.0.7.tar.gz 
tar xf htwtxt.tar.gz && cd htwtxt-1.0.7 && go mod init htwtxt && go mod tidy && go install htwtxt


both worked just fine...
@doesnm I tried to go install github.com/plomlompom/htwtxt@1.0.7 as well as

h
# this is snippet from what I used for the Dockerfile but I guess it should work just fine.
cd ~/go/pkg && wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/1.0.7.tar.gz 
tar xf htwtxt.tar.gz && cd htwtxt-1.0.7 && go mod init htwtxt && go mod tidy && go install htwtxt


both worked just fine...
@doesnm I tried to go install github.com/plomlompom/htwtxt@1.0.7 as well as

h
# this is snippet from what I used for the Dockerfile but I guess it should work just fine.
cd ~/go/pkg && wget -O htwtxt.tar.gz https://github.com/plomlompom/htwtxt/archive/refs/tags/1.0.7.tar.gz 
tar xf htwtxt.tar.gz && cd htwtxt-1.0.7 && go mod init htwtxt && go mod tidy && go install htwtxt


both worked just fine...
@bender here... Enjoy 🦊🧑 πŸ˜‚
@bender here... Enjoy 🦊🧑 πŸ˜‚
@bender here... Enjoy 🦊🧑 πŸ˜‚
@movq been getting so sloppy my feed is slowly turning into a fox nursery, I might end up renaming it into nature-reserve.txt
@movq been getting so sloppy my feed is slowly turning into a fox nursery, I might end up renaming it into nature-reserve.txt
@movq been getting so sloppy my feed is slowly turning into a fox nursery, I might end up renaming it into nature-reserve.txt
@bender highly probably, unless I learn go and implement it myself (or someone else more capable does) ... but I'm so lazy I'd just copy them from twtxt.net and call it a day xD and yeah, it's kinda rough the way things are...

- I don't see a way to follow others, all I can do is go to the /feeds URI for a list of the server's users/feeds.
- I still couldn't figure out how to get a direct link to a user's twtxt file, curling /feeds/usernick spits out a list of the user usernick twts, so I guess you could use that to follow them.
- no way to add in your # nick = usernick / # url = proto://domain.ltd/path/to/twtxt.txt ...etc. Probably because that wasn't part of the spec back then?

So yeah, it would make for a nice project while learning Go. :P
@bender highly probably, unless I learn go and implement it myself (or someone else more capable does) ... but I'm so lazy I'd just copy them from twtxt.net and call it a day xD and yeah, it's kinda rough the way things are...

- I don't see a way to follow others, all I can do is go to the /feeds URI for a list of the server's users/feeds.
- I still couldn't figure out how to get a direct link to a user's twtxt file, curling /feeds/usernick spits out a list of the user usernick twts, so I guess you could use that to follow them.
- no way to add in your # nick = usernick / # url = proto://domain.ltd/path/to/twtxt.txt ...etc. Probably because that wasn't part of the spec back then?

So yeah, it would make for a nice project while learning Go. :P
@bender highly probably, unless I learn go and implement it myself (or someone else more capable does) ... but I'm so lazy I'd just copy them from twtxt.net and call it a day xD and yeah, it's kinda rough the way things are...

- I don't see a way to follow others, all I can do is go to the /feeds URI for a list of the server's users/feeds.
- I still couldn't figure out how to get a direct link to a user's twtxt file, curling /feeds/usernick spits out a list of the user usernick twts, so I guess you could use that to follow them.
- no way to add in your # nick = usernick / # url = proto://domain.ltd/path/to/twtxt.txt ...etc. Probably because that wasn't part of the spec back then?

So yeah, it would make for a nice project while learning Go. :P
@bender Yep! Twtxt spec by the letter I guess πŸ₯²
@bender Yep! Twtxt spec by the letter I guess πŸ₯²
@bender Yep! Twtxt spec by the letter I guess πŸ₯²
Ever made an Oopsie, fixed it then Fuxed it up all over again? That's clearly my queue to get AFK ... Have a good one TWTXT!
Ever made an Oopsie, fixed it then Fuxed it up all over again? That's clearly my queue to get AFK ... Have a good one TWTXT!
Ever made an Oopsie, fixed it then Fuxed it up all over again? That's clearly my queue to get AFK ... Have a good one TWTXT!
well... 🦊
well... 🦊
well... 🦊
I'm getting way too comfortable with editing twts and fixing Eff' ups... I gotta stop auto-syncing my twtxt file, at least I'll have a breathing room for quick fixes when needed. I know, Michael Lucas might not approve of this but, I wouldn't want the @yarn_police in the middle of the night, right?
I'm getting way too comfortable with editing twts and fixing Eff' ups... I gotta stop auto-syncing my twtxt file, at least I'll have a breathing room for quick fixes when needed. I know, Michael Lucas might not approve of this but, I wouldn't want the @yarn_police in the middle of the night, right?
I'm getting way too comfortable with editing twts and fixing Eff' ups... I gotta stop auto-syncing my twtxt file, at least I'll have a breathing room for quick fixes when needed. I know, Michael Lucas might not approve of this but, I wouldn't want the @yarn_police in the middle of the night, right?
Alright, I gave #htwtxt container a quick spin. The thing lives and feels dead simple, like, echo -e "`date -Im`\tHello world!" >> twtxt.txt kind of simple but with a GUI. and I LOVE IT! Now let's see if we can rebuild the image with the latest version of htwtxt.






Alright, I gave #htwtxt container a quick spin. The thing lives and feels dead simple, like, echo -e "`date -Im`\\tHello world!" >> twtxt.txt kind of simple but with a GUI. and I LOVE IT! Now let's see if we can rebuild the image with the latest version of htwtxt.






Alright, I gave #htwtxt container a quick spin. The thing lives and feels dead simple, like, echo -e "`date -Im`\tHello world!" >> twtxt.txt kind of simple but with a GUI. and I LOVE IT! Now let's see if we can rebuild the image with the latest version of htwtxt.






@bender + a 9 years old container image by the good ol' buckket himself ... not sure what to expect from that but will give it a quick spin and report back
@bender + a 9 years old container image by the good ol' buckket himself ... not sure what to expect from that but will give it a quick spin and report back
@bender + a 9 years old container image by the good ol' buckket himself ... not sure what to expect from that but will give it a quick spin and report back
@bender I kinda fixed it, but there's still a hell lot more than that still waiting to be fixed πŸ˜…
@bender I kinda fixed it, but there's still a hell lot more than that still waiting to be fixed πŸ˜…
@bender I kinda fixed it, but there's still a hell lot more than that still waiting to be fixed πŸ˜…
@bender Aye Aye, Captain 🫑
@bender Aye Aye, Captain 🫑
@bender Aye Aye, Captain 🫑
@bender πŸ˜† Would calling it a Single user Twtxt "Yarn Pod **Like**" software help you sleep better at night? And just in case things are not clear here, I'm being sarcastic (well, kinda...) and not trying to gaslight anyone. Think of my comment as Bromance or something like that LOL.

But seriously, Just like any UNIX-Like system to Unixβ„’, as in non of them are UNIXβ„’, but each of them is providing more or less similar experience and re-implementing what once was parts of "UNIXβ„’ software" their own (more or less better) ways. Timeline is Yarnβ„’ Pod like, (my personal take on the word pod is: "an instance of XYZ software acting an _escape POD_ from X-BS for... ABC reasons.") providing more or less of a similar experience, implementing some of Yarn.social Extensions, trying to add in some more ...etc.

Otherwise, I don't see the Yarn pod mention as some kind of malicious manoeuvre, but more of a tribute to what (might have) sparked inspiration for creating Timeline? Also, our friend @sorenpeter here has got a valid reason for using PHP (#tms7aka) so let's let's put our unease towards the language itself aside and maybe just help however/as much as we can in order to make internet (the World?) a better place.
@bender πŸ˜† Would calling it a Single user Twtxt "Yarn Pod **Like**" software help you sleep better at night? And just in case things are not clear here, I'm being sarcastic (well, kinda...) and not trying to gaslight anyone. Think of my comment as Bromance or something like that LOL.

But seriously, Just like any UNIX-Like system to Unixβ„’, as in non of them are UNIXβ„’, but each of them is providing more or less similar experience and re-implementing what once was parts of "UNIXβ„’ software" their own (more or less better) ways. Timeline is Yarnβ„’ Pod like, (my personal take on the word pod is: "an instance of XYZ software acting an _escape POD_ from X-BS for... ABC reasons.") providing more or less of a similar experience, implementing some of Yarn.social Extensions, trying to add in some more ...etc.

Otherwise, I don't see the Yarn pod mention as some kind of malicious manoeuvre, but more of a tribute to what (might have) sparked inspiration for creating Timeline? Also, our friend @sorenpeter here has got a valid reason for using PHP (#tms7aka) so let's let's put our unease towards the language itself aside and maybe just help however/as much as we can in order to make internet (the World?) a better place.
@bender πŸ˜† Would calling it a Single user Twtxt "Yarn Pod **Like**" software help you sleep better at night? And just in case things are not clear here, I'm being sarcastic (well, kinda...) and not trying to gaslight anyone. Think of my comment as Bromance or something like that LOL.

But seriously, Just like any UNIX-Like system to Unixβ„’, as in non of them are UNIXβ„’, but each of them is providing more or less similar experience and re-implementing what once was parts of "UNIXβ„’ software" their own (more or less better) ways. Timeline is Yarnβ„’ Pod like, (my personal take on the word pod is: "an instance of XYZ software acting an _escape POD_ from X-BS for... ABC reasons.") providing more or less of a similar experience, implementing some of Yarn.social Extensions, trying to add in some more ...etc.

Otherwise, I don't see the Yarn pod mention as some kind of malicious manoeuvre, but more of a tribute to what (might have) sparked inspiration for creating Timeline? Also, our friend @sorenpeter here has got a valid reason for using PHP (#tms7aka) so let's let's put our unease towards the language itself aside and maybe just help however/as much as we can in order to make internet (the World?) a better place.
Ok, I've restored the misplaced twts ... let's just hope I didn't make things worst xD
Ok, I've restored the misplaced twts ... let's just hope I didn't make things worst xD
Ok, I've restored the misplaced twts ... let's just hope I didn't make things worst xD
@bender ... a Twtxt Pod then 🀷
@bender ... a Twtxt Pod then 🀷
@bender ... a Twtxt Pod then 🀷
@bender Haha! I assume you can't see the original twt, let me quote for you so you know what I'm responding to:

> 2024-11-20T07:56:00-06:00 (#gjhq2xq) Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors https://eapl.me/timeline/ I should be sending a PR soon to fix it ;)
source: eaplme's twtxt file.
@bender Haha! I assume you can't see the original twt, let me quote for you so you know what I'm responding to:

> 2024-11-20T07:56:00-06:00 (#gjhq2xq) Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors https://eapl.me/timeline/ I should be sending a PR soon to fix it ;)
source: eaplme's twtxt file.
@bender Haha! I assume you can't see the original twt, let me quote for you so you know what I'm responding to:

> 2024-11-20T07:56:00-06:00 (#gjhq2xq) Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors https://eapl.me/timeline/ I should be sending a PR soon to fix it ;)
source: eaplme's twtxt file.
Also, it's running on a RPi and slow AF so, brace yourselves for them Server Timeouts πŸ˜…
Also, it's running on a RPi and slow AF so, brace yourselves for them Server Timeouts πŸ˜…
Also, it's running on a RPi and slow AF so, brace yourselves for them Server Timeouts πŸ˜…
I've just unlocked access to my /timeline if anyone has been trying to access it earlier.
I've just unlocked access to my /timeline if anyone has been trying to access it earlier.
I've just unlocked access to my /timeline if anyone has been trying to access it earlier.
@eapl.me adding public $timestamp; to the class Twt in libs/twtxt.php (line 25) fixed that for me but probably broken something else πŸ˜… ...
@eapl.me adding public $timestamp; to the class Twt in libs/twtxt.php (line 25) fixed that for me but probably broken something else πŸ˜… ...
@eapl.me adding public $timestamp; to the class Twt in libs/twtxt.php (line 25) fixed that for me but probably broken something else πŸ˜… ...
@bender @movq exactly! πŸ˜‚ I accidentally duplicated a twt and deleted it as fast as I can, hoping nobody pulled the feed by then.
@bender @movq exactly! πŸ˜‚ I accidentally duplicated a twt and deleted it as fast as I can, hoping nobody pulled the feed by then.
@bender @movq exactly! πŸ˜‚ I accidentally duplicated a twt and deleted it as fast as I can, hoping nobody pulled the feed by then.
@bender > which feed of his are you following? the .mx or the .me one? I was replaying to [THIS TWT](https://eapl.me/twtxt.txt#:~:text=2024-11-20T07:56:00-06:00 "eapl.me: Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors...")
@bender > which feed of his are you following? the .mx or the .me one? I was replaying to [THIS TWT](https://eapl.me/twtxt.txt#:~:text=2024-11-20T07:56:00-06:00 "eapl.me: Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors...")
@bender > which feed of his are you following? the .mx or the .me one? I was replaying to [THIS TWT](https://eapl.me/twtxt.txt#:~:text=2024-11-20T07:56:00-06:00 "eapl.me: Hey! I tried running Timeline on my server with the default PHP version (8.3) and it's giving me a few errors...")
Ok, hopefully nobody did pull that πŸ¦Šβ¬† πŸ˜…
Ok, hopefully nobody did pull that πŸ¦Šβ¬† πŸ˜…
Ok, hopefully nobody did pull that πŸ¦Šβ¬† πŸ˜…
@eapl.me Yeah, that's exactly why I'm asking. I've been having a couple of errors here and there even though I'm using PHP 8.2 ... Mostly somethings about undefined array keys and creation of dynamic properties being deprecated (CC: @sorenpeter )
@eapl.me Yeah, that's exactly why I'm asking. I've been having a couple of errors here and there even though I'm using PHP 8.2 ... Mostly somethings about undefined array keys and creation of dynamic properties being deprecated (CC: @sorenpeter )
@eapl.me Yeah, that's exactly why I'm asking. I've been having a couple of errors here and there even though I'm using PHP 8.2 ... Mostly somethings about undefined array keys and creation of dynamic properties being deprecated (CC: @sorenpeter )
Sweeet! and yeah, I've been trying to figure the formatting thing out (amongst other things lol) it looks like the mere presence of a # sign creates new links and breaks others.
Sweeet! and yeah, I've been trying to figure the formatting thing out (amongst other things lol) it looks like the mere presence of a # sign creates new links and breaks others.
@prologic Not much Other than playing around with @soren 's Timeline ... it's been quite fun so far. (I'm twting from there by the way 😁)
@prologic Not much Other than playing around with @soren 's Timeline ... it's been quite fun so far. (I'm twting from there by the way 😁)
Morning, be good!
Morning, be good!
Hey @sorenpeter what version of PHP do you run Timeline on?
Hey @sorenpeter what version of PHP do you run Timeline on?
Hey @sorenpeter what version of PHP do you run Timeline on?
@bender HAHAHAHA xD I'll do my best and try not to forget chanting: "_Sic transit gloria mundi_" as I package it for shipping.
@bender HAHAHAHA xD I'll do my best and try not to forget chanting: "_Sic transit gloria mundi_" as I package it for shipping.
@bender HAHAHAHA xD I'll do my best and try not to forget chanting: "_Sic transit gloria mundi_" as I package it for shipping.
@bender You'd be surprised how many lifetime old accounts I still have, scattered all over the internet. I just don't have much energy to go through deleting each and every single one of them. xD and here is a bonus image for LOLs

X notification pop-up saying: "Happy X Anniversary. You Joined 15 years ago today! Share the big day with others in your X community."