Thom Holwerda Archive

Tech’s cult of thinness needs to come to an end

Gadgets are getting too thin, again. These past few weeks saw some of the latest victims of the seemingly unending drive towards making our devices as thin as possible, no matter the consequences. Samsung’s Galaxy S22 and S22 Plus — what will undoubtedly be some of the most popular Android phones of the year — are thinner than last year’s models and held back by disappointing battery life. The new Dell XPS 15 is “exceptionally thin and light” but barely lasts four hours on a charge and runs nearly as hot as the sun. And the OnePlus 10 Pro is a flagship smartphone that can somehow be snapped in half with your bare hands. It seems that despite over a decade of chasing the thinnest, lightest phones and computers around to the detriment of battery life, cooling, and durability, companies still haven’t learned their lessons. I prefer a few more millimeters if it means better heat dissipation, less fan noise, and better battery life. I’m not entirely sure if consumers in general prefer thinness over these other aspects, but I doubt they do.

Enthusiast makes the Mac mini more mini

At 7.7×7.7×1.4 inches, the Mac mini is a tiny desktop. When the form factor debuted in 2010, it was pretty impressive. But 12 years later, with mini PCs like the Intel NUC measuring 4.6×4.4×1.5 inches, the Mac mini doesn’t feel all that mini anymore. As it turns out, the PC is packing some extra baggage, and by getting rid of some of those parts—like an overly powerful internal power supply unit (PSU)—an enthusiast has been able to rebuild the system with a 28 percent reduction in volume while allegedly keeping the same performance as the original machine. Since I’m no archeologist who specialises in prehistoric measurement “systems”, I have no idea what those weird, alien measurements mean, but the pictures and video are clear: this is a really tiny M1 Mac Mini now. And the “enthusiast” is Quinn Nelson, all-around good guy.

Samsung appears to be throttling 10,000 Android apps on Galaxy devices, just like OnePlus

Oh, oh, oh Samsung, up to their usual tricks. Samsung phones ship with a Game Optimizing Service app pre-installed as a system app — we confirmed it’s installed on the Galaxy S22+, as pictured below. It cannot be disabled. The app’s exact purpose isn’t described very well anywhere, but its name certainly implies the app is used to improve performance for games. However, as one Twitter user points out, with the backing of a lengthy thread from frustrated Samsung Galaxy owners in Korea (via Android Authority), Samsung seems to be using this app to “optimize” the performance of thousands of non-gaming apps. When an app is in the Game Optimizing Service list, its performance is limited, as demonstrated by a YouTuber who changed the package name of the 3DMark benchmark app to trick Samsung’s software into throttling it, and the results are pretty telling. In and of itself there’s really nothing wrong with managing the performance of various applications in order to preserve battery life. However, it has to be done transparently and openly, so that users can easily see what’s going on and disable any optimisations they’re not interested in. This kind of obfuscation by Samsung is deception, and simply should not be allowed.

The decline and fall of Java on the desktop part 1 (1999-2005)

This is the first in a series of articles about the history of Java on the Desktop, from my perspective as a developer who started working with Java in the late ‘90’s. I’m writing this, partly as a background for why I created jDeploy, a developer-friendly desktop deployment tool for Java. Despite the ominous tone of this article’s title, I believe that Java is a compelling platform for modern desktop applications. Stick around for the whole series to find out why. Isn’t Java still one of the languages every aspiring programmer learns in school?

Genode OS Framework 22.02 released

The 22.02 release is dominated by three topics, the tightening and restructuring of the code base, device-driver infrastructure, and the transition of Sculpt OS towards a versatile toolkit for building specialized operating-system appliances. Genode’s release notes are always a sight to behold. Detailed, interesting, and always worth a read.

Microsoft is testing a desktop watermark for unsupported Windows 11 PCs

If you’ve already installed Windows 11 on unsupported devices, you might soon notice a new watermark on the desktop. The watermark, which appears above the taskbar clock, is similar to the “Windows is not activated” error, but it won’t affect apps, windows or web browsers. The desktop watermark simply states “system requirements not met” and it may irritate some users, but it should not come as too much of a surprise, as Microsoft previously warned users of possible ‘damage’. You have to feel sad for Windows users. Windows 7 really seems to have been the high point of Windows – ever since then it’s been one mess after another.

Make Linux look exactly like Windows 95

Linux themes and icon sets, inspired by other operating systems, have been around for as long as Linux has had a GUI. Some times those themes get pretty close to looking like the original. But… What if — what if — you could make your Linux desktop look almost exactly like Windows 95? It’s damn headerbars in GNOME (and now also Xfce) that mess this utopia up. They looks preposterously bad using these classic operating systems skins.

Writing an OS in Rust

