Thom Holwerda Archive

SeaweedFS: a simple and highly scalable distributed file system

SeaweedFS is a simple and highly scalable distributed file system. There are two objectives: to store billions of files!, to serve the files fast! SeaweedFS started as an Object Store to handle small files efficiently. Instead of managing all file metadata in a central master, the central master only manages volumes on volume servers, and these volume servers manage files and their metadata. This relieves concurrency pressure from the central master and spreads file metadata into volume servers, allowing faster file access (O(1), usually just one disk read operation). There is only 40 bytes of disk storage overhead for each file’s metadata. It is so simple with O(1) disk reads that you are welcome to challenge the performance with your actual use cases. ↫ SeaweedFS’s GitHub page It’s Apache-licensed and the code is, as usual, on GitHub.

Evaluation of RUST usage in space

The proposed activity is to evaluate the usage of Rust programming language in space applications, by prototyping an RTOS targeting ARM Cortex-M7 SAMV71 microcontroller together with the required BSP (Board Support Package) and a Demonstration Application. Rust safety features and its growing usage make this programming language a viable option in the space sector. It is proposed to first develop a lightweight real time operating system providing a minimal set of capabilities required for development of flight application software. This system will provide an executor, tasklets mechanisms and BSP for SAMV71. The design of the system will be guided to support potential future qualification activities. Although the project is a study, ECSS software development practices will be used to facilitate potential application in ESA projects. The practical feedback from ECSS application in Rust projects will be reported. In the second part of the activity, a small demonstration application software will be developed, providing a minimal feature-set representative of a CubeSat class project – UART communication, mode management and sensor handling. This application will showcase the viability of the developed RTOS and provide input to a Lessons Learned report, describing the encountered issues, potential problem and improvement areas, usage recommendations and proposed way forward. ↫ The European Space Agency Rust, but in space. The code’s on GitHub.

The European regulators listened to the Open Source communities

Many OSI Affiliates engaged with the European Commission, European Parliament and European Council during 2023. With the welcome coordination of Open Forum Europe, a group met regularly to keep track of progress explaining the issues. Many of us also committed time and travel to meet in-person. As a result of all this effort from so many people, the final text of the CRA mitigated pretty much all the risks we had identified to individual developers and to Open Source foundations. ↫ Simon Phipps (yes, the Simon Phipps) Many in the open source community were deeply worried about the EU’s Cyber Resiliency Act’s impact on open source software, and rightfully so. It’s great to hear that the EU communicated and cooperated closely with the open source community to ensure the impact of the CRA on open source would be minimal, and it turns out they listened. Excellent news.

Google Search’s cache links are officially being retired

Google has removed links to page caches from its search results page, the company’s search liaison Danny Sullivan has confirmed. “It was meant for helping people access pages when way back, you often couldn’t depend on a page loading,” Sullivan wrote on X. “These days, things have greatly improved. So, it was decided to retire it.” ↫ Jon Porter at The Verge Google Search continues to become ever more useless.

Redox gets more Linux utilities, changes resource path format, and more

The Redox project has published an overview of the progress made in January, and it’s a long list. Redox now supports the Raspberry Pi 3 Model B+, a few of System76’s Cosmic Desktop applications now run on Redox, several more Linux applications haven been ported (most notably for me, nano, my CLI text editor of choice), and much more. The most important change is an overhaul of how Redox handles resource paths: Redox has a microkernel core, with drivers and other resource providers running as tasks and providing “schemes”. A scheme is the name of a resource provider, and until now, resources have been accessed using URI/URL format. For example, files would be accessed as file:path/to/my_file, and a TCP connection would be accessed as tcp:127.0.0.1. This format, while forward-looking, has not been very backwards-compatible. In order to simplify our efforts to port Linux software to Redox, we have decided to change our resource path format to the Linux-compatible /scheme/scheme_name/path/to/resource. Paths that do not begin with /scheme will be assumed to refer to the file scheme, so /path/to/my_file is treated by the system as /scheme/file/path/to/my_file, but the application will only see the /path/to/my_file portion. Using this format, normal paths now look just like Linux paths, while drivers and other resources can still be addressed without breaking software. ↫ Ron Williams The change is an ongoing process, so you might encounter some issues related to it in the coming time.

Bootable Windows on ReFS still not ready for prime time due to lack of wider compatibility

That was back in August and since then, there has not been anything too noteworthy in terms of Windows bootability support on ReFS. Meanwhile, Microsoft has also not updated the officially supported ReFS version up from 3.10 yet, and as such, trying to run Windows on any newer ReFS version leads to an immediate crash on the newest Canary build 26040. Apparently, the crash is worse than it was on previous builds as it now throws up no recovery messages either. ↫ Sayan Sen at NeoWin It seems like NTFS will be with us for quite a while longer.

