Monthly Archive:: October 2023
In a world where constant change is the norm, finished software provides a breath of fresh air. It’s a reminder that reliability, consistency, and user satisfaction can coexist in the realm of software development. So the next time you find yourself yearning for the latest update, remember that sometimes, the best software is the one that doesn’t change at all. While this is a nice sentiment, the reality is that software has become so complex, competition to cutthroat, and operating systems so changeful, that “finishing” software just doesn’t seem like a realistic and attainable goal anymore. The example used in the article, WordStar 4.0 for DOS, can only be “finished” because DOS doesn’t change anymore.
Support for RISC-V in Android is taking another step forward. The latest update that we have is that now not only are we accepting patches, but we have begun to mature support for RISC-V in Android. RISC-V is a modular ISA, meaning that there are a large number of optional extensions. We have also determined an initial set that we feel is critical to ensure that any CPU running RISC-V will have all of the features we expect to achieve high performance. This set includes the rva22 profile as well as the vector and vector crypto extensions. Excellent news.
The initial support was posted on October 25th 2023 on the Linux kernel mailing lists for review by the Linux developers community. With the set of patches released by Linaro engineers, it is also possible to boot an AOSP image with Graphics Software Rendering using Google’s SwiftShader. Since 2014, Linaro Engineers have been working closely with Qualcomm Engineers to enable Snapdragon platforms to work with Mainline Linux. Running a recent upstream Linux kernel immediately after the announcement of a new SoC is a significant achievement, and is a testimony to the close working partnership between Qualcomm and Linaro. Interestingly enough, during the recent announcement of the PC-focused X Elite SoC, Qualcomm also highlighted that Linux will be fully supported by the platform, and to underline that point, the company showed off X Elite laptops running both Windows and Linux. While it’ll take more to convince me that Qualcomm now actually cares about properly supporting its SoCs and the open source community, they’re at least positive signs.
MicroTCP is a TCP/IP network stack I started building as a learning exercise while attending the Computer Networking course at the Università degli Studi di Napoli Federico II. It’s just a hobby project and is intended to just be a minimal, yet complete, implementation. At this moment MicroTCP implements ARP (RFC 826, complete), IPv4 (no fragmentation), ICMP (minimum necessary to reply to pings) and TCP (complete but not stress-tested). Note that “complete” should not be intended as “fully compliant” but just as a measure of progress on all of the major features. For instance, it’s complete enough to handle HTTP traffic on a local network. People like this usually end up writing a simple operating system, so it’s interesting to see a TCP/IP stack instead. While clearly a hobby project, small, portable TCP/IP stacks can potentially be useful for very specific use cases, like bringing connectivity to ancient operating systems or other small hobby projects.
We’ve already covered the end of life of Windows CE, but Ars has a short but interesting look back at the history of this undeservedly unloved operating system. It was a proto-netbook, it was a palmtop, it was a PDA, it was Windows Phone 7 but not Windows Phone 8, and then it was an embedded ghost. It parents never seemed to know what to do with it after it grew up, beyond offer it up for anybody to shape in their own image. And then, earlier this month, with little notice, Windows CE was no more, at least as a supported operating system. I will never forget Windows CE.
In this release, the FreeBSD base system and kernel have been updated to 1302508, and it contains software updates, some improvements to Update Station, and new features to NetworkMgr. Also, os-generic-userland-devtools has been removed from the default installation to downsize the live system image. GhostBSD is an excellent option if you want a more turnkey FreeBSD-based desktop.
The goal of this post is to share how we, at the Browser Company, have made it possible to use Swift to build a modern Windows application. There is no UI framework for Windows written in Swift, and Windows itself is written in C++ – so that may leave you wondering, “how can I build my app on Windows”? Modern Windows applications use WinRT, a technology built on top of COM, which can interop really well with Swift, as we presented in our previous post. To be able to build idiomatic UI for Windows in Swift, we have built a language projection tool which creates idiomatic Swift language bindings for WinRT, and today we are open sourcing it at https://github.com/thebrowsercompany/swift-winrt. Swift/Winrt is based on Microsoft’s code generators for C++ (github.com/microsoft/cppwinrt) and C# (github.com/microsoft/cswinrt), and thus is written in C++. Cool stuff.
Since May, uBO has been in a cat-and-mouse game with YouTube. And they’ve shown incredible resilience, especially when you consider that there are only two people on the uBO team dealing with YouTube. The uBO team members are all volunteers. They’ve gone above and beyond to meet every little request from their users. But there’s a limit to how much they can take. At some point, the constant demands become too much, and they will leave uBO for good. It’s one thing to play cat and mouse with YouTube. It’s quite another to deal with a wave of angry users. Maybe that’s how YouTube will win this war of attrition. If you use YouTube enough, YouTube Premium is a great deal – albeit it a deal that’s steadily getting worse as Google increases its price.
Apple released their first Quicktake camera, the Quicktake 100, in 1994, ten years after the Apple //c. On the box, they very boldly wrote: “Requirements: 386, 486 or superior; 2MB of RAM, 10MB of free hard disk space; an 1.44MB floppy drive; a VGA, SVGA or superior card”. But was this true? No. They were just being lazy, or trying to get you to upgrade a perfectly functional 8-bit, 1MHz computer with 128kB of RAM and 140kB floppies. In fact, it was absolutely possible to do digital photography on an Apple //c. Useless projects are the best projects.
Modern PCs provide plenty of metering and power-management options. Version 23.10 of the Genode-based Sculpt operating system makes these features available via an interactive user interface. One can watch the temperature of each CPU core, monitor the individual CPU frequencies, switch between power profiles, and reveal details about power draw. Go to the download page to get started with Sculpt OS. It’s used as the day-to-day operating system by Genode developers, so it’s quite capable.
The Trinity Desktop Environment, the KDE 3 fork, has released a new version. R14.1.1 comes with the ability to drag and tile windows to the display’s borders and corners, adds several improvements to keyboard shortcuts settings, a few new wallpapers, better support in SunOS/Illumos/DilOS and support for libxine2’s logarithmic volume settings. It also has some important fixes for tdepowersave’s display brightness control, arts sound server start up crash, TQt3’s recursive mutexes and for the high CPU usage detected on some RPM distros with R14.1.0. Behind the scenes, an effort to clean up and enhance TQt3 and tqtinterface code has started and will be going on across multiple releases. You can update to the latest version through your package manager, or install TDE for the first time using the project’s instructions.
When I first heard about Be My AI—a new collaboration between Open AI and Be My Eyes, an app that connects sighted volunteers with blind people who need help via video call—I didn’t let myself get too excited. Be My AI promised to allow blind people to receive an A.I.–generated description of any photo we uploaded. This was a tantalizing prospect, but it wasn’t the first time a tech company had promised to revolutionize the way people with disabilities access visual content. Microsoft had already given us Seeing AI, which in a very rudimentary way provided a rough idea of what was going on in the images we shared, and which allowed us—again, in a fairly basic way—to interact with information contained in written texts. But the details were missing, and in most cases we could know only that there was a person in the picture and what they were doing, nothing more. Be My AI was different. Suddenly, I was in a world where nothing was off limits. By simply waving my cellphone, I could hear, with great detail, what my friends were wearing, read street signs and shop prices, analyze a room without having entered it, and indulge in detailed descriptions of the food—one of my great passions—that I was about to eat. I like to make fun of “AI” – those quotes are there for a reason – but that doesn’t mean it can’t be truly useful. This is a great example of this technology providing a tangible, real, and possibly life-altering benefit to someone with a disability, and that’s just amazing. My only gripe is that, as the author notes, the images have to be uploaded to the service in order to be analysed. Cynical as I tend to be, this was probably the intent of OpenAI’s executives. A ton of blind people and other people with vision issues will be uploading a lot of private data to be sucked up into the Open AI database, for further “AI” training. But that’s easy for me to say, and I think blind people and other people with vision issues will argue that’s a sacrifice they’re totally comfortable making, considering that they’re getting in return.
Does anybody care about Android 14? This year’s release of the world’s most popular operating system feels like one of the smallest ever, bringing just a handful of new features. Even during the Android portion of Google’s big I/O keynote, Google spent most of its time showing off a new generative AI feature that creates wallpapers for you, as if there aren’t enough wallpapers in the world. Last year’s Android 13 release felt small, but that was because it was the second major Android OS release that year. Android 12L—the big tablet and foldable release—came out earlier. What’s Android 14’s excuse? We’re not really sure. We still have a few things to go over, though, like new lock screen customizations, genuinely exciting changes to the way the back button works, and a pile of under-the-hood changes. Android 14 is definitely the smallest version number update I remember from Android history. I’m not entirely sure why this wasn’t called Android 13.1.
In 2021, at the height of cryptocurrency mining, Nvidia released the Nvidia CMP 170HX. Designed as a compute-only card to accelerate Ethereum’s memory-hard Ethash Proof-of-Work mining algorithm with its 1500 GB/s HBM2e memory bus, Nvidia implemented the hardware using the GA100 silicon from their Ampere architecture. Thus, the CMP 170HX is essentially a variant of the all-mighty Nvidia A100, Nvidia’s top-performing datacenter GPU at that time. Naturally, the existence of the CMP 170HX raised many questions, including its potential in applications beyond mining. Today, following the discontinuation of Ethash, these $5000 GPUs from closed mining farms are sold on second-hand markets for $400-$500 in China. It’s time to answer these questions. This article contains a basic performance overview, a hardware teardown, a watercooling installation guide, and a repair log. I’m glad smart people are at least trying to turn otherwise useless hardware designed for one of the most brazenly useless applications in human history into something potentially useful.
We have written articles in the past year about some of Microsoft’s different product launches, like how its first real hardware device was an add-in card for the Apple II, or its not-so-smartwatch platform, SPOT. However, many people may not be aware that Microsoft had a small involvement in a movement to create a standardized PC platform that evolved into a huge video game platform in Japan. The platform is called MSX, and on October 21, 1983, just over 40 years ago, the first such PC that used the platform went on sale in Japan, the Mitsubishi ML-8000. The launch price for the PC was 59,800 yen or close to $400. One of my oldest computer memories is using an MSX with a friend at his parents’ house. I must’ve been 7 years old or something like that. The MSX was weirdly popular in The Netherlands due to Philips building quite a few of them.
Do you know that the modern web browser can access real musical instruments? With the help of Web MIDI API, we can create a web application that can access MIDI devices connected to our computer. In this article, I will explain how I use Google Sheets as a music sequencer for composing and playing ambient music with a hardware synthesizer. Next thing you tell me browsers have an API for gamepads and joysticks connected through the game port.
Arm has traditionally targeted the low end of the power and performance curve, but just as Intel has been looking to expand into the low power market, ARM is looking to expand into higher power and performance segments. The Cortex X series is at the forefront of this effort. Here, we’ll be looking at the Cortex X2 as implemented in the Snapdragon 8+ Gen 1. This SoC features a single X2 core, alongside four Cortex A510 and three Cortex A710 cores. The Cortex X2 in this SoC typically runs at 2.8 GHz, although lscpu indicates its clock speed can range from 787.2 MHz to 3.187 GHz. An in-depth look at this performance ARM core.
Chip companies like Qualcomm, Nvidia, and AMD are all either planning or said to be planning another attempt at making Arm chips for the consumer PC market. Qualcomm is leading the charge in mid-2024 with its Snapdragon X Elite and a new CPU architecture called Oryon. And Reuters reported earlier this week that Nvidia and AMD are targeting a 2025 release window for their own Arm chips for Windows PCs. If these companies successfully get their chips into PCs, it would mostly come at Intel’s expense. But Intel CEO Pat Gelsinger doesn’t seem worried about it yet, as he said on the company’s most recent earnings call. The biggest issue for Windows on ARM will be, as always, application compatibility. ARM applications haven’t exactly been pouring in for Windows, and translation layers in Windows haven’t been earth-shattering either. As long as this problem remains, Intel indeed has little to worry about. I’m just excited there’s finally some movement in ARM laptops, because Linux is exceptionally well positioned for the transition to ARM. Every major distribution has a fully functional ARM version, with pretty much full package repository support. There really is very little difference in running desktop Linux on ARM (or even POWER9, for that matter). The power of open source.
While Qualcomm has become wildly successful in the Arm SoC market for Android smartphones, their efforts to parlay that into success in other markets has eluded them so far. The company has produced several generations of chips for Windows-on-Arm laptops, and while each has incrementally improved on matters, it’s not been enough to dislodge a highly dominant Intel. And while the lack of success of Windows-on-Arm is far from solely being Qualcomm’s fault – there’s a lot to be said for the OS and software – silicon has certainly played a part. To make serious inroads on the market, it’s not enough to produce incrementally better chips – Qualcomm needs to make a major leap in performance. Now, after nearly three years of hard work, Qualcomm is getting ready to do just that. This morning, the company is previewing their upcoming Snapdragon X Elite SoC, their next-generation Arm SoC designed for Windows devices. Based on a brand-new Arm CPU core design from their Nuvia subsidiary dubbed “Oryon”, the Snapdragon X Elite is to be the tip of the iceberg for a new generation of Qualcom SoC designs. Not only is it the heart and soul of Qualcomm’s most important Windows-on-Arm SoC to date, but it will eventually be in smartphones and a whole lot more. But we’re getting ahead of ourselves. For now let’s focus on the Snapdragon X Elite SoC and the Oryon cores underpinning it. Some more in-depth information about Qualcomm’s upcoming Snapdragon X Elite, this time from AnandTech.
My name is Matt Campbell, and I’m delighted to announce that I’m joining the GNOME accessibility team to develop a new accessibility architecture. After providing some brief background information on myself, I’ll describe what’s wrong with the current Linux desktop accessibility architecture, including a design flaw that has plagued assistive technology developers and users on multiple platforms, including GNOME, for decades. Then I’ll describe how two of the three current browser engines have solved this problem in their internal accessibility implementations, and discuss my proposal to extend this solution to a next-generation accessibility architecture for GNOME and other free desktops. No clever quips or snarky nonsense – just read the proposal, and contribute if you can.