/tech/ - Tech


Mode: Reply

Max message length: 8192


Max file size: 20.00 MB

Max files: 3


(used to delete files and postings)


Remember to follow the rules

(55.16 KB 1024x930 Guix_logo.svg.png)
GNU Guix Comrade 09/28/2019 (Sat) 10:55:08 No. 2607
Is Guix the operating system of the future?
>Is Guix the operating system of the future?
Well, it's a libre distribution, so that automatically rules it out in terms of popularity, NIXOS is more likely because of this. More than this people don't really seem to care that much about its features.

On a personal note much of their software is very poorly written in my opinion, and much of it is just a big old hack to rewrite things in one format into another. I prefer centralized consistent configuration, but I'm not sure this is the way to do it.
Do you mean that Guix is badly written or GNU software in general?
>Do you mean that Guix is badly written or GNU software in general?
I was referring to Guix specifically here. At one point I was considering becoming a contributor, and began working through a folder in the repo. I was quite unhappy with what I saw in terms of code repetition, and unnecessary verbosity, not to mention the various incomplete features and the mission which necessitates a sort of hacky approach as I mentioned. I'll be honest, I really haven't looked through GNU's more mainline software enough to pass judgement.
someone will probably make a non-strictly-free Guix distro in the future when it's more mature. I'd install it in an instant.
>someone will probably make a non-strictly-free Guix distro in the future when it's more mature. I'd install it in an instant.
NixOS existed before Guix and isn't a libre distribution. It has all the same features except for its configuration language is Nix and it sadly doesn't have GNU Shepard, just in case you didn't know about it. Some people prefer Guile to Nix, which is certainly understandable, and others realize that GNU Shepard is pretty cool, so it's certainly reasonable to prefer a non-free Guix to a NixOS if you did know about it already.
(23.21 KB 400x554 1570476551120.jpg)
>Is Guix the operating system of the future?
Not after this: https://guix.gnu.org/blog/2019/joint-statement-on-the-gnu-project/
Remember the names of these traitors to the Free Software community:
1. Ludovic Courtès (pic related) (GNU Guix, GNU Guile)
2. Ricardo Wurmus (GNU Guix, GNU GWL)
3. Matt Lee (GNU Social)
4. Andreas Enge (GNU MPC)
5. Samuel Thibault (GNU Hurd, GNU libc)
6. Carlos O'Donell (GNU libc)
7. Andy Wingo (GNU Guile)
8. Jordi Gutiérrez Hermoso (GNU Octave)
9. Mark Wielaard (GNU Classpath)
10. Ian Lance Taylor (GCC, GNU Binutils)
11. Werner Koch (GnuPG)
12. Daiki Ueno (GNU gettext, GNU libiconv, GNU libunistring)
13. Christopher Lemmer Webber (GNU MediaGoblin)
14. Jan Nieuwenhuizen (GNU Mes, GNU LilyPond)
15. John Wiegley (GNU Emacs)
16. Tom Tromey (GCC, GDB)
17. Jeff Law (GCC, Binutils — not signing on behalf of the GCC Steering Committee)
18. Han-Wen Nienhuys (GNU LilyPond)
19. Joshua Gay (GNU and Free Software Speaker)
20. Ian Jackson (GNU adns, GNU userv)
21. Tobias Geerinckx-Rice (GNU Guix)
22. Andrej Shadura (GNU indent)
23. Zack Weinberg (developer on GCC, GNU libc, GNU Binutils)
24. John W. Eaton (GNU Octave)
>It's bad because I disagree with its maintainer on side issues
> >It's bad because I disagree with its maintainer on side issues
Stabbing someone in the back isn't mere disagreement. He could have just shut up, but he had to use the gnu.org platform to pile on Stallman.
(151.68 KB 216x635 GuixSD.png)
jesus christ what happened
>upcoming Herd support
<Still believing in vaporware.
you can delete your own posts. Click the arrow
Hurd exists and you can run it on your laptop. I'm not sure you know what the word vaporware means.
To be fair Hurd is kind of an ultra niche OS-component plaything.
But as soon as somebody figures out AI-Assist-codding, which will ramp up the speed of software development, a microkernal like Hurd have significant advantages.
AI is a scam
Ok fine I shouldn't have used the Ay eye buzzword, But seriously it's going to be possible to use machine learning to improve coding tools. Especially for run time optimization, and security/compatibility/interoperability/stability scoring. Because if you compare enough code examples, you can definitely train machine learning algorithms to find optimal patterns.
>Especially for run time optimization
Ideally all optimizations would be at compile time because run time optimizations are costly. Also if you're using ML to perform run time optimizations you inherently don't know what your program is doing. There are things in the works to make programming performance heavy applications dramatically easier, but they aren't ML. [0][1][2] We want more formalism, not statistics.

