Monthly Archive:: January 2025

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.

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.

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.

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.

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.

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

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.

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.

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.

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.

The invalid 68030 instruction that accidentally allowed the Mac Classic II to successfully boot up

A bug in the ROM for the Macintosh II was recently discovered that causes a crash when booting in 32-bit mode. Doug Brown discovered and documented the bug while playing with the MAME debugger. Why did it never show up before? It seems a quirk in Motorola’s 68030 CPU inadvertently fixes it when executing an illegal instruction that shouldn’t have been executed in the first place. What follows is his process for investigating the room on emulated hardware, and then testing it on actual hardware.

PebbleOS becomes open source, new Pebble device announced

Eric Migicovsky, founder of Pebble, the original smartwatch maker, made a major announcement today together with Google. Pebble was originally bought by Fitbit and in turn Fitbit was then bought by Google, but Migicovsky always wanted to to go back to his original idea and create a brand new smartwatch. PebbleOS took dozens of engineers working over 4 years to build, alongside our fantastic product and QA teams. Reproducing that for new hardware would take a long time. Instead, we took a more direct route – I asked friends at Google (which bought Fitbit, which had bought Pebble’s IP) if they could open source PebbleOS. They said yes! Over the last year, a team inside Google (including some amazing ex-Pebblers turned Googlers) has been working on this. And today is the day – the source code for PebbleOS is now available at github.com/google/pebble (see their blog post). ↫ Eric Migicovsky Of course, this is amazing news for the still-thriving community of Pebble users who have kept the platform and their devices going through sheer force of will, but it also means Pebble is going to making a comeback in a more official capacity: alongside the announcement of PebbleOS becoming open source, there’s also the unveiling of rePebble, a brand new Pebble watch that retains all of the popular features and specifications of the original devices. It’ll run the open source PebbleOS, of course, and will be compatible with the existing ecosystem of applications. I’ve never had a Pebble, but there’s no denying the company hit on something valuable, and I know people who still rock their original Pebble devices to this day. The excitement about this announcement is palpable, and I’m pleasantly surprised Google cared enough to work on making an open source PebbleOS a reality (I know of quite a few other companies sitting on deeply loved code and IP rotting away in obscurity). I can’t wait to see what the new device will look like!

Chinese researchers just built an open-source rival to ChatGPT in 2 months, and Silicon Valley is freaked out

Speaking of “AI”, the Chinese company DeepSeek has lobbed a grenade dead-centre into the middle of the “AI” bubble, and it’s been incredibly entertaining to watch. DeepSeek has released several new “AI” models, which seem to rival or even surpass OpenAI’s latest ChatGPT models – but with a massive twist: DeepSeek, being Chinese, can’t use NVIDIA’s latest GPUs, and as such, was forced to work within very tight constraints. They’ve managed to surpass ChatGPT’s best models with a fraction of the GPU horsepower, and thus a fraction of the cost, and a fraction of the energy requirements. But unlike ChatGPT’s o1, DeepSeek is an “open-weight” model that (although its training data remains proprietary) enables users to peer inside and modify its algorithm. Just as important is its reduced price for users — 27 times less than o1. Besides its performance, the hype around DeepSeek comes from its cost efficiency; the model’s shoestring budget is minuscule compared with the tens of millions to hundreds of millions that rival companies spent to train its competitors. ↫ Ben Turner at LiveScience The fallout has been disastrous for NVIDIA, in particular. The company’s stock price tumbled 17% today, and more entertaining yet, the various massive investments of hundreds of billions of dollars into western “AI” seem like a huge waste of money. The DeepSeek models are also nominally open source, and are clearly showing that most likely, there simply isn’t a huge “AI” market worth hundreds of billions of dollars dollars at all. On top of that, the US is clearly not ahead in “AI” at all, as was the common wisdom pretty much until yesterday. Of course, DeepSeek is Chinese, and that means censorship – the real kind – is a thing. Asking the latest DeepSeek model about the massacre at Tiananmen Square returns nothing, suggesting the user ask about other topics instead. I’m sure over the coming weeks more and more or these kinds of censorship will be discovered, but hopefully its open source nature will allow the models to be adapted and changed to remove such censorship. Do note that all of these “AI” models are all deeply biased because they’re trained on content that is itself deeply biased, thereby perpetuating and amplifying damaging stereotypes and inaccuracies, especially since people have a tendency to assume computers can’t be biased. Whatever may happen, at least OpenAI losing its job to “AI” is hilarious.

AI bots paralyze Linux news site and others

Apparently, since the beginning of the year, AI bots have been ensuring that websites can only respond to regular inquiries with a delay. The founder of Linux Weekly News (LWN-net), Jonathan Corbet, reports that the news site is therefore often slow to respond. The AI scraper bots cause a DDoS, a distributed denial-of-service attack. At times, the AI bots would clog the lines with hundreds of IP addresses simultaneously as soon as they decided to access the site’s content. Corbet explains on Mastodon that only a small proportion of the traffic currently serves real human readers. ↫ Dirk Knop at Heise.de I’m sure someone will tell me we just have to accept that a large percentage of our bandwidth is going to overpriced bullshit generators, and that we should just suck it up and pay for Sam Altman’s new house. I hope these same people realise “AI” is destroying the last vestiges of the internet that haven’t fallen victim to all the other techbro fads so far, and that sooner rather than later there won’t be anything left to browse to. The coming few years are going to be fun.

