Thom Holwerda Archive

Genode 20.05 released

Genode 20.05 takes our road map’s focus on the consolidation and optimization of the framework and its API to heart. It contains countless of under-the-hood improvements, mostly on the account of vastly intensified automated testing, the confrontation of Genode with increasingly complex software stacks, and stressful real-world work loads. You will find this theme throughout the release notes below. The result of this overhaul is captured in the updated version of the Genode Foundations book (Section New revision of the Genode Foundations book). I wish every project had release notes as detailed as Genode’s always are. Excellent work.

PowerPC Solaris on the RS/6000

One of the weirdest times in computing was during the mid-90s, when the major RISC vendors all had their own plans to dominate the consumer market and eventually wipe out Intel. This was a time that led to overpriced non-x86 systems that intended to wipe out the PC, Windows NT being ported to non-x86 platforms, PC style hardware paired with RISC CPUs, Apple putting the processor line from IBM servers into Macs, and Silicon Graphics designing a game console for Nintendo. While their attempts worked wonders in the embedded field for MIPS and the AIM alliance, quite a few of these attempts at breaking into the mainstream were total flops. Despite this, there were some weird products released during this period that most only assumed existed in tech magazine ads and reviews. One such product was Solaris for PowerPC. Now Solaris has existed on Intel platforms for ages and the Illumos fork has some interesting ports including a DEC Alpha port, but a forgotten official port exists for the PowerPC CPU architecture. Unlike OS/2, it’s complete and has a networking stack. It’s also perhaps one of the weirdest OSes on the PowerPC platform. I love machines from this era. There’s some seriously weird hardware from that time floating around eBay for serious prices.

Android Studio 4.0 released

Some highlights of Android Studio 4.0 include a new Motion Editor to help bring your apps to life, a Build Analyzer to investigate causes for slower build times, and Java 8 language APIs you can use regardless of your app’s minimum API level. Based on your feedback, we’ve also overhauled the CPU Profiler user interface to provide a more intuitive workflow and easier side-by-side analysis of thread activity. And the improved Layout Inspector now provides live data of your app’s UI, so you can easily debug exactly what’s being shown on the device. It’s available on the stable channel.

The story of how Microsoft embraced and then killed AppGet

Keivan Beigi, the developer behind AppGet, a package manager for Windows, claims Microsoft copied his software. He was contacted by Microsoft as a possible hire, and flew in to Microsoft’s headquarters to talk about AppGet, and after suddenly being ghosted, Microsoft announced WinGet – what he claims is pretty much a direct copy. Realistically, no matter how hard I tried to promote AppGet, it would never grow at the rate a Microsoft solution would. I didn’t create AppGet to get rich or to become famous or get hired by Microsoft. I created AppGet because I thought us Windows users deserved a decent app management experience too. What bothers me is how the whole thing was handled. The slow and dreadful communication speed. The total radio silence at the end. But the part that hurts the most was the announcement. AppGet, which is objectively where most ideas for WinGet came from, was only mentioned as another package manager that just happened to exist; While other package managers that WinGet shares very little with were mentioned and explained much more deliberately. This is the kind of stuff big tech does, so it really shouldn’t come as a surprise to anyone.

OS/2 on Virtualbox guide

There is this interesting article about running different versions of OS/2 on VirtualBox. It offers tips for each different version, disk image conversion information and prebuilt images. When I started looking into getting it working on a virtual machine, I had a hard time finding some crucial information and files, there were steps in the install process that were not explained in the few guides I could find, it wasn’t clear to me which versions could be installed, and some of the install files were in formats I couldn’t read. Now that I’ve figured out all those problems I’ve created a guide with specific instructions on how to get all major versions working on VirtualBox, complete with sound, video and network in some cases, and you’ll find those guides below. I also created prebuilt virtual machines you can just download and press play on. You owe it to yourself to play with OS/2. It’s an amazingly fascinating operating system with some great ideas and features.

Windows 10 May 2020 update released

