Apple M1 microarchitecture research

This is an early attempt at microarchitecture documentation for the CPU in the Apple M1, inspired by and building on the amazing work of Andreas Abel, Andrei Frumusanu, @Veedrac, Travis Downs, Henry Wong and Agner Fog. This documentation is my best effort, but it is based on black-box reverse engineering, and there are definitely mistakes. No warranty of any kind (and not just as a legal technicality). To make it easier to verify the information and/or identify such errors, entries in the instruction tables link to the experiments and results (~35k tables of counter values). Amazing work, but the fact this kind of work is even needed illustrates just how anti-consumer these new Macs really are.

Wait, what? MIPS becomes RISC-V

What a long, strange trip it’s been. MIPS Technologies no longer designs MIPS processors. Instead, it’s joined the RISC-V camp, abandoning its eponymous architecture for one that has strong historical and technical ties. The move apparently heralds the end of the road for MIPS as a CPU family, and a further (slight) diminution in the variety of processors available. It’s the final arc of an architecture. Interestingly, MIPS and RISC-V share an architect in Dave Patterson, and MIPS could be seen as an ancestor of RISC-V.

The Macintosh Application Environment

Thanks to Twitter, here’s an interesting footnote in computing history. As A/UX development was winding down, Apple was working on another project called the Macintosh Application Environment. This was an emulator that allowed users to run Mac software under Sun’s Solaris or Hewlett Packard’s HP-UX. A great deal of A/UX technology went into the design of this ill-fated product. This page is a pictorial tribute to the Macintosh Application Environment, running under Solaris 8 on an Ultra 10 workstation. If you want to try the MAE, you’ll need a Sun box running Solaris 9 or below – The software does not appear to work under Solaris 10. This is absolutely fascinating, and I had no idea this existed.

Intel Core i7-11700K review: blasting off with Rocket Lake

Our results clearly show that Intel’s performance, while substantial, still trails its main competitor, AMD. In a core-for-core comparison, Intel is slightly slower and a lot more inefficient. The smart money would be to get the AMD processor. However, due to high demand and prioritizing commercial and enterprise contracts, the only parts readily available on retail shelves right now are from Intel. Any user looking to buy or build a PC today has to dodge, duck, dip, dive and dodge their way to find one for sale, and also hope that it is not at a vastly inflated price. The less stressful solution would be to buy Intel, and use Intel’s latest platform in Rocket Lake. This is Intel’s 10nm design backported to 14nm. It’s not great, and lags behind AMD substantially, but with the chip shortage, it’s probably the only processor you can get at a halfway reasonable price for the foreseeable future.

Proton has enabled 7000 Windows games to run on Linux

That’s one hell of a number of games. Proton has been receiving many updates in the past few months as well, with the introduction of the Soldier Linux runtime container and Proton Experimental on top of the regular Proton releases. We are still getting about 100 new titles working flawlessly (according to user reports) on a monthly basis, which is a very healthy and steady growth. Another point is the percentage of Windows games working out of the box in Proton over time. The number has been close to 50% since for a long time and seems to be fairly stable. Proton is one of the biggest things to happen to desktop Linux in over a decade – or more.

Google’s FLoC is a terrible idea

On OSNews we recently reported on how Google plans to remove support for third-party cookies. Many have seen this as offering a privacy boost for users, leading to a better Web where targeted ads based on web-browser behaviour are a thing of the past. The EFF takes a different view. Google is leading the charge to replace third-party cookies with a new suite of technologies to target ads on the Web. And some of its proposals show that it hasn’t learned the right lessons from the ongoing backlash to the surveillance business model. This post will focus on one of those proposals, Federated Learning of Cohorts (FLoC), which is perhaps the most ambitious—and potentially the most harmful. FLoC is meant to be a new way to make your browser do the profiling that third-party trackers used to do themselves: in this case, boiling down your recent browsing activity into a behavioral label, and then sharing it with websites and advertisers. The technology will avoid the privacy risks of third-party cookies, but it will create new ones in the process. It may also exacerbate many of the worst non-privacy problems with behavioral ads, including discrimination and predatory targeting.

