@movq@www.uninformativ.de Good luck 🤞
@movq@www.uninformativ.de 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? 🧐
@xuu@txt.sour.iseapl.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@twtxt.net Didn’t we fix this ages ago?! 🤦♂️
@bender@twtxt.net Fair enough 👌
@bender@twtxt.net 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@lyse.isobeef.org 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@twtxt.net 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 @prologic@twtxt.netdoesnm.p.psf.lt not work? 🧐
@bender@twtxt.net I know! 😂 Thankfully I think I fixed most problematic bugs 🤞
@movq@www.uninformativ.de Just keep them for a while.
@bender@twtxt.net Whoohoo! 🥳
@lyse@lyse.isobeef.org Very nice 😊
@lyse@lyse.isobeef.org Haha yeah 🤣 And thanks I’ll take a look but honestly it’ll be fine 😆
@movq@www.uninformativ.de 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 🤣
ProDesk 600 G4 Mini with a Core i5-8500T, 32Go of DDR4 RAM and 256Go SSD storage. A cheaper alternative to an 8GB RPi5 + Argon one v3 m.2 RPi case kit (NVME not included) 🤷. It should be here by Friday 🤞
@aelaraji@aelaraji.com Sounds cool! 😎
@movq@www.uninformativ.de 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 🤬
@bender@twtxt.net Sort of, still fixing bugs. I had so much trouble with this sqlite driver, that in the end I swithced it to another driver and so far so good 😊 fingers crossed 🤞
MemoryCache for now and going to bed 🛌
Okay trying SqliteCache again with a slight tweak. I might have to rethink the hard-coded LIMIT 50.
Going back to old MemoryCache for now and going to bed 🛌
@xuu@txt.sour.is I had a lot of trouble figuring out how to do this too 😂


