Monthly Archive:: October 2022

If one GUI’s not enough for your SPARC workstation, try four

This is a 1990 Solbourne Computer S3000 all-in-one workstation based around the 33MHz Panasonic MN10501, irreverently code-named the Kick-Ass Processor or KAP. It is slightly faster than, and the S3000 and the related S4000 and later S4000DX/S4100 directly competed with, the original gangsta 1989 Sun SPARCstation and SPARCstation 1+. Solbourne was an early SPARC innovator through majority owner Matsushita, who was a SPARC licensee in competition with Fujitsu, and actually were the first to introduce multiprocessing to the SPARC ecosystem years before Sun themselves did. To do this and maintain compatibility, Solbourne licensed SunOS 4.x from Sun and rebadged it as OS/MP with support for SMP as well as their custom MMU and fixes for various irregularities in KAP, which due to those bugs was effectively limited to uniprocessor implementations. Their larger SMP systems used Fujitsu (ironically), Weitek and Texas Instruments CPUs; I have a Series5 chassis and a whole bunch of KBus cards Al Kossow gave me that I’ve got to assemble into a working system one of these days. And it turns out that particular computing environment was really the intersection point for a lot of early GUI efforts, which were built and run on Sun workstations and thus will also run on the Solbourne. With some thought, deft juggling of PATH and LD_LIBRARY_PATH and a little bit of shell scripting, it’s possible to create a single system that can run a whole bunch of them. That’s exactly what reykjavik, this S3000, will be doing. This is by far the coolest thing I’ve read and learned about in a long, long time. This is an amazing source of information and collection of screenshots and explanations.

The Talos II, Blackbird POWER9 systems support tagged memory

Thus for many years the possibility of getting memory tagging working on these systems was an interesting possibility, but there was no idea of whether it was actually feasible or whether IBM fused off this functionality in the CPUs it sells to third parties. The POWER CPUs IBM sells to third parties are fused slightly differently to those it uses in most of its own servers, being fused for 4-way multithreading (SMT4) rather than 8-way multithreading (SMT8); it would be entirely plausible that the tagging functionality is fused off in the SMT4 parts, being that IBM i was only ever intended to run on SMT8 systems. While the ISA extension is undocumented, fairly complete knowledge about it has already been pieced together from bits and pieces, so this was not actually the major obstacle. However, there was no idea as to whether use of the memory tagging functionality might require some kind of appropriate initialization of the CPU. In theory, one need simply set a single undocumented bit (“Tags Active”) in the Power Machine State Register (MSR). However, simple attempts to enable Tags Active mode on OpenPOWER systems such as the Talos II did not succeed. This all changed when someone discovered that it was in fact possible to enable Tags Active mode on Talos II and Blackbird systems. This discovery was made by Jim Donoghue and all credit for this discovery goes to him; I publish this finding with his permission. As it turns out, memory tagging is not just limited to IBM’s own proprietary SMT8 POWER processors; it’s hiding in its SMT4 processors too. You can find these processors most notably in the systems built and sold by Raptor Computing Systems, one of which I reviewed not too long ago. Of note is that some of Raptor’s systems can now also be bought in Europe through their partner Vikings Store.

RustyHermit: a Rust-based, lightweight unikernel

RustyHermit is a unikernel targeting a scalable and predictable runtime for high-performance and cloud computing. Unikernel means, you bundle your application directly with the kernel library, so that it can run without any installed operating system. This reduces overhead, therefore, interesting applications include virtual machines and high-performance computing. The kernel is able to run Rust applications, as well as C/C++/Go/Fortran applications. Exactly as it says on the tin.

NVIDIA’s hot 12VHPWR adapter for the GeForce RTX 4090 with a built-in breaking point

Those who are now beating up on the new 12VHPWR (although I don’t really like the part either) may generate nice traffic with it, but they simply haven’t recognized the actual problem with the supposedly fire-hazardous and melting connections or cables. Even if certain YouTube celebrities are of a different opinion because they seem to have found a willing object of hate in the 12VHPWR once again: This connection is actually quite safe, even if there are understandable concerns regarding the handling. However, the “safe” is only valid if e.g. the used supply lines from the power supply with “native” 12VHPWR connector have a good quality and 16AWG lines or at least the used 12VHPWR to 4x 6+2 pin adapter also offers what it promises. Which brings us directly to the real cause of the cases that occurred: It’s the adapter solution exclusively provided by NVIDIA to all board partners, which has fire-dangerous flaws in its inner construction! GPUs have gotten absolutely insane these last few years, and it was only a matter of time before something like this was going to happen.

Welcome to hell, Elon

