rglullis

joined 2 years ago
MODERATOR OF
[–] rglullis@communick.news 2 points 4 months ago* (last edited 4 months ago)

No one is working on it because we have so much volume.

Flip the thing around. Why should we introduce some dependency on a technology when the "simple" system is already very effective?

[–] rglullis@communick.news 2 points 4 months ago* (last edited 4 months ago)

It won't stop the people interested in doing mass-manipulation of votes. There is no virtual difference between a bot that votes through Lemmy and a bot that votes through "pure" ActivityPub.

[–] rglullis@communick.news 3 points 4 months ago

No crazy scheme like this will work, because creating any form of anonymous account is super easy.

What we need is to add a layer of trust assignment and authorization system based on reputation, like what Fediseer does but built-in into the application. Then we can quarantine new users, contain their actions until the admin gives explicit approval, auto reject follows if they don't have at least N trusted people vouching for them, etc...

[–] rglullis@communick.news 2 points 4 months ago* (last edited 4 months ago) (2 children)

Creating a fake instance to send out votes is cheaper and easier that you think. You need only one domain and a script.

[–] rglullis@communick.news 4 points 4 months ago (3 children)

It's public information available for instance admins and any sufficiently motivated person who knows a bit about the ActivityPub protocol.

[–] rglullis@communick.news 2 points 4 months ago* (last edited 4 months ago) (1 children)

Another thing to consider is that most servers only accept HTTP requests that are properly signed.

Maybe you can take a look at Fedify if you know your way around javascript development? If python is your thing, maybe my own Django ActivityPub code?

[–] rglullis@communick.news 1 points 4 months ago* (last edited 4 months ago) (3 children)

I have an opinion about practically everything

Where is the /s?

they should perhaps create more content that I like?

Your account is less than 15 days old. You have 57 comments and one single post about politics. Not exactly the type of discussion that is interesting or valuable to the network.

Perhaps you should lead by example and post more of the stuff that you like? It's very easy to criticize, not so easy to actually show up and do the stuff that is needed.

[–] rglullis@communick.news 1 points 4 months ago (3 children)

You will need a server that can serve you actor URL and public key. Even a static webpage will do. If you have that, then a simple curl could be sufficient.

[–] rglullis@communick.news 1 points 4 months ago

Not the case. I have this laptop for 2 years or more...

[–] rglullis@communick.news 2 points 4 months ago

!blood_donors@healthy.community ready and waiting for your post, so that I can add you as a mod.

[–] rglullis@communick.news 2 points 4 months ago

I think it will be okay if you and I stick to our remote accounts for this type of community, but I can create you an account there to act as mod if you prefer.

In any case, it would be nice to have this type of setup (Lemmy instance hosting community and mods on different mbin/lemmy instances) to see what are the real challenges for moderation at scale. I still have on my backlog this idea of working on an unified moderation tool.

 

I am using counsel with projectile mainly for two use cases:

  • counsel-projectile-ag for project-wide grep
  • counsel-projectile-find-file to get a list of file names by typing some characters.

I usually have them bound to C-C C-sand C-C C-f, which used to work well with any other major modes.

Recently, I switched to using tree-sitter and set it up to use python-ts-mode. I also started using lsp-mode. Since then, whenever I open any python file, C-c C-s and C-c C-f are bound to the functions from python-mode. I've tried adding

(unbind-key "C-c C-s" python-ts-mode-map)
(unbind-key "C-c C-f" python-ts-mode-map)

to python-ts :config on use-package, and similar to python-mode, but I am still getting

python-ts-mode-map), which is an interactive native-compiled Lisp
function in ‘python.el’.

It is bound to C-c C-s.

(python-shell-send-string STRING &optional PROCESS MSG)

Send STRING to inferior Python PROCESS.
When optional argument MSG is non-nil, forces display of a
user-friendly message if there’s no process running; defaults to
t when called interactively.

[back]

What would be the correct way to set the configuration to get this always bound to the counsel-projectile commands whenever I open a python file?

Caveat: I am using NixOS home-manager to manage my emacs installation, which means that I am not manipulating my .emacs directly.

The relevant sections of my nix file.

usePackage = {
python-ts-mode = {
        enable = true;
        mode = [ ''("\\.py\\'" . python-ts-mode)'' ];
        hook = [
          "hs-minor-mode"
          "(python-ts-mode . python-isort-on-save-mode)"
        ];
        bind = {
          "C-c C-s" = "counsel-projectile-ag";
          "C-c C-f" = "counsel-projectile-find-file";
        };
        config = ''
        (unbind-key "C-c C-s" python-ts-mode-map)
        (unbind-key "C-c C-f" python-ts-mode-map)
        '';
      };

python-mode = {
        enable = true;
        bind = {
          "C-c C-s" = "counsel-projectile-ag";
          "C-c C-f" = "counsel-projectile-find-file";
        };
        config = ''
            (unbind-key "C-c C-s" python-mode-map)
            (unbind-key "C-c C-f" python-mode-map)
        '';
      };
lsp-mode = {
        enable = true;
        command = [ "lsp" ];
        hook = [
          "((python-ts-mode java-mode vue-mode javascript-ts-mode typescript-ts-mode) . lsp-deferred)"
        ];
        bind = {
          "C-c r r" = "lsp-rename";
          "C-c r f" = "lsp-format-buffer";
          "C-c r g" = "lsp-format-region";
          "C-c r a" = "lsp-execute-code-action";
          "C-c f r" = "lsp-find-references";
          "C-c C-s" = "counsel-projectile-ag";
          "C-c C-f" = "counsel-projectile-find-file";
        };
      };
counsel = {
        enable = true;
        bind = {
          "C-x C-d" = "counsel-dired-jump";
          "C-x C-r" = "counsel-recentf";
          "C-x C-y" = "counsel-yank-pop";
        };
        diminish = [ "counsel-mode" ];
      };

      counsel-projectile = {
        enable = true;
        bind = {
          "C-c C-s" = "counsel-projectile-ag";
          "C-c C-f" = "counsel-projectile-find-file";
        };
      };
};

Any help appreciated.

view more: ‹ prev next ›