Thom Holwerda Archive

20 years of Haiku

Dedication asks each of its adherents to have faith even as time and energy pass through from one year to the next. Dedication brings with it a variety of challenges, but also rewards. Dedication is something most people claim to have, but few readily exhibit it in the face of adversity. As of today, Aug. 18, 2021, the Haiku Project is celebrating two decades of dedication, marking the 20th anniversary of the founding of the Haiku operating system and the start of this ride to save, maintain, and expand upon the BeOS legacy it spawned from. Congratulations to the Haiku project and all of its contributors.

286 vs. 386SX

The Intel 386 SX CPU quickly replaced the 286 CPU in the early 1990s. For a time, it was a very popular CPU, especially for people who were wanting to run Microsoft Windows. Yet the two CPUs run at nearly identical speed. So what was the big deal? The 286 vs 386SX argument could be confusing in 1991, and it’s not much clearer today. Here at OSNews we pride ourselves in pointing you to the most relevant, up-to-date buying advice available on the internet.

We built a system like Apple’s to flag child sexual abuse material – and concluded the tech was dangerous

Earlier this month, Apple unveiled a system that would scan iPhone and iPad photos for child sexual abuse material (CSAM). The announcement sparked a civil liberties firestorm, and Apple’s own employees have been expressing alarm. The company insists reservations about the system are rooted in “misunderstandings.” We disagree. We wrote the only peer-reviewed publication on how to build a system like Apple’s — and we concluded the technology was dangerous. We’re not concerned because we misunderstand how Apple’s system works. The problem is, we understand exactly how it works. There’s now so much evidence from credible, trustworthy people and organisations that Apple’s system is bad and dangerous, that I find it hard to believe there are still people cheering Apple on.

Performance improvements in .NET 6

I at least peruse if not review in depth the vast majority of all those PRs, and every time I see a PR that is likely to impact performance, I make a note of it in a running log, giving me a long list of improvements I can revisit when it’s blog time. That made this August a little daunting, as I sat down to write this post and was faced with the list I’d curated of almost 550 PRs. Don’t worry, I don’t cover all of them here, but grab a large mug of your favorite hot beverage, and settle in: this post takes a rip-roarin’ tour through ~400 PRs that, all together, significantly improve .NET performance for .NET 6. You might want to get some coffee.

MATE 1.26 released

The theme for this release has been adding new functionality to the MATE Desktop while maintaining the look and feel that we all know and love. While all the added features are surely quite exciting we also did not forget to do tons of bugfixing, modernising the code base and optimizing the performance. MATE is one of the two great alternatives for people who find GNOME 3 and later unpleasant (the other being Cinnamon, my DE of choice).

Microsoft is making it harder to switch default browsers in Windows 11

In Windows 11, Microsoft has changed the way you set default apps. Like Windows 10, there’s a prompt that appears when you install a new browser and open a web link for the first time. It’s the only opportunity to easily switch browsers, though. Unless you tick “always use this app,” the default will never be changed. It’s incredibly easy to forget to toggle the “always use this app” option, and simply launch the browser you want from this prompt and never see this default choice again when you click web links. Microsoft has changed the way default apps are assigned in Windows 11, which means you now have to set defaults by file or link type instead of a single switch. In the case of Chrome, that means changing the default file type for HTM, HTML, PDF, SHTML, SVG, WEBP, XHT, XHTML, FTP, HTTP, and HTTPS. That’s what you get when you use proprietary operating systems. Windows and macOS are not designed for you; they’re designed for Microsoft and Apple, respectively.

Researchers produce collision in Apple’s child-abuse hashing system

