philm

joined 2 years ago
[–] philm@programming.dev 8 points 1 year ago

That only really works, if the method is self-contained, and written in a language that GPT has seen often (such as python). I stopped using it, because for 1 in 10 successful tries I waste time for the other 9 tries...

[–] philm@programming.dev 4 points 1 year ago (2 children)

This.

If I'm writing something slightly more complex, ChatGPT(4) is mostly failing.

If I'm writing complex code, I don't even get the idea of using ChatGPT, because I'm only getting disappointed, and in the end waste more time trying to "engineer" the prompt, only to get disappointed again.

I currently cannot imagine using ChatGPT for coding, I was excited in the beginning, and it's sometimes useful, but mostly not really for coding...

[–] philm@programming.dev 1 points 1 year ago

installer

You mean the "new" installer GUI? I never used it TBH, I always did partitioning (and everything else) via CLI, not sure about that. But NixOS (gnome version) has GParted and all other kinds of partitioning tools on board, so just partition it as you think it's best and then generate a config via nixos-generate-config as described in the manual. One tip, when going down that rabbit hole (when you're committing at least): Start with Nix flakes right away. Checkout all kinds of dotfiles in github of other users (and on github there are a lot of configurations that can be source of inspiration).

[–] philm@programming.dev 2 points 1 year ago

OCI images and CI/CD to buid the image

Actually since I just had a similar issue at work. I fought a little bit with the traditional Docker pipeline, and then discovered this: https://mitchellh.com/writing/nix-with-dockerfiles, which not only solved my problem much faster, but is also more efficient, since only the actual dependencies of the package are in there (and it can be really reproducible). So you can actually combine the best pieces of each technologies (Docker - sandboxing/containerizing, Nix - packaging and configuration).

Btw. Nix is rapidly growing (since flakes mostly), so I think a slow shift towards Nix is happening already.

But I agree, migrating traditional dotfiles to Nix+home-manager takes time. I did it incrementally (I used activation scripts to link directly to the old config files, and slowly converted the old config to Nix.

[–] philm@programming.dev 1 points 1 year ago (2 children)

lack of btrfs support was disappointing

NixOS supports Btrfs

AFAIK NixOS supports every filesystem, that other linux distros support, and often with easier/better configuration, e.g. I'm using ZFS, which seems to be easier to setup on NixOS than on most other distros.

[–] philm@programming.dev 1 points 1 year ago

Yes, it certainly invites you to tinker and experiment with the system without having to fear a broken state. I got multiple forks for different applications (e.g. helix-editor with a few merged PRs), and configured the system in a detail not comparable to any previous distros I was on. Really like how I can e.g. carelessly switch between different desktop environments (without VM)...

[–] philm@programming.dev 4 points 1 year ago

Yes, if you've found your distro, I also don't see a point in switching, there's more important stuff than learning how to install and setup your distro everytime you hop. I only hopped, when I wanted to have a clean install because my previous was kinda broken (dirty state over time), and/or wanted to have more control, or try a different desktop-environment. I have now found a distro (NixOS) where I can have all of that at the same time (so no point in hopping anymore for me too).

[–] philm@programming.dev 1 points 1 year ago (4 children)

I have hopped rather rarely. I think my journey started with Debian -> (all kinds of flavors of) Ubuntu -> Arch -> NixOS.

Maybe I missed a few (started with linux at probably ~2005). I've stayed on each of these for a few years, I think I switched between Ubuntu flavors a little bit more frequently. Stayed on Arch the longest for ~7 years. And I think I have basically settled now since 3 1/2 years on NixOS without plan to hop any further distros (unless there comes a distro comparable to NixOS that has less quirks and is generally nicer to use (e.g. tooling, strong, strict static typing etc.)).

NixOS is quite different than other distros (which IMO are all very similar) but does package-management+system-configuration basically how it should be done (in hindsight). It's a rather steep learning curve in the beginning, but it only gets better over time, since your system continuously improves, compared to different distros that accumulate dirty state over time and in one way or the other break after some time. This was often the reason why I hopped on a different distro, since I wanted a clean fresh install, which I get with something like Impermanence+tmpfs on root after each reboot.

[–] philm@programming.dev 2 points 1 year ago (2 children)

Interesting.

I have settled with NixOS+home-manager. It got quite a bit better over the last 3 1/2 years.

After learning and understanding all the quirks of NixOS, I've got a super nicely configured system, that just gets better over time, not comparable to a(ny) different distro I know of (they kinda degrade after time IME). I really like the way I can compose all my configuration via functions in modules and reuse relevant stuff on different servers and desktops I use (via flakes), always with the same up-to-date configuration.

[–] philm@programming.dev 5 points 2 years ago (1 children)

$0.7k annually? Is it anyhow possible to live with that low salary in India? I can't even live a month with that here, even if I don't buy anything but the cheapest food and live in the smallest apartments here...

[–] philm@programming.dev 3 points 2 years ago

I think the crux of good software design, is having a good feeling/intuition when to abstract and compose, and when to "inline" code as it's used only once anyway (in which case "linear code" is IMHO often the better choice, since you're staying close to the logic all the time without having to jump between files etc.).

I agree the examples of the google blog are bad, they don't really show how to compose code nicely and in a logical way (whether that would be more data-oriented, imperative or OOP).

[–] philm@programming.dev 11 points 2 years ago (1 children)

I guess you have to almost thank John Riccitiello for that, haha

view more: ‹ prev next ›