• pmjv@lemmy.sdf.orgOPM
      link
      fedilink
      English
      arrow-up
      34
      ·
      6 days ago
      Bell Laboratories
      
      Murray Hill, NJ (dec!ucb)wav!research!rob
      
      It seems that UNIX has become the victim of cancerous growth at the hands of
      organizations such as UCB. 4.2BSD is an order of magnitude larger than Version
      5, but, Pike claims, not ten times better.
      
      The talk reviews reasons for UNIX's popularity and shows, using UCB cat as a
      primary example, how UNIX has grown fat. cat isn't for printing files with line
      numbers, it isn't for compressing multiple blank lines, it's not for looking at
      non-printing ASCII characters, it's for concatenating files.
      
      We are reminded that ls isn't the place for code to break a single column into
      multiple ones, and that mailnews shouldn't have its own more processing or joke
      encryption code.
      
      Rob carried the standard well for the "spirit of UNIX," and you can look
      forward to a deeper look at the philosophy of UNIX in his forthcoming book.
      
      
      • mariusafa@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        24
        arrow-down
        1
        ·
        edit-2
        6 days ago

        Yeah there are some pieces of code that are super bloated in the FOSS community. I think it does not help overall because it mixes the primitive meaning for an application. Such as systemd or even GCC. I’m starting to like much more simple designs like GNU Shepherd. Or the idea of having a Hurd like kernel (which does not need to be Hurd). Or shifting to more simple CPU ISAs. Designs should have the necessary entropy, not more not less. Trying to allocate more stuff in a design does not help.

        I think some part of the GNU community is starting to understand that.

        Emacs is bloated? Probably more than it should be. Maybe it should be more minimalistic and move most of it to modules. But is LEGO bloated? Emacs can be regarded bloated because how it is shiped, but not for what it is. Not being modular and programmable would make Emacs not Emacs.

        This is a topic very interesting to touch but probably not to talk about it in a comment section hahahha.

        • vulture_god@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          11
          ·
          6 days ago

          I’m pretty experienced in some technical ways, but still learning a lot on Linux / kernel level. I appreciate your comment as I learn more about lower level architectures like this.

          Reading about the Hurd microkernal was really interesting, here’s the wiki article for others:

          https://en.m.wikipedia.org/wiki/GNU_Hurd

          Def open to other suggestions on good resources for these topics.

          • mariusafa@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            7
            ·
            edit-2
            6 days ago

            I’m learning too. I’m not so expert on technical ways because I come from an electrical engineering degree (we call it here Telecommunications Engineering, so tons of EM, Signal Processing, Numerical Methods, semiconductors, digital design hdl, tons of hardware digital stuff, tons of hardware analog stuff, tons of hardware microwave stuff, telematics, etc.).

            I’m self taught on everything involved with computers that is above hardware digital architecture (digital design). Because of that (I think) I have planified a thematic list of topics I have to learn before digging into Hurd deeply (and be able to help).

            I want to learn more about OSes by following this book/course https://xinu.cs.purdue.edu/ about a well documented fully minimalistic OS implementation (I bought myself a beagle bone black to test it out).

            I’ve recently (for a year now) started fiddling with Guix (both system and package distro). I want to learn more about Full Source Bootstrap in order to understand how a system boots up (which is like magic) https://guix.gnu.org/en/blog/2023/the-full-source-bootstrap-building-from-source-all-the-way-down/ .

            Because of that I’m currently following this book about programming a C compiler in order to understand the primary core parts of a program and what relations it has with bootstrapping https://norasandler.com/2022/03/29/Write-a-C-Compiler-the-Book.html . I’ve opted for Guile both for learning more about the language and using a “quick” “lab” language that I can program very easily.

            Probably you would only need a few of those, but I hope it helps! GNU has very cool projects as you see!

      • qrstuv@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 days ago

        Rob carried the standard well for the “spirit of UNIX,”

        if (isatty(1)) {

        	if (ioctl(1,JMUX,0) >= 0) {
        		struct winsize win;
        		if (ioctl(1,JWINSIZE,&win) >= 0) {
        			screenwidth = win.bytesx;
        			if (screenwidth == 0)
        				screenwidth++;
        		}
        	}
        
        	qflg = Cflg = 1;
        	(void) gtty(1, &sgbuf);
        	if ((sgbuf.sg_flags & XTABS) == 0)
        		usetabs = 1;
        }