:{:|:&};:
Wait! What’s going on?! 🧐
Business trips / Off-Sites can be rather exhausting 😴 
yarnd pods that form a "distributed network".
@xuu@txt.sour.is Yeah looks like an edge case. Because of the way he announces his preferred nick in the feed the “Reply” button spits out @eapl.me@eapl.me@eapl.me for me, which then gets eaten as two mentions, probably matching twice against my following list?
@eapl.me@eapl.me@eapl.me@eapl.me I replied in the fork, but essentially there’s no reason we can’t support two different models here. We already do this anyway with numerous single-user, single hosted and managed feeds + a bunch of multi-user yarnd pods that form a “distributed network”.
One of the biggest gripes of the community with the way the threading model currently works with Twtxt v1.2 (https://twtxt.dev) is this notion of:
What is this hash?
What does it refer to?
Idea: Why can’t we all agree to implement a simple URI scheme where we host our Twtxt feeds?
That is, if you host your feed at https://example.com/twtxt.txt – Why can’t or could you not also host various JSON files (let’s agree on the spec of course) at https://example.com/twt/<hash> ? 🤔
That way we solve this problem in a truly decentralised way, rather than every relying on yarnd pods alone.

This is what I’ll be facing into in the next few hours and over the next couple of days!
Cyclone Alfred 🌀
@lyse@lyse.isobeef.org I meant “detect” lol 😂
@lyse@lyse.isobeef.org Clients could detest edits 🤞
Reading into the so-called CLEAN architecture reminds me of the work I did nearly two decades earlier called circuits hmmm 🧐
The people have spoken! 🥳 twtxt.dev shall have a new logo of: 
Short summary of Project2025 and Trump’s plans for the US:
Abolish the Federal Reserve
Why? To end what is seen as an unelected, centralized body that exerts too much influence over the economy and monetary policy, replacing it with a more transparent, market-driven approach.Implement a national consumption tax
Why? To replace the current federal income tax system, simplify taxation, and increase government revenue through a broader base that includes all consumers.Lower corporate tax rates
Why? To promote business growth, increase investment, and stimulate job creation by reducing the financial burden on companies.Deregulate environmental policies
Why? To reduce government intervention in the economy, particularly in energy and natural resources sectors, and to foster a more business-friendly environment.Restrict abortion access
Why? To align with conservative pro-life values and overturn or limit abortion rights, seeking to restrict the practice at a federal level.Dismantle LGBTQ+ protections
Why? To roll back protections viewed as promoting LGBTQ+ rights in areas like employment and education, in line with traditional family values.Eliminate diversity, equity, and inclusion (DEI) programs
Why? To end policies that are seen as divisive and to promote a merit-based system that prioritizes individual achievements over group identity.Enforce stricter immigration policies, including mass deportations and detentions
Why? To prioritize border security, reduce illegal immigration, and enforce existing laws more aggressively, as part of a broader strategy to safeguard U.S. sovereignty.Eliminate the Department of Education
Why? To reduce federal control over education and shift responsibilities back to local governments and private sectors, arguing that education decisions should be made closer to the community level.Restructure the Department of Justice
Why? To ensure the department aligns more closely with the administration’s priorities, potentially reducing its scope or focus on areas like civil rights in favor of law-and-order policies.Appoint political loyalists to key federal positions
Why? To ensure that government agencies are headed by individuals who are committed to advancing the administration’s policies, and to reduce the influence of career bureaucrats.Develop training programs for appointees to execute reforms effectively
Why? To ensure that political appointees are equipped with the knowledge and skills necessary to implement the proposed changes quickly and effectively.Provide a 180-day transition plan with immediate executive orders
Why? To ensure that the incoming administration can swiftly implement its agenda and make major changes early in its term without delay.
Do y’all agree with any/all/some of these poliices? Hmmm 🤔

@aelaraji@aelaraji.com Works 👌

@arne@uplegger.eu I think you want to use the sodium_crypto functions/modules for PHP 🤔🤔
On my hit list of assholes tech giants that break the rules and are bad web citizens:
Microsoft
Google
Alibaba
Open AI
more to come…
Bloody hell 🤦♂️🤦♂️
$ jq -r --arg host "gopher.mills.io" '. | select(.request.host==$host) | "\(.request.client_ip) \(.request.uri) \(.request.headers["User-Agent"])"' mills.io.log-au | while IFS=$' ' read -r ip uri ua; do asn="$(geoip -a "$ip")"; echo "$asn $ip $uri $ua"; done | grep -E '^45102.*' | sort | head
45102 47.251.70.245 /gopher.floodgap.com/0/feeds/democracynow/2015/Oct/14/0 ["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"]
45102 47.251.84.25 /gopher.floodgap.com/0/feeds/voaheadlines/2014/Mar/09/voanews.com-content-article-1867433.html ["Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"]
45102 47.82.10.106 /gopher.viste.fr/1/OnlineTools/hangman.cgi%3F0692937396569A52972EB2 ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43"]
45102 47.82.10.106 /gopher.viste.fr/1/OnlineTools/hangman.cgi%3F9657307A96569A52974634 ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43"]
45102 47.82.10.106 /gopher.viste.fr/1/OnlineTools/hangman.cgi%3FB7571C7896569A529E6603 ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43"]
45102 47.82.10.106 /gopher.viste.fr/1/OnlineTools/hangman.cgi%3FB75EF81296569A529E6617 ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43"]
45102 47.82.10.106 /gopher.viste.fr/1/OnlineTools/hangman.cgi%3FC6564ADB96569A5A9E660C ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43"]
It would appear that Google’s web crawlers are ignoring the robots.txt that I have on https://git.mills.io/robots.txt with content:
User-agent: *
Disallow: /
Evidence attached (see screenshots):
– I think its the the Small Web community band together and file a class action suit(s) against Microsoft.com Google.com and any other assholes out there (OpenAI?) that violate our rights and ignore requests to be “polite” on the web. Thoughts? 💭
I got promoted today to try using Passkeys on Github.com. Fine 😅 I did that, but I discovered that when you use your Passkey to login, Chrome prompts you for your device’s password (i.e: The password you use to login to your macOS Desktop). Is that intentional? Kind of defeats the point no? I mean sure, now there’s no Password being transmitted, stored or presented to Github.com but still, all an attacker has to do is somehow be on my device and know my login password to my device right? Is that better or worse? 🤔
Our stupid fucking 🤬 cat 🐱 keeps pissing 🚽 everywhere in our house 🏠
@lyse@lyse.isobeef.org Where? 🧐
Gotta get faster disks man 🤣
@xuu@txt.sour.is da fuq?!
Look at the size of this coffee!!! 😱 
💭 Remember kids 🧒
The “Cloud” is just someone else’s computer(s).
hmm this isnt right..
Hi James, great to hear your interest. So this is an exclusive roundtable luncheon with people in the IT, Engineering, DevOps and Technical professionals. This is an opportunity to benchmark and share stories and experiences with like-minded peers in a closed-door, Chatham House Rule environment where you will be given the opportunity to speak openly and candidly.
I’m not even sure what half these words mean hmm 🧐
Nobody that does good things earns a lot of money.
To all my EU friends out there, is it this hard™ to reach a human in European companies that allow, perform or permit silly shenanigans? 🤔 Or is it just US companies? 🤔
cli/q: 🌱 A simple programming language. - q - Projects I really like this little q lang that Ed has created ❤️ Really nice and simpler, great design and implementation and really lovely cross-platform compiler supporting DOS, Windows, Darwin and Linux on AMD64 and ARM64 💪
I want to propose my own counter-proposal to the discussion that’s ongoing with Go and error handling.
Here it is: https://docs.mills.io/ix4qDHMnQUSPxZ5tXz12Vg?view
It’s very rough and needs much more work, but essentially I want to propose the following change to the language’s grammar:
f := os.Open("foo.txt") or (e error) {
log.Fatal("error opening file; %s", e)
}
My take on the discussion to introduce an ? operator in Go 👈 No. For so many reasons.
@doesnm@doesnm.p.psf.lt Threema is also known to be crippled to state actors and the five eyes. It has known crypto protocol weaknesses that can leak metadata.
@johanbove@johanbove.info Why not Signal? 🤔
Apple’s so-called “Apple Intelligence” is also pretty shit™
@doesnm@doesnm.p.psf.lt Oh yeah @xuu@txt.sour.is found his “Open Registrations” got reverted somehow 🤔
@doesnm@doesnm.p.psf.lt What do you mean? Hmm? 🤔
Anyone coming to the call today? 12:00 UTC (+/- 2hrs)
👋👋 Reminders that this weekend our monthly Yarn.social online meetup. Who’s coming? 🤔 Some possible topics:
- Direct Messaging for Twtxt
- @prologic@twtxt.net ’s new EdgeGuard services 🤣
- What’s the weather like? 👍
Details:
- When: 25th Jan 2025 at 12:00PM UTC (midday)
- Where: https://meet.mills.io/call/Yarn.social
EdgeGuard Update:
I am now in a position where I’m no longer having any ports open on my firewall at the Mills DC. 🥳 All services (Gopher, SMTP, IRC, SSH, HTTP) are being proxied through my edge network 💪
@doesnm@doesnm.p.psf.lt Is that implementing IndieAuth? 🤔
Would anyone object to the feeds.twtxt.net service having auth soon™ ? 🤔 I’m tired of the garbage feeds that it has accumulated over tie (spammers) and I want to a) clean it up b) lock it down somewhat.
The idea would be that you’d login with your Yarn.social account on some pod you control/operate or share with a nice person 🤣 – For those unfamiliar, this is called IndieAuth or IndieLogin. ALL Yarn.social pods are in fact valid (have been for years now) IndieAuth Providers. So I can just ust that. This also technically means you could login with your own domain too (more on that later…)
I need an alternative news source… Something I can shove into feeds.twtxt.net that helps me keep up-to-date with Tech and other important news 🗞️ Hmmm 🤔 Suggestions? I can’t stand Slashdot anymore since they’ve decided to come down hard on ad-blockers 🤦♂️
@arne@uplegger.eu Welcome! 🤗
I am now fully off Cloudflare 🥳
@doesnm@doesnm.p.psf.lt LOL sorry which client are you using? 🤔 You can of course have a say! There aren’t that many active/used clients at the moment, and I forget which one you’re using 🤣🤣
@<url> form of mentions. Strictly require that all mentions include a nickname/name; i.e: @<name url>.
For the record; we consider the new authority on the Twtxt spec(s) going forward (has been for some years actually) to be implementers / primary maintainers of widely used clients. To date that is:
yarnd@prologic@twtxt.net (me and others)
jenny@movq@www.uninformativ.de
tt@lyse@lyse.isobeef.org
Timeline@darch@neotxt.dk / @eapl.me@eapl.me and others
twtxt-el? – @andros@twtxt.andros.dev
Full list of supported and widely used clients can be found at https://twtxt.dev/clients.html – which I note a few above are actually missing from this page haha 🤣
@<url> form of mentions. Strictly require that all mentions include a nickname/name; i.e: @<name url>.
What say you @movq@www.uninformativ.de @lyse@lyse.isobeef.org @eapl.mx@eapl.mx / @darch@neotxt.dk @andros@twtxt.andros.dev (new client author)? 🤔 Shall I PR this up?
🤔 Prosoal: Disallowed the @<url> form of mentions. Strictly require that all mentions include a nickname/name; i.e: @<name url>.
@johanbove@johanbove.info But which one(s)? 🤔🤔 Serious question; my neighbor next door swears by the BBC and ABC (I’m Australian); but honestly even those news sources are full of political rhetoric and non-facts (opinions, etc) – I have yet to see a single news source of actual facts and nothing more.
StackExchange/dnscontrol: Infrastructure as code for DNS! 👈👈 Now this looks might interesting… I might look into this for managing my own domains and DNS. I note that my current registrar isn’t on the list of supported registrars, oh well, I don’t like OnlyDomains™ much anyway. Anyone familiar with these regisrars?
- AWS Route 53
- CSC Global
- CentralNic Reseller (formerly RRPProxy)
- DNSOVERHTTPS
- Dzynadot
- easyname
- Gandi
- HEXONET
- hosting.de
- Internet.bs
- INWX
- Namecheap
- Name.com
- OpenSRS
- OVH
- Realtime Register
Hey this could be good news for self-hosters and folks that want to run their own yarnd? 🤔 Vultr is offering 1 vCPU, 500MB Memory and 10GB Storage for FREE! That’s right $0.00 🤣 