Thom Holwerda Archive

Haiku repository files and identifiers

Software on a computing platform such as Haiku is typically distributed as a package. Without a packaging system it would be hard for users to install software and because software often depends on other software, the chain of dependencies would be difficult for a user to resolve themselves. To orchestrate the distribution and management of the packages, Haiku has a packaging system which consists of applications, online tools, on-host tools and software libraries. One aspect of the packaging system is the coordination and identification of repositories. An overview of the inner workings of package management on Haiku.

Microsoft and Google team up to make PWAs better in the Play Store

We’re glad to announce a new collaboration between Microsoft and Google for the benefit of the web developer community. Microsoft’s PWABuilder and Google’s Bubblewrap are now working together to help developers publish PWAs in the Google Play Store. PWABuilder.com is Microsoft’s open source developer tool that helps you build high quality PWAs and publish them in app stores. Bubblewrap is Google’s command line utility and library to generate and sign Google Play Store packages from Progressive Web Apps. I hope this further improves PWAs, since they are a godsend for smaller operating systems and even bigger ones that are not macOS or Windows. Sure, nothing beats a proper native application, but if the choice is no application or a reasonably integrated PWA – I’ll take the PWA.

Resurrecting BeIA

Did you ever wonder what BeIA really was? A lot of people talked about BeIA back in the days Be, Inc. was still developing its OS for internet appliances, but after Be, Inc. closed its doors, BeIA vanished as well. A thread over on the Haiku discussion forums – which began as a talking point for how Haiku could recreate a BeIA style concept – turned in to a treasure trove of BeIA information, including examples of BeIA running and an overview of some of the process of building BeIA distributions. This video shows it all in action, including BeIA running under emulation. There’s also a wonderful video shot in Be, Inc’s offices where a Hungarian UG member gets a tour and shown BeIA hardware, with terrible framerate and resolution, but well worth checking out.

Canonical and Google enable Linux desktop app support with Flutter through snap

It has long been our vision for Flutter to power platforms. We’ve seen this manifest already at Google with products like the Assistant so now we’re thrilled to see others harnessing Flutter to power more platforms. Today we are happy to jointly announce the availability of the Linux alpha for Flutter alongside Canonical, the publisher of Ubuntu, the world’s most popular desktop Linux distribution. I welcome any additional investment in Linux or other operating systems that aren’t the macOS or Windows, but this one has a major downside: it’s all tied to Canonical’s snaps and Snap Store. In case you are unaware – snaps are quite controversial in the Linux world, and Linux Mint, one of the most popular Linux distributions, has taken a very proactive approach in removing them. Their reasoning makes it very clear why snap is so problematic: Applications in this store cannot be patched, or pinned. You can’t audit them, hold them, modify them or even point snap to a different store. You’ve as much empowerment with this as if you were using proprietary software, i.e. none. This is in effect similar to a commercial proprietary solution, but with two major differences: It runs as root, and it installs itself without asking you. On top of all this, the snap server is closed source. Snap is simply a no-go, and I’m saddened Google decided to opt for using it. Then again, Google has never shown any interest whatsoever in desktop Linux – preferring to simply take, but not give. None of their applications – other than Chrome – are available on Linux, and opting for snap further demonstrates Google doesn’t really seem to understand the Linux ecosystem at all. All they had to do was release a source tarball, and for a few extra brownie points, maybe a .deb and/or .rpm, but that isn’t even necessary. If your tool is good enough, it will be picked up by distributions and third parties who will make those packages for you. Google opting for snap instead indicates they have little faith in their own product being good and valuable enough to be embraced by the Linux distribution community. And if they don’t have any faith, why should I?

Microsoft and Zoom join Hong Kong data ‘pause’

Microsoft and Zoom have said they will not process data requests made by the Hong Kong authorities while they take stock of a new security law. They follow Facebook, Google, Twitter and the chat app Telegram, which had already announced similar “pauses” in compliance over the past two days. China passed the law on 30 June, criminalising acts that support independence, making it easier to punish protesters. This feels more like a “let’s get some good press in the west while we resume normal operation in aiding the genocidal Chinese regime when people stop caring” than a real principled stand, but with how everybody just rolls over for China, I’ll take any element of resistance – no matter how weak sauce – I can get. It doesn’t get much weaker than “pausing”, though. Apple says it is “assessing” the rules. Oh turns out I was wrong. It does get weaker.

The super duper universal binary

