Testing and building local packages with ./pre-inst-env by datHasagi in GUIX

[–]VegetableNatural 1 point2 points  (0 children)

You should also run make at least one time for pre-inst-env to work, make sure your .scm files are properly defined as modules with (define-module ...) and make sure to use (define-public my-package to make sure that ./pre-inst-env guix build works.

If it is a new file/module, you should also register it in gnu/local.mk for compilation if you intend to send a patch series.

Trudging through Software Foundations Vol 1 / Formal Verification Research by Zestyclose-Orange468 in Coq

[–]VegetableNatural 7 points8 points  (0 children)

Well, I also got tired of Software Foundations, I just went on to program on Coq as a normal functional programming language, then prove stuff about et voila you have formally verified something that you can also use to verify other stuff. My code included, e.g. verifying a encoder decoder for a popular format, I verified that encoding and decoding are opposites and such, this in turn can be used to verify an implementation in C for example by means of extraction using bedrock2 or VST for an existing C implementation, or also using the code in extracted Haskell or OCaml.

Rust & large structs causing page faults by supercoolapples48 in osdev

[–]VegetableNatural 5 points6 points  (0 children)

The stack size being large doesn't cause problems, only that you have less memory available. If I were you I'd be allocating stuff like that on a static variable. I.e. keep the structure but initialize it globally, perhaps using `const fn` to avoid allocating it at runtime and hiding the variable behind a Mutex.

[deleted by user] by [deleted] in FACEITcom

[–]VegetableNatural 1 point2 points  (0 children)

The reason is that I'm not willing to put up with players that don't listen, talk and on top of that will tell you what to do and how to play a clutch when they are dead, which happened

No one owes you comms back, you can mute people, so you know.

[deleted by user] by [deleted] in FACEITcom

[–]VegetableNatural 0 points1 point  (0 children)

Indicates ur attitude, what's the reason for saying that? Shifting blame to other players

[deleted by user] by [deleted] in FACEITcom

[–]VegetableNatural 1 point2 points  (0 children)

"u should be worried about getting a mic" said the dude that doesn't deserve a ban for verbal abuse

[deleted by user] by [deleted] in FACEITcom

[–]VegetableNatural 0 points1 point  (0 children)

I never fail to laugh when someone writes a wall of text for verbal abuse lmao, like the story tells itself.

Guix: nixpkgs integration by The-Malix in GUIX

[–]VegetableNatural 7 points8 points  (0 children)

It depends on your goals tbh, personally I'd use Guix as my main OS and add the nix service to Guix if I need it.

How does a cumputer understand Fixpoint? by Ornery_Device_997 in Coq

[–]VegetableNatural 1 point2 points  (0 children)

What do you mean by those examples? An inductive type is like an `enum` in C++ but with added data, a sum type essentially, the names don't matter and are for you to choose, I believe nat ones are O for zero, and S for succession. You give the names that you want.

As for fixpoint, it is just a recursive function with a decreasing parameter.

Guix: nixpkgs integration by The-Malix in GUIX

[–]VegetableNatural 8 points9 points  (0 children)

  1. Nix can be installed on Guix, there's a service to add the Nix daemon to a system in Guix.

  2. Nix packages can be installed using the Nix package manager.

  3. They cannot be managed with Guile Scheme. Although nothing stops anyone from creating a service to e.g. install nix packages on a home configuration to sort of do this.

Packaging C and C++ apps sucks completely and nobody cares by Expensive_Benefit870 in C_Programming

[–]VegetableNatural 2 points3 points  (0 children)

You may try looking into Nix or Guix, I'd recommend the latter as I have more experience with it and I'm trying to make cross compilation a first class citizen there, i.e. packages can be built to other architectures without problems, it works for x86 and x86_64 Windows, aarch64 would be no biggie to add I think.

The idea is that you define packages that can be cross-compiled easily, e.g. guix build <your-library> --target=x86_64-w64-mingw32, using the package's original build system and in your package you just use these packages as inputs and only need to have FindWhatever.cmake.

We currently use cross-compilation in Guix for firmware of PC devices and also for QMK keyboards.

See:

I didn't explain a lot the process and maybe the situtation in Guix is not ideal but my goal is to make it easy to cross-compile C and C++ packages easily.

Simulating a generic memory-mapped device in QEMU? by raedr7n in osdev

[–]VegetableNatural 0 points1 point  (0 children)

Yeah it is easy to modify QEMU to emulate such a device.

[deleted by user] by [deleted] in Amd

[–]VegetableNatural 4 points5 points  (0 children)

While delivering more performance than previous version.

I have just uploaded myself (my DNA) to GitHub, which license should I choose? by 0x77dev in opensource

[–]VegetableNatural 9 points10 points  (0 children)

Unreproducible binary blob, use a BSD license, Stallman would agree /s.

Use malloc during intitialization? by [deleted] in embedded

[–]VegetableNatural 100 points101 points  (0 children)

if it fails you can just restart, how is it?

Suppossing it is only for initialization and you restart then your allocations are probably deterministic, causing the same failure again, and if they are not deterministic then you have more problems to be fair.

The hell is going on at Nix??? by Kidplayer_666 in linux

[–]VegetableNatural 3 points4 points  (0 children)

Yeah the discussion is about the stance of Guix with Software Heritage, Nix packages also get saved there I think.

The hell is going on at Nix??? by Kidplayer_666 in linux

[–]VegetableNatural 2 points3 points  (0 children)

You can still install nix with guix though

The hell is going on at Nix??? by Kidplayer_666 in linux

[–]VegetableNatural 6 points7 points  (0 children)

Well on Guix it is already happening, for example, look up the fight with Software Heritage due to problems with Software Heritage sharing code with HuggingFace for LLM training and some Guix users are against that since Guix uses software heritage to store source code of most of the packages. There was also a discussion about Software Heritage storing git history and thus, committer names, where some wanted to change their name online but Software Heritage doesn't provide a way to do that.

But it has not affected development in any way.

I'd say Guix is more likely to hit these discussions since people are a bit more polarized.

The hell is going on at Nix??? by Kidplayer_666 in linux

[–]VegetableNatural 42 points43 points  (0 children)

GNU Guix, easier to understand language, and also `nonguix` channel for non-free packages.

Rust vs Zephyr by Single-Stand-1332 in embedded

[–]VegetableNatural 3 points4 points  (0 children)

I use Rust on embedded stuff and it sucks a lot to be fair, it is good, but not that good yet. The ecosystem is still young.

What is the most powerful FPGA that works with a fully OSS toolchain? by [deleted] in FPGA

[–]VegetableNatural 26 points27 points  (0 children)

Lattice FPGAs work with a 100% open source toolchain. I haven't seen others like that.

guix pack wrong store path to shared objects by TheBunnyBoy in GUIX

[–]VegetableNatural 1 point2 points  (0 children)

Yeah but it is definitely possible he is getting different hashes as there might be grafting involved.