04 Feb 2025

feedOSnews

Why Upstart from Ubuntu failed

Upstart was an event-based replacement for the traditional System V init (sysvinit) system on Ubuntu, introduced to bring a modern and more flexible way of handling system startup and service management. It emerged in the mid-2000s, during a period when sysvinit's age and limitations were becoming more apparent, especially with regard to concurrency and dependency handling. Upstart was developed by Canonical, the company behind Ubuntu, with the aim of reducing boot times, improving reliability, and making the system initialization process more dynamic. Though at first it seemed likely to become a standard across many distributions, Upstart eventually lost mindshare to systemd and ceased to be Ubuntu's default init system. ↫ André Machado I think it's safe to say systemd won the competition to become the definitive successor so sysvinit on Linux, but Canonical's Upstart made a valiant effort, too. However, with a troublesome license, it was doomed from the start, and it didn't help that virtually every other major distribution eventually adopted systemd. These days, systemd is the Linux init system, and I personally quite like it (and the crowd turns violent). I find it easy to use and it's never given me any issues, but I'm not a system administrator dealing with complex setups, so my experience with systemd is probably rather limited. It just does its thing in the background on my machines. None of this means there aren't any other init systems still being actively developed. There's GNU Shepard we talked about recently, runit, OpenRC, and many more. If you don't like systemd, there's enough alternatives out there.

04 Feb 2025 1:39pm GMT

The dumb reason why flag emojis aren’t working on your site in Chrome on Windows

After doing more digging than I feel like I should have needed to, I found my answer: it appears that due to concerns about the fact that acknowledging the existence of certain countries can be perceived as a nominally political stance, Microsoft has opted to just avoid the issue altogether by not including country flag emojis in Windows' system font. Problem solved! Can you imagine if, *gasp*, your computer could render a Taiwanese or Palestinian flag? The horror! ↫ Ryan Geyer Silicon Valley corporations are nothing if not massive cowards, and this is just another one of the many, many examples that underline this. Firefox solves this by including the flags on its own, but Google refuses to do the same with Chrome, because, you guessed it, Google is also a cowardly organisation. There are some ways around it, as the linked article details, but they're all clumsy and cumbersome compared to Microsoft just not being a coward and including proper flag emoji, even if it offends some sensibilities in pro-China or western far-right circles. Your best bet to avoid such corporate cowardice is to switch to better operating systems, like any desktop Linux distribution. Fedora KDE includes both the Taiwanese and Palestinian flags, because the KDE project isn't made up of cowards, and I'm sure the same applies to any GNOME distribution. If your delicate snowflake sensibilities can't handle a Palestinian or Taiwanese flag emoji, just don't type them. Bitter sidenote: it turns out WordPress, what OSNews uses, doesn't like emoji, either. Adding any emoji in this story, from basic ones to the Taiwanese or Palestinian flag, makes it impossible to save or publish the story. I have no idea if this is a WordPress issue, or an issue on our end, since WordPress does mention they have emoji support.

04 Feb 2025 12:36pm GMT

TuxTape: a kernel livepatching solution

Geico, an American insurance company, is building a live-patching solution for the Linux kernel, called TuxTape. TuxTape is an in-development kernel livepatching ecosystem that aims to aid in the production and distribution of kpatch patches to vendor-independent kernels. This is done by scraping the Linux CNA mailing list, prioritizing CVEs by severity, and determining applicability of the patches to the configured kernel(s). Applicability of patches is determined by profiling kernel builds to record which files are included in the build process and ignoring CVEs that do not affect files included in kernel builds deployed on the managed fleet. ↫ Presentation by Grayson Guarino and Chris Townsend It seems to me something like live-patching the Linux kernel should be a standardised framework that's part of the Linux kernel, and not several random implementations by third parties, one of which is an insurance company. There's a base core of functionality for live-patching in the Linux kernel since 4.0, released in 2015, but it's extremely limited and requires most of the functionality to be implemented separately, through things like Red Hat's kpatch and Oracle's Ksplice. Geico is going to release TuxTape as open source, and is encouraging others to adopt and use it. There are various other solutions out there offering similar functionality, so you're not spoiled for choice, and I'm sure there's advantages and disadvantages to each. I would still prefer if functionality like this is a standard feature of the kernel, not something tied to a specific vendor or implementation.