This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code, so you can follow along if you like. The source code is also available in the corresponding Github repository. A great way to learn Rust.

The cats sitting on a fence in early builds of Windows 8

Now, a black screen could have multiple causes. The video driver may have crashed. Or the video driver could be working fine, but the compositor has crashed, so that nothing is being given to the video driver. Or the compositor could be working fine, but the shell has crashed, so the compositor has nothing to render. Or the shell could be running, but it simply forgot to put something on the screen. For that last case, the Windows 8 shell created a backstop window that sat at a layer below all of the other layers. If none of the other layers were present, then at least you got a backstop window. And in early debug builds, that backstop window contained an ASCII drawing of cats. That way, if you saw cats, you knew that you were in that last failure case: The shell is running but forgot to put something on the screen. Why cats? I approve of cats.

Neptune OS: a WinNT personality of the seL4 microkernel

Neptune OS is a Windows NT personality of the seL4 microkernel. It implements what Microsoft calls the “NT Executive”, the upper layer of the Windows kernel NTOSKRNL.EXE, as a user process under the seL4 microkernel. The NT Executive implements the so-called NT Native API, the native system call interface of Windows upon which the more familiar Win32 API is built. These are exposed to the user mode via stub functions in NTDLL.DLL (a somewhat redundant name if you ask me) with names such as NtCreateProcess. The NT Executive is also responsible for the Windows kernel driver interface (known as the Windows driver model), which includes functions like IoConnectInterrupt and IoCallDriver. On Windows these are loaded into kernel mode and linked with the NTOSKRNL.EXE image. On Neptune OS, we run all the Windows kernel driver in user mode and they communicate with the NT Executive process via standard seL4 IPC primitives. The eventual goal of the Neptune OS project is to implement enough NT semantics such that a ReactOS user land can be ported under Neptune OS, as well as most ReactOS kernel drivers. In theory we should be able to achieve binary compatibility with native Windows executables provided that our implementation of the NT Native API is sufficiently faithful. We should also be able to achieve a high degree of source code compatibility with Windows kernel drivers. The main obstacle of achieving binary compatibility of kernel drivers is that many Windows kernel drivers do not follow the standard Windows driver communication protocol (ie. passing IRPs when you need to call another driver) and instead just pass pointers around and call into other drivers directly. In Neptune OS unless it’s a driver-minidriver pair we always run “kernel” drivers in their separate processes so it is not possible to do that. Very cool idea for a project, and awesome to see that they plan on integrating the work done by the ReactOS team.

DevOps for the Sinclair Spectrum

We’re fast approaching the 40th birthday of the Sinclair Spectrum in 2022, and to keep myself occupied during COVID lockdowns I decided it would be a lot of fun to go back and re-visit the computer that started it all for me. I set about coding and building the infrastructure for a Spectrum-based community project (website at tnfs.markround.com) incorporating my current-day tools and knowledge, hence the title of this series of posts. The enterprise grew into a curious mix of old and new: Container-based pipelines with Ruby server-side components, all interacting with Spectrum BASIC and z80 assembly code, running on real 1980s hardware with a TCP/IP connection. If you’ve ever wondered how to unit-test Sinclair BASIC programs in GitOps pipelines running on Kubernetes clusters, this is the set of articles for you. I love it when people push these old machines to their limits with modern knowledge.

Review: Slimbook Executive

