• 0 Posts
  • 11 Comments
Joined 11 months ago
cake
Cake day: March 23rd, 2024

help-circle
  • I’m not aware of any service that [goes fully peer-to-peer] while being practical for most people, yet.

    Retroshare is almost ready for prime time after remaining in development for over 20 years. Each “friend” runs it’s own service for the decentralized network of “friends” and hands off message fragments from immediate “friends” for swapping files, store-and-forward messages, chats, etc., to other more distant network participants.

    The swindle is that your friends know you by your IP address. If Big Government, Big Media, or Big Crime knocks over one of them, they’ve got you, too. But — not to worry — you can actually — so I’m told — run an RS instance behind a TOR hidden service.

    I much prefer the article from 22 Mar 2019 about “TOR Onion Services” preserved at the Wayback Machine instead of the current article.



  • You’re required to provide full personal details to be hired to an employer with dubious security.

    I don’t know, but I’ve been told…

    You MAY THINK you’re submitting an application directly to an employer’s Personnel Office on that employer’s Web site, but you’re actually submitting your application to that employer’s contracted head hunter — hence the junk mail because that head hunter has other clients to recruit for. It’s the lack of transparency that gripes me.

    … so the head hunter has to use restrictive filters on applications they relay to all their clients because they can’t rely on the applicant to vet employers they’d be interested in beforehand. These restrictive filters reject applicants for silly reasons like not having experience with every single piece of software on an arbitrary list of brand names.

    There is no sunset date to an application made through a third party. The head hunter and his clients will continue to bug you in perpetuity.

    They will continue to bug you about nonexistent openings. Just as they can sometimes find positions for people who are not actually looking for employment, they can sometimes place people with employers who have no open positions. It seems worth their while to try. After all, you MAY STILL BE in the market … sort of.

    Employers and their head hunters continue to recruit for positions that have already been filled. This is the old “open requisition” problem. They aim to cover the risk that their new hires won’t pan out.

    The more positions you apply for, the more head hunter databases you appear in. All their job-application software is incompatible, so you have to reapply and reapply and reapply, but it all seeks the same information: Are you currently employed? If not, they don’t know you.






  • This gets a bit messy. Here’s a python code snippet that gives you some idea what I’m up to with my Debian/Gnome desktop:

    if while_tweaking('all', 'default browser', '√'):
        ChangeSymbolicLink(
            name='gnome-www-browser',
            action='Make Tor the default browser.',
            old=f'~ccrhode/tor-browser_en-US/{TBB_SCRIPT}',
            new='/etc/alternatives/gnome-www-browser',
            )
        ChangeSymbolicLink(
            name='x-www-browser',
            action='Make Tor the default browser.',
            old=f'~ccrhode/tor-browser_en-US/{TBB_SCRIPT}',
            new='/etc/alternatives/x-www-browser',
            )
        ChangeGConf(
            name='http handler',
            action='Change default Gnome http handler.',
            path='/desktop/gnome/url-handlers/http',
            key_values={'command': 'gnome-www-browser "%s"'},
            )
        ChangeGConf(
            name='https handler',
            action='Change default Gnome https handler.',
            path='/desktop/gnome/url-handlers/https',
            key_values={'command': 'gnome-www-browser "%s"'},
            )
        ChangeGConf(
            name='default browser',
            action='Change default Gnome browser.',
            path='/desktop/gnome/applications/browser',
            key_values={'exec': 'gnome-www-browser'},
            )
    if while_tweaking('personal', 'desktop_icons', 'all', 'default browser', '√'):
        full_path = home_path(f'tor-browser_en-US/{TBB_SCRIPT}')
        ChangeDesktopLauncher(  # 2013 Jun 29
            name='firefox',
            action='Desktop icon for browser.',
            exec_=f'{full_path} -new-window %U',  # 2015 May 14
            desktop_name='New Window',
            icon='/usr/share/pixmaps/other/Web.png',
            comment="New window for Tor browser.",
            )
        ChangeDesktopLauncher(  # 2013 Jun 29
            name='firefox',
            action='Desktop icon for browser.',
            exec_=f'{full_path} -new-tab %U',  # 2015 May 14
            desktop_name='New Tab',
            icon='/usr/share/pixmaps/other/Web.png',
            comment="New tab for Tor browser.  This desktop item IS the default browser.  Please leave as-is.",
            key_values={
                'MimeType':
                'text/html;'
                'text/xml;'
                'application/xhtml+xml;'
                'application/xml;'
                'application/vnd.mozilla.xul+xml;'
                'application/rss+xml;'
                'application/rdf+xml;'
                'image/gif;'
                'image/jpeg;'
                'image/png;'
                'x-scheme-handler/http;'
                'x-scheme-handler/https;'
                'x-scheme-handler/about;'
                'x-scheme-handler/unknown;'
                },
            )
        path_local_apps = home_path('.local/share/applications')
        ChangeMkdir(
            name='firefox',
            action='Make default mime desktop files',
            path=path_local_apps,
            )
        APPS_REPERTOIRE = [
            home_path('Desktop/tweaks-New Tab.desktop'),
            '/usr/share/applications/org.gnome.Evince.desktop',  # 2020 Jul 31
            '/usr/share/applications/org.gnome.gedit.desktop',  # 2020 Jul 31
            ]
        for app_name in APPS_REPERTOIRE:
            ChangeSymbolicLink(
                name='firefox',
                action=f'Link {app_name}.',
                old=app_name,
                new=path_local_apps,
                )
        ChangeCommand(
            name='firefox',
            action='Update Mime cache',
            args=f'update-desktop-database "{path_local_apps}"',
            )
        ChangeCommand(  # 2023 Jan 10
            name='firefox',
            action="Force ownership of mimeinfo.cache.",
            args=f'chown {USER.name}:{USER.name} "{path_local_apps}/mimeinfo.cache"',
            )
        ChangeScript(
            name='firefox',
            action='Create defaults list.',
            file_name=f'{path_local_apps}/mimeinfo.cache',
            regexs_subs=[
                (r'\[MIME Cache\]','[Default Applications]'),
                ]
            )
        ChangeSymbolicLink(
            name='firefox',
            action='Link mimeinfo.cache',
            old=f'{path_local_apps}/mimeinfo.cache',
            new=f'{path_local_apps}/defaults.list',
            )
        ChangeDesktopLauncher(
            name='tor',
            action='Desktop icon for anonymizing browser.',
            exec_=full_path,
            desktop_name='Tor',
            icon=home_path('tor-browser_en-US/onion.png'),
            comment="TOR anonymizing browser",
            )
        ChangeDesktopLauncher(
            name='firefox',
            action='Desktop icon for Firefox browser.',
            exec_='firefox',  # 2022 Jan 10
            desktop_name='Firefox',
            icon='/usr/share/icons/hicolor/64x64/apps/firefox-esr.png',  # 2023 Jan 23
            comment="Firefox browser",
            )
        IS_DESKTOP_DIRTY = True
    

    In other words, in place of your browser invocation, you want a script that applies the -new-tab option to the browser invocation and you have to correct a bunch of Gnome configs, symlinks, and MimeTypes to get that to stick.



  • GNOME is entirely adequate.

    Yes it is except when it isn’t. Maybe there’s a reason practically no Adwaita theme alternatives ship with Debian. Maybe not. But, using Gnome, it’s the default theme or nothing. I have to admit I don’t know from themes. However, there are lots of Gnome themes available from theme peddlers.

    Recently I became fed to the teeth with claws-mail, which is a GTK app. In Adwaita the foreground font color is too dark (gray) on top of the background highlight (blue). My eyesight had deteriorated to the point that I just couldn’t read the Subject of the current eMail, so I shopped for a new theme that would be … adequate. I didn’t have time to try them all.

    I settled on Ant by EliverLara. In this theme foreground font color (white) on background highlight (salmon) is just barely visible. I use it only for claws-mail:

    > env GTK_THEME=Ant claws-mail


  • Does anyone know how I can merge/deduplicate contacts in a .vcf vcard file?

    Tonto2 is a python 3/Qt graphical app that runs on desktops. It’s main purpose is not to manipulate *.vcf files, but the appendix to the instruction pages tells how, anyway. Tonto2 uses a spread-sheet-like presentation paradigm. With appropriate magical mystical spells, you can import *.vcf as *.csv and sort the *.csv by last-name, phone-number, eMail, zip-code, or whatever. It won’t de-dup, but you can spot the duplicates easier once they’re collated next to one another in one sequence or another. Show just the significant attributes. Probably you’ll want to sort, look, sort, and look again. Killing entries is nearly as simple as checking them off. FAIR WARNING: This process is time consuming, frustrating, and fraught with peril. Keep several versions of your address list until you’re sure the final is the one you want to keep forever. My experience is that I always find stuff I want to keep in each of all (sometimes more than two) duplicate entries, so deleting the dup’s is not what’s called for. Merging means manually copying from one entry and pasting into another. Due to the judgemental nature of how to handle conflicting and out-of-date info, I’ve hesitated to try to automate the process.