1. 50

    I assume some people don’t like Facebook, so I reformatted the text and included it here:

    This is written by Jon “maddog” Hall

    This is the long-promised Christmas present to all those good little girls and
    boys who love GNU/Linux.
    
    It was November of 1993 when I received my first CD of what was advertised as "A
    complete Unix system with source code for 99 USD".   While I was dubious about
    this claim (since the USL vs BSDi lawsuit was in full swing) I said "What the
    heck" and sent away my 99 dollars, just to receive a thin booklet and a CD-ROM
    in the mail.   Since I did not have an Intel "PC" to run it on, all I could do
    was mount the CD on my MIPS/Ultrix workstation and read the man(1)ual pages.
    
    I was interested, but I put it away in my filing cabinet.
    
    About February of 1994 Kurt Reisler, Chair of the UNISIG of DECUS started
    sending emails (and copying me for some reason) about wanting to bring this
    person I had never heard about from FINLAND (of all places) to talk about a
    project that did not even run on Ultrix OR DEC/OSF1 to DECUS in New Orleans in
    May of 1994.
    
    After many emails and no luck in raising money for this trip I took mercy on
    Kurt and asked my management to fund the trip.   There is much more to this
    story, requiring me to also fund a stinking, weak, miserable Intel PC to run
    this project on, but that has been described elsewhere.
    
    Now I was at DECUS.  I had found Kurt trying to install this "project" on this
    stinking, weak, miserable Intel PC and not having much luck, when this nice
    young man with sandy brown hair, wire-rim glasses, wool socks and sandals came
    along.  In a lilting European accent, speaking perfect English he said "May I
    help you?" and ten minutes later GNU/Linux was running on that stinking, weak,
    miserable Intel PC.
    
    I sat down to use it, and was amazed. It was good. It was very, very good.
    
    I found out that later that day Linus (for of course it was Linus Torvalds) was
    going to give two talks that day.  One was "An Introduction to Linux" and the
    other was "Implementation Issues in Linux".
    
    Linus was very nervous about giving these talks.   This was the first time that
    he was giving a talk at a major conference (19,000 people attended that DECUS)
    to an English-speaking audience in English.   He kept feeling as if he was going
    to vomit.   I told him that he would be fine.
    
    He gave the talks.  Only forty people showed up to each one, but there was great
    applause.
    
    The rest of the story about steam driven river boats, strong alcoholic drinks
    named "Hurricanes", massive amounts of equipment and funding as well as
    engineering resources based only on good will and handshakes have been told
    before and in other places.
    
    Unfortunately the talks that Linus gave were lost.
    
    Until now.
    
    As I was cleaning my office I found some audio tapes made of Linus' talk, and
    which I purchased with my own money.  Now, to make your present, I had to buy a
    good audio tape playback machine and capture the audio in Audacity, then produce
    a digital copy of those tapes, which are listed here.  Unfortunately I do not
    have a copy of the slides, but I am not sure how many slides Linus had.  I do
    not think you will need them.
    
    Here is your Christmas present, from close to three decades ago.   Happy
    Linuxing" to all, no matter what your religion or creed.
    
    And if you can not hear the talks, you are probably using the wrong browser:
    

    Introduction to Linux:

    https://drive.google.com/file/d/1H64KSduYIqLAqnzT7Q4oNux4aB2-89VE/view?usp=sharing

    Implementation Issues with Linux:

    https://drive.google.com/file/d/1Y3EgT3bmUyfaeA_hKkv4KDwIBCjFo0DS/view?usp=sharing

    1. 28

      Thanks!

      Also I mirrored this on archive.org so people can find this after google no doubt caps the downloads.

      https://archive.org/details/199405-decusnew-orleans

      1. 13

        Thanks! I really appreciate you posting the text.

        It’s not so much that I don’t like Facebook, as that I literally cannot read things that are posted there, because it requires login and I don’t have an account. In my professional opinion as a privacy expert, neither should anyone else, but I realize that most people feel there isn’t really a choice.

        1. 3

          I don’t have a Facebook account either (and agree that neither should anyone else), but this post is actually publicly available so you should be able to read it without one. (I did, as I got to the post via the RSS feed, rather than the site so didn’t see the post.)

          1. 1

            That’s very interesting and good to know. I wonder whether it checks referrer or something? I do definitely get a hard login wall when I click it here.

            (Sorry for the delayed reply!)

        2. 11

          Someone also linked the slides in the archive.org link :)

          http://blu.org/meetings/1994/08/

          1. 3

            Does anyone have links to the referenced anecdotes “described elsewhere”?

            1. 3

              This format on Lobsters is really bad on mobile with the x-overflow, weird.

              1. 5

                The parent put the quote in a code block instead of in a blockquote.

                1. 2

                  The link that @neozeed posted to archive.org has the same text and is much easier to read on a mobile device.

                2. 2

                  Thumbs up @Foxboron. I usually go out of my way to isolate facebook into a separate browser. I do have to say that this content was worth the facebook tax.

                1. 1

                  I too feel like I am missing a solution. I tried using pinboard for the last year, but the cookies kept expiring and it added enough friction that I could never use the site when I wanted too. Very annoying to have the bookmarklet die.

                  I also need to store and process a lot of pdfs. I feel like I need some sort of database I can dump, files and links into (which would be archived) where I could attach notes, tags and thoughts. I can mirror this in my vimwik, but it isn’t quite everything.

                  1. 3

                    What I really want is config free autocomplete for shell scripts. Too often do I sit hitting tab and wonder why nothing of value happens.

                    1. 2

                      Permit me to connect your comment to @duncaen’s

                    1. 1

                      I’m totally wierded out that I have never heard about NUCs until a few months ago, although they have existed for years, apparently. Since I have recently moving back from a laptop-orienter workflow to a desktop (but for technical and health/posture reasons), I have found NUCs quite interesting, and it’s great to see that free software works well on them – to a certain degree.

                      And I’m glad to finally see a “review” from a developers perspective. Most of what I found until now was “Not good enough for games” and “Great for Office Work”, especially this part:

                      that isn’t the fastest in the world, but it is about an 1:15 faster than my x270 with its 2015 i5-6300U. The difference 5ish years makes.

                      I have a x230 from 2012 with a i5-3320MT, so the difference would be even more noticeable.

                      On that note, is there any real-world difference between the fat-NUC with the extra HDD space and the thin one? Like is one louder or warmer?

                      1. 1

                        On that note, is there any real-world difference between the fat-NUC with the extra HDD space and the thin one? Like is one louder or warmer?

                        I’ve used both types. There may be slight differences but I didn’t notice any. I think it comes down to whether you to be able to fit a 2.5” drive (a major convenience which is worth the extra height IMO).

                        1. 1

                          So I guess that if you have an external hard-drive, the difference is negligible.

                          1. 2

                            Note that both variants also have an M.2 slot with PCIe X4 lanes. I have a BEH and initially used a 2.5” SATA SSD that I had lying around already. Later I replaced it with an NVMe SSD.

                            When I got the NUC, the price difference between the BEH and BEK was really small, so you may want to get a BEH for the extra expansion option.

                            1. 1

                              having an external hard-drive doesn’t necessarily mean you have no use for an internal 2.5” drive. but if you aren’t using the internal drive then yes.

                              1. 1

                                The only difference between is the enclosure size. One has room for a 2.5 HD, the other doesn’t. The board is exactly the same for both variants, so the “short” variant still has a SATA port, just no room for anything to plug into it.

                                I tried to find the tall one but then thought with current SSD prices and reliability I can go with a 500GB SSD and just bought the short one that was in stock.

                            2. 1

                              Glad to hear it helped. It is remarkably hard to find good comparisions for build workloads, CPU bench marks do help though. If I look at my build machine Xeons, laptops and this NUC on passmark the realitive single core performances do compare reasonably well.

                            1. 1

                              Intel AC 9462 not supported

                              Is that iwx by any chance? (Intel’s Wi-Fi branding is getting super confusing now)

                              Thunderbolt N/A I have no idea what the implications of this are or how to test

                              We don’t have anything for controlling it when the system is running, but I think firmware is supposed to configure it at boot, so a PCIe device (e.g. eGPU) could work when cold-plugged?

                              1. 1

                                Yes, I think it is iwx.

                                Yeah that is what I thought. Someone told me that networking over thunderbolt is possible (the way it was over firewire), but I don’t think we have support.

                                I don’t have anything like an eGPU so there is no way for me to test.

                              1. 7

                                This project is really cool, I had a short play one of the earlier prototypes at FOSDEM last year and it was great. I’ve followed the project for a while and the teams dedication to open hardware is really impressive.

                                1. 2

                                  There are great suggestions in this thread. I would second Beej’s guide as an intro, but then read the man pages. Wireshark is a good tool to use, if you are going to be at the command line I would suggest getting familiar with tcpdump (the -XX option to display hex dumps is great) and use netcat.

                                  1. 2

                                    I really like this system.

                                    I will admit that I skimmed the article and immediately went to start hacking up some scripts to manage a list like this. Then reviewed and saw how the author generates tasks from their calendar. I learned from years of trying different productivity systems that I just can’t break down a task in to small enough components that they can be checked off like this.

                                    I write out (by hand) the things I need to do each day, but their resolution is always so low that most things can’t just be done today, they will need days or weeks of chipping away before they get crossed off as done. Instead these task move forward day by day. I don’t need advice for making problems smaller, I can just manage things as their natural size; email xxx is done and crossed off before lunch, but write article for magazine gets carried for a while.

                                    I am not trying to give anyone advice for how to be productive and I am not looking for advice. I just wanted to leave this note here, if you have tried every system under the sun and feel like you could be more productive maybe you need to step away from the cool system or app and contemplate how you actually work.

                                    I am quite jealous of the historic record created this way.

                                    1. 2

                                      It is not clear to me from this article or retrosys.net if the source code for Mach386 is publicly available anywhere. Does anyone have a link if it is?

                                      1. 3

                                        It isn’t. The article says that the 4.3 personality was binary only, so you’d be able to build the Mach 3.0 bits from the provided source but not the whole kernel. The BSD license and the CMU license let them do that. I think this is probably lost to posterity :(.

                                        Being that this a Mach based system it builds the 3.0 kernel with ease. It even includes a 4.3BSD (sadly binary only) ported kernel to the 3.0 Mach which you can run. It’s defiantly [sic] not as fast as the default kernel, but seems to work well enough.

                                        That’s also not the stock kernel, which they describe as a Mach 2.x (so an object-oriented C kernel with built-in BSD kernel personality, rather than a personality server running in user mode).

                                        1. 1

                                          As far as I’m aware none of the Mt Xinu Mach386 source code survives.

                                          However I have located source code for 2 builds of Mach 2.5 (kernel only) and I do have them both running. The system code is from MK35 which was an Intel only release of Mach, which some code as new as 91 and old as 89. Intel & Olivetti both directly contributed to the i386 port which their code is dated 1988/1989.

                                          Initially it doesn’‘t work as start.s has a bug where the cr3 register is manipulated after setting the paging bit on the cr0 register throwing the system into a triple fault. The floppy driver is contributed by Toshiba, and it is incredibly buggy to the point of almost not working at all. The system also seems to easily lose interrupts and lock up on IO, although the kernel debugger shows it’s still running.

                                          1. 1

                                            Thats a real shame, there shold be a hunting list for source code so we know what to look for.

                                            You should put what you have online somewhere I’d hate for you to have the only copy and it go missing.

                                            I have a copy of VMS 4 (and 5 I think) on microfiche and no idea what to do with it, a computer museum will get it soon I hope.

                                            1. 1

                                              I’m not even sure what version this is yet. But it’s from 1986, and runs on the VAX. It’s apparently parity with 4.3BSD.

                                              I have it running with SIMH. All the bits I have are on the disk images… Its full of references to accent, and MIG (among others) is a Pascal program!

                                              https://sourceforge.net/projects/bsd42/files/4BSD%20under%20Windows/v0.4/Mach86.zip/download

                                              Even better, it’s self hosting!

                                              1. 1

                                                I’ve been mashing the Tahoe source with some Reno i386/4.4 to build a bunch of the bin, etc, usr.bin and libc.

                                                That and try to go through all of the Mach 3 stuff and see if any of it will work for 2.5…

                                                I’ve put Mt Xinu on archive.org, and the original discussion along with the patch to at least get it compiling is on the TUHS mailing list. The critical bit is even on my blog. Although it hasn’t garnered anywhere near as much attention than the Mt Xinu. It may be the 4th holiday or just Mach fatigue.

                                                1. 1

                                                  https://minnie.tuhs.org/pipermail/tuhs/2019-July/018009.html

                                                  My diff against the i386 only MK35.

                                                  It did not exactly set the world on fire, even in TUHS circles.

                                            1. 10

                                              Back when bsdjobs.com was more than a bunch of links to companies I compiled out a list requirements companies had for kernel hacking roles:

                                              • Schedulers
                                              • Virtual memory
                                              • Numa design
                                              • System bandwidth considerations
                                              • Understanding of 64bit x86 architecture
                                              • Read and write x86 assembly
                                              • Analyze, debug and fix kernel crash dumps and defects.
                                              • Deep and current understanding of the C programming language
                                              • Programming in Intel x86 and/or ARM assembly (64bit preferred)
                                              • Understanding of modern CPU design (out of order, superscalar)
                                              • Low level debugging experience
                                              • Genuine passion for kernel technology and systems engineering
                                              • Extensive knowledge of hardware platforms & processor architectures
                                              • Familiarity with FreeBSD, Linux, IP, TCP, HTTP, TLS, DNS, and BGP

                                              I am going to dig further into this starting with the ARM ARM (Architecture Reference Manual) between the ‘just for fun’ books I plan to read over the winter break.

                                              I also plan to learn more about IPv6, there are only about 400 RFCs to read so that should go quickly :D

                                              1. 3

                                                i think that’s a nice list to follow. commenting to keep this bookmarked :p

                                                1. 1

                                                  That’s my learnlist too :)

                                                1. 3

                                                  This is cool, I am glad there are more people using RISC-V.

                                                  I do wish it were easier to figure out what is needed to run on an FPGA. I guess for the moment emulation with QEMU is the easy way to practically run RISC-V.

                                                  1. 6

                                                    QEMU or that Unleashed board (which is as expensive as the (much faster) Talos Blackbird POWER9 system).

                                                    The 64-bit, unix-capable cores probably don’t even fit on an FPGA, and if they do, it’d be painfully slow.

                                                  1. 2

                                                    Thats really cool, I am excited to see what they do with the other (and stranger) platforms that qemu supports

                                                    1. 2

                                                      This was a great article and well worth the read, ports of unix to other platforms aren’t so common and in depth write ups are even more rare. It is a shame that the font on the page is so small (fixed by inspect element in firefox) and that the figures are not in line with the text.

                                                      I know that FreeBSD has been ported to two hardware architectures quite recently (riscv and aarch64), it would been nice if their authors could write up similar articles.

                                                      A friend through the local hackerspace always tells me his story about using 386BSD. He was mercilessly flamed by Bill Jolitz and driven away for 368BSD (and he didn’t want to waste his precious disk on a TCP/IP stack he wouldn’t use). Later he got an apology and explanation from Lynne.

                                                      1. 3

                                                        This is a great article, I hope the people that want to continue using Eudora can find a way to fund its development.

                                                        Attachment to software like this seems a little weird to me, but I guess if someone decided to take away mutt I would be quite up happy. Thankfully that isn’t possible without open source software.

                                                        1. 5

                                                          So, it’s working really well but the complex stacks in Linux are breaking a lot. Especially on hardware stuff. I’m curious if anyone in NetBSD or OpenBSD camps plans to try to get those working on it. That might be a better experience esp for console users.

                                                          1. 4

                                                            There is a FreeBSD effort to port to POWER9, I think one developer has also received a TALOS II.

                                                            Hopefully the market will expand and we will see lower prices. I am all for diversity, but damn $7000 for any machine is a lot of money.

                                                            1. 4

                                                              That’s a good thing. A high-quality, high-performance UNIX on POWER9. Especially for high-security since a contender for most secure UNIX is CheriBSD which is FreeBSD on capability-secure, MIPS-based CPU. One might use TALOS II to develop for it. More importantly, in long term such security enhancements like CHERI could get merged into an OpenPOWER core that becomes a future TALOS workstation. A significant drop in performance from checks might not hurt if the starting point is what a POWER9 or up can do. ;)

                                                            2. 3

                                                              I think the price tag might put a damper on it for both devs and users. Not much demand, so why sink the development time?

                                                              1. 3

                                                                Some people (outside the “NetBSD or OpenBSD camps”, too…) spend their time on such things because they are able to and they value diversity (POWER9 is the most interesting part in this case, at least for me).

                                                                1. 1

                                                                  I think that this was true for Apple’s PPC hardware supports your point. It cost a bit extra with small market share. A lot less software was developed for it. However, the groups that stayed on it after Apple ditched PPC made a lot of software work on it. So, it’s possible a niche effort could make these usable.

                                                                  Im not sure what the overlap is between those kind of devs and people that can drop almost ten grand on a machine.

                                                              1. 4

                                                                Spencer Dawkins published an early draft at IETF 101 “Path Aware Networking: A Bestiary of Roads Not Taken” to try and capture some of the mistakes protocol designers have made over the years. It is probably worth a read and worth following as more accounts are added.

                                                                https://tools.ietf.org/html/draft-dawkins-panrg-what-not-to-do-00

                                                                1. 1

                                                                  Lots of maybes still:

                                                                  So far:

                                                                  Upcoming:

                                                                  I would love to go to 35C3, but there are too many uncertainties that far in the future to lay down any plans.

                                                                  1. 3

                                                                    I use FreeBSD as my desktop at work.

                                                                    Really it depends on your work load, I write network code and write stuff in latex. Almost everything I do can be done from a terminal, if you can give me a large enough terminal and mosh then I could probably do 90% of my work.

                                                                    Very occasionally (2-3 hours a month) I have to do video calls with skype/webex that requires using a macbook. Sometimes I also use the mac to make diagrams in omnigraffle, but that might be once a year.

                                                                    1. 5

                                                                      I don’t think this is a new idea. The real issues are single sided deployment and breaking assumptions middleboxes on the network make. RFC1693 was my first hit on google I imagine this space has been explored.

                                                                      Of course, I’m ignoring fiddly details like segment boundaries, interactions between this strategy and flow- and congestion-control, and so on. It’d take a lot of work to really do this!

                                                                      To experiment with this you could use SCTP with partial reliability. I am not sure if you could still use a stream socket in the same way you would use a TCP stream socket, it might be interesting to play with.

                                                                      1. 5

                                                                        Work: Implementing this ietf draft on top of this ieft draft on FreeBSD. If I am really lucky I won’t have to deal with any bureaucracy this week.

                                                                        !Work: Probably too much.

                                                                        The GPD Pocket has a whole raft of devices connected to i2c, for some reason I can’t figure out ig4 is unable to use the bus. I need to ask for help on a mailing list, but need to find some time to focus my question. I have a review in to support the gpio controller (which the fan is connected to), if there is progress on that it will become the top task. The back light is controlled by pwm, I have written most of a driver for that, but I can’t get acpi to probe the hid it should be on. That needs more time to look at.

                                                                        Sick of reading datasheets and linux sources trying to track down the ig4 issues I spent this weekend working on bringing up the mt7610u usb wireless driver. I need to figure out why the usb stack doesn’t like my usb descriptors before I can continue.