04 Feb 2025 10:39am GMT

03 Feb 2025

feedOSnews

GTK announces X11 deprecation, new Android backend, and much more

Since a number of GTK developer came together at FOSDEM, the project figured now was as good a time as any to give an update on what's coming in GTK. First, GTK is implementing some hard cut-offs for old platforms - Windows 10 and macOS 10.15 are now the oldest supported versions, which will make development quite a bit easier and will simplify several parts of the codebase. Windows 10 was released in 2015 and macOS 10.15 in 2019, which are fair cut-off points, in my book. GTK 4.18 will also bring major accessibility improvements with the AccessKit backend, giving GTK accessibility features on Windows and macOS for the first time, which is great news. Another major new feature is the new Android backend, which, while not yet complete, will allow you to run GTK applications on Android. Do note that this is experimental, so don't expect everything to work without any issues quite yet. Lastly, the news that everyone was freaking out about over the weekend: the X11 backend has been deprecated, and will be removed in GTK 5. This freaked a lot of people out, but note that this doesn't mean you magically can't use GTK 4 applications on X11 anymore - it merely means that X11 support will be removed in GTK 5, which doesn't even exist yet, and with GTK 4 being supported until GTK 6 is released, people using legacy windowing systems like Xorg will be fine for a long time to come. As the GTK project notes on Fedi: The X11 backend being deprecated mainly means that we're not going to spend time implementing new features, like dmabuf, graphics offloading, or Vulkan support. X11 support will still exist until GTK4 is EOL, which will happen once GTK *6* is released. We're talking about a 20 years horizon, at this point… Of course, somebody could show up tomorrow, and implement everything that the Wayland backend does, but for X11. We can always undeprecate things. We are not holding our breath, though… ↫ The GTK project on Fedi This is the right move, and I'm glad the GTK project is doing this, and is giving everyone ample time to prepare. A lot of people will still freak out, get mad, and scream bloody murder at certain individuals in the wider Linux community, and those people are, of course, free to start working on Xorg. Like the GTK developers, though, I'm not holding my breath, because despite years of excessive Wayland hate, not a single person has stood up to do the work required to keep Xorg going.

03 Feb 2025 11:16am GMT

Run Linux inside a PDF file via a RISC-V emulator

You might expect PDF files to only be comprised of static documents, but surprisingly, the PDF file format supports Javascript with its own separate standard library. Modern browsers (Chromium, Firefox) implement this as part of their PDF engines. However, the APIs that are available in the browser are much more limited. The full specfication for the JS in PDFs was only ever implemented by Adobe Acrobat, and it contains some ridiculous things like the ability to do 3D rendering, make HTTP requests, and detect every monitor connected to the user's system. However, on Chromium and other browsers, only a tiny subset of this API was ever implemented, due to obvious security concerns. With this, we can do whatever computation we want, just with some very limited IO. ↫ LinuxPDF GitHub page I'm both impressed and concerned.

03 Feb 2025 10:49am GMT

The GNU Guix System