Researchers have produced a collision in iOS’s built-in hash function, raising new concerns about the integrity of Apple’s CSAM-scanning system. The flaw affects the hashing system, called NeuralHash, which allows Apple to check for exact matches of known child-abuse imagery without possessing any of the images or gleaning any information about non-matching pictures. On Tuesday, a GitHub user called Asuhariet Ygvar posted code for a reconstructed Python version of NeuralHash, which he claimed to have reverse-engineered from previous versions of iOS. The GitHub post also includes instructions on how to extract the NeuralMatch files from a current macOS or iOS build. Once the code was public, more significant attacks were quickly discovered. A user called Cory Cornelius produced a collision in the algorithm: two images that generate the same hash. If the findings hold up, it will be a significant failure in the cryptography underlying Apple’s new system. American tech media and bloggers have been shoving the valid concerns aside ever since Apple announced this new backdoor into iOS, and it’s barely been a week and we already see major tentpoles come crashing down. I try not to swear on OSNews, but there’s no other way to describe this than as a giant clusterfuck of epic proportions.

Debian 11.0 released

Speaking of Debian, there’s even bigger news than a new Debian GNU/Hurd release – Debian 11.0 is out and about! This release contains over 11,294 new packages for a total count of 59,551 packages, along with a significant reduction of over 9,519 packages which were marked as obsolete and removed. 42,821 packages were updated and 5,434 packages remained unchanged. As always, Debian release are big, and they are hugely important as they serve as the base for some of the most popular Linux distributions out there.

Debian GNU/Hurd 2021 released

It is with huge pleasure that the Debian GNU/Hurd team announces the release of Debian GNU/Hurd 2021. This is a snapshot of Debian “sid” at the time of the stable Debian “bullseye” release (August 2021), so it is mostly based on the same sources. It is not an official Debian release, but it is an official Debian GNU/Hurd port release. In this release, the port of go has been completed, experimental support for APIC, SMP, and 64bit has been added, and more.

Asahi Linux August progress report

Asahi Linux, the effort to port Linux to Apple’s new M1 SoC, has posted its second progress report. It’s been a long time since the last update! In all honesty, the first Progress Report set the bar a little bit too high, and I found it difficult to sit down and put together monthly reports that would do it justice. So, going forward, we’re going to be providing shorter-form updates while striving to keep a monthly schedule. That said, a lot has happened in the past few months, so strap in for a bigger update this time! Quite a lot of detail in here, and lots of insights into the reverse engineering processes the developers are implementing.

Build your own SPARC workstation with QEMU and Solaris

A great intro to a classic platform by way of emulation and optionally even adapting a real physical keyboard: Back in the late 80s and through the 90s, Unix workstations were super powerful, super cool, and super expensive. If you were making 3D graphics or developing applications, you wanted a high-performance workstation and Sun made some of the best ones. But unless you worked for a huge company, university, or government, they were probably too expensive. More than twenty years later, we have much more powerful and affordable computers, so let’s emulate the old systems and see what it was like to run some of the coolest computers you could buy in the 90s. This is another in the series from the same author as the recently linked virtual NeXT machine, that also includes an entry for a virtual BeBox to experience BeOS.

Apple’s child protection features spark concern within its own ranks

Apple employees have flooded an Apple internal Slack channel with more than 800 messages on the plan announced a week ago, workers who asked not to be identified told Reuters. Many expressed worries that the feature could be exploited by repressive governments looking to find other material for censorship or arrests, according to workers who saw the days-long thread. Past security changes at Apple have also prompted concern among employees, but the volume and duration of the new debate is surprising, the workers said. Some posters worried that Apple is damaging its leading reputation for protecting privacy. It’s a complete 180 from Apple’s behaviour and statements (in western markets) – of course employees are going to be worried. I’ve been warning for years that Apple’s position on privacy was nothing more than a marketing ploy, and now Apple employees, too, get a taste of their own medicine that they’ve been selling in China and various other totalitarian regimes.

App store competition targeted by bipartisan senate bill