ReactOS details its new graphical installer

The ReactOS project is working on a new graphical installer to replace the older, text-mode one. In the first blog post about this effort, from December 2023, developer hbelusca details their work on setupapi, the module that enables “reading and processing INF files, moving/copying files from an installation source media to a target, supporting also extraction from compressed .CAB cabinet files”, as well as device installation functions. The second post dives into partitioning during installation, which involves a lot of very delicate work, from partitioning to installing the bootloader, and from copying files to modifying the registry. On top of that, this needs a GUI, and preferably one that’s better and more versatile than the well-known blue text-mode setup we all know from old versions of Windows. The new GUI presents more options, allows for bootloader settings, and, of course, partitioning in a non-destructive way before committing. In addition, while the blue text-mode setup can only go forward, the new GUI is bidirectional. The third and final post dives into testing all this work and fixing bugs. The post goes into great detail describing a number of bugs and their fixes, and is well worth a read, too.

Windows 11 is getting native sudo command

Microsoft is testing native Sudo command support for Windows 11. The support for native “Sudo” command was spotted in a leaked Windows Server preview build, accidentally published to the Windows Update servers over the weekend. ↫ Mayank Parmar It’s kind of wild that something like sudo doesn’t exist in Windows.

Making a PDF that’s larger than Germany

A few times a year, a claim will make the rounds that the largest PDF you can make is a square covering about the middle section of Germany – 381 km × 381 km. Turns out, this is only the maximum size Acrobat Reader can display, and not the limit of the format itself at all. So, how big can you go? Very big: If you’re curious, that width is approximately the distance between the Earth and the Moon. I’d have to get my ruler to check, but I’m pretty sure that’s larger than Germany. I could keep going. And I did. Eventually I ended up with a PDF that Preview claimed is larger than the entire universe – approximately 37 trillion light years square. Admittedly it’s mostly empty space, but so is the universe. If you’d like to play with that PDF, you can get it here. Please don’t try to print it. ↫ Alex Chan Don’t worry, I’m out of magenta anyway.

The Sega AI Computer (セガAIコンピューター)

Around late 1986, Sega released the “Sega AI Computer”. This is one of Sega’s least well known and rarest systems. Not much is known about this system apart from a small amount of information in Japanese and American flyers and press articles. The information we have is still piecemeal and may be partly inaccurate. Today we are making public, for the first time: all system roms extracted from the Sega AI Computer, data dumps from 26 my-cards and 14 tapes, many scans and photographs, and in collaboration with MAME developers, an early working MAME driver allowing this computer to be emulated. ↫ SMS Power! Incredible. Usually stuff like this is relegated to a YouTube video, with potential archival efforts pushed to the background since it’s boring and won’t get any views. This is an amazing effort.

Google to optionally ingest your Google Messages history into its “AI”

Researchers have just unveiled a pre-release, game-changing AI upgrade for Google Messages. But it’s one with a serious privacy risk—it seems that Bard may ask to read and analyze your private message history. So how might this work, how do you maintain your privacy, and when might this begin. ↫ Zak Doffman As long as this “AI” hoovering is an optional ‘feature’, I don’t really have any issues with it – it’s a free world, and if you want to spice up your autocomplete like this, go ahead. The real danger, of course, is that this won’t be optional for long, and eventually Google’s “AI” will just ingest your messages and emails by default, consent or no.

Raspberry Pi is planning a London IPO, but its CEO expects “no change” in focus

The business arm of Raspberry Pi is preparing to make an initial public offering (IPO) in London. CEO Eben Upton tells Ars that should the IPO happen, it will let Raspberry Pi’s not-for-profit side expand by “at least a factor of 2X.” And while it’s “an understandable thing” that Raspberry Pi enthusiasts could be concerned, “while I’m involved in running the thing, I don’t expect people to see any change in how we do things.” ↫ Kevin Purdy at Ars Technica Expect changes in how they do things.

Apple Vision Pro review: magic, until it’s not

A number of reviews for Apple’s new VR headset have been published, but the only one I think is worth reading is, surprisingly, the one published by The Verge. Both the written and video review are excellent, and go into every possible little detail of the new device. Nilay Patel concludes: The basic gist is that the Vision Pro is simply cumbersome and unpleasant to use, exactly what many people have been suspecting since the day it was unveiled. I’ve been asking a very simple question on Mastodon nobody has been able to answer yet: is there anything you do on your phone, laptop, or desktop, that the Vision Pro can do better, easier, quicker? Now that the reviews are here, not even the people using it can provide an answer. And think about that last point in the list above. It’s a private computer that’s always looking at your hands.

