Thom Holwerda Archive

An open source rotary cell phone

Why a rotary cellphone? Because in a finicky, annoying, touchscreen world of hyperconnected people using phones they have no control over or understanding of, I wanted something that would be entirely mine, personal, and absolutely tactile, while also giving me an excuse for not texting.  The point isn’t to be anachronistic. It’s to show that it’s possible to have a perfectly usable phone that goes as far from having a touchscreen as I can imagine, and which in some ways may actually be more functional. Genius.

The paywalled garden: iOS is adware

Steve Streza, developer and all-around good guy, writing about Apple turning iOS into adware: Over the years, Apple has built up a portfolio of services and add-ons that you pay for. Starting with AppleCare extended warranties and iCloud data subscriptions, they expanded to Apple Music a few years ago, only to dramatically ramp up their offerings last year with TV+, News+, Arcade, and Card. Their services business, taken as a whole, is quickly becoming massive; Apple reported $12.7 billion in Q1 2020 alone, nearly a sixth of its already gigantic quarterly revenue. All that money comes from the wallets of 480 million subscribers, and their goal is to grow that number to 600 million this year. But to do that, Apple has resorted to insidious tactics to get those people: ads. Lots and lots of ads, on devices that you pay for. iOS 13 has an abundance of ads from Apple marketing Apple services, from the moment you set it up and all throughout the experience. These ads cannot be hidden through the iOS content blocker extension system. Some can be dismissed or hidden, but most cannot, and are purposefully designed into core apps like Music and the App Store. There’s a term to describe software that has lots of unremovable ads: adware, which what iOS has sadly become. Apple, decidedly not an ad company, puts tons of ads into iOS, while Google, decidedly very much an ad company, puts basically zero ads in Android. Yet, this is something we rarely talk about because for some reason, we seem to just accept platform owners treating users like garbage and negatively impacting the user experience to try and get them to subscribe to “services”. Apple is undertaking a massive push to get iOS users to subscribe to more and more services, and the company has clearly shown it has no qualms about degrading the user experience to get there. And of course, while you can block every other company’s ads on iOS – you can’t block Apple’s ads, since the rules Apple sets for third parties don’t apply to Apple itself, and you can’t change your default applications either. Now that you’re locked into their ecosystem, Apple is going to try every sleazy tactic under the sun to try and get you to subscribe to their services. Have fun.

NetBSD 9.0 released

The NetBSD Project is pleased to announce NetBSD 9.0, the seventeenth major release of the NetBSD operating system. This release brings significant improvements in terms of hardware support, quality assurance, security, along with new features and hundreds of bug fixes. Support for the ARM architecture seems to be a major pillar of this new release.

Google’s new Incremental File System may let you play big Android games before they’re fully downloaded

In early May of 2019, Google submitted patches to merge support for the Incremental File System into the Linux kernel. According to the documentation that Google submitted, Incremental FS is a “special-purpose Linux virtual file system that allows execution of a program while its binary and resource files are still being lazily downloaded over the network, USB etc.” The purpose of this feature is “to allow running big Android apps before their binaries and resources are fully downloaded to an Android device.” Isn’t this already possible in various other ways, though? I mean, PlayStation 4 games can be played well before they’re entirely downloaded, as can Blizzard games, to name a few. I’m pretty sure those just load early-game assets first, so I’m not sure if that aligns with that Google is doing here, but this kind of feels like a solved problem.

DreamCast emulator Redream’s progress report for February 2020

Hot off the presses is our latest stable, version 1.5.0, marking the second stable release since the last progress report. In this past year, support has been added for multiple new platforms to make the emulator accessible, performance has dramatically increased, new features such as save states and cheat support have landed to make emulating more fun, and numerous accuracy improvements were made to continue polishing the overall emulation experience. I love these detailed overviews of changes in emulators. Dolphin started the trend, I think, and now this team is picking it up.

What made the 1960s CDC6600 supercomputer fast?