When a sole maintainer steps down, Linux drivers become orphans

The Linux kernel has become such an integral, core part of pretty much all aspects of the technology world, and corporate contributions to the kernel make up such a huge chunk of the kernel’s ongoing development, it’s easy to forget that some parts of the kernel are still maintained by some lone person in Jacksonville, Nebraska, or whatever. Sadly, we were reminded of this today when the sole maintainer of a few DRM (no, not the bad kind) announced he can no longer maintain the gud, mi0283qt, panel-mipi-dbi, and repaper drivers. Remove myself as maintainer for gud, mi0283qt, panel-mipi-dbi and repaper. My fatigue illness has finally closed the door on doing development of even moderate complexity so it’s sad to let this go. ↫ Noralf Trønnes There must be quite a few obscure parts of the Linux kernel that are of no interest to the corporate world, and thus remain maintained by individuals in their free time, out of some personal need or perhaps a sense of duty. If one such person gives up their role as maintainer, for whatever reason, you better hope it’s not something your workflow relies, because if no new maintainer is found, you will eventually run into trouble. I hope Trønnes gets better soon, and if not, that someone else can take over from him to maintain these drivers. The gud driver seems like a really neat tool for homebrew projects, and it’d be sad to see it languish as the years go by.

Android 16 Beta 1 has started rolling out for Pixel devices

Basically, this seems to mean applications will no longer be allowed to limit themselves to phone size when running on devices with larger screens, like tablets. Other tidbits in this first beta include predictive back support for 3-button navigation, support for the Advanced Professional Video codec from Samsung, among other things. It’s still quite early in the release process, so more is sure to come, and some things might not make it to the final release at all.

Snowdrop OS: a homebrew operating system from scratch, in x86 assembly language

Snowdrop OS was born of my childhood curiosity around what happens when a PC is turned on, the mysteries of bootable disks, and the hidden aspects of operating systems. It is a 16-bit real mode operating system for the IBM PC architecture. I designed and developed this homebrew OS from scratch, using only x86 assembly language. I have created and included a number of utilities, including a file manager, text editor, graphical applications, BASIC interpreter, x86 assembler and debugger. I also ported one of my DOS games to it. After all, what kind of an operating system doesn’t have games? ↫ Snowdrop OS’ website It seems like every talented programmer will, at some point, think to themselves: I should write my own operating system. Most of these efforts strand pretty quickly – and that’s fine! – but Sebastian Mihai’s effort did not, and it has grown into a very capable operating system, especially given the constraints stemming from the chosen architecture – 16bit realmode x86 – and programming language – x86 assembly. Snowdrop OS is an incredibly impressive labour of love, and comes with a unique extra I haven’t seen before: a daily development log covering over 600 days of development. No, this won’t take over the world, but I love that is exists. More of this, please.

NixBSD: an unofficial NixOS fork with a FreeBSD kernel

NixBSD is an attempt to make a reproducible and declarable BSD, based on NixOS. Although theoretically much of this work could be copied to build other BSDs, all work thus far has been focused on building a FreeBSD distribution. ↫ NixBSD GitHub page Look, it’s my job to make sure I use and am familiar with as many operating systems and related tools as possible. As much as you guys support OSNews on Patreon or Ko-Fi, it’s going to take a lot of you to push me to dive into Nix and NixOS, because every time I hear anything about it, people seem entirely in over their heads and spending way, way too much time trying to properly use it. I have a wife and two little children, and as much as Nix intrigues and fascinates, I’m not going to lose my sanity to it. Anyway, combining NixOS with FreeBSD seems like a fun project and a great idea, and also kind of an inevitability – any cool technology eventually makes its way to BSD in one way or another, after all. The project is in flux, and they’re not at the stage where you can just download an ISO and get going, but if you’re already knee-deep in Nix and want a new challenge, this might be right up your alley. Me, I’m not learning a programing language just to manage my packages. Or should I? For the memes?

SDL 3.2.0 released

SDL, the Simple DirectMedia Layer, has released version 3.2.0 of its development library. In case you don’t know what SDL is: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick, and graphics hardware via OpenGL and Direct3D. It is used by video playback software, emulators, and popular games including Valve‘s award winning catalog and many Humble Bundle games. ↫ SDL website This new release has a lot of improvements and changes, and going through the changelog, you’ll notice that they’ve massively improved the documentation, made the API naming conventions more consistent, added a ton of features for better platform integration, added camera and pen APIs, improved HiDPI support, and a ton more.

9front “THIS TIME DEFINITELY” released

The operating system I’m not cool enough to run has pushed out a new release: 9front “THIS TIME DEFINITELY” is now available. 9front is a fork of plan9, created after plan9 languished at Bell Labs. This release enables gefs, the new file system, in the installer, “ip/ipconfig now support dhcpv6 dynamic allocations and handles prefix expirations”, and it comes with some smaller changes, too, of course. Despite every piece of evidence to the contrary, I am simply not cool enough to run 9front. Maybe one day they’ll notice me, and I get invited to the cool table where the Puffs eat lunch. Who doesn’t want to ring a bell in the headmaster’s office at midnight?