GNU Guix is a package manager for GNU/Linux systems. It is designed to give users more control over their general-purpose and specialized computing environments, and make these easier to reproduce over time and deploy to one or many devices. ↫ GNU Guix website Guix is basically GNU's approach to a reproducible, functional package manager, very similar to Nix because, well, it's based on Nix. GNU also has a Linux distribution built around Nix, the GNU Guix System, which is fully 'libre' as all things GNU are, and also makes use of the GNU Shepard init system. Both Shepard and Guix make use of Guile. The last release of the GNU Guix System is a few years old already, but it's a rolling release, so that's not much of an issue. It uses the Linux kernel, but support for GNU Hurd is also being worked on, for whatever that's worth. There's also a third-party distribution that is built around the same projects, called rde. It focuses on being lightweight, ready for offline use, and minimal distractions. It's probably not suitable for most normal users, but if you're a power user and you're looking for something a little bit different, this could be for you. While it's in active development, it's considered usable and stable by its creators. I haven't tried it yet, but I'm definitely intrigued by what it has to offer. Nix sucks up a lot of the attention in this space, so it's interesting to see some of the alternatives that aim for similar goals.

03 Feb 2025 10:42am GMT

31 Jan 2025

feedOSnews

This Sculpt OS video walkthrough explains how to use Sculpt OS

We talk about the Genode project and Sculpt OS quite regularly on OSNews, but every time I've tried using Sculpt OS, I've always found it so different and so unique compared to everything else that I just couldn't wrap my head around it. I assume this stems from nothing but my own shortcomings, because the Genode project often hammers on the fact that Sculpt OS is in daily-driver use by a lot of people within and without the project, so there must be something here just not clicking for me. Well, it seems I'm actually not the only one with difficulties getting started with Sculpt OS' unique structure and interface, because Norman Feske, co-founder of Genode Labs, has published a lengthy, detailed, but very interesting and easy to follow screencast explaining exactly how to use Sculpt OS and its unique features and characteristics. Even though Sculpt OS has been in routine daily use for years now, many outside observers still tend to perceive it as fairly obscure because it does not follow the usual preconceptions of a consumer-oriented operating system. Extensive documentation exists, but it leaves a fairly technical impression at a cursory glance, which may scare some people away. The screencast below aims at making the system a little bit more approachable. It walks you through the steps of downloading, installing, booting the system image, navigating the administrative user interface, and interactively extending and customizing the system. The tour is wrapped up with the steps for creating your personal sculpted OS on a bootable USB stick. ↫ Norman Feske After watching this, I genuinely feel I have much better grasp of how to use Sculpt OS and just how powerful it really is, and that it's really not as difficult to use as it may look at first glance. The next time I set some time aside for Sculpt OS, I feel I'll have a much better grasp of what to do and how to use it properly.

31 Jan 2025 11:19pm GMT

Building a (T1D) smartwatch from scratch

If you have type 1 diabetes, you need to keep track of and manage your blood glucose levels closely, as if these levels dip too low, it can quickly spiral into a medical emergency. Andrew Childs' 9 year old son has type 1 diabetes, and Childs was unhappy with any of the current offerings on the market for children to keep track of their blood glucose levels. Most people suggested an Apple Watch, but he found the Apple Watch "too much device" for a kid, something I personally agree with. It ships with so many shiny features and apps and notifications. It's beautifully crafted. It's also way too distracting for a kid while they're at school. Secondly, it doesn't provide a good, reliable view of his CGM data. The Dexcom integration is often backgrounded, doesn't show the chart, only the number and an arrow. People use hacks like creating calendar events just to see up-to-date data. And the iOS settings, Screen Time, and notification systems have ballooned into a giant ball of complexity. What we need is something simple. ↫ Andrew Childs And so Childs set out to design and prototype a smartwatch just for his son to wear, trying to address the shortcomings of other offerings on the market along the way, and possibly even bring it to market for other people in similar situations. After six months, he managed to create several prototypes, with both the software and hardware designed from the ground up, that he and his son still wear to this day, to great satisfaction. Since Childs didn't really know where to go from there and how to turn what he had into an actual product people could be, he decided to document his effort online. In the process, he had to overcome a ton of hurdles, from iOS' strict BLE limitations, difficult-to-reach soldering points that can't be moved due to the small size of the PCB, optimising the battery life, dealing with glass manufacturing, and many other issues, big and small. Oh and also, he was a software engineer, not a hardware one, so he had to learn a lot of new skills, from working with 3D modeling to PCB design. In the end, though, he's now got a few devices that look quite professionally made, that are incredibly easy to repair, and that are focused solely on those things he and his son need. This project has increased the quality of life for his son, and that's genuinely all that really matters here.