A question I got repeatedly the last couple days was, now that AARM (Apple ARM) is a thing, is the ultimate ARM-Intel-PowerPC Universal Binary possible? You bet it is! In fact, Apple already documents that you could have a five-way binary, i.e., ARM64, 32-bit PowerPC, 64-bit PowerPC, i386 and x86_64. Just build them separately and lipo them together. You’ll be able to eventually build a binary that contains code for every Mac hardware and software platform starting from Classic all the way up to macOS Big Sur, and from m68k all the way up to ARM. I doubt anyone will use it, but that doesn’t make it any less cool.

Nokia to add open interfaces to its telecom equipment

Finland’s Nokia on Tuesday became the first major telecom equipment maker to commit to adding open interfaces in its products that will allow mobile operators to build networks that are not tied to a vendor. The new technology, dubbed Open Radio Access Network (Open RAN), aims to reduce reliance on any one vendor by making every part of a telecom network interoperable and allowing operators to choose different suppliers for different components. I’m definitely not versed enough in low-level networking equipment to understand just how significant it is, but on the face of it, it does sound like a good move.

The Document Foundation clarifies “Personal Edition” label for LibreOffice 7.0

Due to draft and development work in the area of branding and product naming, some speculation, in particular related to the “Personal Edition” tag shown in a LibreOffice 7.0 RC (Release Candidate), has started on several communication channels. So let us, as The Document Foundation’s Board of Directors, please provide further clarifications: 1. None of the changes being evaluated will affect the license, the availability, the permitted uses and/or the functionality. LibreOffice will always be free software and nothing is changing for end users, developers and Community members. Basically, The Document Foundation intends to offer – through partners – professional paid-for support for LibreOffice to enterprise customers, and hence the tentative name to differentiate the LibreOffice we all know from the supported one.

Booting a 486 from floppy with the most up-to-date stable Linux kernel

Since I wanted to see how Linux would detect the drive that meant I needed to find a way to boot Linux. After a bit of googling I discovered the make tinyconfig option which makes a very small (but useless) kernel, small enough to fit on a floppy. I enabled a couple of other options, found a small enough initramfs, and was able to get it to boot on the 486. And as expected Linux has no problem with seeing that the drive is connected and the drive’s full capacity. Next step is to actually get Linux installed to the hard drive. I’d rather not roll my own distro but maybe I’ll have to. Another possibility is to boot Linux from floppy and then download a kernel and initrd from a current distro and kexec over to it. But that feels to me like reinventing iPXE. That’s version 5.8 of the Linux kernel running on a 486. I shouldn’t be surprised that this is possible, yet I’m still surprised this is possible.

Google-backed groups criticize Apple’s new warnings on user tracking

Sixteen marketing associations, some of which are backed by Facebook Inc and Alphabet Inc’s Google, faulted Apple for not adhering to an ad-industry system for seeking user consent under European privacy rules. Apps will now need to ask for permission twice, increasing the risk users will refuse, the associations argued. Cry me a river. There’s an interesting note later in the linked article: Apple engineers also said last week the company will bolster a free Apple-made tool that uses anonymous, aggregated data to measure whether advertising campaigns are working and that will not trigger the pop-up. But of course it doesn’t. It’s made by Apple, after all, and we all trust Apple, right? It’s not like Apple rushed to sell out everything privacy-related to a regime committing genocide, so we clearly have nothing to worry about when Apple forces itself into the advertising business by leveraging its iOS platform.

Hands-on: 85+ new macOS Big Sur changes and features

After going in depth with iOS 14 earlier this week, today we focus on macOS Big Sur. The biggest takeaway from my hands-on time with the follow up to macOS Catalina is that Apple’s latest OS is clearly being designed with the future in mind. Although it’s unmistakably Mac, Big Sur is a departure from previous versions of macOS in terms of aesthetics. Everything, from the dock, to the menu bar, to window chrome, icons, and even sounds have been updated. A good overview of the many, many changes in Big Sur. Interesting sidenote: with both Windows and macOS now heavily catering towards touch use, this leaves Linux – and most of the smaller platforms, like the Amiga or Haiku – as one of the last remaining places with graphical user interfaces designed 100% towards mouse input. Big buttons, lots spacing, lots of wasted space – it’s coming to your Mac.

Chrome for Android is finally going 64-bit

The first Android version to support 64-bit architecture was Android 5.0 Lollipop, introduced back in November 2014. Since then, more and more 64-bit processors shipped, and today, virtually all Android devices are capable of running 64-bit software (excluding one or two or more oddballs). However, Google Chrome has never made the jump and is only available in a 32-bit flavor, potentially leading to some unnecessary security and performance degradations. That’s finally changing: Starting with Chrome 85, phones running Android 10 and higher will automatically receive a 64-bit version. It seems odd to me that it took them this long to move one of the most important applications in Android to 64 bit.