You fucked up real good, kiddo. Twitter is a disaster clown car company that is successful despite itself, and there is no possible way to grow users and revenue without making a series of enormous compromises that will ultimately destroy your reputation and possibly cause grievous damage to your other companies. The essential truth of every social network is that the product is content moderation, and everyone hates the people who decide how content moderation works. Content moderation is what Twitter makes — it is the thing that defines the user experience. It’s what YouTube makes, it’s what Instagram makes, it’s what TikTok makes. They all try to incentivize good stuff, disincentivize bad stuff, and delete the really bad stuff. Do you know why YouTube videos are all eight to 10 minutes long? Because that’s how long a video has to be to qualify for a second ad slot in the middle. That’s content moderation, baby — YouTube wants a certain kind of video, and it created incentives to get it. That’s the business you’re in now. The longer you fight it or pretend that you can sell something else, the more Twitter will drag you into the deepest possible muck of defending indefensible speech. And if you turn on a dime and accept that growth requires aggressive content moderation and pushing back against government speech regulations around the country and world, well, we’ll see how your fans react to that. Fin.

Recovered: forgotten SEGA exclusives on Palm OS

An old article, but since I had no idea Sega made Palm OS games, I find it deeply fascinating. As part of my ongoing efforts to uncover lost gems from Japan, I recovered two exclusive games made by SEGA in their brief flirtation with Palm OS back in 2002. These games were presented by their Smilebit division at PalmSource Japan Forum 2002. This was around the time SEGA were abandoning consoles and Palm OS seems to have been part of an effort to figure out “what next?”. I have to fire up one of my dozens of Palm devices to check these out. Excellent work.

Apple clarifies security update policy: only the latest OSes are fully patched

Earlier this week, Apple released a document clarifying its terminology and policies around software upgrades and updates. Most of the information in the document isn’t new, but the company did provide one clarification about its update policy that it hadn’t made explicit before: Despite providing security updates for multiple versions of macOS and iOS at any given time, Apple says that only devices running the most recent major operating system versions should expect to be fully protected. I mean, this seems like typical for Apple, but the vagueness of it seems problematic. If I’m managing a large fleet of devices, I would definitely prefer the more detailed, structured, documented, and defined update and patching policies of professional Linux vendors or Microsoft.

Chrome ends support for Windows 7/8.1 in early 2023

With the release of Chrome 110 (tentatively scheduled for February 7th, 2023), we’ll officially end support for Windows 7 and Windows 8.1. You’ll need to ensure your device is running Windows 10 or later to continue receiving future Chrome releases. This matches Microsoft’s end of support for Windows 7 ESU and Windows 8.1 extended support on January 10th, 2023. It’s time.

How the clipboard works

Reading how copy-paste works from the Wayland specification is non-trivial unless you understand a lot of how desktop computing works and Wayland internal. It took me quite a while to figure it all out, though once you get there, it seems quite obvious. Here’s my attempt at explaining how it works for mere mortals. One of those things you do countless times every day, but don’t really know how it works.

Apple releases OS updates for basically everything, including iPadOS and macOS

It’s “release everything!” day for Apple – virtually every single Apple platform and operating system is getting updates today. Almost all device releases are point releases to address issues in the major versions released in September, with the exception being iPadOS 16, which was delayed and is accompanied today by macOS 13. Ars’ macOS review, is, of course, the definitive resource for this new macOS release. But it does feel like the software side of the Mac is lacking its own unique direction and identity lately. Overwhelmingly, new features for macOS merely help it keep pace with what is happening on the iPhone and iPad. That feels doubly true in Ventura, where a core system app has been rewritten from the ground up to mirror its iOS counterpart, where a new window management feature is being implemented in the same way on the iPad, and where new apps and updates to old ones are increasingly just iPad apps running inside macOS windows. The throughline for all these features is about making the Mac more welcoming and comfortable for people who come to it through one of Apple’s mobile platforms. This makes some sense. The Mac is Apple’s most powerful, extensible computing platform, both in hardware and software. It’s also the smallest. Maybe some of the first iPhone buyers were coming to it from the Mac, but the balance surely flipped years ago. But when was the last time that the Finder, the Dock, or the Menu Bar was given a substantial, non-cosmetic rethink? When did Apple last make major improvements to the way that windows coexist on a given screen? The Mac does get new under-the-hood features that are specific to it, but the headline features are mostly iOS and iPadOS imports, especially this year. You know where you can get the updates.

IceWM 3.1 released

IceWM was released only a short while ago, and now we’ve got 3.1. IceWM 3.1 introduces a new window option “frame” to automatically group application windows with the same “frame” value as tabs within a single frame. IceWM 3.1 also now shows indicators for the presence of tabs on the title bar, clicking on the title bar tab indicators can change tabs, tray hints are now preserved across restarts, improved Alt + Tab handling, improvements to the CMake build system integration, and a variety of other changes. I’m glad to see development has truly picked up again.

The Linux kernel may finally phase out Intel i486 CPU support

Linus Torvalds has backed the idea of possibly removing Intel 486 (i486) processor support from the Linux kernel. After the Linux kernel dropped i386 support a decade ago, i486 has been the minimum x86 processor support for the mainline Linux kernel. This latest attempt to kill off i486 support ultimately arose from Linus Torvalds himself with expressing the idea of possible requiring x86 32-bit CPUs with “cmpxchg8b” support, which would mean Pentium CPUs and later. I think that would be a fair call. It’s highly unlikely any modern additions to the Linux kernel are usable on a 486 anyway, so existing kernels which still have support for this ancient processor should suffice. On top of that, there’s no doubt in my mind that at least someone or some group of people will step up to maintain a special 486 branch if there is indeed any residual need for it.