As the world and people’s routines change, it is important that we focus on meeting the over a billion people around the world relying on Windows where they are now. That next step comes today with the release of the Windows 10 May 2020 Update. The May 2020 Update comes with feature improvements that will help save you time and maybe even be a source of fun. The new update is available today for those who want to seek it. You can get the update in a few different ways, visit this blog post to learn more about how to get the May 2020 Update today. MSPowerUser has a detailed article of all the new features.

Texas Instruments removes support for popular side-loaded apps and games

Texas Instruments has long made graphing calculators beloved by school-goers and programmers alike. The calculators are simple, compact computing systems, and entire communities have formed over the years to celebrate the devices’ broad programming capabilities. All that’s about to change. Texas Instruments is pulling support for C-based and assembly-based programs on both the TI-84 Plus CE — the most popular calculator for sideloading — and the TI-83 Premium CE, its French sibling. The latest firmware for each completely removes the capability and leaves users with no way to roll back to previous versions of the firmware. Way back when I was in high school, I used to write my own TI-83 programs to… Well, to cheat on tests. These devices were a brand new addition to the education system at the time, and teachers had no clue what we as students were doing with them. One of my best friends and I also bought a communication cable for them so we could share stuff and play multiplayer games together in the back of class. Removing stuff like this is a terrible idea.

Qt 5.15 released

As the last release of the Qt 5 series, we wanted to make sure that Qt 5.15 is a great release that you can easily upgrade to with your ongoing projects. It is, as always, fully backward-compatible with previous Qt 5 releases. A large amount of work has gone into bug fixes, and Qt 5.15 is the best and most stable release we’ve done in the Qt 5 series. Qt 6 is expected before the end of the year.

YouTube is deleting comments with two phrases that insult China’s Communist Party

YouTube is automatically deleting comments that contain certain Chinese-language phrases related to criticism of the country’s ruling Communist Party (CCP). The company confirmed to The Verge this was happening in error and that it was looking into the issue. “This appears to be an error in our enforcement systems and we are investigating,” said a YouTube spokesperson. The company did not elaborate on how or why this error came to be, but said it was not the result of any change in its moderation policy. But if the deletions are the result of a simple mistake, then it’s one that’s gone unnoticed for six months. The Verge found evidence that comments were being deleted as early as October 2019, when the issue was raised on YouTube’s official help pages and multiple users confirmed that they had experienced the same problem. Sure, an “error in our enforcement systems” that was reported six months ago. I just don’t believe very specific things like this – and the trigger words are very specific and require contextual knowledge – are implemented by error.

Programmer who created Windows’ Task Manager shares some useful hidden tips

Some Task Manager lore: I’m the Microsoft (Redmond, ’93) developer that wrote TaskMgr at home in my den in about 1994 and then the NT silverback devs let me check it into the main tree even though I was a greenhorn at the time. So that meant I got to bring it into work and polish it up and make it an official part of Windows, where it remains to this day. So I got to define my own day job, actually, which was nice! I don’t know if it’s still like that, but great culture and people. This is all based on XP, as I left long ago, but it’s still the same core app underneath. What follows is an incredibly useful list of hidden features of the Windows Task Manager.

YouTube for Android tests showing a recommended Google Search result when searching in YouTube

Following the recent rollout of the new Bedtime Reminders feature in YouTube for Android, Google has now started testing a new feature that will show search results from the web within the app. The feature was recently spotted by Reddit user u/TheMrIggs when he searched “open beer with knife” in the YouTube app. As you can see in the screenshots below, the results listed a couple of related videos, as usual, followed by a new “Results from the web” card featuring a recommended result from Google Search for the same query. There are already so many ads in YouTube, and now Google is clearly considering even adding web search results to YouTube. The next step Google is probably considering will be ads inside YouTube’s search suggestions. When I go to YouTube, I go there to watch videos – not to search the web. These attempts at “synergy” are common in the technology world, and they rarely seem to benefit the user.

macOS 10.15: slow by design

