COSMIC improves its application store, display mirroring, and more

As its first alpha release is closing in, we have another monthly update about COSMIC, System76’s new Linux desktop environment written in Rust. This month, they’ve further polished and shored up their application store, imaginatively named COSMIC App Store, and it’s supposedly incredibly fast – something I can’t say for its GNOME and KDE counterparts, which tend to be so slow I’ve always just defaulted to updating through the command line, mostly.

The file manager now has support for GVfs (GNOME Virtual file system) for making external storage like USB drives work properly, and Greeter login screen, Edit text editor, drag and drop, and copy/paste have been improved in various ways as well. Theming has seen a lot of work this month, with support for icon themes added to the App Library, fixed applet sizes, and more tweaks, while light themes have been disabled for now to fix a number of issues with colour selection being too dark.

There’s also display mirroring now, which even works when the individual displays have different resolutions, orientations, and refresh rates. Pop!_OS is now also being built for ARM64, which makes sense because System76 is now also selling ARM servers. There’s also a bunch of work being done by the community as the alpha release nears.

Opening windows in Linux with sockets, bare hands and 200 lines of C

X Server is slowly being deprecated in the Linux world and being replaced Wayland. Still X11 is an interesting protocol to look at from the perspective of binary communication and management of resource which require fast speeds.

In this post I tried to cover basic information and create a simple but working app that is simple, defined in single file and easily compiles. No external code except libc was used. I find it fascinating when you can open black boxes and see how gears move each other.

↫ Hereket

As much as the time of X has come and is now finally in the process of going, it’s still an incredibly powerful set of tools that even in a bare state can do way, way more than you think. X has come with its own window manager – twm – for decades, and it includes several basic applications like xedit, xclock, xterm, xeyes. Twm is actually pretty cool, and includes some features, like iconify to desktop, that I wish still existed in modern desktop environments. It’s quite bare-bones, though, and I doubt there’s anyone out there unironically using it today.

As the linked article notes, even without advanced, complex libraries, toolkits, desktop environments, and so on, it’s entirely possible to create fully functional windows and applications with X. Of course, this makes perfect sense and shouldn’t be surprising – it’s the X Window System, after all – but you so rarely hear or read about it that you’d almost forget and just assume something like GNOME or KDE is an absolute requirement to use X.

ChromeOS App Mall unifies app discovery for Chromebooks

We’ve been on the lookout for the arrival of the ChromeOS App Mall for a few months now. First discovered back in March, the new App Mall is arriving to do one, simple task: put the apps users want in one place to be found a Chromebook.

While we have access to web apps, PWAs, Android apps and Linux apps on Chromebooks, it’s not always clear how to go about finding them. Should you install the web version or the Play Store version? Which Play Store apps install a PWA versus an Android app? Where should you go to find the right one for you?

↫ Robby Payne at Chrome Unboxed

ChromeOS definitely needs a more unified, single place to find applications, and this seems like exactly what’s happening here.

Did GitHub Copilot really increase my productivity?

Yuxuan Shui, the developer behind the X11 compositor picom (a fork of Compton) published a blog post detailing their experiences with using GitHub Copilot for a year.

I had free access to GitHub Copilot for about a year, I used it, got used to it, and slowly started to take it for granted, until one day it was taken away. I had to re-adapt to a life without Copilot, but it also gave me a chance to look back at how I used Copilot, and reflect – had Copilot actually been helpful to me?

Copilot definitely feels a little bit magical when it works. It’s like it plucked code straight from my brain and put it on the screen for me to accept. Without it, I find myself getting grumpy a lot more often when I need to write boilerplate code – “Ugh, Copilot would have done it for me!”, and now I have to type it all out myself. That being said, the answer to my question above is a very definite “no, I am more productive without it”. Let me explain.

↫ Yuxuan Shui

The two main reasons why Shui eventually realised Copilot was slowing them down were its unpredictability, and its slowness. It’s very difficult to understand when, exactly, Copilot will get things right, which is not a great thing to have to deal with when you’re writing code. They also found Copilot incredibly slow, with its suggestions often taking 2-3 seconds or longer to appear – much slower than the suggestions from the clangd language server they use.

