Rust dev, I enjoy reading and playing games, I also usually like to spend time with friends.

You can reach me on mastodon @sukhmel@mastodon.online or telegram @sukhmel@tg

  • 0 Posts
  • 37 Comments
Joined 1 year ago
cake
Cake day: July 3rd, 2023

help-circle








  • I want to add that getting a degree likely will create a social network and provide experience of working in a team. These days that may be replaced by contributing to open source and going to free conferences (although these seem rare 😢).

    So even though I am pro getting at least one first year of CS degree (because it’s the most useful one because teaches to think rather than specifics), I agree that it can be fully replaced by a well though out self-education, and from purely CS standpoint self-education might even be of a better quality.

    But yeah, I must disclose that I am a European rubbing free education, and I studied in university not college. So my opinion may be influenced by that and I don’t know if first year in college would’ve been as useful as it was in university.



  • You may take a look yourself at the repo while I will try to describe it below.

    I use nix-darwin on top of nix installation to manage most of system settings and build.

    I am not quite sure now, but I think, I remember having to do xcode-select --install, can’t quite remember if that was part of workaround for issues or part of normal process. Oh, and there were some discoverability issues with bin directories, I had to work around them by adding extraInit to zsh that includes binaries into PATH. This might be based on my poor skills in configuring everything, though.

    Some of the packages needed are installed from nixpkgs, but some are installed by brew based on configuration.nix so these have to be upgraded in brew and don’t get upgraded upon rebuild (it looks like the intended way would be to wipe them on each rebuild, but that would take longer)

    I develop in Rust, so I also use rust-overlay instead of rustup to manage Rust and nixpkgs-cross-overlay for cross-platform builds. Build scripts also create docker containers descripted with nix in our case.

    There were regular issues with Nix installation upon macOS updates, requiring me to either add back Nix to zshrc or completely reinstall it (the latter was not necessary, likely), but those seem to be fixed, as of now.

    I think you will have less trouble managing reproducible machines with Nix, but I also think that it will require a bit more than just copying config and running Nix. There will also be issues of installing some software and packages locally, that will allow the developers to break builds across the machines when one have something locally that other doesn’t, but this can be mitigated by processes and getting them acquainted with Nix, at least it did it with me 🌚







  • lad@programming.devtoGit@programming.devcommit messages are optional
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    4 months ago

    Merge requests should be rather small to make it easier to review.

    With this I wholeheartedly agree

    if your work warrants multiple commits, then it probably also warrants multiple merge requests.

    With this not so much, but if you keep your merge requests so small, squashing them is no big deal, that’s a good counterexample for my previous point.

    another good thing is that when we decide to release, we can easily look through the commit history for a change log. No more sifting through minor fixes commits.

    That still requires you to write meaningful messages, just a bit rarer. We do have trouble with change logs, but we had exact same problems when people squashed left and right. Maybe squashing helps self-discipline, though, I haven’t thought about it that way