@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 🧐
@david@collantes.us Bent by? 🤔
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 💪
PS: Please forgive me. I’m just being a really grumpy bastarda the last couple of days. I’m really not having a lot of fun this past week 😢
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)
}