Microsoft just sank to a new low by shoving Edge down our throats

If I told you that my entire computer screen just got taken over by a new app that I’d never installed or asked for — it just magically appeared on my desktop, my taskbar, and preempted my next website launch — you’d probably tell me to run a virus scanner and stay away from shady websites, no? But the insanely intrusive app I’m talking about isn’t a piece of ransomware. It’s Microsoft’s new Chromium Edge browser, which the company is now force-feeding users via an automatic update to Windows. People should run whatever the hell they damn well please, but the last few years it has become increasingly clear that Windows is deteriorating fast. Oddly enough, it’s not the operating system itself that’s deteriorating – in fact, Windows is probably in a better technical state than it’s ever been – but the policies and anti-user ‘features’ draped around it. If you read OSNews, you are most likely technically inclined. People who read OSNews don’t need Windows, and shouldn’t be running it. It’s actively hostile towards its users, and you deserve better.

Chrome OS preparing Steam gaming support, starting with 10th Gen Intel Chromebooks

Through a fair bit of digging, we were able to obtain a copy of Borealis, which turned out to be another full Linux distribution. Unlike Crostini, which is based on Debian, Borealis is based on Ubuntu, another popular variety of Linux. Just like the existing Linux apps support, we believe Borealis will integrate itself with Chrome OS rather than being a full desktop experience. However, we found one key difference between Borealis and a normal installation of Ubuntu, as Borealis includes a pre-installed copy of Steam. This lines up with what we learned at CES 2020, when Kan Liu, Google’s director of product management for Chrome OS, shared that the upcoming Steam gaming support would be based on Linux. I am very curious to see how this will perform. My gut feeling is that they will position this more as an endpoint for Steam’s in-home streaming feature than as a way to play games locally on-device, since I don’t know of any ChromeBook with more graphical power than whatever integrated GPU Intel stuffs in their low-end processors.

Review: System76’s Lemur Pro

If you’re a Linux user on the hunt for a new laptop, there’s quite a bit of preparation and research you must do on top of the regular research buying such an expensive piece of equipment already entails. Reading forum posts from other Linux users with the laptop you’re interested in, hunting for detailed specifications to make sure that specific chip version or that exact piece of exotic hardware is fully supported, checking to see if your favourite distribution has adequate support for it, and so on. There is, however, another way. While vastly outnumbered, there are laptops sold with Linux preinstalled. Even some of the big manufacturers, such as Dell, sell laptops with Linux preinstalled, but often only on older models that have been out for a while, or while not fully supporting all hardware (the fingerprint reader and infrared camera on my XPS 13 were not supported by Linux, for instance). For the likes of Dell, Linux in the consumer space is an afterthought, a minor diversion, and it shows. If you want the best possible out-of-the-box Linux experience, you’ll have to go to one of the smaller, more boutique Linux-only OEMs. One of the more prominent Linux OEMs is System76, who have been selling various laptops and desktops with Linux preinstalled for more than decade now. Recently, they launched their new ultraportable, the Lemur Pro, and they kindly loaned one to us for review. Full disclosure: System76 sent us the laptop as a loan, and it will be returned to them after publication of this review. They did not read this review before publication, and placed zero restrictions on anything I could write about. Specifications The Lemur Pro configuration System76 sent to us comes in at $1492, and packs a 4C/8T 10th Gen Intel Core i7-10510U, with frequencies of 1.8 up to 4.9 GHz and 8MB Cache. It came with 16GB of RAM, of which 8 is soldered onto the motherboard, and 8 is seated in the single RAM expansion slot. Storage-wise, it is equipped with a 500GB SSD in one of its two user-accessible M.2 slots – a Samsung 970 Evo Plus. The 14.1″ display has a resolution of 1920×1080 with a matte finish, with a maximum refresh rate of 60Hz. The display is powered by the integrated GPU, and there’s no option for a discrete GPU. The battery is a 73 Wh unit, and is entirely user-replacable. Bucking a trend in the industry, the Lemur Pro is reasonably equipped when it comes to ports: one USB 3.1 Type-C Gen 2 port, two USB 3.0 Type-A ports, a MicroSD Card Reader, a full-size HDMI port, a barrel connector for the included charger (USB-C charging is also supported), a combined headphone/microphone jack, and the usual Kensington lock. The USB-C port can also be used as a display port with DisplayPort 1.2. Hardware The design of the Lemur Pro is unassuming, mostly black, and free of the kind of design frivolities other laptops tend to suffer from. There’s no RGB here, no flames painted on the lid to make it go faster, no screaming logos or gamer accents – just a black laptop with a System76 logo on the lid. That’s it. It is incredibly light, weighing a mere 0.99 kg – for comparison, a MacBook Air weighs 1.29 kg, so the Lemur Pro is considerably lighter. This does come at a price, however, and the Lemur Pro just doesn’t feel as strong and sturdy as similar laptops with a bit more heft to it. There’s an amount of flex in the display lid, bottom cover, and keyboard cover that you just won’t see in a MacBook Air or an XPS 13. It’s a trade-off you have to make – if you really value the extreme kind of portability the Lemur Pro provides, it means giving in somewhere else. I’m disappointed System76 does not provide a high refresh rate display on the Lemur Pro, in the very least as an option. Once you’ve gotten used to 144Hz (or even higher) on your computer displays, using a 60Hz display feels like a major step back. I understand the battery life concerns, but I’m definitely more than willing to give up a little bit of battery life if it meant a buttery-smooth 144Hz UI. Aside from the lack of a high refresh rate option, the display is excellent – it’s bright and the colours look normal, but note that I’m not a colour expert, so I can’t make any claims about colour accuracy. For my general use, however, I didn’t run into any issues. Speaking of battery life – this is one of the major strong points of the Lemur Pro. System76 advertises a maximum battery life of 14 hours, and while these kind of figures are usually complete nonsense, I think they’re not far off the mark here. Since we do not (yet) have a long history of laptop reviews, we do not have any consistent methodology for measuring battery life, so anything I say here is very subjective and difficult for you as a reader to parse. That being said, with casual use – meaning, browsing, writing, Twitter and e-mailing while watching YouTube videos – I could definitely hit the 10 hour mark at the balanced power setting. Switching to the power saver setting yielded me even more hours of battery life, but it did cause a notable hit in performance, especially for video. Simple 1080p YouTube video – either played in Firefox or locally – would stutter and lag, but everything else seemed to perform just fine. My guess is that the power saver setting targets the integrated Intel GPU quite aggressively, but honestly, for several hours of additional battery life, I think it’s worth it. The battery life is especially remarkable since getting proper battery life out of laptops designed for Windows running Linux is often a major hassle, and no matter what you do, Linux battery life on laptops not designed for Linux always lags