Flutter 2 is coming with support for Windows and macOS, foldables, and a ton more

The great unicorn of software development is to have one language and framework that enables devs to code an app once and run it on any operating system and any type of device. Flutter has been aiming to do this since its inception, and today it gets quite a bit closer to that goal with the announcement of Flutter 2. The latest major update brings major enhancements for mobile platforms, adds support to desktop, and massively extends its capabilities on the web — among other things. Does anyone here have experience with Flutter? It seems like it’s gaining some steam judging by the increase in news stories about it recently.

Google to stop using your web browsing behaviour for targeted ads

Huge news from Google, who announced today that they are going to stop using your web browsing behaviour to display targeted advertisements. It’s difficult to conceive of the internet we know today — with information on every topic, in every language, at the fingertips of billions of people — without advertising as its economic foundation. But as our industry has strived to deliver relevant ads to consumers across the web, it has created a proliferation of individual user data across thousands of companies, typically gathered through third-party cookies. This has led to an erosion of trust: In fact, 72% of people feel that almost all of what they do online is being tracked by advertisers, technology firms or other companies, and 81% say that the potential risks they face because of data collection outweigh the benefits, according to a study by Pew Research Center. If digital advertising doesn’t evolve to address the growing concerns people have about their privacy and how their personal identity is being used, we risk the future of the free and open web.   That’s why last year Chrome announced its intent to remove support for third-party cookies, and why we’ve been working with the broader industry on the Privacy Sandbox to build innovations that protect anonymity while still delivering results for advertisers and publishers. Even so, we continue to get questions about whether Google will join others in the ad tech industry who plan to replace third-party cookies with alternative user-level identifiers. Today, we’re making explicit that once third-party cookies are phased out, we will not build alternate identifiers to track individuals as they browse across the web, nor will we use them in our products. This is a big step that will have massive consequences for the advertisement industry as a whole, but at the same time, companies do not just give up on revenue streams without having alternatives ready. My hunch would be that Google has become so big and collects data from so many other sources, that it simply doesn’t need your web browsing behaviour and third-party cookies to sell targeted ads effectively.

Arizona advances bill forcing Apple and Google to allow alternative payment options

The Arizona House of Representatives just passed landmark app store legislation in a 31-29 vote on Wednesday that could have far-reaching consequences for Apple and Google and their respective mobile operating systems. The legislation, a sweeping amendment to Arizona’s existing HB2005, prevents app store operators from forcing a developer based in the state to use a preferred payment system, putting up a significant roadblock to Apple and Google’s ability to collect commissions on in-app purchases and app sales. It will now head to the state senate, where it must pass before its sent to Arizona Gov. Doug Ducey. A lot of bribes are going to flow from Apple and Google to Arizona, since if a law like this passes, it could have devastating consequences for these two companies. Obviously, I hope it passes, but I have my doubts local Arizona politicians will be able to withstand those juicy, juicy bribes.

Review: Blackbird Secure Desktop – a fully open source modern POWER9 workstation without any proprietary code

