dvb

joined 2 years ago
[–] dvb@lemmy.ml 0 points 5 months ago (1 children)

This isn't needed anymore. You can configure exceptions for RFP, for example:

defaultPref("privacy.resistFingerprinting.exemptedDomains", "*.foo.com,*.bar.com,*.foobar.com")

[–] dvb@lemmy.ml 9 points 5 months ago* (last edited 5 months ago)

I can't give universal advice, I can only tell you what has worked for me. Every person is unique.

Expectations: I think you have to free yourself from being able to become a vegan in one day. The whole thing is a transition that can take many months. You try to find animal-free alternatives step by step and replace them bit by bit. At some point you get used to it and can't imagine anything else.

Motivation: I watched the worst and cruelest documentaries on animal exploitation/suffering that I could find. I cried a lot and still forced myself to finish watching them. This cemented my decision to become a vegan and stay vegan. I also talk to other vegans whenever possible, which also helps a lot.

Food: For example, I don't enjoy cooking complicated dishes and keep it simple, so it's easier for me to motivate myself to cook something quickly. Here are a few examples of what I often cook: salad with garlic bread, beans with garlic and onions, broccoli casserole with vegan cheese, Brussels sprouts with potatoes, rice with beans, pasta with tomato sauce, etc. Between meals I eat bread with hummus, tomatoes, peppers, cucumber, jam or lots of fruit such as apples, pears, grapes, peaches, apricots, depending on the season and nuts. If I absolutely can't bring myself to cook, then I order vegan delivery food or make vegan ready meals. But I try to avoid that because they are often unhealthier and more expensive.

Clothing and other goods: It's quite a lot of work to research every purchase to see if what you want to buy is really vegan. There are vegan labels that are helpful, but it's still a lot of work sometimes. Depending on where you live, there may also be stores that specialize in vegan products. This means you don't have to do all the reseach by yourself. I try to consume less, repair broken things and generally avoid products that can't be repaired. Second-hand is also often a good idea.

Limits: It's okay to have limits. Nobody is perfect. It's better to avoid 98% animal suffering than not at all. Drugs/medicines, for example, are unfortunately the line I draw, as there is often no choice of animal-free alternatives. So sometimes I only have the choice of avoiding medication altogether and then staying ill. I very much hope that this will improve in the future and that more animal-free medicines will be available.

[–] dvb@lemmy.ml 9 points 6 months ago* (last edited 6 months ago)

ArchWiki: Hibernate on low battery level

This approach uses udev, so you don't have to constantly check the battery level by yourself.

[–] dvb@lemmy.ml 0 points 9 months ago (2 children)

Yes, of course. You will have to adapt it to your time zone, as the German time zone is currently hardcoded. If I had known back then that I would be sharing this at some point, I would have tried harder. 😅

// ==UserScript==
// @name         Spoof Timezone
// @namespace    http://tampermonkey.net/
// @version      0.1
// @license      GPL-3.0
// @description  Overwrites the Date object to use the German time zone
// @author       dvb
// @match        *://*.foo.com/*
// @match        *://*.bar.com/*
// @match        *://*.foobar.com/*
// @match        https://webbrowsertools.com/timezone/
// @grant        none
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    const originalDate = Date;

    function isSummerTime(now) {
        const month = now.getMonth() + 1; // January is 0, so +1
        const day = now.getDate();
        const hour = now.getHours();

        if (month > 3 && month < 10) { // Summer time is from April to September
            return true;
        } else if (month === 3 && day >= 29 && hour >= 2) { // Last Sunday in March at 2 o'clock
            return true;
        } else if (month === 10 && day <= 25 && hour < 3) { // Last Sunday in October at 3 o'clock
            return true;
        }

        return false;
    }

    function getGermanDate(...args) {
        const now = new originalDate(...args);
        const germanTimeZoneOffset = isSummerTime(now) ? -120 : -60; // German time zone is UTC+1 (+2 during summer time)
        if (args.length === 0) {
            return new originalDate(now.getTime() + (now.getTimezoneOffset() - germanTimeZoneOffset) * 60000);
        } else {
            return now;
        }
    }

    // Overwrite the newDate function
    const newDate = function(...args) {
        return getGermanDate(...args);
    };

    // Copy the prototypes and static methods
    Object.setPrototypeOf(newDate, originalDate);
    Object.setPrototypeOf(newDate.prototype, originalDate.prototype);
    for (const prop of Object.getOwnPropertyNames(originalDate)) {
        if (typeof originalDate[prop] === 'function') {
            newDate[prop] = originalDate[prop].bind(originalDate);
        } else {
            Object.defineProperty(newDate, prop, Object.getOwnPropertyDescriptor(originalDate, prop));
        }
    }

    // Overwrite Date objects
    Date = newDate;
    window.Date = newDate;
})();
[–] dvb@lemmy.ml 0 points 9 months ago (4 children)

I have a similar requirement and use a self-written script in Tampermonkey, in which I falsify the wrong time (GMT) to the correct time just for websites I have previously defined. Specifically, I overwrite the newDate function on these.

This means that Librewolf always displays the wrong time (GMT) by default, except for websites I want to have the correct time (which just are a few) without the need to disable RFP.

[–] dvb@lemmy.ml 11 points 1 year ago (1 children)

I feel the same way. Most of the feedback on your post seems to be from newbies who like it, so maybe we should start a new community for us advanced folks instead of referring everyone to !linux4noobs@lemmy.world.

[–] dvb@lemmy.ml 4 points 2 years ago

Unfortunately, that no longer seems to be the case. I just did a research and almost all projectors that came into question for me now also have smart features.

[–] dvb@lemmy.ml 1 points 2 years ago

She looks like she is smiling. How cute!