You are not logged in.

#1 2019-08-08 23:13:00

DracoSentien
Member
Registered: 2019-08-08
Posts: 2

Arch Linux and CodeReading

Alright, so I have used Linux since 1997 and then went to *BSD land for a while and switched back and forth. On the Linuxquestions slackware forums an OpenBSD forum exists, I am not proposing one here, which means we can be respectful of each other. OpenBSD has it's niche and it is not various niches that Linux has for the most part. To be honest out of all the *BSDs I think OpenBSD is a good example of how a Unix can stay modern without being Linux. Anyway, my main beef with Linux is that the manpages can't compete with the quality of the OpenBSD manpages since I missed 'easy Linux' Ubuntu era by a longshot I think maybe the quality of Linux manpages might be getting worse. However, Arch does a heroic job with it's wiki that is almost or is equal to *BSD documentation outside the manpages. I don't think Arch is responsible because it is so bare bones on install and the stuff from upstream is not your responsibility for making manpages for. However, I  once heard a story how a guy got into kernel hacking just from reading the OpenBSD manpages.

So why I am saying all this stuff about OpenBSD ? In recent years that is what I used mostly so I am a bit rusty at Linux but very far from a n00b.

Anyway, I will get back to Arch Linux and OpenBSD and then Code Reading in a minute.

First impressions of an Arch install compared to Slackware, Crux Linux and Linux from Scratch (I never tried Gentoo). It would seem to me that Crux Linux and Linux from Scratch would teach newbies more  than the Arch install as the Arch install has some very specific arch-linux tools. To be fair the Slackware install does not teach you much about Linux either unless you are not doing a full install (which is recommended) then it teaches mostly about what depends on what in a Linux system.

Before, settling on Arch Linux (because OpenBSD does not like my current laptop hardware which I mentioned in the greetings/hello thread) I distro hopped I tried MxLinux, Slackware-current, Fedora, the latest Debian, OpenSuse, Crux Linux etc... before settling on Arch. I am not going to lie if Slackware released a new version today I would be on that like flies on sh*t or if OpenBSD supported all my hardware I would be running that but Arch is not bad.

I don't understand why Arch is considered 'hard to install' as I find both Arch Linux and Slackware to be extremely easy to use. I failed to install Crux my first try and decided it was not worth it because it failed probably due to some esoteric kernel setting I set and the kernel has changed a great deal since 1997 --2001 and there is no point in compiling a new kernel, nowadays, because you don't get speed improvement thanks to it's more modular architecture and because you should probably only do it if you want an embedded system or need odd hardware support built in.

One thing I found to be a useless pain in the ass during Arch install, though, was since Systemd has arrived in Arch software rfkill is on automatically on my wifi-card and probably others too. At first that knocked me for a loop because I installed Arch-Linux once way before Systemd.

So now that rambling is out the way I am general computer expert and security expert but kind of a jack of all trades master of none since I am not up to snuff as a professional sysadmin or coder although I can sysadmin my own systems etc...

Basically, I am looking to get into C programming especially since Linux is coded in C and so now is SystemD. Now, OpenBSD is engineered and Linux is grown through chaotic innovation but that chaos can be tamed as we see with Arch and various other Linux distros. I have the book "The C Programming Language" by Kernighan and Ritchie and books like "Code Reading : The OpenSource Perspective" by Diomidis Spinellis. Diomidis used NetBSD code in his book because Linux is just a kernel and he did not want to just use kernel examples. Basically, to get better at coding it is good to read other people's quality code. I am thinking about running OpenBSD in a virtual machine and downloading the entire CVS source code tree. Why ? Because unlike Linux the base  user land system and the kernel are tightly coupled together. With Linux I am not so sure how I would do that. I am not ready to dive into the Linux kernel so the OpenBSD userland code would seem ideal. However, if anyone has any ideas how I can do that better on Linux I  am all open ears. This is not a competition between Linux and OpenBSD this is me being pragmatic and practical.  How would I do this on Linux ? For instance, there is a development package which seems to contain GCC and other GNU tools for Arch for compiling things on AUR but if I just got the source code for those tools and SystemD it would still seem like a fragmented overview of the system.

Keep in mind I tried to be respectful of all operating systems involved but somethings I may have said may be strong opinions that I have that make you want to flame me but please don't. I am just trying to be productive here. No operating system is perfect and all have their plus sides and con sides and we are  talking about code reading here not reading Shakespeare or some ingenious beautiful math theorem so try not to hyped up and attack me.

Last edited by DracoSentien (2019-08-08 23:48:02)

Offline

#2 2019-08-08 23:27:07

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,426
Website

Offline

#3 2019-08-08 23:42:32

Trilby
Inspector Parrot
Registered: 2011-11-29
Posts: 30,530
Website

Re: Arch Linux and CodeReading

I don't know why you keep referring to systemD - and I'm not really talking about the capitalization, but it is systemd - what I'm curious about is why/how you think an init system is relevant to the BSD/Linux comparison.  Yes, in the BSDs the kernel and userland are developed together, those are comparable to the kernel and GNU coreutils in linux: just two projects, and systemd is neither one of them.  Systemd is an init system, while BSD has it's own init system(s) which can even be used in linux and on an arch system.

If you want to learn about the equivalent of the BSD userland, study the linux userland which is most commonly GNU coreutils.

As a nice alternative, you could study busybox which is an alternative userland and it is *much much* simpler and smaller - and IMHO much more cleanly coded.


"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman

Offline

Board footer

Powered by FluxBB