Of course, everybody’s situation will be different, and I have a suspicion that if you’re writing code in incredibly popular languages, say, Python or JavaScript, you’re going to get more accurate and possibly faster suggestions from Copilot. As Shui notes, it probably also doesn’t help that they’re writing an independent X11 compositor, something very few people are doing, meaning Copilot hasn’t been trained on it, which in turn means the tool probably has no clue what’s going on when Shui is writing their code.

As an aside, my opinion on GitHub Copilot is clear – it’s quite possibly the largest case of copyright infringement in human history, and in its current incarnation it should not be allowed to continue to operate. As I wrote over a year ago:

If Microsoft or whoever else wants to train a coding “AI” or whatever, they should either be using code they own the copyright to, get explicit permission from the rightsholders for “AI” training use (difficult for code from larger projects), or properly comply with the terms of the licenses and automatically add the terms and copyright notices during autocomplete and/or properly apply copyleft to the newly generated code. Anything else is a massive copyright violation and a direct assault on open source.

Let me put it this way – the code to various versions of Windows has leaked numerous times. What if we train an “AI” on that leaked code and let everyone use it? Do you honestly think Microsoft would not sue you into the stone age?

↫ Thom Holwerda

It’s curious that as far as I know, Copilot has not been trained on Microsoft’s own closed-source code, say, to Windows or Office, while at the same time the company claims Copilot is not copyright infringement or a massive open source license violation machine. If what Copilot does is truly fair use, as Microsoft claims, why won’t Microsoft use its own closed-source code for training?

We all know the answer.

Deeply questionable legality aside, do any of you use Copilot? Has it had any material impact on your programming work? Is its use allowed by your employer, or do you only use it for personal projects at home?

Raspberry Pi Connect: remote desktop for your Pi

Today we’re pleased to announce the beta release of Raspberry Pi Connect: a secure and easy-to-use way to access your Raspberry Pi remotely, from anywhere on the planet, using just a web browser.

It’s often extremely useful to be able to access your Raspberry Pi’s desktop remotely. There are a number of technologies which can be used to do this, including VNC, and of course the X protocol itself. But they can be hard to configure, particularly when you are attempting to access a machine on a different local network; and of course with the transition to Wayland in Raspberry Pi OS Bookworm, classic X remote desktop support is no longer available.

We wanted to be able to provide you with this functionality with our usual “it just works” approach. Enter Raspberry Pi Connect.

↫ Gordon Hollingworth

Pi Connect uses WebRTC, and a daemon running on your Pi listens for incoming screensharing requests from the Raspberry Pi website to connect the VNC server on your Pi to the VNC client running in your browser. The service is in beta, it’s free, but the one major downside is that for now, there’s only one TURN server for this service, located in the UK, but they might set up more of them if demand is high enough.

If you want to try this service on your own Pi running Raspberry Pi OS, you’re going to need to be using a Raspberry Pi 5, 4, or 400, using the latest version of the operating system running Wayland. Update your operating system, install the rpi-connect package, reboot, and you’re good to go.

US revokes Intel, Qualcomm’s export licenses to sell to China’s Huawei, sources say

The U.S. has revoked licenses that allowed companies including Intel and Qualcomm to ship chips used for laptops and handsets to sanctioned Chinese telecoms equipment maker Huawei Technologies, three people familiar with the matter said.

↫ Alexandra Alper, Fanny Potkin, David Shepardson

The timing of this news is very interesting, as despite the massive sanctions the United States levied against Huawei, the company seems to be doing really well, with its smartphone business seeing massive gains in the Chinese market, at the expense of everyone else. This proves that Huawei does not need access to western chips and technologies to be successful, which must definitely sting in the US and Europe.

Strong financial results, using hardware and chips designed not by western companies but by Chinese ones, combined with the only mobile operating system that has any serious potential to at least somewhat threaten Android and iOS. The various sanctions were clearly intended to hurt Huawei and possibly contain it to just China, but it seems they’re not having their desired effect at all.

NetBSD 8.3 released, marks the end of the 8.0 branch

