uthredii

joined 1 year ago
MODERATOR OF
[–] uthredii 5 points 3 months ago

Yeah it is, eventually they want UV to have feature parity with rye and rye will basically just be a pointer to UV

[–] uthredii 8 points 3 months ago (1 children)

Early on uv was only trying to replace pip. This latest update is a big step towards becoming a poetry (and pyenv/pipx) replacement too.

[–] uthredii 5 points 3 months ago (1 children)

It worked for me with just: virtualisation.libvirtd.enable = true; in the configuration.nix.

[–] uthredii 3 points 3 months ago

Stable channels provide conservative updates for fixing bugs and security vulnerabilities, but do not receive major updates after initial release.

If you want up to date packages then use the unstable channel.

[–] uthredii 9 points 3 months ago* (last edited 3 months ago) (11 children)

Nix has the most unique packages and the most up to date packages of any Linux software repository. It has substantially more fresh packages than Arch or Alpine (which you say does a better job in a separate comment).

Source:https://repology.org/repositories/graphs

[–] uthredii 7 points 4 months ago

Also you can comb your hair with an electric comb for 10 days

[–] uthredii 2 points 4 months ago

Yeah I agree, I am sure they are missing some obscure stuff. But in practise it has everything that I use and there has been no need for me to touch flatpak/appimage/snap

[–] uthredii 3 points 4 months ago* (last edited 4 months ago) (7 children)

object oriented

Python does have OOP but you are not at all forced to use it. You can write code in a functional or even procedural style.

typing

I do hate that python doesent have proper support for typing but I think weakly typed variables will actually help beginners as it is less to think about to start off with.

indentation

I think there are pros and cons here. In other languages it is considered good style to use indentation anyway.

I'm sure it is difficult to teach a large class like that though. It was hard enough for me to learn with a much more favourable teacher to student ratio than you probably have. Sorry but honestly I do sympathise with admin as well.

[–] uthredii 4 points 4 months ago

yep, I mean a GUI based software centre

[–] uthredii 7 points 4 months ago* (last edited 4 months ago) (5 children)

NixOS:

  • Largest and most up to date package repository (no need for flatpack/appimage/snap ect)
  • Reproducible
  • Declarative
  • Rollbacks you can select at boot time
  • No dependency conflicts

I think it will easily be the number 1 distro if/when they can :

  • the steep learning curve (e.g. have a gui installer EDIT: As in a GUI software centre)
  • documentation
  • have more tools use nixos and have nixos in mind (e.g. there are a couple of tools that didn't work for me because of specific C libraries not beeing present/configured on nixos that are present on other distros. some libraries implicitly expect these to be present).
[–] uthredii 9 points 4 months ago* (last edited 4 months ago)

One thing I haven't seen mentioned is that not moving between mouse and keyboard so much reduces the risk of getting an RSI. So even if it didn't make you faster it would still probably be worth it to find a keyboard based workflow.

I use Helix and would suggest you try it (at least to start off with) as it is easier to learn than vim and does not require plugins or a complex config. To answer your question I will go from the less to more advanced/complex:

  1. Move a line to a new position in the file/another file (takes a couple of seconds)
    1. x then d to select a line (pressing N times will select N lines) and delete it (delete will also copy to the clipboard)
    2. navigate the cursor to the new location
    3. p to paste in a new
  2. Navigating around a file:
    1. jumping to a function/class definition by pressing g then d when on a function/class usage.
    2. getting a list and navigating to class/function calls when the cursor is on a class/function definition by pressing g then r.
  3. Multi cursor editing - I use this to make edits to multiple places at once. I most recently used this to extract the names of 30 tables that are used in a SQL file. This probably took ~5 seconds and I barely thought about it. To do this I used:
    1. % to select the entire files contents
    2. s to search
    3. typed "FROM "
    4. pressed enter to create cursor at all locations matching the search
    5. v then g then l to select the rest of the line
    6. space+y to copy to the system clipboard.
    7. paste into a document where I needed to list the tables
  4. Using a terminal workspace manager (zellij) with helix and a git tui app (gitui) so that I can easily make code changes, commit, push, ,run tests, move to a new repo and more without leaving the keyboard.

There is actually a helix community on programming.dev: [email protected]

62
submitted 9 months ago by uthredii to c/programming
40
submitted 9 months ago by uthredii to c/nix
35
To catch a catfish (www.newstatesman.com)
submitted 11 months ago by uthredii to c/[email protected]
view more: ‹ prev next ›