Apparently, Apple is making macOS Catalina phone home so much it’s making the operating system slow, laggy, and beachbally, as Allan Odgaard details. Apple has introduced notarization, setting aside the inconvenience this brings to us developers, it also results in a degraded user experience, as the first time a user runs a new executable, Apple delays execution while waiting for a reply from their server. This check for me takes close to a second. This is not just for files downloaded from the internet, nor is it only when you launch them via Finder, this is everything. So even if you write a one line shell script and run it in a terminal, you will get a delay! Aside from the obviously terrible design and privacy implications of your computer phoning home to Apple every time you execute something, this is also another case of Apple only designing for the absolutely optimal use-cases – i.e., people working and living in Cupertino – and that’s it. The less optimal your internet connection or the farther away you are, the worse your experience will be. Apple has a few file system locations that require user permission to access them, for example ~/Desktop, ~/Documents, and ~/Downloads. Surprisingly though, just obtaining the display name or icon for one of these folders will trigger Apple’s code to verify that the client is allowed to access the location. This is done by sending a message to the sandboxd process which sends a message to tccd which calls SecCodeCheckValidityWithErrors and seems to communicate with yet another process, but I can’t find which, and this takes around 150 ms per location. It may not seem like much, but this adds up, and can add more than half a second of delay when opening an application. Like with privileged folders, keychain items also require permission for applications to access them. But again, something is wrong. Specifically calling SecKeychainFindGenericPassword can cause noticeable delays, on a bad internet day I had this call stall for 3.3 seconds and this was with System Integrity Protection disabled! And on other delays in launching applications in general: This is the worst issue, sometimes, things will stall for 5-30 seconds. Mostly though it is when launching applications. Sampling the application during launch shows stalls in ImageLoaderMachO::loadCodeSignature, SLSMainConnectionID, and many references to Skylight and CGS in the stack trace. The current best way to “address” this issue is disabling System Integrity Protection and disconnecting from the internet (!), and especially that second one is of course entirely unreasonable. I wouldn’t touch macOS with a ten-foot pole even before Catalina – it always felt slow and sluggish to me, even on faster Macs, and Mac hardware is terrible value right now – but with all the general complaints about Catalina, and now this, it’s getting ever clearer I’m not missing out on anything by sticking to Linux. At least my computer isn’t calling home to Clement Lefebvre every time I run a tiny script.

Microsoft’s new Fluid Office document is Google Docs on steroids

Microsoft is creating a new kind of Office document. Instead of Word, Excel, or PowerPoint, the company has created Lego blocks of Office content that live on the web. The tables, graphs, and lists that you typically find in Office documents are transforming into living, collaborative modules that exist outside of traditional documents. Microsoft calls its Lego blocks Fluid components, and they can be edited in real time by anyone in any app. The idea is that you could create things like a table without having to switch to multiple apps to get it done, and the table will persist on the web like a Lego block, free for anyone to use and edit. This is quite awesome, but I hope Microsoft won’t be tying functionality like this to its Chromium-based browsers, leaving others in the dust.

Microsoft’s new Windows Package Manager is already better than the Windows Store

Microsoft surprised Windows users with a new package manager yesterday. It’s a command line tool that allows developers, power users, and really any Windows user to install their favorite apps from a simple command. If you’ve ever had to wipe a Windows machine clean or set up a new device, you’ll know the pain of having to reinstall apps, find download links, and get a PC ready again. Microsoft creating its own Windows Package Manager (winget) is significant, and the command line tool is already more useful than the Windows Store. You can navigate to a command prompt, type “winget install Steam,” and the latest version of Valve’s Steam app will be installed on your system. Steam doesn’t even exist in the Windows Store right now; there are many apps already available on winget like Zoom, WinRAR, and Logitech Harmony Remote that are also missing from the Store. Developers can choose to distribute their applications this way, and it seems Microsoft is managing a list of popular third party applications by itself. This is a great addition to Windows.

References to Windows 10 on ARM emulation support for 64-bit Intel apps spotted on GitHub