Besides the architectural progress, the CDC6600 was impressive for its clock speed of 10 MHz. This may not sound much, but consider that this was a physically very large machine entirely built from discrete resistors and transistors in the early 60ies. Not a single integrated circuit was involved. For comparison, the PDP-8, released in 1965 and also based on discrete logic, had a clock speed of 1.5 MHz. The first IBM PC, released 20 years later, was clocked at less than half the speed of the CDC6600 despite being based on integrated circuits. The high clockrate is even more impressive when comparing it to more recent (hobbyist) attempts to design CPUs with discrete components such as the MT15, the Megaprocessor or the Monster6502. Although these are comparatively small designs based on modern components, none of them get to even a tenth of the CDC6600 clock speed. Detailed look at the speed of the CDC6600.

How Windows 10X runs Win32 applications

Microsoft released its first emulator for Windows 10X today, allowing developers to get a first look at the new operating system variant for dual-screen devices. Microsoft wants to give developers a head start on optimizing apps before devices launch later this year, so this basic emulator provides an early look at Windows 10X before it’s finalized. My first thoughts? Windows 10X feels like a slightly more modern version of Windows 10 that has been cleaned up for future devices. In Windows 10X, everything is new. There’s none of the old Win32 code and applications lying around, or fallbacks to old Win32 dialogs. Everything is a Modern application (or whatever they call it these days), including things like the file manager – the traditional Explorer is gone. While Windows 10X does support Win32 applications, they run in a container. As detailed in this video from Microsoft (select the video titled “How Windows 10X runs UWP and Win32 apps”), Windows 10X has three containers – Win32, MSIX, and Native. Win32 applications run inside a single Win32 container, capable of running pretty much anything “classic” you can throw at it, such as Win32, WinForms, Electron, and so on. MSIX containers are basically slightly more advanced classic applications, and these containers run inside the Win32 container as well. The Native container runs all the modern/UWP applications. The Win32 container is actually a lot more involved than you might think. As you can see in the below overview diagram from the video, the container contains a kernel, drivers, the needed files, a registry, and so on. It’s effectively an entire traditional Win32 Windows operating system running inside Windows 10X. Applications running inside the Win32 container are entirely isolated from the rest of the host Windows 10X operating system, and Windows 10X interacts with them through specialised, performance-optimised RDP clients – one for each Win32 application. This seems to finally be what many of us have always wanted out of a next-generation Windows release: move all the cruft and compatibility to a glorified virtual machine, so that the remainder of the operating system can be modernised and improved without having to take compatbility into account. For now, Windows 10X seems focused on dual screen devices, but a lot of people in the know seem to think this is the actual future of Windows. Time will tell if this is actually finally really the case, but this does look promising.

Apple store workers should be paid for time waiting to be searched, court rules

Apple has $209 billion in cash on hand. California law requires Apple Inc. to pay its workers for being searched before they leave retail stores, the California Supreme Court decided unanimously Thursday. A group of Apple workers filed a class-action lawsuit against the tech giant, charging they were required to submit to searches before leaving the stores but were not compensated for the time those searches required. The U.S. 9th Circuit Court of Appeals, where the case is now pending, asked the California Supreme Court to clarify whether state law requires compensation. In a decision written by Chief Justice Tani Cantil-Sakauye, the court said an industrial wage order defines hours worked as “the time during which an employee is subject to the control of an employer, and includes all the time the employee is suffered or permitted to work, whether or not required to do so.” I repeat, Apple has $209 billion in cash on hand. Since it’s really hard to imagine how much even just one billion dollars really is, this demonstration should give you a very good idea. One billion dollars is way, way, way more than you think it is. Apple has 209 times that in cash on hand.

How the CIA used Crypto AG encryption devices to spy on countries for decades

For more than half a century, governments all over the world trusted a single company to keep the communications of their spies, soldiers and diplomats secret. The company, Crypto AG, got its first break with a contract to build code-making machines for U.S. troops during World War II. Flush with cash, it became a dominant maker of encryption devices for decades, navigating waves of technology from mechanical gears to electronic circuits and, finally, silicon chips and software. But what none of its customers ever knew was that Crypto AG was secretly owned by the CIA in a highly classified partnership with West German intelligence. These spy agencies rigged the company’s devices so they could easily break the codes that countries used to send encrypted messages. The article is behind a paywall, sadly, but I figured it’s important enough to link to.