Oracle quietly extends Solaris 11.4 support until 2037

Oracle has quietly extended paid support and upgrades for Solaris 11.4 to 2037 – three years past its previous deadline – and did the same for earlier versions of the OS last year. ↫ Simon Sharwood at The Register One of the biggest “what could have beens” of the past two decades. Had Oracle not closed Solaris up after acquiring Sun, an open source Solaris might’ve been something more tangible than what it is today. Of course, Oracle gonna Oracle and they were always going to screw things up, open source or not, but had Solaris stayed open we’d have had a more concerted, centralised development effort instead of what we have now, where the open source Solaris community is working off the last OpenSolaris codebase from 14 years ago.

New renderers for GTK

Recently, GTK gained not one, but two new renderers: one for GL and one for Vulkan. Since naming is hard, we reused existing names and called them “ngl” and “vulkan”. They are built from the same sources, therefore we also call them “unified” renderers. As mentioned already, the two renderers are built from the same source. It is modeled to follow Vulkan apis, with some abstractions to cover the differences between Vulkan and GL (more specifically, GL 3.3+ and GLES 3.0+). This lets us share much of the infrastructure for walking the scene graph, maintaining transforms and other state, caching textures and glyphs, and will make it easier to keep both renderers up-to-date and on-par. ↫ GTK Development Blog This is well above my paygrade, but I’m sure it’s still of interest to y’all.

In loving memory of square checkbox

But despite all this chaos and temptation, operating system vendors knew better. To this day, they follow THE convention: checkboxes are square, radio buttons are round. Maybe it was part of their internal training. Maybe they had experienced art directors. Maybe it was just luck. I don’t know — it doesn’t really matter — but — somehow — they managed to stick to the convention. Until this day. Apple is the first major operating system vendor who had abandoned a four-decades-long tradition. Their new visionOS — for the first time in the history of Apple — will have round checkboxes. ↫ Nikita Prokopov Unsightly. A lack of taste always betrays itself.

Microsoft stole my Chrome tabs, and it wants yours, too

Last week, I turned on my PC, installed a Windows update, and rebooted to find Microsoft Edge automatically open with the Chrome tabs I was working on before the update. I don’t use Microsoft Edge regularly, and I have Google Chrome set as my default browser. Bleary-eyed at 9AM, it took me a moment to realize that Microsoft Edge had simply taken over where I’d left off in Chrome. I couldn’t believe my eyes. I never imported my data into Microsoft Edge, nor did I confirm whether I wanted to import my tabs. But here was Edge automatically opening after a Windows update with all the Chrome tabs I’d been working on. I didn’t even realize I was using Edge at first, and I was confused why all my tabs were suddenly logged out. ↫ Tom Warren at The Verge I would never accept such disregard for users from my computer.

Tiny11 creates a 100MB version of Windows 11 by axing the windows

If you know your Windows history, you’ll know that the operating system got that name when it moved away from using pure MS-DOS and started using a graphical user interface to show things. As it turns out, you can force Windows 11 back to its legacy roots and reduce it back to a command-line interface. This is what the developer of Tiny11 has achieved, calling their new creation “Minwin.” The developer of Win11, NTDev, posted a video on YouTube about their project. There’s absolutely nothing flashy here; no Copilot, no Start menu, and definitely no UI. It’s as graphically complex as the Command Prompt, which meant that NTDev had to resort to fancy 00s-era ASCII logos to announce that Minwin was working. ↫ Simon Batt at XDA Definitely a neat proof-of-concept, and it shows just how modular Windows could be if only Microsoft allowed its users to take out the parts they don’t need. I wonder how close this is to Nano Server, an installation option for Windows Server you’ve probably never heard of. I also like the nod to MinWin, the informal codename Microsoft used internally to refer to an effort by a small number of expert Windows kernel engineers to untangle the spaghetti ball of dependencies that had sprouted between the various architectural layers of Windows. This project started around Vista, and eventually made it possible to make broader, sweeping changes to Windows without breaking things all over the place because the spaghetti ball of internal, low-level dependencies wasn’t mapped out.

Two months in Servo: better inline layout, stable Rust, and more

Another month, another pile of improvement to Servo, the rendering engine written in Rust, originally a Mozilla project. This month the proof-of-concept browser UI got forward and backward buttons, making this bare-bones UI just a tiny bit more usable. Of course, the vast majority of changes and improvements are all focused on the actual rendering engine, which makes sense because Servo definitely isn’t ready for any prime time use – nor is anyone claiming it is. I’m incredibly curious to see where Servo goes in the future.