[-] yboutros@infosec.pub 5 points 1 week ago

Wouldn't it make more sense to kill him instead of just yourself? Strictly hypothetically speaking

13
submitted 1 month ago by yboutros@infosec.pub to c/nixos@infosec.pub

Meaning, VMs with Xen and hardware virtualization support

The system VM/Qube for USBs is isolated, the Network VM/Qube is separate and isolated, the windowing system and OS housing the qubes is isolated....

And being able to configure all of those with Nix would be a wet dream come true

[-] yboutros@infosec.pub 8 points 1 month ago

Laplacian Edge detection? beautiful meme

[-] yboutros@infosec.pub 39 points 2 months ago

I wish more guys just said they didn't know something instead of clearly not knowing what they're talking about and running their mouth based on vibes

[-] yboutros@infosec.pub 24 points 3 months ago

25% of reddit comments are chatgpt trash if not worse. It used to be an excellent Open Source Intelligence tool but now it's just a bunch of fake supportive and/or politically biased bots

I will miss reddits extremely niche communities, but I believe Lemmy has reached the inflection point to eventually reach the same level of niche communities

[-] yboutros@infosec.pub 6 points 3 months ago

Don't tell him, if too many people get ad blockers they're just going to keep evolving

4

When training a transformer on positionally encoded embeddings, should the tgt output embeddings also be positionally encoded? If so, wouldn't the predicted/decoded embeddings also be positionally encoded?

[-] yboutros@infosec.pub 10 points 3 months ago

You're right, we need water fountains with milk instead

[-] yboutros@infosec.pub 8 points 3 months ago* (last edited 3 months ago)

Meanwhile: NixOS

[-] yboutros@infosec.pub 15 points 4 months ago

Fake. My parents didn't have a stable marriage

[-] yboutros@infosec.pub 4 points 4 months 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

[-] yboutros@infosec.pub 8 points 5 months ago

Russia (allegedly) has elections too however

10
submitted 5 months ago by yboutros@infosec.pub to c/nixos@infosec.pub
[-] yboutros@infosec.pub 4 points 5 months ago

Unfortunately, it's for the best. If you're serious about research you have to present yourself. Especially if you're the first person to discover it, you're the most - possibly only - qualified person to talk about that thing.

Part of scientific communication is giving elevator talks. You have to be able to argue for funding.

Not to mention, if you never develop those skills, you're just opening yourself up to getting a worse financial incentive for the same amount of work

4
submitted 6 months ago* (last edited 6 months ago) by yboutros@infosec.pub to c/nixos@infosec.pub
12
submitted 6 months ago* (last edited 6 months ago) by yboutros@infosec.pub to c/nixos@infosec.pub

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

17
submitted 7 months ago by yboutros@infosec.pub to c/nixos@infosec.pub
12
submitted 8 months ago by yboutros@infosec.pub to c/nixos@infosec.pub

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 ›

yboutros

joined 1 year ago