31 Jan 2025 10:37pm GMT

Let’s Encrypt ends support for expiration notification emails

Since its inception, Let's Encrypt has been sending expiration notification emails to subscribers that have provided an email address to us. We will be ending this service on June 4, 2025. ↫ Josh Aas on the Let's Encrypt website They're ending the expiration notification service because it's costly, adds a ton of complexity to their systems, and constitutes a privacy risk because of all the email addresses they have to keep on file just for this feature. Considering there are other services that offer this functionality, and the fact many people automate this already anyway, it makes sense to stop sending out emails. Anyway, just a head's up.

31 Jan 2025 7:18pm GMT

The Heirloom Project

Update: there's a fork called heirloom-ng that is actually still somewhat maintained and contains some more changes and modernisations compared to the old version. The Heirloom Project provides traditional implementations of standard Unix utilities. In many cases, they have been derived from original Unix material released as Open Source by Caldera and Sun. Interfaces follow traditional practice; they remain generally compatible with System V, although extensions that have become common use over the course of time are sometimes provided. Most utilities are also included in a variant that aims at POSIX conformance. On the interior, technologies for the twenty-first century such as the UTF-8 character encoding or OpenType fonts are supported. ↫ The Heirloom Project website I had never heard of this before, but I like the approach they're taking. This isn't just taking System V tools and making them work on a modern UNIX-like system as-is; they're also improving by them adding support for modern technologies, without actually changing their classic nature and the way old-fashioned users expect them to work. Sadly, the project seems to be dead, as the code hasn't been altered since 2008. Perhaps someone new is willing to take up this project? As it currently stands, the tools are available for Linux, Solaris, Open UNIX, HP-UX, AIX, FreeBSD, NetBSD, and OpenBSD, but considering how long the code hasn't been touched, I wonder if they still run and work on any of those systems today. They also come in various different versions which comply with different variants of the POSIX standard.

31 Jan 2025 11:15am GMT

Android 16’s Linux Terminal will soon let you run graphical apps, so of course we ran Doom

Regardless, the fact that Android's Linux Terminal can run graphical apps like Doom now is good news. Hopefully we'll be able to run more complex desktop-class Linux programs in the future. I tried running GIMP, for example, but it didn't work. Eventually, Android should be able to run Linux apps as well as Chromebooks can, as I believe one of the goals of this project is to help the transition of Chrome OS to an Android base. ↫ Mishaal Rahman at Android Authority It was of course inevitable that someone would run Doom on Android's new Debian container, and it's pretty cool to see it work without much issue already, even if the new terminal and container setup are still in such heavy development. Like many other people, I love the idea of my smartphone being both my, well, smartphone, as well as a full desktop PC once you connect it to a display and some input devices. As wireless technology keeps advancing, we soon might not even need to plug anything into the phone at all, and just having it in our pocket is good enough, which would be amazing. That being said, I would want such functionality to come from a traditional Linux setup, not Android's idea of a Linux setup. Running a Debian virtual machine on top of Android is probably preferable for a lot of people for a variety of reasons, but I'm a Linux user and want plain, regular Linux running directly on my smartphone, not some virtual machine on Android, which, while being a Linux distribution, is not the most pleasant variant of Linux to run and use.

31 Jan 2025 11:04am GMT

29 Jan 2025

feedOSnews

Apple’s macOS UNIX certification is a lie