There’s a spectrum of openness when it comes to computers. Most people hover somewhere between fully closed – proprietary hardware, proprietary operating system – and partly open – proprietary hardware, open source operating system. Even if you run Linux on your AMD or Intel machine, you’re running it on top of a veritable spider’s web of proprietary firmware for networking, graphics, the IME, WiFi, BlueTooth, USB, and more. Even if you opt for something like a System76 machine, which has open firmware as a BIOS replacement and to cover some functions like keyboard lighting, you’re still running lots of closed firmware blobs for all kinds of components. It’s virtually impossible to free yourself from this web. Virtually impossible, yes, but not entirely impossible. There are options out there to run a machine that is entirely open source, from firmware all the way up to the applications you run. Sure, I can almost hear you think, but it’s going to be some outdated, slow machine that requires tons of tinkering and deep knowledge, out of reach of normal users or people who just want to buy a computer, take it out of the box, and get going. What if I told you there is a line of modern workstations, with all the modern amenities we’ve come to expect, that is entirely open? The instruction set, the firmware for the various components, the boot environment, the operating system, and the applications? No firmware blobs, no closed code hiding in various corners, yet modern performance, modern features, and a full, modern operating system? Now you’re playing with POWER Most people’s knowledge and experiences with the Power ISA begins and ends with Apple. The company used Power-based processors from 1994 until 2006, when it switched to using processors from Intel and the x86 ISA. Aside from Apple, there are two other major cornerstones of the Power ISA that most people are familiar with. First, game consoles. The GameCube, Wii, Xbox 360 and PlayStation 3 all used PowerPC-based processors, and were all widely successful. Second, various embedded systems use Power processors as well. Aside from Apple, game consoles, and embedded systems, IBM has been developing and using processors based on the Power ISA for a long time now. IBM released the first Power processor in 1990, the POWER1, for its servers and supercomputers. They’ve steadily kept developing their line of processors for decades, and they are currently in the process of rolling out POWER10, which should be available later this year. Other Power ISA processors you may have heard of, such as the PowerPC G4 or G5 or the various gaming console processors, do not necessarily correspond to IBM’s own POWERx generations of processors, but are implementations of the same ISA. The nomenclature of the Power ISA has changed quite a bit over time, and companies like Apple and Sony using their own marketing names to advertise the processors they were using certainly didn’t help. To this day, PowerPC is often used as the name of the entire ISA, which is incorrect. The proper name for the ISA today is the Power ISA, but the confusion is understandable. The Power ISA, and related technologies, have been made freely available by IBM for anyone to use, and the specifications and reference implementations are open source, overseen by the OpenPOWER Foundation. The goal of the OpenPOWER Foundation is to enable the various partners involved in making Power hardware, like IBM, NXP, and others, to work together and promote the use and further development of the open Power ISA. In 2019, the OpenPOWER Foundation became part of the Linux Foundation. With Apple no longer making any Power-based computers, and with game consoles all having made the transition to x86, you may be left wondering how, exactly, you can get your hands on this fully open hardware. And, even if you could, how exotic and quirky is this hardware going to be? Is this another case of buying discard IBM POWER servers and turning them into very loud workstations with tape and glue, or something unrealistic and outdated no sane person would use? Thank god, no. Luckily for us, one company sells mainboards, POWER9 processors, and fully assembled POWER workstations: Raptor Computing Systems. Last year, they sent me their Blackbird Secure Desktop, and after many, many shipping problems caused by UPS losing packages and the effects of COVID-19, I can now finally tell you what it’s like to use this truly fully open source computer. Specifications The Blackbird Secure Desktop is built around Raptor’s Blackbird micro-ATX motherboard. This motherboard has a Sforza CPU socket, 2 DDR4 RAM slots compatible with EEC registered memory with a maximum combined capacity of 256GB, 2 PCIe 4.0 slots (16x and 8x), 2 gigabit Ethernet ports, another Ethernet port used for the BMC (OpenBMC – more on that later), 4 SATA ports (6Gb/s), and more than enough USB options (4 USB 3.0, 1 USB 2.0), and two RS-232 ports (one external, one internal using a header). On top of that, it has a CMedia 5.1 audio chip and associated jacks, an HDMI port driven by the on-board ASpeed graphics chip, as well as the ASpeed BMC. The board also comes with amenities we’ve come to expect from modern motherboards, like fan headers, an internal LED panel that displays the status of the motherboard, standard front panel connectors, a header for external audio, and so on. You also get a number of more exotic features, such as various headers to control the BMC, headers to update the open source firmware packages on the board, a FlexVer connector, and more. The only modern amenity that’s really missing from this board is an M.2 slot, which is something Raptor should really add to future revisions or new boards. In what will be a running theme in this review, for an exotic non-x86 ISA, the Blackbird motherboard is decidedly… Normal. Anyone who knows their way around a regular x86 motherboard won’t be confused by the Blackbird. Nor the

Users are losing out against Big Sur’s sealed System