>security/compatibility/interoperability/stability scoring.
This is silly, you need formalism not statistics to reduce security, and stability problems. If all you've got is statistics you can't know you've got a secure stable system at all.

[0] https://wiki.haskell.org/GHC/Data_Parallel_Haskell
[1] https://en.wikipedia.org/wiki/High_Productivity_Computing_Systems
[2] https://en.wikipedia.org/wiki/Partitioned_global_address_space
Deja vu
(5.78 KB 244x206 d6rftu.jpeg)
>all optimizations would be at compile time, Ideally .
It's not gonna be ideal
>Also if you're using ML to perform run time optimizations you inherently don't know what your program is doing.
So not much of a difference to the contemporary state of affairs of actually existing software development.
>you need formalism not statistics
Statistics precede formalism.
Did you just call me glitch in the matrix ?
>It's not gonna be ideal
Let me put this another way. Unless you've got a JIT you've not got run time optimization because it's slower than making optimizations up front. The reasons run time optimizations exist in those languages with them is to avoid compile time features/hindrances.

>So not much of a difference to the contemporary state of affairs of actually existing software development.
No, completely different. If you're just using statistics to randomly modify programs there is no way to understand your program will come even close to doing what is intended. This is independent of whether or not you've taken a compilers class ever or know how to read assembly with gcc -S and also independent from the fact that folks can write lisp, apl, and forth compilers in less that a week.

>Statistics precede formalism.
This is only barely true in the least. We've got things like inlining which can't really be done in a deterministic fashion so we have heuristics but what you're talking about is completely different. We already have things like CakeML which is a compiler which is provably correct, and things like ATS, agda, and Coq for writing formally specified programs. ML programs to rate programs on security would have to be made by martians or something.
(65.25 KB 374x212 vibe.png)
There are lots of "OS of the future"
Guix is great, though I could never get it to play nice with Doom Emacs, which was a dealbreaker at the time (I'm not using Doom Emacs anymore, but as far as I can tell the only way to maintain config for your software like this is to build it as a Guix package, which I just don't have the time or energy for). I ran it for a couple of months on my hobby laptop, though I got tired of the build-times for some packages when substitutes weren't available (especially non-free Linux kernels, which I would leave running overnight and sometimes come back to the kernel still being built in the morning).

I do think though that declarative operating systems are the future, because the implications are amazing for deployment of many machines, as well as maintaining your own workstation - you make some configuration change to a particular service in your OS declaration, build and switch to that OS you've declared, and if you fucked up you rollback.

What really excites me is that Guix is just the package manager - even though we call the distribution based on on this package manager `Guix System', in reality every system configuration for Guix is its own distribution of GNU/Linux. Some future non-Guix project could `downstream' Guix by way of providing some standard distributions (read: `operating-system' configuration files with useful collections of packages, services, configuration, etc.) users could make use of, adding new channels with non-free software that users could opt-in to if they have e.g. a wifi card with non-free drivers, and providing some helpful configuration tools, e.g. for setting up and maintaining profiles, which don't require you to be pretty well versed in Scheme to have a working, maintainable distribution. Maybe this project could maintain build servers for the more popular software which isn't available in the standard Guix build repositories. We could have all sorts of Linux distributions which are built on the Guix package manager, and switching between these distributions would just be a matter of running `guix system reconfigure'.

I think the possibilities here are incredible, and I'm pretty excited for it - for now though I've got Slackware on my laptop, so I can keep my distance from systemd while having a distribution that gives me most of what I could possibly need from a system out of the box.
Sounds pretty cool, now I need to find an excuse to try it!
(441.68 KB 400x425 1417750820580-1.gif)
Just finished writing my first package and it compiles!!


no cookies?