Feed osnews OSnews

Favorite IconOSnews

Link https://www.osnews.com/
Feed http://www.osnews.com/files/recent.xml
Updated 2024-11-23 08:46
Go 1.16 released
Go 1.16 has been released. The new embed package provides access to files embedded at compile time using the new //go:embed directive. Now it is easy to bundle supporting data files into your Go programs, making developing with Go even smoother. You can get started using the embed package documentation. Carl Johnson has also written a nice tutorial, “How to use Go embed”. Go 1.16 also adds macOS ARM64 support (also known as Apple silicon). Since Apple’s announcement of their new arm64 architecture, we have been working closely with them to ensure Go is fully supported; see our blog post “Go on ARM and Beyond” for more. More details can be found in the release notes.
Sailfish 4.0.1 released
Sailfish OS has moved into its fourth generation with the release of Sailfish OS 4.0.1 Koli. On a high-level Sailfish 4 includes several security and functionality updates, the long-awaited browser update, redesigned daily usage flow of key applications, as well as a rebooted developer experience. In particular we’re proud to boast full-scale OS-level Mobile Device Management (MDM) to enable easy and manageable end-to-end trusted corporate and governmental sector deployments. There are also a bunch of other new additions, including Android 9 app support, app sandboxing, and QR code scanning, along with improved notifications, events view, contact management and more.
VSI OpenVMS V9.0-G released
VSI has made available OpenVMS V9.0-G for x86. This is the first x86 release of the year, and seventh overall, and it’s another good one with more functionality, VMware support, and a number of improvements. VSI also added five additional EAK testers (approaching 50 in all) and there may be a few more in the coming days. The porting process is progressing nicely.
Epic Games steps up Apple fight with EU antitrust complaint
Fortnite creator Epic Games has taken its fight against Apple to European Union antitrust regulators, escalating its dispute with the iPhone maker over its App Store payment system and control over app downloads. At this point I’m surprised it took them this long.
A trip into FreeBSD
I normally deal with Linux machines. Linux is what I know and it’s what I’ve been using since I was in college. A friend of mine has been coaxing me into trying out FreeBSD, and I decided to try it out and see what it’s like. Here’s some details about my experience and what I’ve learned. Exactly what it says on the tin – and may I just say that the design and colour scheme of the website in question is extremely pleasant to the eyes.
Unikraft: automatically build unikernels
Unikraft is a comprehensive toolchain and library operating system which builds highly specialized unikernels, software bundles that consist of a target application along with just the operating system primitives and libraries features it needs to run. Unikraft breaks the status quo of building unikernels manually, providing an automated toolchain that builds tailored unikernels that meet your (and your application’s) needs. We haven’t been paying a lot of attention to the concept of unikernels on OSNews, and I’m not sure why – possibly because they’re outside of the comfort one of a lot of people, including myself.
VLC 4.0 sneak peek: a look at its work-in-progress new interface
Last week, we mentioned that the extremely popular open source video player VLC is getting a brand-new interface in its upcoming 4.0 release, expected to debut later this year. VLC 4.0 isn’t ready for prime time use yet—but because the program is open source, adventurous users can grab nightly builds of it to take a peek at what’s coming. The screenshots we’re about to show come from the nightly build released last Friday—20210212-0431. VLC is an incredibly popular application, so any major user interface overhaul like this is sure to lead to a lot of bikeshedding.
The long hack: how China exploited a US tech supplier
Remember that story from two years ago, about how China had supposedly infiltrated the supply chain of Supermicro? The story was denied by American intelligence agencies and the CEOs of Apple and Amazon, but today, Bloomberg posted a follow-up piece with more sources, both anonymous and named, that the story was, in fact, real, and probably a lot bigger, too. The article lists several attacks that have taken place, all using hardware from Supermicro. Each of these distinct attacks had two things in common: China and Super Micro Computer Inc., a computer hardware maker in San Jose, California. They shared one other trait; U.S. spymasters discovered the manipulations but kept them largely secret as tthey tried to counter each one and learn more about China’s capabilities. Bloomberg is clearly sticking by and expanding its story, so this means it’s their and their sources’ word against that of giant corporations and American intelligence agencies, and we all know giant corporations and American intelligence agencies never lie. Right?
SerenityOS: writing a full chain exploit
I recently came across SerenityOS when it was featured in hxp CTF and then on LiveOverflow’s YouTube channel. SerenityOS is an open source operating system written from scratch by Andreas Kling and now has a strong and active community behind it. If you’d like to learn a bit more about it then the recent CppCast episode is a good place to start, as well as all of the fantastic videos by Andreas Kling. Two of the recent videos were about writing exploits for a typed array bug in javascript, and a kernel bug in munmap. The videos were great to watch and got me thinking that it would be fun to try and find a couple of bugs that could be chained together to create a full chain exploit such as exploiting a browser bug to exploit a kernel bug to get root access. You don’t get articles like this very often – exploiting a small hobby operating system? Sure, why not.
Fuchsia gets support for running unmodified Linux programs
This document proposes a mechanism for running unmodified Linux programs on Fuchsia. The programs are run in userspace process whose system interface is compatible with the Linux ABI. Rather than using the Linux kernel to implement this interface, we will implement the interface in a Fuchsia userspace program, called starnix. Largely, starnix will serve as a compatibility layer, translating requests from the Linux client program to the appropriate Fuchsia subsystem. Many of these subsystems will need to be elaborated in order to support all the functionality implied by the Linux system interface. As we expand the universe of software we wish to run on Fuchsia, we are encountering software that we wish to run on Fuchsia that we do not have the ability to recompile. For example, Android applications contain native code modules that have been compiled for Linux. In order to run this software on Fuchsia, we need to be able to run binaries without modifying them. Just more signs that Google has big plans for Fuchsia. With Google it’s always difficult to assess if they’ll go through with it, but I think they intend for Fuchsia to become the base operating system across Chrome OS, Android, their smart devices like Google Home, and everything else they might one day make. The project is too wide and deep to be anything else.
64 cores of rendering madness: the AMD Threadripper Pro 3995WX review
In the tests that matter, most noticeably the 3D rendering tests, we’re seeing a 3% speed-up on the Threadripper Pro compared to the regular Threadripper at the same memory frequency and sub-timings. The core frequencies were preferential on the 3990X, but the memory bandwidth of the 3995WX is obviously helping to a small degree, enough to pull ahead in our testing, along with the benefit of having access to 8x of the memory capacity as well as Pro features for proper enterprise-level administration. The downside of this comparison is the cost: the SEP difference is +$1500, or another 50%, for the Threadripper Pro 3995WX over the regular Threadripper 3990X. With this price increase, you’re not really paying +50% for the performance difference (ECC memory also costs a good amount), but the feature set. Threadripper Pro is aimed at the visual effects and rendering market, where holding 3D models in main memory is a key aspect of workflow speed as well as full-scene production. Alongside the memory capacity difference, having double the PCIe 4.0 lanes means more access to offload hardware or additional fast storage, also important tools in the visual effects space. Threadripper Pro falls very much into the bucket of ‘if you need it, this is the option to go for‘. AMD is entirely in a league of its own with these processors. I keep repeating it, but AMD’s comeback is one of the most remarkable stories in the history of technology.
Google, Facebook tell SCOTUS it should be harder for you to sue them
Suing technology firms when they mess up is already hard, especially over privacy violations. Now, Facebook, Google, and the trade groups representing all the big tech firms are asking the Supreme Court to make it even harder for class actions to pursue cases against them. Facebook, Google, and all the others submitted a filing (PDF) to the Supreme Court this week basically arguing that if you cannot prove the specific extent to which their screwup injured you, you should not have any grounds to be part of a lawsuit against them. They are already pretty much invulnerable, but of course, they want even more protections than their sheer size, wealth, influence, and monopoly positions already give them. How surprising.
KWinFT 5.21: the windowing revolution
The beta for the upcoming 5.21 release of the KWinFT projects is now available. It contains a monumental rewrite of KWinFT’s windowing logic. Read on for an overview of the changes and why this rewrite was necessary. KWinFT is such a poster child for open source development. Someone wasn’t happy with KWin, a core aspect of their desktop, and put their money where their mouth is and forked it into something that they think is better. I wouldn’t be surprised to see parts of KWinFT, or even the project as a whole, make its way to become KDE’s default window manager.
A look at GSM
There are well documented security flaws in GSM, and publicly available tools to exploit them. At the same time, it has become considerably cheaper and easier to analyze GSM traffic over the past few years. Open source tools such as gr-gsm have matured, and the community has developed methods for capturing the GSM spectrum without the need for expensive SDR radios. With less than $100 and a weekend it’s possible to capture and analyze GSM traffic. With some extra effort it’s possible to decrypt your own traffic, and depending on how your mobile provider has set up their network it may even be possible for somebody else to illegally decrypt traffic they don’t own. GSM is terrifying.
helloSystem aims to bring some macOS to FreeBSD
hello (also known as helloSystem) is a desktop system for creators with focus on simplicity, elegance, and usability. Its design follows the “Less, but better” philosophy. It is intended as a system for “mere mortals”, welcoming to switchers from the Mac. FreeBSD is used as the core operating system. With PC-BSD gone, it’s nice to see others step in to fill the void. This particular project was founded by Simon Peter, who also started AppImage and PureDarwin, so there’s quite a bit of pedigree here. It’s still in development and not yet ready for general use.
Terraria developer cancels Google Stadia port after YouTube account ban
You think you can escape my ire today, Google? You’re no better than Apple. Case in point: Google is in hot water after banning the Google account of Andrew Spinks, the lead developer of the hit indie game Terraria. The YouTube account of Spinks’ game dev company, Re-Logic, was hit with some kind of terms-of-service violation, resulting in Google banning Spinks’ entire Google account, greatly disrupting his company’s ability to do business. After three fruitless weeks of trying to get the situation fixed, Spinks announced that his company will no longer do business with Google and that the upcoming Stadia version of Terraria is canceled. “I will not be involved with a corporation that values their customers and partners so little,” Spinks said. “Doing business with you is a liability.” This is, sadly, a very common occurrence. Google has a long history of blocking accounts for no reason at all, without giving the affected people any recourse since the company effectively has no customer service department. These cases can be absolutely devastating, causing people to lose photos, emails, access to their business financials, and god knows what else. We at OSNews use what was once called Google Apps for Your Domain (launched in 2006), only for us to be grandfathered into GSuite, which is now called Workplaces, which has led to a lot of frustration for me since GSuite accounts are locked out of a ton of Google services for no particular reason, and there’s no way to convert an existing Google account from one type to another. We were never asked if we wanted to be converted to the much more limited GSuite accounts. Google just did it. In any event, I have been pondering if we should switch to something else, but it’d be a lot of work I’d be putting on the plate of someone else – OSNews’ owner.
Apple’s App Store is hosting multimillion-dollar scams, says this iOS developer
Mobile app developer Kosta Eleftheriou has a new calling that goes beyond software development: taking on what he sees as a rampant scam problem ruining the integrity of Apple’s App Store. Eleftheriou, who created the successful Apple Watch keyboard app FlickType, has for the last two weeks been publicly criticizing Apple for lax enforcement of its App Store rules that have allowed scam apps, as well as apps that clone popular software from other developers, to run rampant. These apps enjoy top billing in the iPhone marketplace, all thanks to glowing reviews and sterling five-star ratings that are largely fabricated, he says. I’ve been saying it for ten years: the application store model is fundamentally broken, because the owner of the application store benefits from people gaming and cheating the system. In this case, Apple profits from every scam application or subscription sold, and since the App Store constitutes a huge part of Apple’s all-important services revenue, Apple has no incentive to really tackle issues like this. Here’s what going to happen, based on my immutable pattern recognition skills: there will be more press outcry over this developer’s specific issue until Apple eventually sends out a public apology statement and sort-of addresses this specific issue. American tech media – which are deeply embedded in Apple’s ecosystem and depend on being in Apple’s good graces – will praise Apple’s response, and claim the situation has been resolved. Their next batch of review units and press invites from Apple are on their way. And a few weeks or months later, another developer suffers from the same or similar issues, rinse, repeat. The problem is not individual App Store rules or App Store reviewers having a bad day – the paradigm itself is fundamentally broken, and until the tech industry and us as users come to terms with that, these repetitive stories will keep popping up, faux press outrage and all.
Haiku activity report – January 2021
Another month, another Haiku activity report. January was a busy month for OSNews’ favourite operating system project, with a lot of love sent the way of the various ports to other architectures. Work has been done on the ARM and RISC-V ports, but also on platforms you might not expect in this day and age: SPARC and PowerPC. While some may question putting any effort into these alternative platforms at all, that’s a shortsighted position – work on other platforms often aides in uncovering and fixing bugs in the code for your main platform. It also prevents code from becoming more platform-dependent than it needs to be. Amid the long list of other improvements, the one that stands out is merging support for SD/MMC cards. The SD/MMC drivers are merged. It is now possible to read and write SD and SDHC cards using controllers compatible with the SDHCI specification. This is one of those things that will make it easier to transfer files to and from your Haiku installation.
seL4 micro-kernel working towards a general-purpose, multi-server OS
In addition to the establishing of the seL4 Foundation and adding the open-source RISC-V architecture as one of their primary architectures, the seL4 micro-kernel has been seeing a lot of work and also research into future work. Among the ambitious research goals is to create a “truly secure, general-purpose OS”. This multi-server OS would be secure, support a range of use-cases and security policies, and perform comparable to monolithic systems. Be sure to flip through the slides of the presentation in question for more information.
It’s 2021 and the Linux kernel’s floppy driver is still seeing the occasional patch
The Linux kernel’s floppy driver dates back to the original days of the kernel back in 1991 and is still being maintained thirty years later with the occasional fix. Somewhat surprisingly, a patch was sent in to the Linux kernel’s block subsystem ahead of the Linux 5.12 merge window around the floppy code. Floppies are awesome and I’m sure there’s tons of older machines out there – especially in corporate settings – that are still rocking a floppy drive for backwards compatibility reasons. Might as well keep the code up to snuff.
Mandatory Windows 10 update will kill off the old Microsoft Edge
The legacy version of the Microsoft Edge, which is set to be discontinued in March, will be removed from Windows 10 with the release of Patch Tuesday updates in April. As we reported recently, Windows 10 currently comes with three different web browsers – Legacy Edge (hidden), Chromium Edge (default), and Internet Explorer (enabled). In an attempt to reduce clutter and improve security, Microsoft is removing the older browsers from the OS. I mean, on the one hand it seems like this is a reasonably move – there’s a new version of Edge, so an update will remove the old one. On the other hand, though, these are really two entirely different applications that happen to share a name, and it seems grotesque and user-hostile to just remove an entire application without even giving users the option to keep it. Sure, this concerns an outdated browser nobody uses, and that makes it easy to handwave this away, but what if this happens to an application you actually like and use?
Google explores alternative to Apple’s new anti-tracking feature
Google is exploring an alternative to Apple Inc.’s new anti-tracking feature, the latest sign that the internet industry is slowly embracing user privacy, according to people with knowledge of the matter. Internally, the search giant is discussing how it can limit data collection and cross-app tracking on the Android operating system in a way that is less stringent than Apple’s solution, said the people, who asked not to be identified discussing private plans. Of course it’s going to be less stringent than Apple’s solution. Can’t limited ad tracking too much if ad tracking is how you make money.
Containerize all the things with Ubuntu Core 20
The key difference between regular Ubuntu and Ubuntu Core is the underlying architecture of the system. Traditional Linux distributions rely mostly on traditional package systems—deb, in Ubuntu’s case—while Ubuntu Core relies almost entirely on Canonical’s relatively new snap package format. Ubuntu Core also gets a full 10 years of support from Canonical rather than the five years traditional Ubuntu LTS releases get. But it’s a bit more difficult to get started with, since you need an Ubuntu SSO account to even log in to a new Ubuntu Core installation in the first place. Ars takes a look at this rather unusual Ubuntu variant.
“Think twice before abandoning Xorg. Wayland breaks everything!”
Here we go. Wayland is not ready as a 1:1 compatible Xorg replacement just yet, and maybe never will. Hence, if you are interested in existing applications to “just work” without the need for adjustments, then you may be better of not using Wayland at this point. Wayland solves no issues I have but breaks almost everything I need. And usually it stays broken, because the Wayland folks only seem to care about Gnome, and alienating everyone else in the process. DO NOT INSTALL WAYLAND! Let Wayland not destroy everything and then have other people fix the damage it caused. Or force more Red Hat/Gnome components (glib, Portals, Pipewire) on everyone! I’ll save you a read and summarise the ‘article’ so you can do something more productive, like I don’t know, cleaning your floors with a toothpick or something: “my tools and components written specifically for X and its APIs do not work under Wayland, therefore Wayland is garbage and shit”. Wayland is not X.org. Let me repeat that. Wayland is not X.org. If you need the functionality that X.org delivers, then you shouldn’t be using Wayland. This is like buying a Mac and complaining your Windows applications don’t work.
Bedrock Linux: a meta Linux distribution
Bedrock Linux is a meta Linux distribution which allows users to mix-and-match components from other, typically incompatible distributions. Bedrock integrates these components into one largely cohesive system. You think you’ve seen everything the Linux world has to offer and nothing can you surprise you anymore, and then you run into something like this. I wonder how well this works if a Bedrock Linux installation holds up over time.
Huawei’s HarmonyOS: “fake it till you make it” meets OS development
Remember HarmonyOS, the operating system Huawei claimed it had written from the ground-up? Yeah it’s just Android 10. After getting access to HarmonyOS through a grossly invasive sign-up process, firing up the SDK and emulator, and poring over the developer documents, I can’t come to any other conclusion: HarmonyOS is essentially an Android fork. The way that Huawei describes the OS to the press and in developer documents doesn’t seem to have much to do with what the company is actually shipping. The developer documents appear almost purposefully written to confuse the reader; any bit of actual shipping code to which you hold up a magnifying glass looks like Android with no major changes. The phrase “fake it till you make it” is often given as motivational advice, but I’ve never seen it applied to OS development before. If you’ve ever seen a modern Huawei Android phone, HarmonyOS is largely the same thing… with a few strings changed. So while there’s not much new to see, we can at least dissect HarmonyOS and debunk some of Huawei’s claims about its “brand-new” operating system. So nothing new under the sun here.
The start of a crazy journey: the SunFire V245
The first step in my crazy experiment to see if you can turn a Sun SPARC server into a workstation has been completed. Thanks to an incredibly generous donation by Jon Rushton, a reader from the UK, I’m now in possession of a SunFire V245 server (I did pay for shipping, of course). The machine has some serious specifications: Two UltraSPARC IIIi 1.5Ghz processors 8 GB of DDR1 RAM Two SAS hard drives (73GB and 140GB) Sun Raptor GFX graphics card (to be replaced by a Sun Quadro FX 3450) The machine has plenty of room for expansion, as well as the usual server features like dual power supplies, lots and lots of fans that no doubt will be incredibly loud, hot-swappable drive bays, remote management ports, and so on. Since I’m still waiting on a few more accessories I needed to purchase in order to setup and use the server – a USB serial console cable and the aforementioned more powerful GPU – I can’t turn it on and use it quite yet. While we wait on those accessories to be delivered, I figured I might as well post a story in the meantime with a bunch of photos of the server. I have a lot of learning to do here, since the server world is not a place I have ever really visited. I’m going to make stumbles along the way, but the end goal is for this server to be a usable workstation – most likely running either Linux or BSD. I can’t wait to get started.
Building XNU for macOS 11.2 (Intel and Apple Silicon)
The macOS Big Sur 11.2 kernel (XNU) source has been released here: source, tarball. My previous post on building XNU for macOS 11.0.1 described the method for compiling open source XNU for Intel Macs. This post details how to compile XNU for both Intel and Apple Silicon Macs, and how to boot the custom kernel on both platforms. Note that it is not possible to build or boot a custom XNU on Apple Silicon Macs before macOS 11.2. I doubt many people compile and run their own XNU kernels, but the fact that you can is still cool.
RV64X: a free, open source GPU for RISC-V
A group of enthusiasts are proposing a new set of graphics instructions designed for 3D graphics and media processing. These new instructions are built on the RISC-V base vector instruction set. They will add support for new data types that are graphics specific as layered extensions in the spirit of the core RISC-V instruction set architecture (ISA). Vectors, transcendental math, pixel, and textures and Z/Frame buffer operations are supported. It can be a fused CPU-GPU ISA. The group is calling it the RV64X as instructions will be 64-bit long (32 bits will not be enough to support a robust ISA). There’s a lot of activity around RISC-V, and with it being open and freely usable, a lot of – at first – cheaper, embedded uses will be taken over by RISC-V, hopefully followed by more performant use cases in the near future.
Ubuntu 21.04 will try to use Wayland by default
Ubuntu is going to be trying to switch over to using Wayland by default for the current Ubuntu 21.04 cycle to allow sufficient time for widespread testing and evaluation ahead of next year’s Ubuntu 22.04 LTS release. Canonical engineer Sebastien Bacher announced today they will be trying again for Ubuntu 21.04 to enable Wayland by default, four years after they originally tried but reverted back to using GNOME on X.Org for Ubuntu 18.04 LTS and since that point. Ubuntu with GNOME Shell on Wayland has been available as a non-default choice but the hope is now in 2021 they are ready to comfortably switch to Wayland. I try to use Wayland wherever possible, since the performance gains and battery life improvements are just too good to ignore. There’s still two major blockers, though – first, NVIDIA support is problematic, at best, so my main computer will remain on X until NVIDIA gets its act together. Second, my desktop environment of choice, Cinnamon, does not support Wayland and has no support coming in the pipeline, which is really disappointing. GNOME can be made usable with extensive use of extensions, and I’m seriously considering switching to it once the NVIDIA situation is sorted. My laptop already runs GNOME for this very reason.
Fast commits for ext4
The Linux 5.10 release included a change that is expected to significantly increase the performance of the ext4 filesystem; it goes by the name “fast commits” and introduces a new, lighter-weight journaling method. Let us look into how the feature works, who can benefit from it, and when its use may be appropriate. Better file system performance is always welcome, especially when it concerns what is probably the most common file system among desktop Linux users.
Windows Package Manager getting an uninstall option very soon
That Windows Package Manager exists at all is a big step forward, but while the service is in preview it is rather limited. At present you can use it to find and install software but removing it has to be done the old fashioned way. And who wants to do that? Finally, though, that is about to change, according to these tweets from Demitrius Nelon, a member of the Windows Package Manager team. Yes, I know it’s a preview and all that, but a package manager that cannot uninstall packages isn’t really a package manager at all, now is it?
What color was “Apple Beige”?
Apple’s second computer — its first to have a case — launched in 1977, and that boxy beige Apple II was soon everywhere: in classrooms, living rooms and offices. At the vanguard of a generation of personal computers to come, it featured a particular and carefully-chosen beige. But what did that look like? Those first machines — the ones that have escaped landfills anyway — have shifted in color over 40 years. The documented public record is sketchy and confused. But I stumbled upon a way to investigate what Apple Beige was like. Fascinating bit of sleuthing, and a fun read to boot. Maybe not the most important aspect of computer history, but every bit of information we can preserve is worth it.
AMD Ryzen 9 5980HS Cezanne review: Ryzen 5000 Mobile tested
For our benchmark suite, almost all of our benchmarks show an uplift for the new Ryzen 5000 Mobile series, some considerably so: our compile benchmark is +12%, Corona rendering is +18%, Dolphin emulation +17%, NAMD +8%, Blender +6%. To our surprise our SPEC2006 1T benchmark is +32%, accelerated considerably by the 16 MB L3 cache, but also because these CPUs also support a higher instantaneous power turbo modes than the previous generation. This enables some competitive performance numbers against Intel’s Tiger Lake platform in single thread focused tests (AMD wins on multithread quite easily). AnandTech with the only deep dive that really matters.
Limine and TomatBoot
As I was browsing back and forth around the website for skiftOS yesterday, I came across two more interesting related projects – two bootloaders with very specific goals. First, Limine: Limine is an advanced x86/x86_64 BIOS Bootloader that supports modern PC features such as Long Mode, 5-level paging, multi-core startup, and more thanks to the stivale and stivale2 boot protocols. Second, since Limine does not support EUFI, they mention TomatBoot, which uses the same boot protocols but in an EUFI environment: TomatBoot is a simple kernel loader for 64bit UEFI based systems. The gold of this bootloader is to serve as an example of how to create UEFI applications, we use the edk2 headers/libraries without the edk2 buildsystem for simplicity.
skiftOS: a hobby operating system
skiftOS is a hobby operating system built for learning and for fun targeting the x86 platform. It features a kernel named hjert, a graphical user interface with a compositing window manager, and familiar UNIX utilities. This looks remarkably advanced for a “hobby operating system”, and can be run in both Qemu and VirtualBox. This one is definitely worth a virtual boot. The code is licensed under the MIT license and available on GitHub.
Remembering Windows 3.1 themes and user empowerment
The rise of OSX (remember, when it came along Apple had a single-digit slice of the computer market) meant that people eventually got used to the idea of a life with no desktop personalization. Nowadays most people don’t even change their wallpapers anymore. In the old days of Windows 3.1, it was common to walk into an office and see each person’s desktop colors, fonts and wallpapers tuned to their personalities, just like their physical desk, with one’s family portrait or plants. It’s a big loss. Android and Linux desktops still offer massive amounts of personalisation options – thank god – but the the other major platforms have all individuality stamped out of them. It’s boring.
Google cuts Chromium off from sync features and Google APIs
Google has announced that it is cutting off access to the Sync and “other Google Exclusive” APIs from all builds except Google Chrome. This will make the Fedora Chromium build significantly less functional (along with every other distro packaged Chromium). It is noteworthy that Google gave the builders of distribution Chromium packages these access rights back in 2013 via API keys, specifically so that we could have open source builds of Chromium with (near) feature parity to Chrome. And now they’re taking it away. The reasoning given for this change? Google does not want users to be able to “access their personal Chrome Sync data (such as bookmarks) … with a non-Google, Chromium-based browser.” They’re not closing a security hole, they’re just requiring that everyone use Chrome. Or to put it bluntly, they do not want you to access their Google API functionality without using proprietary software (Google Chrome). There is no good reason for Google to do this, other than to force people to use Chrome. This is what we in the business call a “dick move”.
Making Win32 APIs more accessible to more languages
Win32 APIs provide powerful functionality that let you get the most out of Windows in your applications. While these APIs are readily accessible to C and C++ developers, other languages like C# and Rust require wrappers or bindings in order to access these APIs. In C#, this is commonly known as platform invoking or P/Invoke. Historically this has required developers to handcraft the wrappers or bindings, which is error prone and doesn’t scale to broad API coverage. In recent years, given the strong demand for calling Win32 APIs from various languages, several community projects have spawned to provide more strongly typed and idiomatic representations of these wrappers and bindings to provide an improved developer experience and spare developers the overhead of creating them themselves. Some notable projects include PInvoke for .NET and winapi-rs for Rust. The main challenge with these projects is they are manually maintained, which makes broad and sustained API coverage difficult and costly, and their work doesn’t really benefit other languages. As owners of the Windows SDK, we wanted to see where we could provide unique value here, take some of the burden off of the community, and make achieving broad and sustainable API coverage across languages a reality. The result of this is our win32metadata project and corresponding Win32 language projections now in preview on GitHub! I’m not a developer, but I think this means that Microsoft is trying to make it easier to tap into the Win32 API with languages other than C and C++. This seems like a smart move considering how popular some of these more modern and/or recent languages have become. It also highlights that despite repeated attempts to kill Win32, Microsoft seems to have accepted that it simply isn’t going anywhere anytime soon.
How we ported Linux to the M1
It also made Apple silicon rather distinct from all other 64-bit ARM hardware in terms of both CPU core and peripherals. Our Corellium virtualization platform has been providing security researchers with unparalleled insight into how operating systems and programs work on Apple ARM processors. But in the process of developing our virtualization system, we also gain knowledge about the hardware we are modeling, and this knowledge can be best refined by testing it against real hardware – which we have only been able to do with the emergence of checkm8, an exploit that let us load programs onto Apple smartphones. This led directly to the Sandcastle project, where we built a kernel port to the A10 processor in early 2020. So when Apple decided to allow installing custom kernels on the Macs with M1 processor, we were very happy to try building another Linux port to further our understanding of the hardware platform. As we were creating a model of the processor for our security research product, we were working on the Linux port in parallel. Excellent work by Corellium, and this materialised a lot faster than I anticipated. This makes M1-equipped Macs potentially more useful than if they could only run macOS, but of course, as with all these closed platforms and Linux support, the devil is in the details – bringing up a Linux kernel is only the first step – a big and crucial one, but only the first.
Porting Firefox to Apple Silicon
The release of Apple Silicon-based Macs at the end of last year generated a flurry of news coverage and some surprises at the machine’s performance. This post details some background information on the experience of porting Firefox to run natively on these CPUs. We’ll start with some background on the Mac transition and give an overview of Firefox internals that needed to know about the new architecture, before moving on to the concept of Universal Binaries. We’ll then explain how DRM/EME works on the new platform, talk about our experience with macOS Big Sur, and discuss various updater problems we had to deal with. We’ll conclude with the release and an overview of various other improvements that are in the pipeline. These kinds of articles are very valuable, since Apple isn’t always forthcoming with documentation of specifications, and the new M1-based Macs are no exception. Big, massive projects like Firefox sharing their experiences can be quite useful to other developers.
A visit from the Zune squad
It was weird to own a Zune in 2005. It is even weirder to own a Zune in 2021 — let alone 16 of them. And yet, 27-year-old Conner Woods proudly shows off his lineup on a kitchen table. They come in all different colors, shapes, and sizes, and each can be identified by that telltale black plastic D-pad just below the screen. He owns the entire scope of the brief Zune lineup — from the svelte Zune 4 to the chunky Zune HD — and among the microscopic community of people who still adore Microsoft’s much-derided MP3 player, no collection of dead tech could possibly be more enviable. But today, almost a decade after Microsoft terminated the brand, there is a small bastion of diehards who are still loving and listening to their Zunes. If you talk to them, they’ll tell you that these MP3 players are the best pieces of hardware to ever run a Windows operating system. Preserving the Zune legacy has just become another part of the hobby. I’ve never once seen a Zune in real life.
Apple knew a supplier was using child labor but took 3 years to fully cut ties
Apple is back under the spotlight over labor conditions in its supply chain following an explosive report from The Information on Thursday that revealed new details about the company’s reluctance to cut ties with suppliers who violate its ethics policies. According to the report, Apple learned in 2013 that Suyin Electronics, a China-based company that (at the time) made parts for its MacBooks, was employing underage workers, and despite telling Suyin to address the issue or risk losing business, Apple discovered additional workers as young as 14 years old during an audit just three months later. But rather than immediately cutting ties with Suyin for violating its supply chain ethics policies — which prohibit child labor and which Apple claims are the “highest standards” — Apple continued to rely on the company for more than three years, according to The Information. Any company – and their executives – knowingly and willingly using child labour, slave labour, or forced labour anywhere in the world should be tried as if they are committing these heinous acts in their home countries. The body of evidence that Apple is fully aware of its extensive use of child labour and forced labour in e.g. China’s Uighur concentration camps is extensive, and the fact Tim Cook can get away with this without ever having to face the consequences is disgusting. Tim Cook’s fellow Americans get life sentences for less. Of course, Apple is far from the only company guilty of this – just look at Nestle or Nike, for instance – but being the largest company in the world with the biggest, most arrogant mouth about how “ethical” they are should be the first to end up in court.
FreeBSD quarterly status report for Q4 2020
This quarter had quite a lot of work done, including but certainly not limited to, in areas relating to everything from multiple architectures such as x86, aarch64, riscv, and ppc64 for both base and ports, over kernel changes such as vectored aio, routing lookups and multipathing, an alternative random(4) implementation, zstd integration for kernel dumps, log compression, zfs and preparations for pkg(8), along with wifi changes, changes to the toolchain like the new elfctl utility, and all the way to big changes like the git migration and moving the documentation from DocBook to Hugo/AsciiDoctor, as well as many other things too numerous to mention in an introduction. The best way to keep up with FreeBSD development from an outsider’s perspective. FreeBSD is on my radar for the UltraSPARC server-as-a-workstation project – a reader has donated a SunFire V245 that’s currently in shipping to me – so I’m trying to be a bit more in tune than I usually am with the world of FreeBSD.
Exploring swap on FreeBSD
On modern Unix-like systems such as FreeBSD, “swapping” refers to the activity of paging out the contents of memory to a disk and then paging it back in on demand. The page-out activity occurs in response to a lack of free memory in the system: the kernel tries to identify pages of memory that probably will not be accessed in the near future, and copies their contents to a disk for safekeeping until they are needed again. When an application attempts to access memory that has been swapped out, it blocks while the kernel fetches that saved memory from the swap disk, and then resumes execution as if nothing had happened. In 2021, cheap SSDs have become commonplace and have performance characteristics much better suited to swapping, so it seems worthwhile to revisit how swapping works in FreeBSD, and try to provide some insight into frequently raised issues. Some light reading for the weekend.
Genode’s roadmap for 2021
Herein, we lay out our plans for evolving Genode. Progress in addition to this planning will very much depend on the degree of community support the project will receive. The Challenges page collects some of our ideas to advance Genode in various further directions. The road map is not fixed. If there is commercial interest of pushing the Genode technology to a certain direction, we are willing to revisit our plans. This is a very detailed roadmap, but as clearly mentioned in the opening paragraphs, this is not set in stone, and things may change. Most of the planned focus seems to be on vastly improving support for ARM, for instance by working on bringing Genode to the PinePhone. They also want to streamline and improve the process for porting Linux device drivers to Genode, which should help in increasing hardware support.
WhatsApp delays privacy changes following backlash
The WhatsApp messaging service announced on Friday that it would delay changes to new business features after people around the world criticized the new policy. The Facebook-owned company said it is “going to do a lot more to clear up misinformation around how privacy and security works on WhatsApp.” Privacy rights activists heavily criticized the WhatsApp changes, saying it was the latest step showing Facebook’s poor handling of user data. The real issue was a far larger than expected exodus of users to services like Signal and Telegram. I doubt Facebook will actually make any meaningful changes – instead, we’ll see a different tone or wording.
Windows 10X is now Microsoft’s true answer to Chrome OS
After years of waiting, it looks like Microsoft now has a true answer to Chrome OS. A new and near-final version of Windows 10X has leaked, and it offers a first look at the changes Microsoft has made to the upcoming operating system to get it ready for laptops. Windows 10X first started off life as a variant of Windows 10 designed for dual-screen devices. It was supposed to launch alongside Microsoft’s Surface Neo, a tablet-like device with two separate nine-inch displays that fold out to a full 13-inch workspace. Microsoft revealed last year that Windows 10X is now being reworked for “single-screen” devices like laptops, and Surface Neo has been delayed. While the company has spent years differentiating Windows 10X for foldable and dual-screen hardware, it now looks and feels more like Chrome OS than ever before. This is literally Chrome OS. It looks, feels, and tastes like Chrome OS – and of course, that’s the point. It also points to what we can expect from regular Windows over the coming years.
A week with Plan 9
I spent the first week of 2021 learning an OS called Plan 9 from Bell Labs. This is a fringe operating system, long abandoned by its original authors. It’s also responsible for a great deal of inspiration elsewhere. If you’ve used the Go language, /proc, UTF-8 or Docker, you’ve used Plan 9-designed features. This issue dives into operating system internals and some moderately hard computer science topics. Sounds like an excellent article for us!
Wine 6.0 released
Among the many highlights for Wine 6.0 are core modules now being implemented in Portable Executable (PE) format, the initial (experimental) Vulkan back-end for WineD3D as an alternative to OpenGL, DirectShow and Media Foundation support, and a redesign of their text console implementation. Wine is such an integral part of my computing life now, due to Proton and Valve.
...47484950515253545556...