1. 1

    Exciting opportunity! It’ll be interesting to see how limited it is though. I could absolutely use one of these for my research to verify things that I currently just have to tease out of Apple’s vague documentation, but it’s not like I’d be dropping jailbreaks left and right if I had one.

    1. 1

      I might be a bit jaded in this answer, but the terms and conditions make me think that Apple is getting increasingly concerned with how prevalent attacks on their OS (https://www.wired.com/story/android-zero-day-more-than-ios-zerodium/) have become and are trying to get some of the benefits of Open Source (lots of eyes on the problem) while also using their traditional tactics (legal implications for not coming forward with all those jailbreaks you’re dropping).

      Opening up the platform a bit, within the constraints of the legal paperwork you’ll be signing, seems to be a decent compromise from their view. It will be interesting to see if many of the people responsible for Apple taking this step bother to sign up and bind themselves to it.

      1. 1

        The whole “must remain on the premises of program participants at all times” is interesting. “Is you security research device secured” :)

      1. 3

        OS Design & Impl (aka the MINIX book) is oddly missing in Tanenbaum’s section.

        1. 2

          If by “Operating System” you mean “Unix”, then sure :-/

          It’s probably heresy, but I’m not a huge fan of the MINIX book. I got a free copy and I’m glad I didn’t pay for it. It’s around 50% code samples from Minix. A few chapters are interesting, the rest are too much detail in a specific system. If you want to contribute to Minix, it’s great. If you don’t… not so much.

          On the other hand, his Modern Operating Systems is still an all-time favourite.

          I’d also recommend Mark R’s Windows Internals books. The NT kernel made some core design decisions that are completely the opposite of the UNIX view. Some of these have stood out as better, some have led to headaches. It’s very interesting to compare the NT and UNIX models and see what has stood the test of time. Both Linux and NT are about the same age (though both were heavily influenced by earlier systems) and both made early design decisions that have been regrettable in hindsight.

          1. 1

            If you want to contribute to Minix, it’s great. If you don’t… not so much.

            The other books are about BSD 4.3, FreeBSD, MULTICS, etc. I don’t see the problem, unless you hate MINIX for some reason.

            it’s around 50% code samples from Minix.

            Fortunately, MINIX is small, and quite readable. It’s definitely helpful to follow the source code along.

            I’d also recommend Mark R’s Windows Internals books.

            Definitely.

            1. 1

              The other books are about BSD 4.3, FreeBSD, MULTICS, etc. I don’t see the problem, unless you hate MINIX for some reason.

              I don’t hate MINIX. There’s a huge value in understanding the design decisions behind the core functionality. There’s significantly less value in a step-by-step walk through of the code. The *BSD books have a few code snippets but mostly talk about the design rationale. The FreeBSD version is not as good for becoming a FreeBSD developer than the MINIX book is for becoming a MINIX developer but is much better for becoming an OS developer who understands how FreeBSD is similar and different to other systems than the MINIX book is for becoming an OS developer who understands how MINIX is similar and different to other systems.

              1. 2

                The MINIX book is good because it goes from ground up and provides some historical context which is great for beginners, depends on your audience.

                1. 1

                  It’s been about 15 years since I read either cover to cover, but I remember that being true of Modern Operating Systems. I found the MINIX book skipped over a lot of historical things and, particularly the MINIX 3 book, described design decisions that made sense based on the current status of x86 hardware, and gave deep dives into how MINIX implemented things in far greater quantity than it described why MINIX did those things and what the design space looked like.

                  1. 2

                    Right, and difbsd?

                    1. 1

                      Kirk includes a huge amount of history going right back to the early BSDs, explaining why design decisions were made back in the ’80s and how the code has evolved over time. It helps that he was around when they were making some of those design decisions.

                      1. 2

                        No doubt about Kirk.

        1. 2

          di4.3BSD boasts that 4.3BSD has fault tolerance capabilities where upon hitting a fault it will reboot and continue operation :) (after you’ve cleaned up the disk I guess)

          1. 3

            That sounds like the sort of thing that’s in the Unix Haters Handbook, which should be on this list IMO, at least as light-reading.

            1. 2

              That sounds like the sort of thing that’s in the Unix Haters Handbook, which should be on this list IMO, at least as light-reading.

              The UNIX Haters’ Handbook should be required reading for any OS class. A few of the objections are a bit dated but there’s an increasing tendency to teach the UNIX way (or even the Linux way) as the canonical way of writing an OS and ignore anything else. This leads to a myopic view where things are done just because that’s an approach that made sense on a ‘70s PDP-7. The UNIX Haters’ Handbook gives a good counterbalance and encourages people to think about some of these decisions a bit more carefully.

          1. 7

            Thank you @adamnemecek for the invite a while back on HN. Lobsters has been a favourite site of mine for years. I love the fact that there’s so many BSD developers here. It’s a nice balance to HN’s linux startup full stack devops focus.

            1. 5

              Its kind of funny that you say that about BSD developers. I showed a friend of mine a recent active thread that was kind of pro default javascript vs. anti default javascript on the web. She said “so that is where all the BSD people went”. :/

              I love this site because it is so clean of politics and generally the more disagreeable trolls aren’t around.

              1. 5

                “so that is where all the BSD people went”

                “Systems programmers are the high priests of a low cult.” - Bob Barton :)

            1. 4

              These machines trigger some nostalgia for me. We had a bunch of them and SPARCStation 2s in the computer society’s room when I started as an undergrad. Engineering had given them to us as a cheaper alternative than a skip. We used them as dumb X servers, connected to a PC (a 133MHz Pentium, as I recall) running Linux.

              I’m not sure if it’s still true, but back then Linux didn’t correctly use the tagged TLB on SPARC, so every context switch was a full TLB shoot-down. NetBSD was around 50% faster. My housemates salvaged a bunch of them when the computer society threw them out. One of them also bought an analogue telephone switch from eBay so we all had a landline phone (with intercom functionality) in our rooms. The switch logged the calls to the serial port, so we could see who made which calls and figure out who owed what on the phone bill at the end of each month. We had an IPX in the corner of the landing recording this and displaying it on a VT100 (yes, a real one - one of my housemates really liked picking up old hardware).

              In spite of that, I’m very glad not to ever have to deal with those machines again. In addition to being painfully slow even by the standards of 15 years ago, they had weird proprietary everything. They had a non-standard display interface, which drove displays at non-standard resolutions and refresh rates, which X.org hated. They had an Apple-like floppy disk drive with no hardware eject button (that was fun - people would put floppy disks in the machines in the computer society room and then need to find an admin with root access who could eject them). The NIC used an incredibly expensive external transceiver. If ever there were machines I’d be happy to see die, these 32-bit SPARCs were near the top of the list.

              These were from near the start of Sun in full-on price gouging mode. A little bit later, high-end graphics card makers sold two variants of their cards. One with a tiny ROM as a PC BIOS extension. The other with a larger ROM (or, often, EEPROM) containing OpenFirmware code. The second variant was more expensive because it had a larger ROM and was a smaller market. Sun workstation owners would typically buy these cards from Apple, because Apple’s hugely inflated margins made the cards around a third of the price of the exact same hardware with a Sun sticker on it. Larry Ellison probably felt this fitted very well with Oracle’s customer model.

              1. 1

                Larry Ellison probably felt this fitted very well with Oracle’s customer model

                lol

                1. 1

                  I was given one by a colleague in 1998, as he had heard me reminiscing about OpenLook and how I had loved the look and feel of these old Sun machines.

                  I had to buy a ridiculously expensive proprietary monitor cable to get to to work. When it did, it was incredibly slow.

                  My previous experience had been at university, where hardly anything was run locally - we ran nearly everything off the significantly faster Solaris servers.

                  1. 1

                    problem was that the serial ports on these used the NeXT / Apple style din plug plugs so if you wanted to run them headless and the machine had to be setup, you’d have to get yet another cable. The lunch boxes look very cool fully stacked with many peripherals, if you liked stack hi-fi :)

                1. 1

                  Is anyone here using this, who is not on NetBSD? I know that one can use it on macos, but I never met anyone who does.

                  1. 2

                    I use it on macos among others. If you want to try it, it is fairly safe to do so alongside other systems as it is self contained under its own prefix, you just need to make sure your $PATH is ordered correctly so that you are calling things from the right place.

                    1. 1

                      you can get some binaries from the Joyent repos

                  1. 18

                    Email from a self-hosting perspective absolutely is, though. Absolute clusterfsck to try and configure.

                    1. 10

                      Configuration is one thing. Actually getting email delivered is another. I feel like you’re instantly on Google’s and Microsoft’s blacklist with your little server, marking all your messages as spam. It’s horrendous!

                      1. 12

                        Email is now a cartel. Old thread about it.

                        tl;dr if you really want to die on that hill, start by choosing your VPS provider carefully…

                        1. 2

                          Damn, my VPS of choice is DigitalOcean and I have to tell people to maybe check their spam folder for my email. Annoying.

                          1. 1

                            I relay all my email from my VPS through my (personal) FastMail account, which is easy and works well enough. Thus far the volume is still well within my account limits, but if I go over them I’ll probably just use SendMail or whatnot.

                            You can probably do the same with gmail or other providers.

                        2. 2

                          I spent a few hours setting up DKIM and SPF, after which my emails were delivered to gmail addresses (haven’t checked ms, but I’ve heard they’re more lenient) without a hitch. Yes, it’s irksome to have to spend even that amount of time, but it’s not that much work.

                          1. 2

                            Microsoft often marks its official communications as spam (usually correctly :)) in my Office 365 account… With the cloud and hosts reusing IP addresses all the time the old spam-fighting methods simly do not work anymore (many were bad ideas even back then)

                            1. 1

                              DMARC can be painful to setup.

                              1. 0

                                It’s trivial what do you mean

                            2. 6

                              I don’t think this is related to the article’s content.

                              1. 5

                                I’m not sure I agree. Services like Mail in a Box and Mailcow make getting started a little simpler. Overall it is complicated, but email is a complicated system. Being complicated doesn’t mean it’s broken though.

                                1. 3

                                  Which part is the most painful?

                                  1. 3

                                    I understand that email hosting used to be appalling and most of it still is but OpenSMTPD is actually really nice to use. I’ve chosen to write email apps over webapps for a couple things, e.g. self hosted instagram where I email photos from my phone to myself.

                                    Just need OpenIMAP and OpenSpam and Open Everything Else and we are all good.

                                    1. 1

                                      Could you go into some more details about your OpenSMTPD based workflow? I’ve been thinking of building apps over email, but would love to hear about others’ usage.

                                    2. -2

                                      It’s really not that hard.

                                    1. 35

                                      Counter prediction: git will still require perl in 2023 in Ubuntu.

                                      1. 17

                                        So will automake.

                                        1. 4

                                          Does Darwin’s libc still need perl?

                                          1. 4

                                            Oh god, is it still implementing wordexp/glob via Perl?

                                            1. 2

                                              I think so

                                            2. 2

                                              If you are referring to wordexp, it uses a shell builtin now (ala FreeBSD).

                                              1. 1

                                                ah, thanks for clarifying

                                        1. 5

                                          Back when architectures were designed for human assembly programmers and not just as compiler targets. Having a simple and elegant instruction set was considered a selling point.

                                          If you’re interested in learning an assembly language, you’d be hard-pressed to find a better one than m68k.

                                          1. 5

                                            Back when architectures were designed for human assembly programmers and not just as compiler targets. Having a simple and elegant instruction set was considered a selling point

                                            Turns out it also makes it hard to make a fast processor. Mashey believed it wasn’t the number of instructions, but the ergonomic and symmetrical forms that lead to things like memory-to-memory instructions, which makes it harder to optimize. (Memory decode, dependencies, etc. when it gets broken down into µops…)

                                            Ironically, the ugly duckling of CISC, x86, is ugly in ways that mostly don’t matter for performance. IBM System/3x0 is actually pretty clean, and arguably on the borderline of RISC with clean mostly fixed instruction forms and mostly schewing memory to memory instructions. (Arguably, the Model 44 comes pretty close to RISC!) I don’t think it’s a coincidence that x86 and z are around today while the more aggressively assembly-friendly architectures like VAX and 68k died.

                                            1. 3

                                              It isn’t at all a coincidence; x86 and the Z series are much easier to implement than the 68k or the VAX.
                                              John Mashey discusses the difficulties with implementing a high-speed VAX here.

                                            2. 2

                                              If you’re interested in learning an assembly language, you’d be hard-pressed to find a better one than m68k.

                                              Someone who wrote several assemblers thinks MSP430, MIPS, and AVR8 are the cleanest architectures:

                                              https://github.com/mikeakohn/naken_asm/issues/60#issuecomment-471514168

                                              1. 2

                                                While I still love the m68k, See MIPS Run is the best processor architecture book I’ve ever read…

                                                1. 2

                                                  I think that refers to parsing by a machine, and indeed MIPS was designed to be very easy to parse (as were other RISC ISAs), but not to ease of writing the instructions by a human.

                                                  I’ve found MIPS to be somewhat obnoxious to write, but I realize my experiences refer to privileged code intended to work on multiple machines, so aren’t the typical MIPS experience.

                                                  1. 2

                                                    Having worked on a MIPS implementation and the LLVM MIPS back end, I’d agree that MIPS is clean from the perspective of writing an assembler or instruction decoder, as long as we’re talking about MIPS IV and not the newer MIPS32 and MIPS64. That is; however, the only positive thing that I could think of to say about the ISA.

                                                  2. 1

                                                    I think AVR is a good, modern-day contender that I would recommend to anyone looking to get started with Assembly.

                                                    1. 1

                                                      risc-v?

                                                      1. 4

                                                        risc-v?

                                                        If you want to get an understanding of a simple close-to-the-metal environment, RISC-V is fine. If you want to write assembly code, it’s painful. The lack of complex addressing modes means that you end up burning registers and doing arithmetic for simple tasks. If you want to do complex things like bitfield manipulation, you either need to write a lot of logic with shifts and masks or you need to use an extension (I think the bitmanip extension is standardised now, but the cores from ETH have their own variants). There are lots of clunky things in RISC-V.

                                                        ARM (AArch32 or AArch64) is much nicer to use as an assembly programmer. Both are big instruction sets, but the addressing modes on ARM are really nice to work with (it’s almost as if they, unlike the RISC-V project, followed the RISC I methodology of examining the output from compilers and working out what the common sequences of operations were, before designing an instruction set).

                                                        Note that ARM doesn’t call itself a RISC ISA anymore, it calls itself a load-store architecture. This is one of the key points of RISC (memory-register and memory-memory instructions make out-of-order execution difficult), but they’re definitely not a small ISA. They do have a much more efficient encoding than RISC-V (which, in a massive case of premature optimisation, optimised the ISA to be simple to decode in an in-order pipeline).

                                                        1. 2

                                                          ah, I made the mistake of assuming that the smaller instruction set of the risc-v meant that it was easier to work with.

                                                  1. 3

                                                    I have PineBook Pro and would like to try NetBSD. I didn’t ever before use NetBSD, so I would be a total noob (but I use FreeBSD on most of my devices and the rest have OpenBSD so I guess that’s something). However, is it possible to set it up with encrypted root partition on NetBSD?

                                                    1. 1

                                                      In NetBSD, disk encryption is done via cgd(4). The arm64 port supports cgd according to dmesg but full disk encryption isn’t currently supported it seems (I don’t see a kernel module for it on offer to download).

                                                      1. 1

                                                        All I ever hear of the VAX port is how its sickly and needs help to continue working. I can’t imagine modern NetBSD and GCC is much fun to run on a real VAX…

                                                        1. 2
                                                        1. 1

                                                          The trackpad Does sound awful. I wonder whether the fixed click locations are a hardware limitation, or a misfeature of the firmware/driver? If the latter, hopefully there are fixes available. I could be tempted to buy one of these as a cheap-and-cheerful Linux box.

                                                          (I’m a Mac guy since forever, but I’ve used a couple of PC laptops, and on the cheap ones the trackpad has been a total deal-breaker. Seems like a stupid place to skimp on the mfg budget … like selling a compact car with springs poking out of the seat.)

                                                          1. 4

                                                            At least on the general software end, consider supporting libinput work: https://bill.harding.blog/2020/05/17/linux-touchpad-preliminary-project-funding-survey-results/

                                                            (bias: I’m promoting this whenever trackpad linux criticism comes up.)

                                                            1. 1

                                                              Does anyone know the timeframe for delivery? I purchased one a few days ago, got a receipt, but haven’t heard much else. Just curious what I should expect.

                                                              1. 2

                                                                it takes a little while as they build and ship from China but I’m unaware of the exact length.

                                                                1. 1

                                                                  Don’t know specifically about the PineBook, but my PinePhone took a while - a couple of months from pre-order through manufacturing and shipping. Worth the wait though :)

                                                                  1. 1

                                                                    They don’t ship constantly, but they are currently shipping, so hopefully you (and I) get shipping notifications this next week. Lookup Pine64 on Twitter for more updates.

                                                                  1. 4

                                                                    Somewhere in the multiverse there’s an alternate timeline where there’s an intense rivalry between “OS/2 X” and “BeOS 2018”, especially now that the recently released Amigas can run BeOS too.

                                                                    I want to go to that timeline.

                                                                    1. 5

                                                                      In that timeline, you might be regretting the Apple bankruptcy of 1997 and the doomed second system of Windows NT and what could have been if they didn’t fail.

                                                                      1. 4

                                                                        Windows 2000 shipped with Alpha support.

                                                                        1. 1

                                                                          RC1 did, but it was canned before final release.

                                                                          1. 1

                                                                            That’s what I’m referring to :)

                                                                            1. 1

                                                                              Oh, I haven’t woke up yet..

                                                                          2. 1

                                                                            Solaris 9 shipped without x86 support

                                                                      1. 1

                                                                        Hasn’t openzfs got crypto itself recently? (OS crypto is fine though :)

                                                                        1. 2

                                                                          yes, I think so

                                                                          1. 2
                                                                            1. 1

                                                                              following on from the thread, I’ve been looking at org-mode today :)

                                                                            1. 5

                                                                              Oh wow, this is a blast from the past for me. For my master’s thesis, I patched NetBSD’s scheduler to use a neural network to determine schedule priorities on highly loaded systems.

                                                                              The idea was to give interactive processes (ideally multimedia-like) higher priority than background jobs. Turns out UNIX’s abstractions make it really difficult to determine the source of video output. Audio was a little easier, but only if the audio devices were used directly.

                                                                              1. 2

                                                                                oh cool :)

                                                                              1. 1

                                                                                Japan used some interesting computers in the 80s and 90s, some of them unique to Japan.

                                                                                PC6601, PC8801, PC9801, x68000 are some names that weren’t exactly heard a lot outside of Japan. MSX1/2 was also very popular there.

                                                                                1. 2

                                                                                  Impressive that x68000 is still getting new hardware mods from the community. I think you can soup it up with a 68060 CPU, and usb/ethernet support via an expansion card.

                                                                                  1. 2

                                                                                    The x68000 is pretty cool and I intend to eventually get one.

                                                                                    But if the Amiga is a clever design which does magic with a bunch of low complexity custom chips, the x68000 is the opposite approach; they just put together a lot of state of the art hardware, making an expensive but very capable machine.

                                                                                    Similarly to the Amiga (or actually worse, as the Amiga at least got ECS and AGA), Sharp did sadly not really update the x68000 after its release, which is why it eventually fell behind.