hallettj

u/hallettj@beehaw.org
3 posts · 27 comments

Recent posts

Recent comments

I believe your last Linux experience in 2015 predates DXVK which has been transformative for Linux gaming. Wine used to have to implement its own DirectX replacement which necessarily lagged behind Microsoft's implementation, and IIUC didn't get the same level of hardware acceleration due to missing out on DirectX acceleration built into graphics cards.

Now DXVK acts as a compatibility bridge between DirectX and Vulkan. Vulkan is cross-platform, does generally the same stuff that DirectX does, and graphics cards have hardware acceleration for Vulkan calls the same way they do for DirectX calls. So game performance on Linux typically meets or exceeds performance on Windows, and you can play games using the latest DirectX version without waiting for some poor dev to reimplement it.

If you are using Steam with Proton, Lutris, or really any Wine gaming these days you are using DXVK. It's easy to take for granted. But I remember the night-and-day difference it made.

on Musl on NixOS · c/nixos · 1 pts · 3y

Nixpkgs includes packages compiled for musl under the pkgsMusl prefix. For example, pkgs.pkgsMusl.hello. IIUC these only exist on a Linux system.

Maybe you can use those packages for everything by setting pkgsMusl as your package set. For example if you are using Home Manager with a flake config you normally have a line like,

let pkgs = nixpkgs.legacyPackages.${system};

Maybe you could change that to

let pkgs = nixpkgs.legacyPackages.${system}.pkgsMusl;
on Warp: Rust-based terminal · c/rust · 6 pts · 3y

Yes; I met one of the devs a while ago, and we had to have a little disambiguation conversation when he said, "I work on Warp."

I'm fully remote, in software development. It's very helpful for me to be able to pick up my kids from school, and get back to work while they do homework. I used to have an elaborate system orchestrating pick-up and transportation to a daycare service.

Lots of small software companies have taken a remote-by-default approach the last few years. That means job openings are often not limited by geography. I'm working for a company that doesn't have an office on my side of the continent. For companies that means they can throw a wide net to pick up people with very specific skills.

I think the downside is that mentorship becomes difficult. An all-remote company I worked for before the shutdown said they found it only works well for senior-level engineers or above. I learned a lot of what I know from the guy who used to sit next to me at my first job. I'm not sure if there's a good replacement for that for new devs. There is still collaboration in my current job, but it's limited by the friction of video calls, and timezone mismatches.

on Favorite Sunscreen? · c/asklemmy · 1 pts · 3y

I prefer Hawaiian Tropic Sheer Touch because it's easy to apply, and doesn't feel pasty or oily. But I'm taking note of these other suggestions.

on Who makes Nix packages? · c/nixos · 3 pts · 3y

I realized that I didn't answer the basic question, what person or organization is behind all this? That would be the NixOS Foundation. You can get some information on the people involved in the "Teams" section on this page, https://nixos.org/community/

on Who makes Nix packages? · c/nixos · 10 pts · 3y

The packages are defined in a Github repo, https://github.com/NixOS/nixpkgs. That contains the sources for all of the Nix expressions. Usually when you install packages you get pre-built binaries that are produced from the expressions in the repo through an automated system.

There is a group of "committers" who have the authority to merge PRs (pull requests) to the nixpkgs repo. There is a tracking issue for nominating new committers. That issue also describes criteria that new committers should meet. I found a comment claiming that there are 139 committers - but that comment is a few years old.

Packages are maintained by a larger group of authors who submit new packages or updates via PRs. Committers review these PRs before they can be merged. A key criteria for becoming a committer is to author a sizable number of PRs that go on to be approved through this process.

I didn't see descriptions of any measures that would prevent committers from making whatever changes to nixpkgs they choose to. Also package hashes are not a cryptographically-secure proof of reproducibility - it is technically possible to tamper with binaries in some ways that don't change hashes. So your trust in nixpkgs is based on,

  • vetting of committers
  • committers being sufficiently diligent in PR reviews
  • security of the build system
  • enough eyes on the project to catch a problem quickly if some malicious change does get through

As a system it looks good enough to me. People have to demonstrate a commitment to the project, and an ability to do the work to get the keys to the system. Personal reputations are at stake which I think is a solid motivator to act in good faith. I think if a malicious change did get in it would probably be caught quickly.

I think use Nix for as little or as much as you want. I've been using Nix for a long time to get the odd package that isn't available, or that isn't completely up-to-date in the Debian repo. Now that I've learned more about it I'm using it for dev environments and packaging for my software projects, and I'm setting up NixOS and Home Manager on a new laptop.

The low-level packages are there in case you need them. If you install anything that needs coreutils, libc, gtk, whatever Nix will install it automatically. It's all fully isolated from the libraries that Arch installs so there is no need to worry about conflicts. But since Nix packages use only Nix dependencies you can run into some oddities when Nix uses different library versions than the host OS. For example I've had a case where a GTK app didn't match the theme of the rest of my system.

The only other comment I see is mine. One reason you might not have seen it is the language was set to "Undetermined" because Jerboa does not have a language selector. If you don't have "Undetermined" as one of the languages on your account settings I think you won't see posts or comments with that language tag. So if you see this comment (which is set to English) but not my other one then that could be why.

Instead of cargo addons I mostly use this neovim plugin: https://github.com/Saecki/crates.nvim. I can add a dependency by typing it in Cargo.toml, and it shows me the latest version number, and tells me whether I guessed wrong about dashes vs underscores in the package name. It shows virtual text next to crates that have upgrades available. It has commands for upgrading the crate under the cursor, or all crates. It has an interactive feature selector.

What I could still use is cargo-udeps. I'll check that one out!

I'm in the process of setting up this way too. I just switched over to lazy.nvim a few weeks ago, and I'd like to keep the lazy loading and configuration system.

I did a little experimenting to see if I could use lazy to lazily-load from Nix packages instead of downloading stuff itself. I couldn't work out. But with a version-controlled lock file lazy is declarative and reproducible by itself, so I suppose there's no need to mess with it.

on twitter / mastodon · c/chat · 9 pts · 3y

I haven't really gotten into Twitter or Mastodon because those systems are organized around relationships with people. Apart from close friends and family that doesn't match how my mind is organized. OTOH the Reddit / forum model is organized around interests and ideas. That clicks for me. I engage more with ideas than with personalities. Because of that I've been a regular Reddit user for many years while rarely checking in on Twitter. Since Lemmy follows a similar model I think it's likely to engage my interest the same way.

I think this is an oversimplification. ActivityPub is the server-to-server protocol. Mastodon and Lemmy each have different client protocols. I think the ! search syntax is part of the Lemmy client protocol specifically, and won't work on Mastodon.

Lemmy communities will appear on Mastodon as though they are users. So you can find the programming community on Mastodon by searching for @programming@beehaw.org. If you @mention that account your post becomes a thread on Lemmy. You can follow it, but beware that you will get all replies in your Mastodon feed, not just top-level threads.

I think when you're in your (I'm guessing) early -or-mid-20s there is a tendency to underestimate how much time you have ahead of you. Whatever you decide, it's not a lifetime commitment. Take a job, work there for a year, or a few years. If it turns out it's not for you, you've gained experience, you've learned new things about yourself, and you still have plenty of time to transition to something different.

There will be a time when you understand yourself and what you want much better. For me that was maybe my mid-30s. The only way to get there is to try things, and see what happens. I suggest making choices that lead to new experiences, such as travel. That gives you new ways to learn about yourself, and more chances to run into something that really grabs your interest.