NEXTSPACE: a NeXTSTEP-like desktop environment for Linux

NEXTSPACE is a desktop environment that brings a NeXTSTEP look and feel to Linux. I try to keep the user experience as close as possible to the original NeXT’s OS. It is developed according to the “OpenStep User Interface Guidelines“. I want to create a fast, elegant, reliable, and easy to use desktop environment with maximum attention to user experience (usability) and visual maturity. In the future I would like to see it as a platform where applications will be running with a taste of NeXT’s OS. Core applications such as Login, Workspace, and Preferences are the base for future application development and examples of style and application integration methods. NEXTSPACE is not just a set of applications loosely integrated to each other. It is a core OS with frameworks, mouse cursors, fonts, colors, animations, and everything I think will help users to be effective and happy. KDE, GNOME, Xfce, and later MATE and Cinnamon have sucked up so much of the Linux desktop space that there’s very little room left for anything else. You’re either mainly a Qt desktop, or mainly a GTK+ desktop, and anything that isn’t based on either of those toolkits will either waste time recreating lots of wheels, or accept that half – or more – of your applications are Qt or GTK+-based, at which point the temptation to run one of the aforementioned desktop environments becomes quite strong. This project, while very welcome and having my full support and attention, will have a very hard time, but that’s not going to deter me from being hopeful against all odds. Reading through the documentation and descriptions, it does seem the developers have the right attitude. They’re not claiming to take on the other players – they just want to make something that appeals to and works for them.

KDE Plasma 5.18 LTS released

A brand new version of the Plasma desktop is now available. In Plasma 5.18 you will find neat new features that make notifications clearer, settings more streamlined and the overall look more attractive. Plasma 5.18 is easier and more fun to use, while at the same time allowing you to be more productive when it is time to work. A lot welcome changes and polish, and I’m particularly pleased with the death of the insipid ‘cashew’ menu that resided in the top-right of the KDE desktop. You had to dive into the settings to remove it, but now it’s been replaced by a global edit mode that’s entirely invisible until you enable it, following in the footsteps of similar edit modes in Cinnamon and other user interfaces.

MATE 1.24 released

After about a year of development, the MATE Desktop team have finally released MATE 1.24. A big thank you to all contributors who helped to make this happen. This release contains plenty of new features, bug-fixes, and general improvements. That’s an impressive list. I prefer Cinnamon and GNOME 3 (after lots of tweaking!) over MATE, but I’m glad MATE exists as a no-nonsense, relatively conservative continuation of GNOME 2.

Dissecting the Windows Defender driver

For the next couple (or maybe more) posts I’ll be explaining how WdFilter works. I’ve always been very interested on how AVs work (Nowadays I would say EDRs though) and their development at kernel level. And since, unfortunately I don’t have access to the source code of any, my only chance is to reverse them (or to write my own). And of course what a better product to check than the one written by the company who developed the OS. For those who don’t know, WdFilter is the main kernel component of Windows Defender. Roughly, this Driver works as a Minifilter from the load order group “FSFilter Anti-Virus”, this means that is attached to the File System stack (Actually, quite high – Big Altitude) and handles I/O operations in some Pre/Post callbacks. Not only that, this driver also implements other techniques to get information of what’s going on in the system. The goal of this series of post is to have a solid understanding on how this works under the hood. Not for the fain of heart.

Microsoft stuffs ads in the Windows Start menu targeting Firefox users

Microsoft has now started to show text ad for its new Chromium-based Edge in the all apps list. The ad, which shows up under ‘Suggested’ listing for Start menu, recommends using the new version of Microsoft Edge. Surprisingly, the ad is targeting Firefox users. If you have Firefox as your default browser, you might see the advertisement or suggestion in the Start menu. Depending on whether you’re actively using Firefox or other browsers, the recommendation may or may not show up. “Still using Firefox? Microsoft Edge is here,” the ad label reads and it includes a link to download Chromium-based browser. Don’t use operating systems like Windows or iOS which are nothing but bait-and-switch vessels for ads.