System hardening in Android 11

In Android 11 we continue to increase the security of the Android platform. We have moved to safer default settings, migrated to a hardened memory allocator, and expanded the use of compiler mitigations that defend against classes of vulnerabilities and frustrate exploitation techniques. An overview of the security-related changes in Android 11.

Ampere’s product list: 80 cores, up to 3.3 GHz at 250 W; 128 core in Q4

With the advent of higher performance Arm based cloud computing, a lot of focus is being put on what the various competitors can do in this space. We’ve covered Ampere Computing’s previous eMag products, which actually came from the acquisition of Applied Micro, but the next generation hardware is called Altra, and after a few months of teasing some high performance compute, the company is finally announcing its product list, as well as an upcoming product due for sampling this year. Ampere’s Altra is a realized version of Arm’s Neoverse N1 enterprise core, much like Amazon’s Graviton2, but this time in an 80-core arrangement. Where Graviton2 is designed to suit Amazon’s needs for Arm-based instances, Ampere’s goal is essentially to supply a better-than-Graviton2 solution to the rest of the big cloud service providers (CSPs). Of the companies that have committed to an N1 based design, so far on paper Ampere is publically the biggest and fastest on the books. Can we have these in workstations please? I know they’re not designed for my kinds of uses, but damn if these aren’t awesome.

Haiku monthly activity report for May and June

After the release of the second beta a few weeks ago, Haiku continues its steady pace of improvements and fixes. A few highlights from the work done since the beta release: Korli also worked on improving support for modern x86 CPUs, including the xsave instruction, and enabling use of AVX which requires saving more CPU registers during context switches. A new version of HaikuWebKit has finally been released after help from KapiX and X512 to fix the remaining bugs. It uses a lot less memory, crashes less often, and has better support for modern website. There is ongoing work for further updates and improvements. There’s a lot more in there, so if you have beta 2 running, be sure to update it.

The 25 greatest Java apps ever written

What follows is a list of the 25 most ingenious and influential Java apps ever written, from Wikipedia Search to the US National Security Agency’s Ghidra. The scope of these applications runs the gamut: space exploration, video games, machine learning, genomics, automotive, cybersecurity, and more. It’s posted by Oracle and thus it makes me feel dirty to link to it, but I guess it’s still an interesting list – albeit with one obvious, huge, giant, inescapable elephant of an mission.