Late last year, we reviewed Slimbook’s KDE Slimbook, a special version of the Spanish’ Linux OEM’s 15″ laptop made in collaboration with the KDE project. I found it to be an excellent laptop, which left little to be desired for anyone in the market for a laptop of that size. It came with tons of power, unobtrusive fans, a great design, and a fair price tag. That being said – personally, I prefer smaller laptops. The KDE Slimbook’s 15 inches is just a bit too wide for me to be comfortable, and I’d much rather have something in the area of 13-14 inches. Luckily, Slimbook has an offering in this segment too: the Slimbook Executive. I’ve been using and testing one for the last few months, and I can confidently say the KDE Slimbook was not a fluke. Slimbook is running a special deal just for OSNews readers! When ordering your Slimbook Executive, use the promo code executive-laptop-osnews for a €150 discount!Note: OSNews does not receive any percentage of the sales using this promo code (or sales not using this promo code for that matter). The Slimbook Executive is 14″ ultrabook weighing in at a mere 1kg. Like the KDE Slimbook, it is also made from magnesium, which I find much more pleasant to handle than aluminium. I find magnesium more pleasant to touch and hold – it’s not as cold and harsh as aluminium, and it’s lighter too, which makes sense for an ultraportable laptop like this one. Instead of AMD, the Executive is powered by Intel’s Core i7-1165G7, with 4 cores and 8 threads, paired with Intel’s Iris Xe integrated graphics. It has two RAM slots for a maximum total of 64GB of RAM; my review unit was configured with 16GB of RAM, which is more than enough for a modern Linux distribution on such a portable machine. Despite being relatively small, the laptop has ample room for storage – it comes with two M.2 slots, one at PCIe 4x and one at PCIe 2x, for an out-of-factory configurable total of 4TB of storage. Unlike some of the competition from more established, larger OEMs, there’s no shortage of ports here. It has two USB-A 3.2 Gen1 ports, 1 USB-C 3.2 Gen2 port (with video-out through DisplayPort 1.4), one Thunderbolt 4 port (also with video-out through DisplayPort 1.4a, as well as charging support at 90+W) an SD card reader, a full-size HDMI port, and the usual Kensington lock, barrel plug, and headphone jack. The keyboard is more of a standard affair than the fancy, unique keyboard design found on the KDE Slimbook. This time around, it’s a regular chicklet-style keyboard in its magnesium frame, entirely familiar to anyone who has used an ultrabook in the past five to ten years. It’s excellently boring and familiar, just as you want a keyboard to be. It’s of course also backlit, and luckily does not have the readability issues some of the keys on the KDE Slimbook had. The touchpad feels great, has support for multitouch gestures, but it is of the common diving board design, meaning clicking gets progressively harder the higher you go on the trackpad. I really wish Apple’s fancy force touch trackpads made their way to othe rmanufacturers, too, since it feels nicer to have the same click feeling no matter where you click. The trackpad is huge, but not as over-the-top as Apple’s recent touchpads. The design of the laptop itself is very generic – unlike the KDE Slimbook, there are no flourishes here that set it apart from the rest of the competition (aside from the Slimbook logo, of course). I don’t think that’s necessarily a bad thing – this segment of the market is very mature, and this general design popularised by the MacBook Air is popular for a reason. Crazy and unique design makes sense on a gaming laptop, but on a small ultrabook, I prefer to keep it simple. The display is the real star of the show. It’s a 14″ screen with a resolution of 2880×1800 (Slimbook calls it 3K), and a refresh rate of 90Hz. Between 4K at 60Hz and 1080p at 144Hz, I think this is an excellent middle ground that avoids the pixelated look of 1080p at 14″, while still giving a decently smooth refresh rate. I definitely prefer this display over the 4K 60Hz panel on my Dell XPS 13, which is saying a lot, since that panel is one of the very best you could get at the time. There is one issue with the display I need to talk about. As it turns out, as soon as you try to install a kernel newer than roughly 5.11 or so, you’re going to see major screen flickering and corruption. After talking to Slimbook about this, it turns out this is because of an issue with panel self-refresh, a powersaving feature in Intel’s driver. This is known to cause issues in some cases, and the solution is to disable the feature using GRUB2 (add i915.enable_psr=0 to the kernel parameters). It’s important to note that you only have to apply this fix if you install a Linux distribution by yourself; the preinstalled Slimbook OS – a slightly modified version of Ubuntu – did not experience this problem, and I’m sure if you select any of the other preinstalled Linux distributions during the order process, Slimbook will also make sure the issue is handled before shipping. Slimbook has also told me they are currently beta testing a BIOS update that will fix this problem at the BIOS level, so once that update is released and installed, this issue will disappear. The battery life is exactly as you’d expect – I’m getting about 8 hours with office-type work, video watching, and some browsing. Using Slimbook’s own applications for managing the battery and processor states, you get some decent control over your performance and battery life, but a Debian-based distribution is required to make installation as easy as possible, since otherwise you’ll

FreeDOS 1.3 released

The new FreeDOS 1.3 is now available for download! This contains a bunch of great new features and improvements since the 1.2 release, including: new FreeCOM 0.85a, new Kernel 2043 and an 8086 version with FAT32 support, floppy Edition now uses compression and requires about half as many diskettes, the return of networking, some new programs and games, many many many package updates, some updates and improvements to NLS, improved install process, especially with the MBR, some support to automatically set the COUNTRY.SYS information, improved CD initialization for the boot media and installed system… And much, much more! There’s lot of changes, fixes, and improvements in here, so go get it and play with it.

Windows 11 Pro to also requite Microsoft Account during installation

They hid it very well, two-thirds down a long list of changes and screenshots, but what was already inevitable is now reality. Similar to Windows 11 Home edition, Windows 11 Pro edition now requires internet connectivity during the initial device setup (OOBE) only. If you choose to setup device for personal use, MSA will be required for setup as well. You can expect Microsoft Account to be required in subsequent WIP flights. In other words, installing Windows 11 Pro will now, just like 11 Home, also require a Microsoft Account and thus an internet connection. You didn’t think pro users would be safe from big tech’s data hunger, now, did you?

