Anon recommends a cast iron pan
  • Illecors Illecors Now 100%

    To me that's a benefit. Stays steady on the hob.

    3
  • My religion is atheist?
  • Illecors Illecors Now 100%

    Same. Goes to show how much thought and care has been put into it.

    5
  • Weekly what have you been playing discussion - week of September 29th, 2024
  • Illecors Illecors Now 100%

    For some reason decided to give Kenshi a shot. Big mistake. What a timesink!

    2
  • of=/dev/sda
  • Illecors Illecors Now 100%

    FWIW - starting a reply allows you to copy the original text.

    2
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPO
    Jump
    Of course, that's what THEY want you to think.
  • Illecors Illecors Now 100%

    That shitstain has been such a shitstain for at least 14 years!

    2
  • PS5 Homescreen Now Replaces Unique Video Game Art With Annoying Ads You Can’t Turn Off
  • Illecors Illecors Now 100%

    For those already owning one - try setting up pihole or an equivalent. Sony could be serving ads from a domain used by something like a cdn, but I bet they don't.

    7
  • Hello Dads
  • Illecors Illecors Now 100%

    Will try to catch up on sleep. That hand mouth foot nastiness is finally behind, hopefully.

    4
  • Donors
  • Illecors Illecors Now 20%

    You won't win this one here. Lemmy is disappointingly facebook-like in terms of their seemingly endless desire to be told what to do every step of their lives.

    I realise the numbers are sort of made up, but in general I fully agree. I do sometimes think that politicians regulate for the sake of it, as if justifying their existence.

    -3
  • Three's a Crowd
  • Illecors Illecors Now 100%

    What is it about owls that make them so adorable? 🤩

    10
  • Happy 12 million!
  • Illecors Illecors Now 100%

    At The Moment

    3
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPO
    Jump
    Conservatives don't understand how to human.
  • Illecors Illecors Now 8%

    Of all the things you could've said you chose one of the dumbest.

    -10
  • "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearPO
    Jump
    Conservatives don't understand how to human.
  • Illecors Illecors Now 9%

    It's easy to shit on everything, so I'll try to avoid doing that.

    I do genuinely not understand the blind "minimum wage should be this" angle. All raising the minimum wage does is raise expenses for everything. It's pretty much like fuel costs: price of fuel goes up - your bakery, pharmacy, grocer, etc all raise prices and in the end it is those on the lowest income that get impacted the most.

    A bit of a mind dump:

    • Most of us live in a capitalist system. You can dislike it all you want, but as someone who's seen what happens when ownership is shared, everyone is equal, a cook should be able to run a country - fuck that. I'll take bad capitalism over that nonsense any day.
    • Everyone should strive to improve themselves. Every day. Doesn't have to be monetarily driven improvement - it's the mindset of constant improvement that I want. And when that happens - aiming for minimum wage becomes a thing of the past.
    • Everyone is not equal. Everyone must be given equal opportunity. We're good at different things, we absolutely suck at different things. Doesn't mean we're bad/wrong/mistreated if we try those things. What is wrong, however, is someone claiming they deserve something (great salary) when they suck at doing whatever they're doing. Just go do something else; preferably something you're good at.
    • Deep inside - we're apes. We need to keep ourselves busy as otherwise brain starts overcompensating for lack of activity and we end up being idiots on the internet. Given enough time that leads to us being idiots outside the internet as well.
    • Mental health issues are real. They're abused waaaay too much as an excuse to rot in the basement. Been there, done that. Start small, increment daily. Small, iterative steps. Everything takes time. Your choice on what gets your spend.
    -27
  • As Taliban starts restricting men, too, some regret not speaking up sooner
  • Illecors Illecors Now 100%

    I mean.. Normally men measure something other than beards. This is such a weird choice!

    10
  • Hammerheads sharkz
  • Illecors Illecors Now 100%

    Nexus 5 represent!

    3
  • Proton CEO comments about proton drive client for linux
  • Illecors Illecors Now 100%

    Ship an appimage or something, use basic fs abstraction to create an encrypted blob, do whatever you want within said blob.

    Look at virtualbox or something for inspiration.

    Look at xdg desktop portals for transfering files.

    7
  • YouTube on TVs is cramming ads down your throat even when pausing videos
  • Illecors Illecors Now 100%

    A bit of a PSA for LG owners running webOS:

    https://www.webosbrew.org/

    I rooted my tv and now have adless youtube, but apparently root is not a prerequisite - there also installation using dev mode. Admitedly, haven't tried it and it's probably less convenient to get it set up, but then it should be a one time thing.

    14
  • YouTube on TVs is cramming ads down your throat even when pausing videos
  • Illecors Illecors Now 100%

    How do you control it? Any fancy integration or just good old mouse?

    2
  • Linux: I'm not asking
  • Illecors Illecors Now 100%

    I did not know that! Thank you!

    What do you mean by implementations? Is this closer debian vs rhel or more like linux vs bsd?

    2
  • KDE Plasma 6 upgrade for stable Gentoo Linux
  • Illecors Illecors Now 100%

    OpenRC is daemon supervisor (probably not the right name).

    OpenRC-init is the init.

    By default, on OpenRC installations, the init will be SysV.

    I have switched a few boxen to openrc-init and have to report that it works fine.

    2
  • Linux: I'm not asking
  • Illecors Illecors Now 100%

    killall -9 processname works well when you can't be asked to get the pid.

    kill -9 $$ is my favourite way to save face when I enter something into shell that shouldn't be in its history. Usual situation - switching panes and forgetting a recently used sudo session. Switching to root and getting there without a password prompt, but still typing it in. Wouldn't be helpful in situations where shell history is monitored remotely, but hey ho.

    5
  • https://drewdevault.com/2024/05/24/2024-05-24-Bunnix.html

    He also links a [Mastodon thread](https://fosstodon.org/@drewdevault/112319697309218275) where he had documented the first few days with pictures. I genuinely cannot fathom the talent and drive combo some people possess.

    1
    0

    EDIT: you guys have dug up some truly horrible pisstakes :D Thank you for those. To the serious folk - relax a little. This is `Mildly Infuriating`, not `I'm dying if this doesn't stop`. As a non-native speaker I was taught a certain way to use the language. The rules were not written down by me, nor the teachers - it was done by the native folk. Peace!

    162
    126
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearFO
    Folderol Illecors Now 94%
    OpenAI researcher Andrej Karpathy departs firm
    www.reuters.com

    [Archive link](https://archive.ph/J3wan) Maybe those board and ceo shenanigans did leave a bad taste internally, afterall.

    34
    3
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearSP
    Spacetime Illecors Now 100%
    [APOD] Rosette Deep Field
    https://apod.nasa.gov/apod/image/2402/RosetteCone_Bernard_5398.jpg

    [nasa.gov](https://apod.nasa.gov/apod/ap240214.html)

    72
    1
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebear11
    11foot8 Illecors Now 100%
    But should you?

    cross-posted from: https://lemmy.world/post/11608344 > Credit: https://mas.to/@markarayner

    2
    0

    The upgrade has gone through smoothly and everything seems to be running smoothly. The performance looks to be better on the backend, time will tell if the memory leak issue is actually solved. So far, though - so good!

    32
    3
    www.timeanddate.com

    ### Lemmy Cafe will be having its database upgraded. #### Reasons - Pict-rs is expecting PostgreSQL 16. It's running fine now, but it might not be at some future point. - PostgreSQL 15 has a bug that requires `jit` to be turned off - otherwise DB keeps consuming all the memory available on the system and then some. In the end it gets culled by the kernel. This has performance as well as reliability issues. While turning `jit` off has remedied the constant failure, it has also made the database a bit slower. I prefer squeezing out as much performance as possible :) #### Plan - Point `nginx` to the maintenance page - Shut down PostgreSQL 15 - Run the upgrade tool - Start up PostgreSQL 16 - Point `nginx` to lemmy #### Expected downtime About an hour, if things go well. More if not so. Will try to keep the maintenance page updated. Here's the [timezone converter](https://www.timeanddate.com/worldclock/converter.html?iso=20240202T100000&p1=1440&p2=tz_et&p3=tz_pt&p4=236)

    27
    1
    www.blender.org

    Amazing milestone! Also testing federation

    32
    1

    There are a few reasons why pict-rs might not be running, upgrades being one of them. At the moment the whole of lemmy UI will crash and burn if it cannot load a site icon. Yes, that little thing. Here's the [github issue](https://github.com/LemmyNet/lemmy-ui/issues/2211). To work around this I have set the icon and banner (might as well since we're working on this) to be loaded from a local file rather than nginx. Here's a snippet of `nginx` config from the `server` block: ``` location /static-img/ { alias /srv/lemmy/lemmy.cafe/static-img/; # Rate limit limit_req zone=lemmy.cafe_ratelimit burst=30 nodelay; # Asset cache defined in /etc/nginx/conf.d/static-asset-cache.conf proxy_cache lemmy_cache; } ``` I have also included the rate limitting and cache config, but it is not, strictly speaking, necessary. The somewhat important bit here is the `location` - I've tried using `static`, but that is already used by lemmy itself, and as such breaks the UI. Hence the `static-img`. I have downloaded the icon and banner from the URLs saved in the database (assuming your instance id in `site` is, in fact, 1): ``` SELECT id, icon, banner FROM site WHERE id = 1; id | icon | banner ----+----------------------------------------------+------------------------------------------------ 1 | https://lemmy.cafe/pictrs/image/43256175-2cc1-4598-a4b8-2575430ab253.webp | https://lemmy.cafe/pictrs/image/c982358f-6a51-4eb6-bf0e-7a07a756e600.webp (1 row) ``` I have then saved those files in `/srv/lemmy/lemmy.cafe/static-img/` as `site-icon.webp` and `site-banner.webp`. Changed the ownership to that of nginx (`www-data` in debian universe, `http` and `httpd` in others. I have then updated the site table to point to the new location for `icon` and `banner`: ``` UPDATE site SET icon = 'https://lemmy.cafe/static-img/site-icon.webp' WHERE id = 1; UPDATE site SET banner = 'https://lemmy.cafe/static-img/site-banner.webp' WHERE id = 1; ``` Confirm it got applied: ``` SELECT id, icon, banner FROM site WHERE id = 1; id | icon | banner ----+----------------------------------------------+------------------------------------------------ 1 | https://lemmy.cafe/static-img/site-icon.webp | https://lemmy.cafe/static-img/site-banner.webp (1 row) ``` That's it! You can now reload your nginx server (`nginx -s reload`) to apply the new path!

    35
    3

    #### docker compose ___ I'm using a `v2` - notice the lack of a dash between `docker` and `compose`. I've recently learnt of the default filenames `docker compose` is trying to source upon invocation and decided to give it a try. The files are: - compose.yml - compose.override.yml I have split the default `docker-compose.yml` that `lemmy` comes with into 2 parts - `compose.yml` holds `pict-rs`, `postfix` and, in my case, `gatus`. `compose.override.yml` is responsible for lemmy services only. This is what the files contain: ::: spoiler compose.yml ``` x-logging: &default-logging driver: "json-file" options: max-size: "20m" max-file: "4" services: pictrs: image: asonix/pictrs:0.5.0 user: 991:991 ports: - "127.0.0.1:28394:8080" volumes: - ./volumes/pictrs:/mnt restart: always logging: *default-logging entrypoint: /sbin/tini -- /usr/local/bin/pict-rs run environment: - PICTRS__OLD_REPO__PATH=/mnt/sled-repo - PICTRS__REPO__TYPE=postgres - PICTRS__REPO__URL=postgres://pictrs:<redacted>@psql:5432/pictrs - RUST_LOG=warn - PICTRS__MEDIA__MAX_FILE_SIZE=1 - PICTRS__MEDIA__IMAGE__FORMAT=webp deploy: resources: limits: memory: 512m postfix: image: mwader/postfix-relay environment: - POSTFIX_myhostname=lemmy.cafe volumes: - ./volumes/postfix:/etc/postfix restart: "always" logging: *default-logging gatus: image: twinproduction/gatus ports: - "8080:8080" volumes: - ./volumes/gatus:/config restart: always logging: *default-logging deploy: resources: limits: memory: 128M ``` ::: ___ `compose.override.yml` is actually a hardlink to the currently active deployment. I have two separate files - `compose-green.yml` and `compose-blue.yml`. This allows me to prepare and deploy an upgrade to lemmy while the old version is still running. ::: spoiler compose-green.yml ``` services: lemmy-green: image: dessalines/lemmy:0.19.2 hostname: lemmy-green ports: - "127.0.1.1:14422:8536" restart: always logging: *default-logging environment: - RUST_LOG="warn" volumes: - ./lemmy.hjson:/config/config.hjson # depends_on: # - pictrs deploy: resources: limits: # cpus: "0.1" memory: 128m entrypoint: lemmy_server --disable-activity-sending --disable-scheduled-tasks lemmy-federation-green: image: dessalines/lemmy:0.19.2 hostname: lemmy-federation-green ports: - "127.0.1.1:14423:8536" restart: always logging: *default-logging environment: - RUST_LOG="warn,activitypub_federation=info" volumes: - ./lemmy-federation.hjson:/config/config.hjson # depends_on: # - pictrs deploy: resources: limits: cpus: "0.2" memory: 512m entrypoint: lemmy_server --disable-http-server --disable-scheduled-tasks lemmy-tasks-green: image: dessalines/lemmy:0.19.2 hostname: lemmy-tasks ports: - "127.0.1.1:14424:8536" restart: always logging: *default-logging environment: - RUST_LOG="info" volumes: - ./lemmy-tasks.hjson:/config/config.hjson # depends_on: # - pictrs deploy: resources: limits: cpus: "0.1" memory: 128m entrypoint: lemmy_server --disable-http-server --disable-activity-sending ############################################################################# lemmy-ui-green: image: dessalines/lemmy-ui:0.19.2 ports: - "127.0.1.1:17862:1234" restart: always logging: *default-logging environment: - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-green:8536 - LEMMY_UI_LEMMY_EXTERNAL_HOST=lemmy.cafe - LEMMY_UI_HTTPS=true volumes: - ./volumes/lemmy-ui/extra_themes:/app/extra_themes depends_on: - lemmy-green deploy: resources: limits: memory: 256m ``` ::: ::: spoiler compose-blue.yml ``` services: lemmy-blue: image: dessalines/lemmy:0.19.2-rc.5 hostname: lemmy-blue ports: - "127.0.2.1:14422:8536" restart: always logging: *default-logging environment: - RUST_LOG="warn" volumes: - ./lemmy.hjson:/config/config.hjson # depends_on: # - pictrs deploy: resources: limits: # cpus: "0.1" memory: 128m entrypoint: lemmy_server --disable-activity-sending --disable-scheduled-tasks lemmy-federation-blue: image: dessalines/lemmy:0.19.2-rc.5 hostname: lemmy-federation-blue ports: - "127.0.2.1:14423:8536" restart: always logging: *default-logging environment: - RUST_LOG="warn,activitypub_federation=info" volumes: - ./lemmy-federation.hjson:/config/config.hjson # depends_on: # - pictrs deploy: resources: limits: cpus: "0.2" memory: 512m entrypoint: lemmy_server --disable-http-server --disable-scheduled-tasks lemmy-tasks-blue: image: dessalines/lemmy:0.19.2-rc.5 hostname: lemmy-tasks-blue ports: - "127.0.2.1:14424:8536" restart: always logging: *default-logging environment: - RUST_LOG="info" volumes: - ./lemmy-tasks.hjson:/config/config.hjson # depends_on: # - pictrs deploy: resources: limits: cpus: "0.1" memory: 128m entrypoint: lemmy_server --disable-http-server --disable-activity-sending ############################################################################# lemmy-ui-blue: image: dessalines/lemmy-ui:0.19.2-rc.5 ports: - "127.0.2.1:17862:1234" restart: always logging: *default-logging environment: - LEMMY_UI_LEMMY_INTERNAL_HOST=lemmy-blue:8536 - LEMMY_UI_LEMMY_EXTERNAL_HOST=lemmy.cafe - LEMMY_UI_HTTPS=true volumes: - ./volumes/lemmy-ui/extra_themes:/app/extra_themes depends_on: - lemmy-blue deploy: resources: limits: memory: 256m ``` ::: ___ The only constant different between the two is the IP address I use to expose them to the host. I've tried using ports, but found that it's much easier to follow it in my mind by sticking to the ports and changing the bound IP. I also have two `nginx` configs to reflect the different IP for `green`/`blue` deployments, but pasting the whole config here would be a tad too much. #### No-downtime upgrade ___ Let's say `green` is the currently active deployment. In that case - edit the `compose-blue.yml` file to change the version of lemmy on all 4 components - lemmy, federation, tasks and ui. Then bring down the `tasks` container from the active deployment, activate the whole of `blue` deployment and link it to be the `compose.override.yml`. Once the `tasks` container is done with whatever tasks it's supposed to do - switch over the `nginx` config. Et voilà - no downtime upgrade is live! Now all that's left to do is tear down the `green` containers. ``` docker compose down lemmy-tasks-green docker compose -f compose-blue.yml up -d ln -f compose-blue.yml compose.override.yml # Wait for tasks to finish ln -sf /etc/nginx/sites-available/lemmy.cafe-blue.conf /etc/sites-enabled/lemmy.cafe.conf nginx -t && nginx -s reload docker compose -f compose-green.yml down lemmy-green lemmy-federation-green lemmy-tasks-green lemmy-ui-green ``` #### lemmy.hjson ___ I have also multiplied `lemmy.hjson` to provide a bit more control. ::: spoiler lemmy.hjson ``` { database: { host: "psql" port: 5432 user: "lemmy" password: "<redacted>" pool_size: 3 } hostname: "lemmy.cafe" pictrs: { url: "http://pictrs:8080/" api_key: "<redacted>" } email: { smtp_server: "postfix:25" smtp_from_address: "lemmy@lemmy.cafe" tls_type: "none" } } ``` ::: ::: spoiler lemmy-federation.hjson ``` { database: { host: "psql" port: 5432 user: "lemmy_federation" password: "<redacted>" pool_size: 10 } hostname: "lemmy.cafe" pictrs: { url: "http://pictrs:8080/" api_key: "<redacted>" } email: { smtp_server: "postfix:25" smtp_from_address: "lemmy@lemmy.cafe" tls_type: "none" } worker_count: 10 retry_count: 2 } ``` ::: ::: spoiler lemmy-tasks.hjson ``` { database: { host: "10.20.0.2" port: 5432 user: "lemmy_tasks" password: "<redacted>" pool_size: 3 } hostname: "lemmy.cafe" pictrs: { url: "http://pictrs:8080/" api_key: "<redacted>" } email: { smtp_server: "postfix:25" smtp_from_address: "lemmy@lemmy.cafe" tls_type: "none" } } ``` ::: ___ I suspect it might be possible to remove `pict-rs` and/or `email` config from some of them, but honestly it's not a big deal and I haven't had enough time, yet, to look at it. #### Future steps I'd like to script the actual switch-over - it's really trivial, especially since most of the parts are there already. All I'd really like is apply strict failure mode on the script and see how it behaves; do a few actual upgrades. Once that happens - I'll post it here. So long and thanks for all the fish!

    28
    2
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearSP
    Spacetime Illecors Now 100%
    [APOD] Quadrantids of the North

    [NASA.gov](https://apod.nasa.gov/apod/ap240111.html)

    25
    1
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearST
    Statecraft Illecors Now 100%
    [LIVE] Post Office scandal live: Ex-Post Office investigator to face questions as inquiry resumes - BBC News
    www.bbc.co.uk

    Proper cocked up cover up. Now live!

    40
    1

    The process went through smoothly. I have also used the opportunity to split up a singular lemmy container into individual tasks - this has enabled a seemless upgrade process with no downtime, bar a few process quirks I need to work out. There have been some federation fixes merged into this release, so the situation should definitely be improving overall! I will make a more detailed write up of the whole setup later on, other admins might find it useful. Or not.

    32
    4
    www.theregister.com

    > Using optimization techniques, the wireless spec can support a theoretical top speed of more than 40Gbps, though vendors like Qualcomm suggest 5.8Gbps is a more realistic expectation That is insane! Not that I would, but this could utilise the full pipe of my home connection on wifi only!

    57
    18
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearSP
    Spacetime Illecors Now 99%
    [APOD] Thor's Helmet

    [apod.nasa.gov](https://apod.nasa.gov/apod/ap240109.html)

    106
    1
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearST
    Statecraft Illecors Now 95%
    The EU’s carbon border tax and the fragmentation of global trade
    https://www.ft.com/content/ca51ebf5-fbb8-4c88-a93d-ded3d6d3bcdd

    [Archive link](https://archive.ph/MJpzu) This feels sensible. There will always be naysayers, there will always be exports to poorer countries, but arguing against such a policy makes it sound like protecting the status quo for the sake of it.

    22
    0
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearST
    Statecraft Illecors Now 100%
    ­­Ukraine Has a Pathway to Victory
    https://foreignpolicy.com/2024/01/08/ukraine-russia-war-victory-stalemate-strategy-weapons-congress-aid/

    [Archive link](https://archive.ph/T5ciR) It's a theoretical pathway, but it's a nice read overall for someone who's not into warring all that much. I've found the explanations understandable.

    53
    9
    "Initials" by "Florian Körner", licensed under "CC0 1.0". / Remix of the original. - Created with dicebear.comInitialsFlorian Körnerhttps://github.com/dicebear/dicebearFO
    Folderol Illecors Now 95%
    Town celebrates return of the sun after 30 nights
    www.bbc.co.uk

    Some really beautiful shots in the video.

    64
    6
    Illecors Now
    257 1.1K

    Illecors

    Illecors@ lemmy.cafe

    Calculator Manipulator