Graphics card prices remain hugely inflated compared to a few years ago, but the good news is that things finally seem to be getting consistently better and not worse. This is good news. I don’t think I’ve ever experienced something like this before in my life, and I can’t wait for prices to truly reach sane levels again, as both my fiancée and I are due for an upgrade.
I’ve been using Linux exclusively for ~15 yrs. I’ve recently started a fantastic new job – the only wrinkle was that it came with a Windows 10 laptop. This is my first time using Windows after a 15-year break. This is how it’s been going. Hint: not well.
In this post, we’ll look at implementing a simple character device driver as a kernel module in NetBSD. Once it is loaded, userspace processes will be able to write an arbitrary byte string to the device, and on every successive read expect a cryptographically-secure pseudorandom permutation of the original byte string. IF you’ve always wanted to learn how to write a NetBSD driver, here’s a great starting point.
With Fedora 36 working its way towards release later this month, more developer attention and planning is turning to Fedora 37 that will be released this autumn. One of the changes being talked about this week is for signing RPM contents for a means of trusting the files that are executed. The Fedora 37 change proposal is for adding IMA-based signatures to the individual files that are part of shipped RPM packages. This will allow for enforcing run-time policies by system administrators to ensure the execution of only trusted files or similar policies. This is a good idea, and it’s important to underline that this is entirely optional – nothing will change for regular end users who are not interested in such policies. This won’t limit your ability to install whatever rpm you want, nor does it lock down anything any further than it is today – it just gives administrators more options.
We aim for the beautiful Sailfish user experience to bring a similar elegance and simplicity to an otherwise busy and distracting world. But the beauty on the surface has to be backed up with cutting-edge technology underneath which keeps up with modern standards and developments. That’s why in the 4.4.0 Vanha Rauma release we’ve been working hard to improve compatibility across the board, keeping up with recent browser and feature developments. At the same time, we’ve been refining the user interface to allow all the new features to be exposed in a way that doesn’t impact on the simplicity of your device in daily use. I’ve been a Sailfish OS user for years and am now involved in its development, so can’t claim to be an impartial actor. But it means I also have some understanding of the effort and ideas that went into this release. Some of the big new features are the updated Gecko browser engine, all apps Sailjailed by default, NFC Bluetooth pairing, and many nice community-contributed improvements to positioning, calendar and more – and all built on a a strong Linux/glibc foundation.
I’ve extended James Friend’s in-browser Basilisk II port to create a full-featured classic 68K Mac in your browser. You can see it in action at system7.app or macos8.app. However, none of these setups replicated the true feel of using a computer in the 90s. They’re great for quickly launching a single program and playing around with it, but they don’t have any persistence, way of getting data in or out of it, or running multiple programs at once. macintosh.js comes closest to that — it packages James’s Basilisk II port with a large (~600MB) disk image and provides a way of sharing files with the host. However, it’s an Electron app, and it feels wrong to download a ~250MB binary and dedicate 1 CPU core to running something that was meant to be in a browser. I wondered what it would take to extend the Basilisk II support to have a macintosh.js-like experience in the browser, and ideally go beyond it. There’s countless of these, but this is definitely one of the nicer ones. It won’t be long before we move from running classic operating systems in local emulators, to just firing up a tab and booting up whatever we feel like playing around with today. I certainly won’t miss manually creating VMs or fiddling with purpose-built emulators.
Workstation (workstation) is an open source reference design for Fuchsia. Workstation is not a consumer-oriented product. Workstation is a tool for developers and enthusiasts to explore Fuchsia and experiment with evolving concepts and features. Workstation is one of the many “product configurations” Fuchsia can be set up with, and it targets both the Fuchsia emulator as well as an Intel NUC – so real hardware. This configuration’s goal is to be “a basis for a general purpose development environment, good for working on UI, media and many other high-level features. This is also the best environment for enthusiasts to play with and explore.” They’re emphasizing this is not some ploy to desktop dominance, but there’s no denying that with every step Fuchsia takes – from shipping it on Google Home devices to porting and running Chrome – they’re getting it ready for more than just some IoT project.
I have a proclivity to stupid and/or pointless projects. This is one of them. Conceived from a conversation that ended with “Hey, it would technically be possible to…” – sure, let’s do it. DDC, display data channel, is a protocol for reading information about what resolutions and so on a monitor supports. It was later extended to DDC/CI, that lets you set brightness and other parameters, but fundamentally, the original idea was to stick a cheap i2c eeprom on each device with some basic info on it. (Technically, the original idea was even simpler than that, but let’s not get into that.) It began in the VGA days, but has become so entrenched that even modern hardware with HDMI or DisplayPort supports it. That’s right, in an HDMI cable, nestled amongst the high-speed differential pairs, there’s an exceedingly slow i2c bus. Tiny OLED dot-matrix displays often have an i2c controller, so I had the idea to try and plug one directly into an HDMI port. Hilarious! Let’s do it. This is the kind of stuff that just puts a huge smile on my face – something we can use during these trying times.
Believe it or not, not everything is based on C. There are current, shipping, commercial OSes written before C was invented, and now others in both newer and older languages that don’t involve C at any level or layer. There’s tons of examples.
The history of Firefox UI is important because my project compensates for the shortcomings of this Proton UI and inherits the strengths of the existing Firefox UIs. It’s also one of the ways to prevent divisions in the community, given that there have been forks every time the UI changes big. A detailed timeline of the changes to the user interface of Firefox.
In its day QuickTime was bigger than Apple itself, so widely known that many who used it on their PCs weren’t even aware that it was an Apple product. As one of the first extensible frameworks for multimedia, from 1991 onwards it was at the forefront of computer audio and video. When the MPEG-4 format was standardised in 1998, it was based on QuickTime. For several years, sales of QuickTime-based products for Windows far exceeded those for Macs. Then, with the release of Catalina in October 2019, QuickTime was dead, leaving few Mac users now able to name its successor, AV Foundation (or AVFoundation, if you prefer), which had been introduced back in 2011. For all intents and purposes, it died. Good riddance.
And we’re not done yet with the EU’s Digital Markets Act, since it contains another important and very consequential regulation: alternative application stores. “We believe that the owner of a smartphone should have the freedom to choose how to use it,” said European Commission spokesperson Johannes Bahrke in an emailed statement. “This freedom includes being able to opt for alternative sources of apps on your smartphone. With the DMA, a smartphone owner would still be able to enjoy safe and secure services of the default app store on their smart phones. On top of that, if a user so chooses, the DMA would allow a smartphone owner to also opt for other safe app stores.” In addition to allowing third-party stores on its platform, Apple would also be forced to allow users to install apps from third-party sources (a practice known as sideloading) and to allow developers to use the App Store without using Apple’s payment systems. This is great news, and a massive step towards wrangling control over our devices back from big corporations. That being said – expect a coordinated onslaught of fear, uncertainty, and doubt towards this provision and the DMA in particular from US tech companies, their US Senators, and “independent” bloggers. It’s going to be rough out there.
Moving on from interoperability in messaging services, there’s a lot more in the proposed Digital Markets Act. For instance, bloatware and other preinstalled applications on iOS and Android devices must be removable by the user, and users must be given choice of which browser, e-mail application, etc. they want to use by default. This is a complete no-brainer, and something virtually every user will welcome. There’s also a lot of measures regarding data transparency and advertising. For instance, smaller companies that sell goods on e.g. Amazon must be given access to Amazon’s analytics and similar data. In a similar vein, people who buy ads on Google or Facebook must be able to assess the reach of their ads. And, of course, big technology companies will no longer be allowed to give preference to their own services and products. These are all excellent steps in the right direction. Fines for violating the DMA will be massive – up to 10 percent of worldwide annual revenue, 5 percent of average daily turnover, and more.
A new seminal antitrust legislation has been proposed in the EU, which will go up for a final vote in the EU Parliament. There’s a whole boatload of measures in here, many targeting big tech. The first major one: During a close to 8-hour long trilogue (three-way talks between Parliament, Council and Commission), EU lawmakers agreed that the largest messaging services (such as Whatsapp, Facebook Messenger or iMessage) will have to open up and interoperate with smaller messaging platforms, if they so request. Users of small or big platforms would then be able to exchange messages, send files or make video calls across messaging apps, thus giving them more choice. As regards interoperability obligation for social networks, co-legislators agreed that such interoperability provisions will be assessed in the future. This is exactly what should’ve been done ages ago, and I’m glad they’re finally getting to it. Messaging services have become incredibly important and vital communication tools in our modern societies, and they should not be used for lock-in and other anti-competitive practices. This is great news.
After six months of development, GNOME 42 is here and it’s packed with some cool new features and enhancements for fans of the GNOME desktop environment. The biggest change in this major release is the porting of almost all default GNOME apps to the latest GTK4 toolkit and the libadwaita 1.0 library for a more modern look and faster performance. This is a very odd release. There’s tons of great, valuable new features and improvements in here, and if it wasn’t for libadwaita, I’d be quite excited to upgrade my various GNOME installations the moment Fedora 36 becomes available. A new screenshot UI, updates to all the core applications, a ton of performance improvements, and a lot more. Sadly, libadwaita is incredibly problematic. Virtually all of GNOME’s core applications now use libadwaita, which means they cannot be themed. They will all use the default refreshed Adwaita theme, and no matter what Gtk+ theme you install, you can’t change that. What makes matters worse, is that the various applications not yet ported over to libadwaita, such as Nautilus, will still use the old, pre-libadwaita Adwaita theme, meaning that even on a default installation without any custom themes, you’re going to have to deal with a very inconsistent user interface. Even when all of GNOME’s core applications have been ported over to libadwaita, your desktop will still make use of countless regular Gtk+ applications that will look out of place compared to all the GNOME applications. The GNOME team of course hopes that every Gtk+ developer will adopt libadwaita – Cinnamon, Xfce, Cosmic, MATE be damned – but the odds of that happening are slim. Libadwaita knowingly and willingly makes using GNOME a far less pleasurable experience, and the fallout of this boneheaded move will take years to recover from – if at all.
Back in 2020, Google announced that it would require all apps in the Play Store to use its billing system but later delayed that to this month. Google will soon allow Android apps to use their own payment system as long as Play Store billing is an option alongside it, with Spotify notably the first “User Choice Billing” partner. Regulatory pressure is mounting, and it’s clear it’s been working. This is a major concession by Google, and a very welcome one. We’ve still got a long, long way to go, but things are, at least, changing for the better. Slowly.
Some of my recent long-term projects revolve around a little known CPU architecture called ‘Lanai’. Unsurprisingly, very few people have heard of it, and even their Googling skills don’t come in handy. This page is a short summary of what I know, and should serve as a reference for future questions. Deeply fascinating. I love obscure CPU architectures, and they don’t come more obscure than this.
Taking NVIDIA into the next generation of server GPUs is the Hopper architecture. Named after computer science pioneer Grace Hopper, the Hopper architecture is a very significant, but also very NVIDIA update to the company’s ongoing family of GPU architectures. With the company’s efforts now solidly bifurcated into server and consumer GPU configurations, Hopper is NVIDIA doubling down on everything the company does well, and then building it even bigger than ever before. The kinds of toys us mere mortals rarely get to play with.
We need to talk about Windows priorities as a product. And I am saying this as someone who wants Windows to succeed – it’s a great OS that, despite it’s naysayers, is still one of the best when it comes to backwards compatibility and richness of functionality. I mean, I can literally run a game written for Windows 95 on Windows 11 without major issues (no, I am not going to open the SafeDisc can of worms this time). I can’t do that on macOS or Linux boxes reliably, and yet Windows is doing a-OK with this task. That being said, I am disappointed to see the direction that the OS is taking lately, and it feels like a very odd misplacement of priorities, especially given the advances that other Microsoft products are going through. A detailed post outlining all the problems on Windows – problems that are only getting worse. Using Windows these days feels like visiting Times Square in New York – it’s a cacophony of lights and colours and advertisements and noise that, while an experience worth having, I didn’t want to stay for much longer than a few minutes. It doesn’t have much to offer besides the lights and colours and advertisements and noise, because those are the very point of Times Square. There’s nothing else of value there. Windows is the same – it isn’t an operating system designed for its users, it’s an operating system designed to increase ad and services revenue. The people in charge at Windows clearly aren’t the people who care about a coherent, welcoming, pleasing, thorough, and well-crafted experience – it’s the advertisement bozos and cloudbros who run the Windows department. And that’s sad.
Apple is experiencing a widespread outage today, with a wide range of the company’s services and apps down or experiencing issues currently. Affected services and apps include the App Store, iCloud, Siri, iMessage, iTunes Store, Apple Maps, Apple Music, Apple Podcasts, Apple Arcade, Apple Fitness+, Apple TV+, Find My, FaceTime, Notes, Stocks, and many others, according to complaints across Twitter and other platforms. Apple’s developer website is also inaccessible due to server issues. Another great day to be a Linux user.