NetBSD 10 and NetBSD 9.4 were only recently released, leaving one final branch to receive what will be its last update: NetBSD 8.3. NetBSD 8.0 was originally released in 2018, so this final release marks six years of updates, which is a good track record, especially now that two newer main releases are available to choose from. With 8.3 being the final release, this means no more regular or security updates, pkgsrc no longer supports the 8.0 branch either – so yeah, time to upgrade.

NetBSD 8.3 brings various updates and bug fixes for libX11, xterm, tmux, and httpd, and the root name servers and time zone data have been updated to their latest iterations as well. There’s of course a full list of changes to peruse through if you want to know every little detail that’s changed. You can update your installation in-place, of course, or download the installation media for 8.3 from one of the many mirrors.

Just a bunch of scanners (JBOS?)

This is the story on how I spent far too much money and time getting a scanner to work over iSCSI so that I could prove “Chris O” wrong on StackExchange. The TL;DR is that yes scanners work fine over iSCSI.

↫ xssfox

The next step is connecting a bunch of flatbed scanners to a disk array enclosure, but that turns out to be quite an expensive little exercise. Regardless, this is absolutely wild, and I love it when people go to great lengths just to prove that something pointless can actually be done. Bravo.

LPCAMM2 memory is finally here

But today we got our hands on LPCAMM2 for the first time, and this looks like the future to us. LPCAMM2 is a totally modular, repairable, upgradeable memory standard for laptops, using the latest LPDDR chips for maximum speed and efficiency. So instead of overpaying (or under-speccing) based on guesswork about your future memory needs, you’ll hopefully be able to buy your next laptop and then install more RAM as needed. Imagine that!

↫ Carsten Frauenheim

LPDDR memory, used in modern laptops, has been difficult – or impossible – to upgrade because its low power nature means it needs to be located as close to the processor as possible with short traces, since the longer the traces, the more power is needed to maintain signal integrity between the processor and RAM. This would defeat the entire purpose of low-power DDR memory to begin with.

Originally developed by Dell and eventually adopted by JEDEC and the wider industry, LPCAMM2 solves this problem by using screw-down RAM modules located right next to the processor. These modules can, like regular memory modules, be replaced and upgraded when needed or desired. This is a great leap forward, and I really, really hope we’re going to see quick, widespread adoption.

GCC 14.1 released

GCC 14.1 has been released, and it should come as no surprise that the new features are not exactly something I, someone who doesn’t program, can properly parse. So, here’s the three items GCC itself thought were important to list first.

The C frontend when targeting standards newer than C89 now considers many non-standard constructs as errors that were previously only warnings. See https://gcc.gnu.org/gcc-14/porting_to.html#warnings-as-errors for more details. C23 _BitInt Bit-precise integer types are now supported, for now only on IA-32, x86-64 and AArch64.

The C++ frontend now implements several C++26 features, some missing C++23 bits and defect report resolutions. Diagnostics involving C++ templates now quote source from the instantiation context.

The libstdc++exp.a library now includes all symbols for the Filesystem TS and the experimental symbols for the C++23 std::stacktrace class, so -lstdc++exp can be used instead of -lstdc++fs. The libstdc++_libbacktrace.a library is not longer installed. Improved experimental support for C++20, C++23, and C++26. Updated parallel algorithms that are compatible with oneTBB.

↫ GCC 14.1 release announcement

GCC 14.1 is available for download, of course, but most of us will get it once it hits our distribution’s package repositories.

Stack Overflow signs deal with OpenAI, bans users trying to alter answers

We’re all aware of Stack Overflow – it’s a place where programmers and regular users can ask technical questions, and get answers from anyone who thinks they know the answer. Stack Overflow has become so ubiquitous among programmers and developers, the concept of “I just copied the code off Stack Overflow” has become a consistent meme to indicate you don’t fully grasp how something works, but at least it works.