As an online discussion grows longer, the probability of a someone mentioning macOS is a UNIX approaches 1. In fact, it was only late last year that The Open Group announced that macOS 15.0 was, once again, certified as UNIX, continuing Apple's long-standing tradition of certifying macOS releases as "real" UNIX®. What does any of this actually, mean, though? Well, it turns out that if you actually dive into Apple's conformance statements for macOS' UNIX certification, it doesn't really mean anything at all. First and foremost, we have to understand what UNIX certification really means. In order to be allowed to use the UNIX trademark, your operating system needs to comply with the Single UNIX Specification (SUS), which specifies programming interfaces for C, a command-line shell, and user commands, more or less identical to POSIX, as well as the X/Open Curses specification. The latest version is SUS version 4, originally published in 2008, with amendments published in 2013 and 2016, which were rolled up into version 4 in 2018. The various versions of the SUS that exist, in turn, correspond to a specific UNIX trademark. In table form: Trademark SUS version SUS published in: SUS last amended in: UNIX® 93 n.a. n.a. n.a. UNIX® 95 Version 1 1994 n.a. UNIX® 98 Version 2 1997 n.a. UNIX® 03 Version 3 2002 2004 UNIX® V7 Version 4 2008 2016 (2018 for roll-up) When you read that macOS is a certified UNIX, which of these versions and trademarks do you assume macOS complies with? You'd assume they would just target the latest trademark and SUS version, right? This would allow macOS to carry the UNIX® V7 trademark, because they would conform to version 4 of the SUS, which dates to 2016. The real answer is that macOS 15.0 only conforms to version 3 of the SUS, which dates all the way back to the ancient times of 2004, and as such, macOS is only UNIX® 03 (on both Intel and ARM). However, you can argue this is just semantics, since it's not like UNIX and POSIX are very inclined to change. So now, like the UNIX nerd that you are, you want to see all this for yourself. You use macOS, safe in the knowledge that unlike those peasants using Linux or one of the BSDs, you're using a real UNIX®. So you can just download all the tests suites (if you can afford them, but that's a whole different can of worms) and run them, replicating Apple's compliance testing, seeing for yourself, on your own macOS 15 installation, that macOS 15 is a real UNIX®, right? Well, no, you can't, because the version of macOS 15 Apple certifies is not the version that's running on everyone's supported Macs. To gain its much-vaunted UNIX certification for macOS, Apple cheats. A lot. The various documents Apple needs to submit to The Open Group as part of the UNIX certification process are freely available, and mostly it's a lot of very technical questions about various very specific aspects of macOS' UNIX and POSIX compliance few of us would be able to corroborate without extensive research and in-depth knowledge of macOS, UNIX, and POSIX. However, at the end of every one of these Conformance Statements, there's a text field where the applicant can write down "additional, explanatory material that was provided by the vendor", and it's in these appendices where we can see just how much Apple has to cheat to ensure macOS passes the various UNIX® 03 certification tests. In the first of these four documents, Internationalised System Calls and Libraries Extended V3, Apple's "additional, explanatory material" reads as follows: Question 27: By default, core file generation is not enabled. To enable core file generation, you can issue this command: sudo launchctl limit core unlimited Testing Environment Addendum: macOS version 15.0 Sequoia, like previous versions, includes an additional security mechanism known as System Integrity Protection (SIP). This security policy applies to every running process, including privileged code and code that runs out of the sandbox. The policy extends additional protections to components on disk and at run-time, only allowing system binaries to be modified by the system installer and software updates. Code injection and runtime attachments to system binaries are no longer permitted. To run the VSX conformance test suite we first disable SIP as follows: - Shut down the system.- Press and hold the power button. Keep holding it while you see the Apple logo and the message "Continue holding for startup options"- Release the power button when you see "Loading startup options"- Choose "Options" and click "Continue"- Select an administrator account and enter its password.- From the Utilities menu in the Menu Bar, select Terminal.- At the prompt, issue the following command: "csrutil disable"- You should see a message that SIP is disabled. From the Apple menu, select "Restart". By default, macOS coalesces timeouts that are scheduled to occur within 5 seconds of each other. This can randomly cause some sleep calls to sleep for different times than requested (which affects tests of file access times) so we disable this coalescing when testing. To disable timeout coalescing issue this command: sudo sysctl -w kern.timer.coalescing_enabled=0 By default there is no root user. We enable the root user for testing using the following series of steps:- Launch the Directory Utility by pressing Command and Space, and then typing "Directory Utility"- Click the Lock icon in Directory Utility and authenticate by entering an Administrator username and password.- From the Menu Bar in Directory Utility:- Choose Edit -> Enable Root User. Then enter a password for the root user, and confirm it.- Note: If you choose, you can later Disable Root User via the same menu. ↫ Apple's appendix to Internationalised System Calls and Libraries Extended V3 The second conformance statement, Commands and Utilities V4, has another appendix, and it's a real doozy (the indicate repeat remarks from the previous appendix; I've removed them for brevity): Testing Environment Addendum: The third and fourth conformance statements have

