• 1 Post
  • 17 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle
  • I see a lot of articles talking about the white elephants that might be lost from public view, which is probably the biggest tragedy, using their KI-10 as an example.

    The one I’m most worried about from that collection is that they have the last known operational CDC6000 series machine (Theirs is a slightly smaller CDC6500, the flagship CDC6600 is the machine that made Seymour Cray famous, it fucked so hard it was 3x as fast as the previous title holder when came out in 1964 and was still the fastest machine in the world until 1969… when it was replaced by the derived, upgraded CDC7600 from 1969-1975).

    It’s a 12,000lb, 80" tall, 165" on a side monster that draws 30kW (at 208V/400Hz), I haven’t heard a plan for it, and there are very, very few possible long-term-secure homes for such a thing.

    I guess it’s just not in the current auction so it isn’t drawing as much attention yet?



  • Alternate perspective: I use the heck out of session restore, and it has driven me nuts that it hasn’t worked properly under Wayland.

    I tend to use different virtual desktops for different projects, so being able to reboot (because of a kernel update and needing to load a module or something) without losing and having to rebuild that state is is super valuable.



  • There’s some weirdness on that because she did some important but not-very-public work at IBM in the 60s with their ACS/“Project Y” effort that did what we later call superscalar/multi-issue processors like …20 years before those terms existed. As part of that she wrote a paper about “Dynamic Instruction Scheduling” in 1966 under her pre-transition identity that is a like retroactive first cause for a bunch of computer architecture ideas.

    There was almost nothing about that work in public until Mark Smotherman was doing some history of computing work in the late 90s, put out a call for information about it, and she produced a huge trove of insider information after deciding it was worth exposing the provenance. There’s a neat long-form LATimes piece about the situation which is probably the primary source for the history in OP’s link.


  • NeXTStep became MacOS (OS X and later) and related systems. It does contain quite a number of BSD pieces that are now periodically pulled from FreeBSD.

    The story is fun and I like telling it, strap in:

    NeXTStep was basically the MACH microkernel hybridized with BSD (actual Berkley BSD before the court cases and diaspora that lead to Net/Free/Open BSD and Solaris and such) parts to make a reasonably performant modern design Unix-like, with a fancy PostScript based display layer on top, lead by Steve Jobs after he was ejected from Apple, a bunch of folks he effectively took with him, and Avie Tevanian who was the major force behind Mach when it was a research project at CMU.

    Between 1988 and 1996 Apple failed like 3 times at building their own next-gen OS. Apple and IBM cooperatively fucked up the Pink/Taligent development process so hard it’s still told like a ghost story to software developers, Copland got out of control with feature creep and empire building, and A/UX, cool as it was, was never going to be a mainstream OS because it contained Unix-brand-Unix and the associated thousand dollar license fee (Also IBM got involved combining some future development of A/UX and AIX for PowerPC and some of the Taligent stuff entered the picture and it turned into a clusterfuck).

    So it’s the mid 90s and Apple is shipping an OS from the mid 80s that they had to do hacky shit to make do even cooperative multitasking, and the executives are looking to acquire one that is already done.

    Two former heads of the Mac division had left and built companies that tried to build whole computer platforms then pivoted to just selling software, Steve Jobs with NeXT and Jean-Louis Gassée with Be. The exact details of the negotiations about how they chose NeXT over Be are kind of ambiguous and vary from account to account, I’m personally of the opinion that the biggest reason is that OpenStep looked a lot like “Taligent, but not completely bungled.”

    So Apple Bought NeXT in 1997 in a scenario better described as “NeXT Bought Apple with Apple’s Money” because all the executives in charge after the shakeup were NeXT folks.

    There was an initial plan to more or less slap a OS 8 like Copland-looking GUI on the hybridized Mach/BSD kernel and most of the userland from OpenStep (an environment that at the time was called “Yellow Box”), ship it with a virtualization environment called Blue Box to run legacy MacOS programs, and call it a day. You can even play with the missing link Rhapsody from that era, and the Classic environment that early OS X versions had is the direct descendant of that BlueBox compatibility environment.

    Then some of the important software vendors (read: Adobe, whose shitty development practices are why Macs are case insensitive by default to this day) revolted at the idea of having to do ground-up rewrites so Apple designed the Carbon APIs that are kind of a stepping stone between classic MacOS and the native Cocoa APIs that evolved from the Yellow Box deign which are the usual target on modern macOS/iOS.

    (The story of how Windows NT - which is the underlayer of all modern windows systems - is basically “The DEC VMS team got pissed off about obviously-dumb management decisions and were looking to leave DEC while Microsoft became aware that OS/2 was failing largely due to bad IBM decisions, so Microsoft hired the core of that team to write the operating system they were designing, moved the few remaining competent folks over from OS/2 to help, and sold it as Windows” is similarly absurd. As the joke goes, it may not be a coincidence that WNT is VMS incremented).



  • They don’t have to be specified in a monolithic fashion, but some things - like the input plumbing and session management examples I made - do have to be specified for for software to work when running under different compositors. FD.o basically exists because we already learned this lesson with other compat problems, and solved it without putting it in the X monolith - it’s why things like ICCM and EWMH happened; there were more details than were in the existing APIs that everyone needed to agree on to make software interoperate.

    Competing implementations are great, but once you have significant inertia behind competing implementations which are not compatible or at least interoperable, you’ve fragmented the already-small Linux market share into a maze of partially-incompatible micro-platforms. We’re not going to have compositing and non-compositing, we’re going to have 3ish (KDE/Qt [kde], Gnome/Gtk who aren’t even doing documented protocols, and Everyone else - mostly [wlr] extensions) incompatible sets of protocols for basic functionality.

    Looking at the slow bitter process to extend or replace components once implementations that rely on them exist, that’s not something to count on. Remember how it took 15 years of contention to eventually transition to D-Bus after CORBA/Bonobo and DCOP? That’s whats about to happen with things like the incompatible gtk and qt session management schemes. And that resolution was forced by the old HAL system using it, not the other parties involved getting their shit together of their own accord.

    One place we’re about to see innovation is wayland-stack-bypassing workarounds. Key remapping is currently in that category, the wayland protocols suite punted… so instead, keyd sniffing all the HID traffic at the evdev and/or uinput layer and outputting the rule-edited streams to virtual HID devices. That one does have a certain global elegance (works on ttys!), but it’s also layering violations with privileged processes.


  • I will preface that Xorg is obviously an unmaintainable mess of legacy decisions and legacy code, and I have both a machine that runs Hyprland and a machine that usually starts Plasma in Wayland mode so the Wayland situation getting to be more-or-less adequate with persistent irritations here and there… but Wayland is trauma-driven-development. It’s former xorg developers minimizing their level of responsibility for actual platform code, but controlling the protocol spec, and in the position to give up on X in time with their preferred successor.

    Essentially all of the platform is being outsourced to other libraries and toolkits, who are all doing their own incompatible things (Which is why we have like 8 xdg-desktop-portal back-ends with different sets of deficiencies, because portals were probably designed at the wrong level of abstraction), and all have to figure out how to work around the limitations in the protocols. Or they can spend years bikeshedding about extensions over theoretical security concerns in features that every other remotely modern platform supports.

    Some of that outsourcing has been extremely successful, like Pipewire.

    Some attempts have been less successful, like the ongoing lack of a reasonable way to handle input plumbing in a Wayland environment (think auto-type and network kvm functionality) because they seem to have imagined their libinput prototype spun out of Weston would serve as complete generic input plumbing, and it’s barely adequate for common hardware devices - hopefully it’s not too late to get something adequate widely standardized upon, but I’m increasingly afraid we missed the window of opportunity.

    Some things that had to be standardized to actually work - like session management - have been intentionally abdicated, and now KDE and Gnome have each become married to their own mutually-incompatible half solution, so we’re probably boned on that ever working properly until the next “start over to escape our old bad decisions” cycle… which, if history holds, isn’t that far away.

    We’re 15 years in to Wayland, and only in the last few years has it made it from “barely a tech demo” through “Linux in the early 2000s” broken, and in the last year to “problems with specific features” broken … and it is only 4 years younger than the xf86->xorg fork.


  • The argument was that if you put all your static resources in /usr, you can mount it RO (for integrity, or to use a ROM on something embeddedish) or from a shared volume (it’s not uncommon to NFS mount a common /usr for a pool of managed similar machines).

    …that said, many of the same people who made that argument are also the ones that went with making it so systemd won’t boot without /usr populated anymore, so that feature is now less useful because it has to be something your initramfs/initcpio/whatever preboot environment mounts rather than mounted by the normal fstab/mount behavior, and the initcpio/initramfs/dracut schemes for doing that all (1) require a redundant set of tools and network configs in the preboot (2) are different and (3) are brittle in annoying ways.

    It still works OK if you’re using a management tool like Warewulf to manage configs and generate all the relevant filesystems and such, but it’s a lot more fucking around than a line in fstab to mount usr once the real system is up like the old days.


  • Systemd-boot didn’t start as part of systemd, it used to be gummiboot (joke in German, it’s what those little rubber inflatible boats are called).

    Systemd absorbed and integrated it in 2015.

    It did start at RedHat with Kay Sievers and Harald Hoyer, which makes it unsurprising it was absorbed.

    I’ve been transitioning to it as my default choice, I’ve never liked grub2, so I defaulted to syslinux for a long time, but lately systemd-boot is even less of a hassle.


  • The near instant heat up is a big part of how I ended up with my Bambino with its “Thermojet”(Thermoblock coil thing) heater.

    3s from wake to ready, it takes longer to grind and prep than to heat. I usually pull a blank shot through the clean portafilter into the cup I’m going to pull the shot in so the downstream parts aren’t crashing the temperature, but that’s still seconds.

    Ascaso and Decent have more up-market offerings with thermoblock heaters that are similarly fast but offer more control. I wasn’t 5-10x price compelled for my needs, and I’m certainly not over 100x price in to that thing… But it is a great feature that the commercial derived machines don’t do.



  • The 2.5 development only tree had a ton of behind the scenes big long projects that weren’t visible to users until the stable 2.6 dropped and everything suddenly changed.

    Like a complete redesign of the scheduling code especially but not exclusively for multiprocessor systems, swapping much of the networking stack, and the change from devfs to udev.

    If you hold udev up next to devd and devpubd that solve similar problems on the BSDs, it’s a clear leap into “Linux will do bespoke binary interfaces, and DSLs for configuration and policy, and similar traditionally un-UNIX-y things that trade accepting complex state and additional abstractions to make things faster and less brittle to misconfiguration” which is the path that the typical Linux pluming has continued down with eg. Systemd.

    A lot of modern Kernel development flow is about never having that kind of divergence and sudden epoch change again.


  • Suggestion: the Search key under your left pinkie emits SuperL (aka. Meta, same as a Windows key), and it is an great way to make up for some other keyboard weirdness Chromebooks have, and map to WM controls.

    I recently discovered keyd, an excellent system-wide key remapper that works as a tiny daemon that intercepts input events and re-emits them as a virtual keyboard, and have it mapping Search+Arrows to PgUp/PgDn/Home/End (like a lot of laptops do with Fn+Arrows, or ChromeOS does with Ctrl+Shift+Arrows). I’ve already run into a couple other folks doing the same because it’s such a clean solution to the Chromebook keyboard.

    AFIK GalliumOS has been unmaintained for over a year, and most of the patches they used to add are now in mainline, so long term you may want to consider a different distro - it’s probably OK for a while still though.


  • PAPPP@lemmy.sdf.orgtoLinux@lemmy.mlLinux on chromebook
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    10 months ago

    The CB3-431 is device name EDGAR. You’d most likely pull the write protect screws and flash a UEFI payload into the firmware, probably using Mr. Chromebox’s tooling and payloads. Most modern Chromebooks boot Coreboot with a depthcharge payload, and it can either be coerced to boot something different with a lot of effort, or easily swapped with a Tianocore UEFI payload to make it behave like a normal PC. Once flashed, it’s an ordinary Braswell generation PC with 4GB of RAM and 32GB of storage.

    The S330 is an ARM machine built on a Mediatech MT8173C. Installing normal Linux on ARM Chromebooks is substantially less well-established, but often possible. It looks like those are doable but you won’t get graphics acceleration, and the bootloader situation is a little klutzy.

    Of the two, the CB3-431will be easier and better documented to bend to your will.

    The major limitation with Chromebooks is really just that there isn’t much onboard storage, so you’ll want to pick reasonably light software (A distro where you pick packages on a small base install or at least a lighter spin will be preferable) and avoid storage-intensive distros (eg. Nix or the immutable-core-plus-containers schemes whose packaging models have substantial storage overhead are probably unsuitable). You may have a little hassle with sound because many Chromebooks have a goofy half-soc-half-external-codec sound layout for which the Linux tooling is still improving - a pair of annoying PipeWire and Kernel bugs that sometimes cause them to come up wrong and spew log messages got fixed last week but aren’t in a release yet.

    They aren’t fancy machines, but hacked used Chromebooks make great beaters.