yboutros

joined 1 year ago
[–] [email protected] 1 points 11 hours ago* (last edited 11 hours ago)

Fiat makes itself obsolete

[–] [email protected] 1 points 11 hours ago (1 children)

Bitcoin cash was an attempt at centralized control by Jihan Wu. Just because the block size is bigger doesn't mean it's better for decentralization. In fact, the increased costs of maintaining a node just makes it harder for people in (typically poorer) oppressive countries to self verify

They are still increasing the TPS, lightning network isn't perfect, but it can scale beyond visa until more upgrades are implemented

[–] [email protected] 4 points 3 days ago

Ollama (+ web-ui but ollama serve & && ollama run is all you need) then compare and contrast the various models

I've had luck with Mistral for example

[–] [email protected] 8 points 3 weeks ago (26 children)

Russia (allegedly) has elections too however

[–] [email protected] 3 points 3 weeks ago

We might as well change the baseline for ADHD since technology has hammered everyone's dopamine receptors

[–] [email protected] 1 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Again, those are my ideals. Realistically, not everything can be decentralized in a trustless way.

That said, much of our current system of signing documents to verify it was done by a certain Identity can be automated. Enforcement and neorealism are a separate issue to mitigate, but the delegation of authority to humans can be automated without human involvement

[–] [email protected] 1 points 4 weeks ago

After 6 months of trying to get this to work in NixOS I finally cracked and posted on discourse.nixos.org right before I figured out how to export the appropriate library in the shellHooks function, go figure

[–] [email protected] 2 points 4 weeks ago

Yes, (most) everything is feasible in smaller populations (not nuclear maintenance for example). But without technology, they've been isolated, uncoordinated, and easily bullied by those larger organized authoritarian bodies. There are billions of people, and narcissists make up about 1 in 5 of those billions of people. A smaller subset lack basic empathy, and an even smaller subset are intellectually competent. Multiply whatever that probability is by billions of people, and you have a guaranteed concern for every single government on the planet.

I agree with wanting smaller businesses as well. Capitalism isn't bad (communism is state capitalism after all), but corporatism is the emerging problem from right libertarianism that most people conflate as problems with capitalism

My point being isn't that I don't like leftism, they are my ideals. I just don't believe we live in an ideal world, so practically I follow a different set of beliefs. Thay said, I do think leftism is compatible with libertarianism in a way that it can compete in the global arena. And that starts off with solving how a decentralized governmental body "identifies" one and only one person to their "identity" (otherwise you get Sybil attacks)

[–] [email protected] 1 points 4 weeks ago (3 children)

So, I emphasized trustless and decentralized in social organizations. "It just works for social media" isn't exactly addressing what I was getting at. For example, Lemmy has a bot account problem. All that freedom makes it harder to prevent that problem.

But if you're talking about how a government is a system of voting bodies that authorize some action given state (policy), and authority is delegated by some means - say, voting - then the botting problem of Lemmy is not just "something that doesn't work", it's a critical failure which would enable fraud.

So, when I brought up Sybil attacks, I was trying to avoid a long winded digression including arguments from Microsoft on Decentralized ID. But the point being, it can be decentralized. Policy is action given state but action is delegated to people inevitably. But when you vote, would you rather trust a person to count those votes or a trustless automated system?

[–] [email protected] -1 points 4 weeks ago (2 children)

I said it's feasible for smaller populations - but to be comparable to the size and strength of a world power AND have that sort of left wing economics how many examples can you provide that don't end up needing authoritarianism?

By the way, I have nothing against the left or authoritarianism. Some geographic regions lead to power dynamics where authoritarianism is just a more sensible form of management since constraints on necessary resources make it easy for militant groups to seize control.

[–] [email protected] 2 points 4 weeks ago (5 children)

No one, there are already plenty of protocols defined for distributed computing and are made open source. In a hypothetical lib left social network, If you want different networks, that's fine, you just have to make your own protocol. It's like how countries shouldn't have borders, or how computing platforms shouldn't lock you in or out of others (take apple/Mac OS as an example, versus Linux)

Then it's up to individuals to verify the source code and choose to be a node operator. Not everyone needs to be a node operator, just enough on that the common skilled worker can partake should they need to

If you don't like the "rules of governance" of whatever network you're in, that's fine, go to a different one you do like, or make your own with your own rules. If it's actually a better system of "decentralized digital government", you'll attract people into your Network.

Consumer grade tech is more than capable of achieving this. You don't need cpus with 2nm transistors (which are heavily gatekept by oligarchs), there's plenty of open software and hardware protocols/designs to prove not only this concept works, but has been done before by now.