Their legislation would bar the companies from certain conduct that would tend to force developers to use their app stores or payment systems. It also would obligate the companies to protect app developers’ rights to tell consumers about lower prices and offer competitive pricing. It would effectively allow apps to be loaded onto Apple users’ devices outside of the company’s official app store. There’s so much movement on this front, I highly doubt Apple and Google will be able to stop it. This is one of the very, very rare cases where both sides of the political spectrum seem to somewhat agree, and I hope they can make it stick. It’s definitely not enough, but it’s a step in the right direction. I’m an extremist – all source code should be freely available (not necessarily open source – just viewable), to give consumers and society as a whole the ability to ensure they’re not being spied on, lied to, or endangered by foreign entities or corporate trickery. If copyright is good enough for writers, artists, and musicians, it’s damn well good enough for programmers. With how vital computers and software have become – woven into the fabric of our society – we as people should be able to see and check what those threads are doing and where they’re going to and coming from. Corporations have shown time and time again that they are not trustworthy entities and that they do not have society’s best interests at heart, and we need tools to bring the balance of power back – black boxes of code are dangerous.

Code written for Windows 3.1 still works well today

So imagine my surprise when I dug around in a quarter-century-old archive to find a .zip file containing something that purported to be the original executable of Labyrinth. Surely such an ancient piece of code – written for Windows 3.1 – wouldn’t launch? Well, after a bit of fiddling with the Windows compatibility settings, I was shocked – and extremely pleased – to see that, yes, it most certainly did. It shouldn’t be surprising that a piece of good Windows code from 30 years ago still runs on Windows 10 today, and yet, it always is.

Essence: an new desktop operating system

An operating system I’ve been writing since ~June 2017. Although it’s a long shot (and very optimistic), I ultimately intend it to replace Linux and Windows as a desktop operating system. Very optimistic, but there’s quite a few things here already. The code is on gitlab, where you can find more information, too.

MorphOS 3.15 gets ram-handler bugfix

MorphOS 3.15 ram-handler contains a bug that when unlucky may results in the RAM: root directory to appear to contain many duplicate entries. Multiple users had reported this over the years, but until recently the root cause of this issue had eluded us. Due to recent developments, the bug has finally been located and fixed (thanks to AngryTom for help!). Fixed ram-handler will be released as the part of the future MorphOS 3.16 release. Meanwhile you can install the following patch that fixes the problem for MorphOS 3.15. I know this isn’t a major new release or anything, but it’s rather rare and interesting to see a small, standalone update like this being release for a small, alternative operating system. Usually, these get rolled into major new releases or nightlies, so I found this interesting.

Build your own NeXT with a virtual machine

In 1985 Steve Jobs resigned from Apple and founded NeXT Inc. in order to build the NeXT Computer. It was ahead of its time and had amazing features thanks to the NeXTSTEP operating system, most famously used at CERN by Sir Tim Berners-Lee to create the World Wide Web. NeXTSTEP later became OPENSTEP and when Apple acquired NeXT in 1997, they used it as the basis for Mac OS X and iOS. If you’ve done any Mac or iOS programming, you’ve seen the echoes of NeXTSTEP in the type names – NSObject, NSString, NSDictionary, and many others all come directly from NeXT (NS = NeXTSTEP). These computers cost about as much as a new car when they first came out, so they were out of reach for most people. What was it like to use a top of the line system in the early 90s? Let’s build our own and find out! Exactly as it says on the tin. A fun few hours.

Why does the Steam Deck run Linux? Blame Windows

Valve’s “Steam Deck” handheld PC has caused quite a stir among PC gaming geeks, but the biggest shakeup might not be its Nintendo Switch-like form factor. The software running inside of it is the real surprise. Why does the Steam Deck run Linux? Blame Windows. The Steam Deck and the software inside of it are the culmination of a nearly decade-long “hedging strategy” embarked upon by Valve chief Gabe Newell and company many moons ago, when Microsoft tried exerting more control over developers with Windows 8. But it’s also the next phase of Valve’s escape plan. Also, Windows is simply a terrible choice for the Steam Deck. The base model only has 64GB of storage, and Windows 10 will easily take up two-thirds of that.