KEYBCS2

After writing about the likely origins of IBM code page 852, I thought I should revisit the homegrown Czech alternative solution, the Kamenický brothers encoding and their keyboard driver. Its existence is well documented, and the so-called (somewhat misnamed) KEYBCS2 encoding even has its own Wikipedia article. The encoding itself lives on in various conversion tables, and utilities to convert text to or from the Kamenický encoding are easy enough to locate. But finding the actual KEYBCS2 utility turned out to be ridiculously difficult. I scoured the Internet for it. I could not find it. At all. I found a fair amount of text talking about it, but not the actual utility. A nice investigation into the past for a Sunday.

Is Firefox OK?

At the end of 2008, Firefox was flying high. Twenty percent of the 1.5 billion people online were using Mozilla’s browser to navigate the web. In Indonesia, Macedonia, and Slovenia, more than half of everyone going online was using Firefox. “Our market share in the regions above has been growing like crazy,” Ken Kovash, Mozilla’s president at the time, wrote in a blog post. Almost 15 years later, things aren’t so rosy. Across all devices, the browser has slid to less than 4 percent of the market—on mobile it’s a measly half a percent. “Looking back five years and looking at our market share and our own numbers that we publish, there’s no denying the decline,” says Selena Deckelmann, senior vice president of Firefox. Mozilla’s own statistics show a drop of around 30 million monthly active users from the start of 2019 to the start of 2022. “In the last couple years, what we’ve seen is actually a pretty substantial flattening,” Deckelmann adds. The decline and potential demise of Firefox is a massive problem that everybody seems to be kind of tiptoeing around, too afraid to acknowledge that if Firefox were indeed to disappear, we’d be royally screwed. We’d end up right back where we started 20 years ago, with Chrome being the new IE6, but with the big difference that Chrome isn’t bad enough yet for people to care. The situation is especially dire for the Linux world, and I feel like a lot of Linux users, developers, and distribution makers simply aren’t thinking about or preparing for a future where they can’t rely on Firefox anymore. Aside from Firefox, there really isn’t any browser out there that takes Linux seriously, and this is a big problem. Chrome is a disaster on Linux – it doesn’t even do something as basic as video acceleration unless you use one of the third party, custom maintained versions of Chromium, and, of course, it’s a vessel for Google’s advertising business. Things like the Gnome Browser or KDE’s Falkon can barely be taken seriously, and on top of that, are based on Apple’s WebKit, which isn’t a great position to be in either – and that’s it. There’s nothing else. The desktop Linux world is playing with fire by being so reliant on Firefox, and now that Firefox and Mozilla seem to be in some serious dire straits, I’m dumbfounded by the fact nobody seems to be at all preparing for what happens if Mozilla ever truly goes down.

Introducing the Privacy Sandbox on Android

Today, we’re announcing a multi-year initiative to build the Privacy Sandbox on Android, with the goal of introducing new, more private advertising solutions. Specifically, these solutions will limit sharing of user data with third parties and operate without cross-app identifiers, including advertising ID. We’re also exploring technologies that reduce the potential for covert data collection, including safer ways for apps to integrate with advertising SDKs. The Privacy Sandbox on Android builds on our existing efforts on the web, providing a clear path forward to improve user privacy without putting access to free content and services at risk. A plan for a plan that aims to please the advertising industry, an industry which at this point means Google, all built by Google. I might be mildly skeptical.

NES 64: Commodore 64 KERNAL and BASIC port

A few years ago, I got the crazy idea to try porting the Commodore 64 KERNAL and BASIC ROMs to the NES, since their CPUs are mostly the same. But I gave up when things got complicated with the PPU. Then a couple weeks ago, I saw that someone ported it to the Atari 1200XL, so I decided I’d give it another shot. This time, I was able to make a (mostly) working system. Quite impressive.

Google unveils Chrome OS Flex: Chrome OS for any PC or Mac

Today, we’re excited to announce early access to a new version of Chrome OS bringing the benefits of Chrome OS to PCs and Macs. Chrome OS Flex is the cloud-first, fast, easy-to manage, and secure operating system for PCs and Macs. Learn more below, try it out, and share your feedback to help us shape this product. It’s basically Chrome OS for any PC or Mac you might have lying around. Other parties offered similar Chrome OS-based systems for non-Chromebook hardware, but this is the first time Google itself offers it as a first-class citizen of the Chrome OS ecosystem.

Version 100 in Chrome and Firefox

Chrome and Firefox will reach version 100 in a couple of months. This has the potential to cause breakage on sites that rely on identifying the browser version to perform business logic. This post covers the timeline of events, the strategies that Chrome and Firefox are taking to mitigate the impact, and how you can help. Just skip 9.