The only problem in the past was with solving the identity problem and preventing Sybil attacks, but that's becoming less of a concern for other reasons (which I could elaborate further on)

 

Went through the pain of packaging a python project on Nixos. Here's some issues I hit, and how I got lucky resolving them. I feel the most reliable way of doing this in the future is to use docker and just imperatively build.

Here's how I got web drivers, AI dependencies, gpu dependencies, and an api dependency bundled together into an ephemeral shell for python development, on NixOS 23.11

  1. Enable Flakes

  2. Start with setting up poetry2nix

  3. Get the template flake by running nix flake init --template github:nix-community/poetry2nix

  4. in the flake.nix, sometimes changing projectDir = self to projectDir = ./. fixed some issues

  5. in your terminal, run nix develop . to build the poetry app with python packages described in pyproject.toml

  6. By default, just poetry and python latest should be installed. the dependencies for the project (which gets reflected in the pyproject.toml) are updated with poetry add, such as poetry add numpy selenium scikit-learn

  7. Exit out of the ephemeral shell from nix develop ., and rerun to have poetry2nix rebuild and link the newly declared packages

Poetry2nix has worked pretty well for the more obscure python packages, but failed in others. For example, sentence-transformers would depend on maturin, which would fail to link setuptools. If poetry doesn't work, you can try and get the package from nixpkgs, or specify sha256s from pypi.org

Here's an example of what I added to my flake.nix to get gpu acceleration, sentence-transfomers, firefox drivers for selenium, and other packages poetry failed to setup:

packages = [ pkgs.poetry pkgs.python311Packages.sentence-transformers pkgs.firefox 
            pkgs.python311Packages.openai pkgs.python311Packages.yt-dlp pkgs.python311Packages.pyopencl
];

was added to this flake.nix, as in,

{
  description = "Application packaged using poetry2nix";

  inputs = {
    flake-utils.url = "github:numtide/flake-utils";
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
    poetry2nix = {
      url = "github:nix-community/poetry2nix";
      inputs.nixpkgs.follows = "nixpkgs";
    };
  };
  outputs = { self, nixpkgs, flake-utils, poetry2nix }:
    flake-utils.lib.eachDefaultSystem (system:
      let
        # see https://github.com/nix-community/poetry2nix/tree/master#api for more functions and examples.
        pkgs = nixpkgs.legacyPackages.${system};
        inherit (poetry2nix.lib.mkPoetry2Nix { inherit pkgs; }) mkPoetryApplication;
      in
      {
        packages = {
          myapp = mkPoetryApplication {
            projectDir = ./.;
          };
          default = self.packages.${system}.myapp;
        };
        devShells.default = pkgs.mkShell {
          inputsFrom = [ self.packages.${system}.myapp ];
          packages = [ pkgs.poetry pkgs.python311Packages.sentence-transformers pkgs.firefox 
            pkgs.python311Packages.openai pkgs.python311Packages.yt-dlp pkgs.python311Packages.pyopencl
          ];
          nativeBuildInputs = [(
            pkgs.python311Packages.buildPythonPackage rec {
              pname = "serpapi";
              version = "0.1.5";
              src = pkgs.python311Packages.fetchPypi {
                inherit pname version;
                sha256 = "b9707ed54750fdd2f62dc3a17c6a3fb7fa421dc37902fd65b2263c0ac765a1a5";
              };
            }
          )];
        };
      });
}

There was one package (serpapi), which was not in nixpkgs, and poetry failed as well. Adding this to native build inputs got serpapi installed

nativeBuildInputs = [(
            pkgs.python311Packages.buildPythonPackage rec {
              pname = "serpapi";
              version = "0.1.5";
              src = pkgs.python311Packages.fetchPypi {
                inherit pname version;
                sha256 = "b9707ed54750fdd2f62dc3a17c6a3fb7fa421dc37902fd65b2263c0ac765a1a5";
              };
            }
)];

All in all, it works, and I have no doubt I've made a reproducible environment. What attracts me is I've never had an easier time setting up cuda/cudnn/tensorrt/... system drivers have been near effortless, and much faster to setup than on debian. Tools like sentence-transformers and torch default to packages which leverage the GPU.

What pushes me away, is I've had failures in each of the three methods for specifying package dependencies, even though one of the three eventually was the fix for integrating the dependencies into my shell. For now, I'll stick with it, but it's hard for me to suggest to a team we use this in development

 

I setup a next.js project with pkgs.mkshell, and used nix develop to automatically build the project. However, when I leave the shell, the files persist. How should/can(?) I setup my shell.nix so that files in the directory it drops down into are automatically removed when leaving the ephemeral shell?

view more: next ›