Big Sur’s sealed System volume seemed like a good idea. Although the read-only version in Catalina may look impregnable, guaranteeing integrity using a Merkle Tree of hashes, then locking the whole lot in a snapshot, looks even more robust. Like other good engineering ideas, though, it also needs thinking through thoroughly. It’s locked down for your own safety, though. Giving up freedom in exchange for safety never hurt anytone, right?

Weird architectures weren’t supported to begin with

This is the heart of the conflict: Rust (and many other modern, safe languages) use LLVM for its relative simplicity, but LLVM does not support either native or cross-compilation to many less popular (read: niche) architectures. Package managers are increasingly finding that one of their oldest assumptions can be easily violated, and they’re not happy about that. But here’s the problem: it’s a bad assumption. The fact that it’s the default represents an unmitigated security, reliability, and reproducibility disaster. I’m sure this will go down well.

Windows 10 update to hide 3D Objects folder in File Explorer

Unfortunately, Microsoft doesn’t allow you to remove 3D Objects and other folders from File Explorer using Control Panel or Settings. If you want to remove these folders, you need to use Registry editor and delete the entry. With the Sun Valley update, Microsoft is looking to reduce the clutter in File Explorer and they plan to hide the 3D Objects folder by default. After the update, this useless folder will no longer be shown under ‘This PC’ unless you right-click and select the “Show all folders” option on the navigation pane. I know this is a small change, and I know it’s insignificant, but these unremovable garbage folders always feel like such a slap in the face. It’s an annoying reminder that when you use Windows, you don’t really own your computer.

The Framework Laptop: repairable, upgradeable, sustainable

At Framework, we believe the time has come for consumer electronics products that are designed to last. Founded in San Francisco in 2019, our mission is to empower you with great products you can easily customize, upgrade, and repair, increasing longevity and reducing e-waste in the process. Today, we are excited to unveil our first product: the Framework Laptop, a thin, lightweight, high-performance 13.5” notebook that can be upgraded, customized, and repaired in ways that no other notebook can. This product – be sure to read the description and features – seems too good to be true. I hope they can keep their promises, because this is exactly what a lot of people are looking for.

A retrospective look at Mac OS X Snow Leopard

But back to my ‘gut-reply’, I wanted to be certain that my fond memories of Snow Leopard weren’t just nostalgia. While I am confident when I say that Snow Leopard is the most stable version of Mac OS, I wanted to make sure its user interface was really the good user interface and experience I was remembering. So, after a few frustrating attempts at creating a virtual machine on my current iMac with Mac OS High Sierra, I decided to install Snow Leopard on a USB flash drive, and boot my 2009 MacBook Pro (yes, it’s still alive & kicking) in Snow Leopard from that flash drive. It seems to be a rather widespread conviction that it’s been downhill for macOS for years now, and I can’t say I disagree. Especially the current version looks like a touch-first operating system, but without a touchscreen. So many huge targets, lots of needless whitespace, things you have to swipe, buttons hidden until you mouse-over – it feels like Apple is trying to out-Windows 8 Windows 8.

Booting the IBM 1401: how a 1959 punch-card computer loads a program

How do you boot a computer from punch cards when the computer has no operating system and no ROM? To make things worse, this computer requires special metadata called “word marks” that can’t be represented on a card. In this blog post, I describe the interesting hardware and software techniques used in the vintage IBM 1401 computer to load software from a deck of punch cards. (Among other things, half of each card contains loader code that runs as each card is read.) I go through some IBM 1401 machine code in detail, which illustrates the strangeness of the 1401’s architecture and instruction set compared to a modern machine. I simply cannot imagine what wizardry these newfangled computers must’ve felt like to the people of the ’50s, when computers first started to truly cement themselves in the public consciousness. Even though they’ve been around for twice as long, I find a world without cars far, far easier to imagine and grasp than a world without computers.

Playstation 2 architecture: a practical analysis

The Playstation 2 was not one of the most powerful consoles of its generation, yet it managed to achieve a level of popularity unthinkable for other companies. This machine is nowhere near as simple as the original Playstation was, but we will see why it didn’t share the same fate of previous complicated consoles. Excellent deep dive into the Playstation 2.