# nick = skinshafi
so... should I scream buuug ? 🤔
@prologic@twtxt.net Twtxt wise, it was kind of disparate at first xD with no access to logs as you may have read on the alt-feed itself. But then, @sorenpeter@darch.dk’s script came to the rescue … like, just in time 😁 Otherwise, everything else is fun as publicised, exploring and learning along the way.
# nick = skinshafi
so... should I scream buuug ? 🤔
@skinshafi@thunix.net That’s me by the way! just in case you’ve missed this one … (#44kqz4q) 😅
Behold … “Marginalia” ! My new favorite search engine!! And I have @mattof to thank for this find. Here’s their Blog post about it since I don’t think I could do a better job describing what it is. but, tl;dr: it’s a #smallweb focused search engine.
Been down for +7 effing hours … Power went out for a while and I didn’t even bother to check if things went back up normally afterwards. and guess what? they didn’t 🤡
@prologic@twtxt.net I’ve just seen that one as well as MicroBin on selfh.st , it looks prettier on your instance than it did on their live demo 😆. But I’ve already started playing around with microBin and will see how things go from there.
I guess I should setup some kind of past-bin or something, I bet somebody’s already angry about them last couple of long twts 😅 Sorry, not sorry! but I’ll try to fix that.
Termux
same thing @doesnm uses and it worked 👍 Media
@doesnm@doesnm.p.psf.lt No it’s all good… I’ve just rebuilt it from master and it doesn’t look like anything is broken:
~/GitRepos> git clone https://github.com/plomlompom/htwtxt.git
Cloning into 'htwtxt'...
remote: Enumerating objects: 411, done.
remote: Total 411 (delta 0), reused 0 (delta 0), pack-reused 411 (from 1)
Receiving objects: 100% (411/411), 87.89 KiB | 430.00 KiB/s, done.
Resolving deltas: 100% (238/238), done.
~/GitRepos> cd htwtxt
master ~/GitRepos/htwtxt> go mod init htwtxt
go: creating new go.mod: module htwtxt
go: to add module requirements and sums:
go mod tidy
master ~/GitRepos/htwtxt> go mod tidy
go: finding module for package github.com/gorilla/mux
go: finding module for package golang.org/x/crypto/bcrypt
go: finding module for package gopkg.in/gomail.v2
go: finding module for package golang.org/x/crypto/ssh/terminal
go: found github.com/gorilla/mux in github.com/gorilla/mux v1.8.1
go: found golang.org/x/crypto/bcrypt in golang.org/x/crypto v0.29.0
go: found golang.org/x/crypto/ssh/terminal in golang.org/x/crypto v0.29.0
go: found gopkg.in/gomail.v2 in gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df
go: finding module for package gopkg.in/alexcesaro/quotedprintable.v3
go: found gopkg.in/alexcesaro/quotedprintable.v3 in gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc
master ~/GitRepos/htwtxt> go build
master ~/GitRepos/htwtxt> ll
.rw-r--r-- aelaraji aelaraji 330 B Fri Nov 22 20:25:52 2024 go.mod
.rw-r--r-- aelaraji aelaraji 1.1 KB Fri Nov 22 20:25:52 2024 go.sum
.rw-r--r-- aelaraji aelaraji 8.9 KB Fri Nov 22 20:25:06 2024 handlers.go
.rwxr-xr-x aelaraji aelaraji 12 MB Fri Nov 22 20:26:18 2024 htwtxt <-------- There's the binary ;)
.rw-r--r-- aelaraji aelaraji 4.2 KB Fri Nov 22 20:25:06 2024 io.go
.rw-r--r-- aelaraji aelaraji 34 KB Fri Nov 22 20:25:06 2024 LICENSE
.rw-r--r-- aelaraji aelaraji 8.5 KB Fri Nov 22 20:25:06 2024 main.go
.rw-r--r-- aelaraji aelaraji 5.5 KB Fri Nov 22 20:25:06 2024 README.md
drwxr-xr-x aelaraji aelaraji 4.0 KB Fri Nov 22 20:25:06 2024 templates
@bender@twtxt.net Gave it a try on Termux
same thing @doesnm@doesnm.p.psf.lt uses and it worked 👍
@bender@twtxt.net I built my own, a much smaller one with a multi stage build… shouldn’t that do the trick? 🤔
@bender@twtxt.net here… Enjoy 🦊🧡 😂
@bender@twtxt.net 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
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@twtxt.net in the middle of the night, right?
Ok, I’ve restored the misplaced twts … let’s just hope I didn’t make things worst xD
@bender@twtxt.net … a Twtxt Pod then 🤷
I’ve just unlocked access to my /timeline if anyone has been trying to access it earlier.
Ok, hopefully nobody did pull that 🦊⬆ 😅
@eapl.me@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@darch.dk )
Morning, be good!
Hey @sorenpeter@darch.dk what version of PHP do you run Timeline on?
So long Blue Birdy 👋 it was a … Never mind, GTFO of my life already! 😆
Been curious to see if can filter out my access.log file and output a list of my twtxt followers just in case I’ve missed someone … I came up with this awk -F '\"' '/twtxt/ {print $(NF-1)}' /var/log/user.log | grep -v 'twtxt\.net' | sort -u | awk '{print $(NF-1) $NF}' | awk '/^\(/'
spaghetti monster of a command and I’m wondering if there’s a more elegant way for achieving the same thing.
Feeling suspicious about a little something and I, don’t like it -the feeling- a bit. Maybe I’m just being paranoid… but most probably I’m just being an ignorant judgemental piece of shit and I hate myself for it already.
I’m not even supposed to do be doing any of this, I should be making stuff* with Shapes, forms and color instead of poking at software with a stick like a caveman. 😆
*Stuff: Things I make and refuse to call Art, unless I have to in a resume and what not.
Yeah I know! My ship was sinking and I’ve just noticed. Patched up the holes and now we’re back afloat.
Learned to gg=G
and to va"
, ci"
, di{
… in vim the other day 😆 Life will never be the same, I can feel it. ref
Note to self: “If your dashboard says you sh..t is down, it means your sh..t is down. It’s not a dashboard miss-config you dumb azz” 😆
FINALLY!! I figured my way around daemonizing #saltyd with an rc.d init script with logs and all! 🥳 still have to try a tiny modification before writing that thing… I hope it doesn’t Bork it 😅
Finally got myself a new monitor! Went for the best-cheapest-one I could get just in case it gets wrecked too then I could easily replace it with another … And yeah, Fuu*** Asus!
@prologic@twtxt.net would you please check my web interface? is that a normal thing or am I missing something?
Anyone has saltyd actually up and running? my deployment was a mess … will tell you all about it when I wake up 😅
This Zen-Browser is actually not bad! 🤯
- Based on Firefox instead of Chromium.
- Got tiling pans when you need them… (just like a tiling window manager).
- I can hide the Tabs and Nav-Bar with a single short-cut!! AKA Compact Mode …
NGL tilde town’s registration process was quite fun! reminded me of the good old text based adventure game.
Been curious about how people on Pubnix instances do manage their feed, if they have access to log? Sent in a req to join one still no res.
Apparently Drama
is tech entities’ new Going Viral
PR stunt. After the Wordpress vs. WPE mayhem, Godot starts it’s own, Who/what’s next?
@doesnm@doesnm.p.psf.lt I’ve just given it a try on android/termux and got it to work, I can’t promise it won’t break something else (because i definitely don’t know what I’m doing) but here’s what I broke 😅:
~/src/jenny $ git diff
diff --git a/jenny b/jenny
index ada8da2..8ae9a06 100755
--- a/jenny
+++ b/jenny
@@ -1194,7 +1194,7 @@ if __name__ == '__main__':
if args.edit:
edit_twt_file(app)
elif args.fetch:
- with DirectoryLock(f'/tmp/jenny-{getuser()}.run'):
+ with DirectoryLock(expanduser('~/tmp/jenny-{getuser()}.run')):
retrieve_all(app)
elif args.last_seen:
print('Feeds last seen at (times are local time), oldest first:')
and of course make sure you mkdir ~/tmp
See!? Even Meta/Facebook uses plain text, not just Twtxt! 🤣
“Fu*** IRC maaan, all the cool kids are on Discord! IRC sucks”
LOL, Now substitute IRC and Discord with Gopher/Gemini
and Web
.
I hope you get the joke 😅
@cuaxolotl@sunshinegardens.org Wait, what!? We’re dropping Gemini support!?
as a matter of fact! don’t mind anything I do/say for the next 72 hours xD
Don’t mind this twt!
Been trying to get acquainted with rsync(1)
but, whenever I Tab
for completion and get this:
λ ~/ rsync –
zsh: do you wish to see all 484 possibilities (162 lines)?
I’m like: Nope! a scp -rpCq ...
or whatever option salad will do just fine. 😅 [Insert: “Ain’t nobody got time fo’that!” Meme.]
LMAO 🤣 … I’ve been scrolling through mutt(1) man page and found this:
BUGS
None. Mutts have fleas, not bugs.
@bender@twtxt.net Just desktop notifications at the moment, but you could easily throw in a Ntfy server and get notified about anything you want, wherever you want. 🤣
I have just made yet another convoluted twtxt notifications script! Feeling like an old dog learning new tricks! 🤣
@movq@www.uninformativ.de @falsifian@www.falsifian.org @prologic@twtxt.net Maybe I don’t know what I’m talking about and You’ve probably already read this: Everything you need to know about the “Right to be forgotten” coming straight out of the EU’s GDPR Website itself. It outlines the specific circumstances under which the right to be forgotten applies as well as reasons that trump the one’s right to erasure …etc.
I’m no lawyer, but my uneducated guess would be that:
A) twts are already publicly available/public knowledge and such… just don’t process children’s personal data and MAYBE you’re good? Since there’s this:
… an organization’s right to process someone’s data might override their right to be forgotten. Here are the reasons cited in the GDPR that trump the right to erasure:
- The data is being used to exercise the right of freedom of expression and information.
- The data is being used to perform a task that is being carried out in the public interest or when exercising an organization’s official authority.
- The data represents important information that serves the public interest, scientific research, historical research, or statistical purposes and where erasure of the data would likely to impair or halt progress towards the achievement that was the goal of the processing.
B) What I love about the TWTXT sphere is it’s Human/Humane element! No deceptive algorithms, no Corpo B.S …etc. Just Humans. So maybe … If we thought about it in this way, it wouldn’t heart to be even nicer to others/offering strangers an even safer space.
I could already imagine a couple of extreme cases where, somewhere, in this peaceful world one’s exercise of freedom of speech could get them in Real trouble (if not danger) if found out, it wouldn’t necessarily have to involve something to do with Law or legal authorities. So, If someone asks, and maybe fearing fearing for… let’s just say ‘Their well being’, would it heart if a pod just purged their content if it’s serving it publicly (maybe relay the info to other pods) and call it a day? It doesn’t have to be about some law/convention somewhere … 🤷 I know! Too extreme, but I’ve seen news of people who’d gone to jail or got their lives ruined for as little as a silly joke. And it doesn’t even have to be about any of this.
P.S: Maybe make X
tool check out robots.txt? Or maybe make long-term archives Opt-in? Opt-out?
P.P.S: Already Way too many MAYBE’s in a single twt! So I’ll just shut up. 😅
@quark@ferengi.one Mine is a little overkill 😂 but I need to do something for practice:
#!/bin/bash
set -e
trap 'echo "!! Something went wrong...!!"' ERR
#============= Variables ==========#
# Source files
LOCAL_DIR=$HOME/twtxt
TWTXT=$LOCAL_DIR/twtxt.txt
HTML=$LOCAL_DIR/log.html
TEMPLATE=$LOCAL_DIR/template.tmpl
# Destination
REMOTE_HOST=remotHostName # Host already setup in ~/.ssh/config
WEB_DIR="path/to/html/content"
GOPHER_DIR="path/to/phlog/content"
GEMINI_DIR="path/to/gemini-capsule/content"
DIST_DIRS=("$WEB_DIR" "$GOPHER_DIR" "$GEMINI_DIR")
#============ Functions ===========#
# Building log.html:
build_page() {
twtxt2html -T $TEMPLATE $TWTXT > $HTML
}
# Bulk Copy files to their destinations:
copy_files() {
for DIR in "${DIST_DIRS[@]}"; do
# Copy both `txt` and `html` files to the Web server and only `txt`
# to gemini and gopher server content folders
if [ "$DIR" == "$WEB_DIR" ]; then
scp -C "$TWTXT" "$HTML" "$REMOTE_HOST:$DIR/"
else
scp -C "$TWTXT" "$REMOTE_HOST:$DIR/"
fi
done
}
#========== Call to functions ===========$
build_page && copy_files
@bender@twtxt.net LOL normally things (in the vanilla template) render like <time class="dt-published" datetime="2024-09-17T15:05:19+01:00"> 2024-09-17 14:05:19 +0000 UTC+0000 </time>
the datetime=...
atribute is in my local time UTC+1 then the text within the tag is in UTC+0
The thing is, I’ve been poking at the template as well, but nothing changes. I literally whole portionsm added in lorem text just to see if it would do anything, then twtxt2html -T ./layout.html <link to twtxt file> | less
shows same thing as before! nothing changes. LOL I’m not sure I’m going at it the right way.
It feels like an A’ Hole pointing at typos while other people are the ones doing the real work ! 😅
@bender@twtxt.net It’s just a simple twtxt2html and scp … it goes like:
twtxt2html $HOME/path/to/local_twtxt_dir/twtxt.txt > $HOME/path/to/local_twtxt_dir/log.html && \
scp $HOME/path/to/local_twtxt_dir/log.html user@remotehost:/path/to/static_files_dir/
I’ve been lazy to add it to my publish_command script, now I can just copy/pasta from the twt 😅