If you’ve ever contributed answers to Stack Overflow, you might want to consider deleting them, altering them, or perhaps even go as far as request a GDPR removal if you’re in the European Union, because Stack Overflow has just announced a close partnership with “AI” company OpenAI (or, more accurately, “Open” “AI”). Stripped of marketing speak, the gist is exactly as you’d expect: OpenAI will absorb the questions and answers on Stack Overflow into its models, whether their respective authors like it or not.

As much as you may want to try and delete your answers if you’re not interesting in having your work generate profit for OpenAI, deleting popular questions and answers is not possible on Stack Overflow. The other option is altering your answers to render them useless, but it seems Stack Overflow is not going to allow you to do this, either. Ben Humphreys tried to alter his highest-rated answers, and Stack Overflow just reverted them back, and proceeded to ban him from the platform.

Stack Overflow does not let you delete questions that have accepted answers and many upvotes because it would remove knowledge from the community.

So instead I changed my highest-rated answers to a protest message.

Within an hour mods had changed the questions back and suspended my account for 7 days.

↫ Ben Humphreys

Now that they’ve made what is most likely an incredibly lucrative deal with OpenAI that’s going to net Stack Overflow’s owners boatloads of money, they obviously can’t let users delete or alter their answers to lower the monetary value of Stack Overflow’s content. Measures to prevent deletion or alteration are probably one of the clauses in the agreement between Stack Overflow and OpenAI. So there’s likely not much you can do to not have your answers sucked into OpenAI, but you should at least be aware it’s happening in case of future answers you might want to contribute.

Running NetBSD on OmniOS using bhyve

I want to run GoToSocial on some *BSD system. Because I am who I am, I went for using NetBSD 10.0 . And because my hypervisor is running bhyve on OmniOS , you get the title of this blog post.

Don’t get too anxious, it is quite straightforward. So let the journey begin.

↫ Joel Carnat

Bhyve is a hypervisor originating from FreeBSD, while OmniOS is a distribution of illumos, a continuation of the last open source Solaris release from Oracle. GoToSocial, meanwhile, is an ActivityPub social network server, so it belongs in the same family as Mastodon, Glitch, Akkoma, and countless others. This guide makes this whole process look like a piece of cake, so if you’ve ever been interested in running your own ActivityPub server – read on.

On a slightly related sidenote, there’s no OSNews AT instance, partly because I don’t want to deal with the moderation and costs, and partly because I’m incredibly happy being a member of Exquisite, a Glitch instance running on OpenBSD, managed by OpenBSD enthusiasts. Never say never, of course, but the odds of seeing an OSNews AT instance in the future are very slim.

The VGA attribute controller is weird

The grabber in Windows 3.1 was improved to save and restore the index register as well, but it does not attempt to restore the flip-flop state, which is significant. The problem with the VGA emulation was that it erroneously applied the flip-flop state to reads from port 3C0h, and Windows 3.1 would save the wrong index register value… but only the second time through, because the flip-flop state was different at that point. That is to say, the Windows 3.1 standard mode grabber read from port 3C0h to query the attribute controller index register state, but the emulation returned the currently selected data register contents instead.

And then, when restoring the attribute controller index register the next time around, the register would be restored to the wrong value which didn’t have bit 5 set, causing the screen to go blank.

↫ Michal Necasek

It’s not every day that you learn how an aspect of the workings of VGA causes a blank screen under very specific circumstances when running Windows 3.1 in Standard mode under emulation, and that this specific aspect of the workings of VGA was implemented to maintain backwards compatibility with EGA.

Absolutely bonkers.

PowerPC 40x processor support to be dropped from the Linux kernel

In addition to Linux 6.10 expected to drop support for very old DEC Alpha processors (EV5 and earlier), it looks like the PowerPC 40x (early PowerPC 400 series) processor and platform support will be retired too.

Back in 2020 was a proposal for dropping PowerPC 40x support from the Linux kernel given that the code was orphaned for a long time with no apparent users. The PowerPC 40x processors were found in thin clients, set-top boxes, and other devices during the 90’s. Finally now it looks like that the PowerPC 40x removal is set to happen.

↫ Michael Larabel

Spring cleaning in the hardware support department. I wonder what has more users – Windows on ARM, or Linux on PowerPC 40x.