NEC’s Tetris processor

Tetris is a classic time-waster, both in and outside of the office. What good is any computing device if it can’t play this game? Tokyo System House certainly thought so, and ported it to the NEC mini5 line of CP/M-based word processors. Let’s preserve it for future generations and then see what it’s like! First, the author had to get their hands on a NEC mini5 word processor. Then, they had to somehow manage to find a copy of the game itself. Then, and only then, could the actual preservation attempt begin.

Ubuntu 22.10 released

Dubbed the “Kinetic Kudu,” Ubuntu 22.10 is here with the latest and greatest GNOME 43 desktop environment by default (yes, with support for GTK4 apps), which comes with numerous new features and enhancements for fans of the GNOME/Ubuntu desktop, yet the look and feel remain unchanged from previous releases. The default audio server is PipeWire instead of PulseAudio with WirePlumber as the default session/policy manager. Kinetic Kudu also ships with an up-to-date toolchain and subsystem consisting of GCC 12, GNU C Library 2.36, GNU Binutils 2.39, systemd 251.4, Mesa 22.2, Netplan 0.105, LLVM 15, Poppler 22.08, CUPS 2.4, BlueZ 5.65, Unicode 15, NetworkManager 1.40, as well as debuginfod support and an updated AppArmor component that now lets sysadmins restrict access to unprivileged user namespaces. While I’m personally not really using Ubuntu itself anymore, my gaming PC is still running Linux Mint, meaning I will still benefit from this new release. Ubuntu is still massively popular despite stumbles over the years, and countless popular distributions are all based on it.

OpenBSD 7.2 released

OpenBSD 7.2 has been released. The major new features in this release are all concerned with expanding the operating system’s hardware support. This release adds supports for Apple’s M2, the Ampere Altra, and the Qualcomm Snapdragon 8cx Gen 3.

When life gives you lemons, write better error messages

Error messages are part of our daily lives online. Every time a server is down or we don’t have internet, or we forget to add some info in a form, we get an error message. “Something went wrong” is the classic. But what went wrong? What happened? And, most importantly, how can I fix it? I really enjoyed this article detailing a massive project at Wix to go through and rephrase every single error message to make them easier to parse and overall less… Useless. A lot of developers can learn from this article.

Windows Terminal is now the Default in Windows 11

The day has finally come! Windows Terminal is now the default command line experience on Windows 11 22H2! This means that all command line applications will now automatically open in Windows Terminal. This blog post will go into how this setting is enabled, the journey of Windows Terminal along with its fan-favorite features, as well as give a huge thank you to our contributors who have helped throughout Terminal’s journey. It’s still kind of surreal that after several decades, cmd.exe will now be relegated to the sidelines.

Whipping up a new Shell – Lash#Cat9

Arcan, the unique development framework for user interfaces that’s exploring a ton of new and different ideas, has released a new project – Lash#Cat9, a new command line shell. A guiding principle is the role of the textual shell as a frontend instead of a clunky programming environment. The shell presents a user-facing, interactive interface to make other complex tools more approachable or to glue them together into a more advanced weapon. Cat9 is entirely written in Lua, so scripting in it is a given, but also relatively uninteresting as a feature — there are better languages around for systems programming, and better UI paradigms for automating work flows. Another is that of delegation – textual shells naturally evolved without assuming a graphical one being present. That is rarely the case today, yet the language for sharing between the two is unrefined, crude and fragile. The graphical shell is infinitely more capable of decorating and managing windows, animating transitions, routing inputs and tuning pixels for specific displays. It should naturally be in charge of such actions. Another is to make experience self documenting – that the emergent patterns on how your use of command line processing gets extracted and remembered in a form where re-use becomes natural. Primitive forms of this are completions from command history and aliases, but there is much more to be done here. I’m not a heavy shell user, so I’m not going to make any subjective statements here. It at least seems remarkably interesting, and I’m sure there’s quite a few among us who would love to play with this.

Google annunced KataOS, an open source operating system for machine learning

To begin collaborating with others, we’ve open sourced several components for our secure operating system, called KataOS, on GitHub, as well as partnered with Antmicro on their Renode simulator and related frameworks. As the foundation for this new operating system, we chose seL4 as the microkernel because it puts security front and center; it is mathematically proven secure, with guaranteed confidentiality, integrity, and availability. Through the seL4 CAmkES framework, we’re also able to provide statically-defined and analyzable system components. KataOS provides a verifiably-secure platform that protects the user’s privacy because it is logically impossible for applications to breach the kernel’s hardware security protections and the system components are verifiably secure. KataOS is also implemented almost entirely in Rust, which provides a strong starting point for software security, since it eliminates entire classes of bugs, such as off-by-one errors and buffer overflows. Another new open source operating system by Google. This time, it seems almost entirely focused on embedded machine learning applications, so it’s definitely a bit outside of my wheel house.