The lack of x64 emulation has been a major bottleneck for Windows on ARM devices since apps that are available only in 64-bit flavor cannot be run on these devices. Those apps include the likes of Adobe’s Premiere Pro. While some might argue that the current crop of ARM-based PC-centric chipsets may not be suited for such loads, we could see Qualcomm make bigger strides in terms of performance with its future chips that might be more potent for heavier workloads. According to our sources, Microsoft could be planning to add x64 emulation support to the platform with the Windows 10 21H1 update. If the company’s plans are still on track, it would not be surprising to see the company test out x64 emulation with Insiders sooner rather than later. This would make ARM-based Windows machines more useful, but as the linked article suggests, it would definitely need more powerful chips.

The Intel Comet Lake Core i9-10900K, i7-10700K, i5-10600K CPU review: Skylake we go again

One thing that Intel has learned through the successive years of the reiterating the Skylake microarchitecture on the same process but with more cores has been optimization – the ability to squeeze as many drops out of a given manufacturing node and architecture as is physically possible, and still come out with a high-performing product when the main competitor is offering similar performance at a much lower power. Intel has pushed Comet Lake and its 14nm process to new heights, and in many cases, achieving top results in a lot of our benchmarks, at the expense of power. There’s something to be said for having the best gaming CPU on the market, something which Intel seems to have readily achieved here when considering gaming in isolation, though now Intel has to deal with the messaging around the power consumption, similar how AMD had to do in the Vishera days. Intel has been able to eek some god performance out of these processors, but all at the expense of power consumption.

Microsoft to unify Win32 and UWP apps with new Project Reunion

Microsoft has been working to bring win32 desktop apps and its Universal Windows Platform (UWP) apps closer together in recent years. That work has an official name now: Project Reunion. It’s the latest twist in Microsoft’s promise of universal apps that run across multiple Windows 10 devices, and Microsoft is now referring to traditional desktop apps and UWP ones as simply “Windows apps.” “The idea behind Project Reunion is that it allows developers to build one Windows application and target all 1 billion Windows devices,” explains Rajesh Jha, executive vice president of Microsoft’s Experiences and Devices Group. “We’re bringing together the combined power of win32 and UWP so developers no longer have to choose because we’re unifying these existing APIs and in some way decoupling them from the OS.” Microsoft has tried to kill Win32 so many times, but it just refuses to die. The company seems to be throwing its hands in the air saying fine, if you nerds want Win32, you get Win32. I hope this will make it easier for older, more monolithic Win32 applications to be modernised.

Microsoft is bringing Linux GUI apps to Windows 10

Microsoft is promising to dramatically improve its Windows Subsystem for Linux (WSL) with GUI app support and GPU hardware acceleration. The software giant is adding a full Linux kernel to Windows 10 with WSL version 2 later this month, and it’s now planning to support Linux GUI apps that will run alongside regular Windows apps. This will be enabled without Windows users having to use X11 forwarding, and it’s mainly designed for developers to run Linux integrated development environments (IDE) alongside regular Windows apps. Microsoft is really trying very hard to bring as much of the Linux world to Windows, to the point where both seem to be almost merging into one. It’s a fascinating future for sure, but for me personally, it won’t draw me back to Windows from Linux. That being said, the technology behind all this is deeply fascinating and interesting – among other things, Microsoft is bringing Direct3D 12 to Linux, but only to WSL, and it’s closed source. I have no idea if this could be of any benefit to Wine/Proton, but if it will be, it could be huge.

Bringing Objective-C to Windows 98 SE and NT 4.0

After bringing Objective-C to the Amiga, why not to some older Windows versions as well? Yesterday, I got the idea to port ObjFW to Windows NT 4.0. Considering the lowest supported Windows version so far was Windows XP, this seemed like it would not be too much work. However, the biggest problem was getting a toolchain that still supports Windows NT 4.0! After the compiler no longer created binaries that had missing symbols on Windows NT 4.0 and a few minor changes later, all tests were running successfully. Later that evening, I wanted to take things further and thought: If we have Windows NT 4.0 now, why not Windows 98 SE as well? So now it was time to port everything else to the A APIs and voilà, all tests are running successfully.