The story of the audacious, visionary, totally calamitous iPad of the ’90s

Of course, AT&T wasn’t the company that ended up bringing us most of the tech predicted in the “You Will” ads. But it did bring that tablet device to market. It’s called the EO Personal Communicator 440, and while not the first mass-manufactured tablet computer — that honor goes to the GRiDPad, a device sold by Radio Shack’s corporate parent Tandy — the EO is generally considered one of the first tablets with mobile connectivity. Released by AT&T in 1993, not long after the telecom giant bought a majority stake in its maker EO, it was a tantalizing glance into the future. Any article on the EO is an article I will post – I’m a simple man – but that website’s fonts and font colours give me a headache.

“I made an operating system UI within Unity”

Glass is a simulated operating system user interface (UI) project and it is being made with Unity 2018.4. It is not a real OS, although everything in the package is functional and can be changed easily. Not really an operating system, of course, but still a fascinating project. It also highlights just how versatile modern game engines really are – this is the same engine some of my favourite modern cRPGs and Cities: Skylines are running on.

Windows 10 warning: anger at Microsoft rises with serious new failure

Windows 10 may now be essential but users new and old have had a rough ride in recent weeks. And it has just gotten a lot worse after a new, high-profile Windows 10 failure has left more questions than answers and some seriously angry users. The drama began yesterday as Windows 10 users suddenly found that Search was broken with a black bar showing where search results should be, even for those who tried to perform a local search of their files. This is the future of proprietary operating systems like Windows, macOS and iOS as their parent companies move towards services and subscription models. More and more, they’ll use their operating systems to push their services and subscriptions, to the detriment of the user experience. It’s been happening in Windows 10 for a few years now, and iOS, too, is riddled with ads for Apple’s services. And so, we arrive at the point where local file search breaks down due to server issues. What a time to be alive.

The 64 core Threadripper 3990X CPU review: in the midst of chaos, AMD seeks opportunity

In our tests here (more in our benchmark database), AMD’s 3990X would get the crown over Intel’s dual socket offerings. The only thing really keeping me back from giving it is the same reason there was hesitation on the previous page: it doesn’t do enough to differentiate itself from AMD’s own 32-core CPU. Where AMD does win is in that ‘money is less of an issue scenario’, where using a single socket 64 core CPU can help consolidate systems, save power, and save money. Intel’s CPUs have a TDP of 205W each (more if you decide to use the turbo, which we did here), which totals 410W, while AMD maxed out at 280W in our tests. Technically Intel’s 2P has access to more PCIe lanes, but AMD’s PCIe lanes are PCIe 4.0, not PCIe 3.0, and with the right switch can power many more than Intel (if you’re saving 16k, then a switch is peanuts). We acknowledge that our tests here aren’t in any way a comprehensive test of server level workloads, but for the user base that AMD is aiming for, we’d take the 64 core (or even the 32 core) in most circumstances over two Intel 28 core CPUs, and spend the extra money on memory, storage, or a couple of big fat GPUs. Aside from the artificial maximum memory limitation – which AMD put in place to protect its own Epyc processors – the 3990X is simply a masterpiece. To be able to get 64 cores and 128 threads for a relatively mere $3990 is nothing short of stunning, and while few of us actually need a processor like that, the 3990X shines like the halo product that it is.

The sad case of Unreal Engine 1 on Mesa and Linux in 2020

One of the great game industry battles of the turn of century was the standoff between Quake III Arena and Unreal Tournament. With both multiplayer focused first person shooters released just weeks apart from one another, that the two games would wind up going head to head was inevitable. If pressed I am always going to have to say I favour the former, but the remarkable thing for us Linux users is that, for a time, both games lived harmoniously under the same publisher. While Quake III Arena was granted its place in eternity when its source code was released in 2005, community support for Unreal Tournament was able to breathe some new life into the game, even with the limitations of the closed binary. Even a strong community can’t fix such problems.