29 Jan 2025 10:34pm GMT

Linux 6.14 with Rust: “We are almost at the ‘write a real driver in Rust’ stage now”

With the Linux 6.13 kernel, Greg Kroah-Hartman described the level of Rust support as a "tipping point" for Rust drivers with more of the Rust infrastructure having been merged. Now for the Linux 6.14 kernel, Greg describes the state of the Rust driver possibilities as "almost at the "write a real driver in rust" stage now, depending on what you want to do." ↫ Michael Larabel Excellent news, as there's a lot of interest in Rust, and it seems that allowing developers to write drivers for Linux in Rust will make at least some new and upcoming drivers comes with less memory safety issues than non-Rust drivers. I'm also quite sure this will anger absolutely nobody.

29 Jan 2025 10:33pm GMT

OpenAI doesn’t like it when you use “their” generated slop without permission

OpenAI says it has found evidence that Chinese artificial intelligence start-up DeepSeek used the US company's proprietary models to train its own open-source competitor, as concerns grow over a potential breach of intellectual property. ↫ Cristina Criddle and Eleanor Olcott for the FT This is more ironic than writing a song called Ironic that lists situations that aren't actually ironic. OpenAI claims it's free to suck up whatever content and data it can find on the web without any form of permission or consent, but throws a tamper tantrum when someone takes whatever they regurgitate for their own use without permission or consent? Cry me a river.

29 Jan 2025 10:25pm GMT

28 Jan 2025

feedOSnews

Google Maps is run by cowards

Google, on its Google Maps naming policy, back in 2008: By saying "common", we mean to include names which are in widespread daily use, rather than giving immediate recognition to any arbitrary governmental re-naming. In other words, if a ruler announced that henceforth the Pacific Ocean would be named after her mother, we would not add that placemark unless and until the name came into common usage. Google, today, in 2025: Google has confirmed that Google Maps will soon rename the Gulf of Mexico and Denali mountain in Alaska as the "Gulf of America" and "Mount McKinley" in line with changes implemented by the Trump Administration, but users in the rest of the world may see two names for these locations. Nothing is worth less than the word of a corporation.

28 Jan 2025 8:27pm GMT

Reviving a dead audio format: the return of ZZM

Long-time readers will know that my first video game love was the text-mode video game slash creation studio ZZT. One feature of this game is the ability to play simple music through the PC speaker, and back in the day, I remember that the format "ZZM" existed, so you could enjoy the square wave tunes outside of the games. But imagine my surprise in 2025 to find that, while the Museum of ZZT does have a ZZM Audio section, it recommends that nobody use the format anymore; because nobody's made a player that doesn't require MS-DOS. Let's fix that by making a player with way higher system requirements, using everyone's favorite coding environment: Javascript. ↫ Nicole Branagan ZZM's history and Branagan's journey to make this work without having to rely on DOS took a lot more work than I expected, and is quite interesting, too. Very niche, for sure, but that's kind of what we're here for.

28 Jan 2025 2:35pm GMT