First-generation Windows on ARM PCs will not be able to run Windows 11 24H2

Windows 11 supports a variety of ARM processors from Qualcomm. According to the official documentation, you need a computer with the Snapdragon 850 processor inside or newer to run the current operating system officially. However, customers with PCs powered by the Snapdragon 835, the original Windows on ARM chip from 2016, can bypass hardware requirements and install Windows 11 at their own risk. Sadly, those days will be ending soon.

Starting with Windows 11 version 24H2, Microsoft’s operating system requires ARM v8.1 to run. An attempt to boot it from a device with an ARM v8.0-based processor results in system crashes. For reference, the Snapdragon 835 from 2016 is a chip with Kryo 280 cores, which are derivative of ARM’s Cortex-A73 cores.

↫ Taras Buria at Neowin

I’m sure all three Windows on ARM users are devastated.

Snikket: this week’s sponsor

Snikket is a FOSS project for creating private chat spaces for small groups, such as families, friends, or clubs. It doesn’t depend on a phone number, doesn’t upload address books anywhere, and doesn’t sell data to advertisers. It supports all the features you expect, including media and voice messages, audio and video calls, end-to-end encryption, group messaging, and more. Use it from multiple devices at once with the official apps, or even with unofficial, third-party apps. Snikket is easy to self-host, and professional managed hosting is also available.

Our previous sponsor, JMP, opted to donate a free week’s sponsorship to Snikket, which any paying OSNews sponsor can opt to do. This is our very small way of giving something back to the countless open source and/or smaller projects out there. Thank you Snikket for sponsoring OSNews!

With PowerPC, Windows CE and the WiiN-PAD slate, everyone’s a WiiN-er (except Data General)

That’s right: it’s PowerPC, the most unloved of the architectures CE ever ran on — in fact, this is the first PowerPC Windows CE device I’ve ever found, and I’m the self-described biggest pro-PowerPC bigot in the world. Here’s an unusual form factor Windows CE device, running on the operating system’s least used CPU, from a storied computer company near the end of its run, intended for medical applications, produced in very small numbers and cancelled within months.

What are we going to do with it? Well, what do you think we’re gonna do with it? We’re going to program it, so that we can finally have some software! And, of course, since this wacky thing was there at the bitter end, we’ll talk more about the last days of Data General and what happened next.

↫ Cameron Kaiser

I knew Windows CE supported PowerPC, but I never knew any PowerPC-based Windows CE devices ever actually shipped and made it to market. Only Windows CE 2.0 seems to have supported the architecture, and it seems to have been eliminated in 3.0 and 4.0, so it’s not surprising there weren’t many PowerPC Windows CE devices out there. The device that’s the subject of this article, too, only lasted on the market for a few months, so it’s definitely a rarity.

Palm OS gets a TOTP application

Still rocking your Palm OS device, but mutter under your breath every time you need to log into a website or service with two-factor authentication? Sick of carrying around an Android or iOS device just so you can log in on your Palm PDA? Worry no more, your prayers have been answered, you can finally throw that Android or iOS garbage into the sun.

Get your 2-factor codes on your Palm, just like Google Authenticator. Unlike Hotpants (an old port of a J2ME phone app), this version takes up much less space and supports all Palm OS versions.

↫ Nathan Korth

You can now generate 2FA codes on your Palm device. This is wild, and I absolutely love it. I might if set it up on one of my dozens of Palm OS devices and just put it next to my keyboard for easy access. There’s no cooler way to handle 2FA than this.

Thanks to our outgoing sponsor: JMP

We’d like to thank this past week’s sponsor JMP for sponsoring OSNews. As a reminder, JMP is a fully FOSS service providing a way to get a real phone number that operates over the internet using XMPP. They provide numbers in the USA and Canada with everything you need to access SMS/MMS/etc. and voice calls using your XMPP (or SIP) clients of choice across all your devices. They are committed to growing the use of open communications technology such as XMPP, ultimately working to help people move their communication off the unencrypted telephone network and onto the federated, encrypted, and diverse Jabber network.

Once again, thanks to JMP for sponsoring OSNews!