Monthly Archive:: June 2022
In my never ending quest to have oksh support every C compiler in existence, I have ported two more C compilers to OpenBSD. They are chibicc and kefir. As always, let’s review them and at the end I’ll have links to unofficial ports so that you can play around with these C compilers. As you all know, these things are a little over my head, but I know many OSNews readers are far more knowledgeable about and interested in these things than I am.
A commissioner with the U.S. communications regulator is asking Apple and Google to consider banning TikTok from their app stores over data security concerns related to the Chinese-owned company. Brendan Carr, a commissioner with the Federal Communications Commission (FCC), has written a letter to the CEOs of both companies, alerting them that the wildly popular video-sharing app does not comply with the requirements of their app store policies. I wonder just how big the outcry will be among TikTok users if they did this. TikTok is incredibly popular – far more so than people my age even realise – so it certainly wouldn’t go down unnoticed.
It’s been 50 years since Nolan Bushnell co-founded Atari, which brought video games to the mainstream. To celebrate, we asked Bushnell what he learned during the early years—and what we’ve lost sight of since then. I’m too young to have experienced Atari in its heyday, so I don’t have much to add here. I am, however, fascinated by Atari’s classic computers, like the 800 or the Falcon, and remember fawning over the Jaguar before growing up and realising what a terrible console and cheap marketing trick it really was. That being said, I still want a Jaguar.
Valve is doubling the number of Steam Decks it ships to customers, the company announced Monday. “Production has picked up, and after today we’ll be shipping more than double the number of Steam Decks every week!” Valve said in a tweet from the official Steam Deck account. And in response to a question from my colleague Sean Hollister, Valve designer Lawrence Yang spelled out the change more clearly: “in previous weeks we were shipping x units / week to customers, starting this week we’ll be shipping 2x units / week.” Not only is the console with by far the largest game library a machine running a standard full Linux distribution, it’s also apparently doing really, really well.
A customer had a program that opened a very large spreadsheet in Excel. Very large, like over 300,000 rows. They then selected all of the rows in the very large spreadsheet, copied those rows to the clipboard, and then ran a program that tried to extract the data. The program used the GetClipboardData function to retrieve the data in Rich Text Format. What they found was that the call to GetClipboardData was returning NULL. Is there a maximum size for clipboard data? No, there is no pre-set maximum size for clipboard data. You are limited only by available memory and address space. However, that’s not the reason why the call to GetClipboardData is failing. Edge cases are so much fun to read about – they give so much insight into how certain things are done programmatically, even for a non-programmer such as myself.
Starting with Windows 11, the WebView2 Runtime is included as part of the operating system. For Windows 10, we have recommended developers to distribute and install the runtime with their applications. In the past two years, more than 400 million of these devices now have the WebView2 runtime thanks to developers building and distributing WebView2 applications. Redistributable runtime deployment allows developers to use WebView2 on devices that didn’t yet have the runtime, but comes with increased development cost and has been a pain point for WebView2 developers. Once we complete the WebView2 Runtime rollout started today, developers can more reliably depend on the presence of WebView2 on Windows 10 or later consumer devices, in addition to all Windows 11 devices, making WebView2 app deployment much more straightforward. Windows 10 surely isn’t left behind any time soon – good news for those on the fence.
There aren’t many Windows users still running Windows 8.1 these days. But those who are may (or may not) know that support for the 8.1 release is going to end on January 10, 2023. Just to make sure Windows 8.1 users do know, Microsoft is going to start notifying them starting in July about the looming end-of-support date. When they see notifications, users will be able to click “Learn more,” “Remind me later,” or “Remind me after the end-of-support date” leading up to January 2023, Microsoft said. Microsoft has used these kinds of notifications in the past when trying to get users on older versions of Windows to upgrade to more recent/still-supported versions. (For what it’s worth: Those running domain-joined PCs, in the past, haven’t gotten nagged.) Do we have anyone here opting to run Windows 8? It seems like an odd choice, but nothing surprises me anymore.
Windows 98 was released by Microsoft back in 1998 which means in 2022 today, it’s more than 20 years old and something that most have forgotten. However, a recent major announcement by the European Space Agency (ESA) has brought Windows 98 back to the spotlight once more. The Agency says that it is upgrading the software inside its MARSIS instrument in order to enhance its performance and capabilities. Carlo Nenna, an engineer who is developing and implementing the new change says that one of challenges holding back the performance of MARSIS was its old Windows 98-based software. Maybe that’s why aliens have been avoiding us.
After our post a few days ago about running Windows NT for MIPS with Qemu, I was once again reminded of just how much fun it would be to own a MIPS, Alpha, or PowerPC machine from the mid-’90s that can run Windows NT 4. However, after some trouble finding a hardware compatibility list, I decided to ask Twitter – Steven Sinofsky suggested looking through the .iso files of these exotic releases for this information, but I couldn’t find anything in the official documentation contained on the Windows NT 4 for MIPS .iso. Luckily, however, Angus Fox, who worked at Lotus at the time, clearly remembered that there was a very clear, fully detailed HCL on the Windows NT 3.51 for Alpha disc, and it turns out he was right – the HCL comes on the disc as a .hlp file, which is a help file readable by older versions of the Windows help viewer. The Windows NT 4 .iso, too, contained an updated version of this HCL, detailing all the hardware, workstations, and servers supported by the MIPS, Alpha, and PowerPC (and x86) versions of Windows NT 4. As he details on his website, it takes some work to read the .hlp file on Windows, but on my Linux machine, it was as easy as double-clicking the file – Wine’s own Windows help viewer loaded up the file without any issue. So, there you have it – if, like me, you are somehow interested in running these obscure version of Windows NT on real Alpha, MIPS, or PowerPC hardware, all the information you need is right on the disc. Sadly, a bigger problem to overcome is finding and buying the hardware in question. Like any other non-x86 hardware from the past 30 years (DEC, HP, SGI, Sun, etc.), it has become prohibitively expensive to buy, and pretty much only available in the US using eBay, adding hundreds to thousands of euros of shipping costs to the final price for us Europeans. I’m not entirely sure what is causing this massive surge in pricing, since rarity alone cannot possibly account for charging, for instance, over 6000 dollars (!) for an AlphaStation 255.
Roughly a year after launching on the original Nest Hub, Google is making the Fuchsia operating system available for the Nest Hub Max. For over five years now, Google has been quietly toiling away on Fuchsia, an operating system intended to replace and/or compete with Linux. While many Google fans were hoping that Fuchsia’s launch would be a splashy one, like that of Android in 2008, the real launch was nearly as quiet as the development itself. The slow, steady march to replace every operating system on consumer Google devices with Fuchsia continues.
I want Microsoft to do better, want Windows to be a decent development platform-and yet, I constantly see Microsoft playing the open source game: advertising how open-source and developer friendly they are – only to crush developers under the heel of the corporate behemoth’s boot. The people who work at Microsoft are amazing, kind, talented individuals. This is aimed at the company’s leadership, who I feel has on many occasions crushed myself and other developers under. It’s a plea for help. It’s never a good sign if people developing for your platform are not developing on that platform.
Many argue that browser engine diversity is the backbone of the open Web – assuring not only interoperability and user choice but also a bulwark protecting the Web from centralization. So my ears perked up when I recently heard from a well-placed contact that “many in the Chromium community are arguing for a Chromium-only Web.” While the Chrome team (and friends) have long railed against what they perceive as other browsers’ plodding implementation of cutting-edge extensions to the Web, it’s a pretty big leap to advocate for a Web with only one browser engine. I feel like we’re effectively already there. Everything is made to work in Chrome, and if you don’t use Chrome, you just have to hope the sites you need remain working. Chrome has long ago amassed critical mass for total dominance – those last few percentage points make no material difference.
Today we will be looking at how to run Windows NT 4 for MIPS on the Qemu emulator. I didn’t really have a reason to try this but it seemed like a fun weekend project. In the process I’ve learned a lot about how some systems booted, got even more angry about how awful BIOS boot was on PC, and probably found a 25 year old bug in the ARC boot firmware. While I’m sure all MIPS server admins of yore knew about this I could not find any documentation on the problem, nor any solution to it. I suspect that most people playing with this today are totally fine installing Windows NT on a FAT partition. It is however very puzzling to me that this problem exists at all. What am I talking about? Read on! I find the non-x86 versions from the early days of Windows NT fascinating, and I definitely want to buy some old hardware at some point to run on of them on bare metal. In the meantime, this is a nice substitute.
The Intellivision Voice Synthesis Module was released in 1982, giving the 16-bit console the power of speech. But unfortunately, most other consoles weren’t quite as lucky. Sure, some systems, like the PC Engine CD and Nintendo Famicom, have the ability to play samples directly, so at least they can do pre-recorded speech. But the Sega Master System can’t even do that. So how do we manage? This is the kind of obscure stuff the internet needs more of.
In the world of today’s high performance CPUs, major architectural changes don’t happen often. Iterating off a proven base is safer, cheaper, and faster than attempting to massively rework the basics of how a CPU fetches and executes instructions. But more than 20 years ago, things hadn’t settled down yet. Intel made two attempts to replace its solid but aging P6 microarchitecture with something completely different. One was Itanium, which avoided the complexity associated with out-of-order execution and variable length decode to deliver very wide in-order execution. Pentium 4 was the other, and we’ll be taking a look at it in this article. Its microarchitecture, called Netburst, targeted very high clock speeds using a long pipeline. Alongside this key feature, it brought a wide range of innovative architectural features. As we all know, it didn’t quite pan out the way Intel would have liked. But this architecture was an important learning experience for Intel, and was arguably key to the company’s later success. The Pentium 4 era was wild, with insane promises Intel could not fulfill, but at the same time, an are of innovation and progress that would help Intel in later years. Fascinating time.
And the second post by Chris Siebenmann, this time about how the Linux console has gotten slower over the years. If you’ve been running x86 Linux servers for long enough, you’ve probably noticed two changes in the kernel’s text console. On the one hand, the text console has gotten substantially bigger, sporting sizes like 128×40 instead of the much smaller old sizes, for example 80×25. On the other hand, text output to the console has generally gotten slower, usually much slower than you would expect for the change in console size. These two changes are not unrelated, because they are both part of a fundamental change in how the kernel console normally worked and works on x86 hardware. Hint: the two posts are related.
I’ve got two fantastic posts about Linux today, from the same author – Chris Siebenmann. First, the history behind kernel mode setting in Linux. In the older days of Linux, the kernel didn’t know very much about graphics (at least on PCs). Instead, setting up and handling graphics hardware was the domain of the X server; the kernel gave it access to PCI (or AGP) resources, and the X server directly stored values and read things out. Part of what the X server did was set the graphics mode (ie, the modeline resolution, depth, and scan frequencies), initially from explicit modelines and then over time from EDID information and other things you didn’t have to configure (which was great). This was user space mode setting. There were a variety of reasons to do this at the time (cf) but it had various drawbacks, including requiring the X server to have significant privileges (cf Fedora removing them). You can see where this is going.
After 25+ years of helping people use and experience the web, Internet Explorer (IE) is officially retired and out of support as of today, June 15, 2022. To many millions of you, thank you for using Internet Explorer as your gateway to the internet. You hear that? That’s the cries of thousands of enterprise software engineers finally realising their garbage enterprise software doesn’t work anymore.
This new version brings many improvements: the accent colour can now be set based on the prominent colour from the current desktop background image (it updates if you use slide-show wallpapers) and it applies to more graphical elements. The global theme settings page lets you pick and choose which parts to apply, and floating panels add a margin all around the panel to make it float while no window is maximised. Touchscreen mode can now be activated by detaching the screen, rotating it 360, or enabling it manually. The overview effect can be activated by gestures on a touchpad or touchscreen, using the same smooth Wayland gestures GNOME has implemented as well. The application page for Discover has been redesigned and gives you links to the application’s documentation and website, and shows what system resources it has access to. Panels can now be navigated with the keyboard, and you can assign custom shortcuts to focus individual panels. And much, much more.
After our last story about porting Doom to weird versions of UNIX, I suggested porting Doom to Xenix should be the next challenge. Well, as cb88 pointed out – it’s already been done, and even improved upon. I should have known.