

That one I knew ;) I think from the 1st month of my CS major in college from a teacher who thought that would be a good way to wake us up when explaining HTTP codes.


That one I knew ;) I think from the 1st month of my CS major in college from a teacher who thought that would be a good way to wake us up when explaining HTTP codes.


I don’t buy it… Certainly the kitchens in the white house have a whole security process to guarantee the procurement chain wasn’t tainted. And even then he could do that with any food place that doesn’t display his name.


I really don’t know what to think of this. Is it cute? Sad? Should they talk to a therapist and take their meds or are they fine?


Damn me neither. Didn’t even know it existed. So specific.


I don’t know, can’t speak for the devs. It is weird that if you don’t implement these API calls buried a bit deep in the wiki, you end up storing every meme and screenshot anybody posted on any instance for the rest of time. But I found these through issue reports with many people asking for these to be implemented by default with for instance a simple setting “purge after X days” and a list of rooms to include or exclude from the history clean-up.


I purge 2 weeks old media using these. Then I purge the largest rooms’ history events using these. Then I compress the DB using this.
It looks like this:
export PGPASSWORD=$DB_PASS
export MYTOKEN="yourtokengoeshere"
export TIMESTAMP=$(date --date='2 weeks ago' '+%s%N' | cut -b1-13)
echo "DB size:"
psql --host $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT pg_size_pretty(pg_database_size('$DB_NAME'));"
echo "Purging remote media"
curl \
-X POST \
--header "Authorization: Bearer $MYTOKEN" \
"http://localhost:8008/_synapse/admin/v1/purge_media_cache?before_ts=%24%7BTIMESTAMP%7D"
echo ''
echo 'Purging local media'
curl \
-X POST \
--header "Authorization: Bearer $MYTOKEN" \
"http://localhost:8008/_synapse/admin/v1/media/delete?before_ts=%24%7BTIMESTAMP%7D"
echo ''
echo 'Purging room Arch Linux'
export ROOM='!usBJpHiVDuopesfvJo:archlinux.org'
curl \
-X POST \
--header "Authorization: Bearer $MYTOKEN" \
--data-raw '{"purge_up_to_ts":'${TIMESTAMP}'}' \
"http://localhost:8008/_synapse/admin/v1/purge_history/$%7BROOM%7D"
echo ''
echo 'Purging room Arch Offtopic'
export ROOM='!zGNeatjQRNTWLiTpMb:archlinux.org'
curl \
-X POST \
--header "Authorization: Bearer $MYTOKEN" \
--data-raw '{"purge_up_to_ts":'${TIMESTAMP}'}' \
"http://localhost:8008/_synapse/admin/v1/purge_history/$%7BROOM%7D"
echo ''
echo 'Compressing db'
/home/northernlights/scripts/synapse_auto_compressor -p postgresql://$DB_USER:$DB_PASS@$DB_HOST/$DB_NAME -c 500 -n 100
echo "DB size:"
psql --host $DB_HOST -U $DB_USER -d $DB_NAME -c "SELECT pg_size_pretty(pg_database_size('$DB_NAME'));"
unset PGPASSWORD
And periodically I run vacuum;


And, importantly, run the db on postgre, not sqlite, and implement the regular db maintenance steps explained in the wiki. I’ve been running mine like that in a small VM for about 6 months, i join large communities, run whatsapp, gmessages and discord bridges, and my DB is 400MB.
Before when I was still testing and didn’t implement the regular db maintenance it balloned up to 10GB in 4 months.



Uh? It’s actually a pretty formal language, with very precise grammatical rules people will spend your life correcting you about. (source: French who hated grammar lessons in school)


I know, and yet the code is open source. Confusing.


Paywalled article. Here’s the link to the app: https://play.google.com/store/apps/details?id=ch.pocketpc.nearbyglasses
Edit: it’s licensed under a license I never heard of. I’m curious, I don’t understand why it was needed.
“Why draft new licenses? Until now, there has been no standardization of this kind of source code license, even though it has become increasingly common. This has resulted in confusing and overlapping licenses, which need to be analyzed one at a time. Lack of standardization has used up the time and resources of many in the software industry, as well as their lawyers. The objective of the PolyForm Project is standardization and reduction of costs for developers and users.”
Seems like that exact XKCD about standards.


It’s teaching them what’s good to consume or not and how to tell the difference by themselves that’s important. Teching them how to think basically. So parenting. Not watching them, not spying on them asking “why that site”. Parental control filters only work for so long, but they help. My experience using parental control however to limit screen time only is that it only taught our kid to absolutely completely use whatever screentime she had. So kind of addicted. But, now she’s a teenager very good at telling what’s toxic. For the little story for the past 9 years i’ve been a remote cybersecurity engineer. She practically grew up with me in the next room working on 5 screens at once, there was no escaping it. But, I was always around so we always talked. It helps!


Sure but it’s not the point of the post or the question asked, it’s about guardrails not working, as the AI is clearly spouting ideas unapproved in China.


Yeah for that I like Canonical’s way with netplan. Write a very short and simple yaml, “netplan apply”, 'k tx bye.


Yeah for us it was “return to office”. Entire team was remote and has been the 9 years I worked there.


We didn’t listen!!


Renault at least has to apply French privacy laws, which are pretty tough.


Some poor government employee is going to see loooots of dildos
In my understanding that’s the idea, the local ones are lost unless another federated instances synced them. As for the remote ones, maybe they’re backed up but I really don’t care for an instant messaging platform to not have a rear view past 2 weeks.