Apple, your developer documentation is… Missing

Over the past few months, I have been trying to get up to speed on the Apple developer ecosystem, as part of working on my rewrite project. This means I have been learning Swift (again), SwiftUI, and (barely) the iOS and macOS APIs. It has been terrible. The number of parts of this ecosystem which are entirely undocumented is frankly shocking to me. There’s an entire website dedicated to keeping track of just how undocumented Apple’s APIs are.

The sad saga of Purism and the Librem 5

Today I’m going to tell you a sad tale of a device called the Librem 5 and the company behind it, Purism. As of right now, this story does not have a happy ending. I am writing this series of articles as a protest against the behavior of Purism, a company which claims that transparency and openness are their core values. If they won’t tell the world the truth about the Librem 5, then I’m willing to at least give it a go. Everything in these three articles – part two and part three are available as well – reads like the usual kind of stuff that goes down in mismanaged crowdfunding campaigns, especially those for computer hardware. This is why you should always be extremely skeptical of crowdfunding campaigns, and doubly so for ambitious ones. Worse, though, are the claims that the Librem 5 will, in fact, not be entirely open source as promised. This is a big promise to make, and to the people supporting open source projects such as the Librem 5, this is a massive breach of trust.

Twitter “silenced” dissenting voices during anti-government protests in Egypt

Twitter suspended dozens of accounts critical of the Egyptian president without cause during rare anti-government demonstrations last month, according to new research. Wael Eskandar, an Egyptian researcher specializing in digital rights, found that Twitter had suspended accounts that tweeted words in Arabic like “whore” and “ass-kisser.” Is it really any surprise that Twitter is siding with violent, totalitarian regimes? I mean, this is the same company that refuses to ban nazis and white supremacists because that would overlap with Republican politicians.

PC keyboard: the first five years

The vast majority of PC users today have no memory of what PC keyboards looked like before the standard 101/102-key layout arrived, even though various OEMs do their best to mangle the standard layout in order to minimize usability, especially on laptops. OEM-specific modifications aside, the basic layout of the main block of alphanumeric keys has not changed in over 30 years, since 1986. However, up until that point the PC keyboard layout and the keyboard hardware changed quite a bit, and looking at the 1981-1986 IBM Technical References is key to understanding a) why the standard keyboard scan codes are so complex, and b) why there are so many seemingly odd vendor-specific modifications of the standard layout. With our modern operating systems and crazy fast processors, it’s easy to forget that the PC as a platform is almost 40 years old, and many of the PC standards we don’t even think of as standards have roots that date back that far – and the keyboard is no exception.

Windows 10X details revealed in major leak

Microsoft has mostly kept details of Windows 10X – a version of Windows 10 that has been tailored to dual-screen devices – under wraps. Now, a major leak has given us deep insight into the design and goals behind the development of Windows 10X. Am I crazy for being interested in Windows 10X not for foldable devices or laptops, but for my desktop machines? If this information is accurate, it looks like Windows 10X will be a much more straightforward, simpler version of Windows that doesn’t come with 30 years of baggage and technical debt. Assuming the container technology used to run classic Win32 applications – on which many people depend – doesn’t incur too much of a performance and compatibility penalty, and assuming Microsoft will actually make Windows 10X available for desktops, I’ll be excited to try it out.

Intel’s new Atom microarchitecture: the Tremont core in Lakefield

While Intel has been discussing a lot about its mainstream Core microarchitecture, it can become easy to forget that its lower power Atom designs are still prevalent in many commercial verticals. Last year at Intel’s Architecture Summit, the company unveiled an extended roadmap showing the next three generations of Atom following Goldmont Plus: Tremont, Gracemont, and ‘Future Mont’. Tremont is set to be launched this year, coming first in a low powered hybrid x86 design called Lakefield for notebooks, and using a new stacking technology called Foveros built on 10+ nm. At the Linley Processor Conference today, Intel unveiled more about the microarchitecture behind Tremont. AnandTech takes a look at Intel’s upcoming Atom processors, the processor family mostly reserved for lower-end devices and specific markets such as embedded platforms and even some smartphones. Most of us, however, will remember Atom processors best from the netbook craze, where they enabled small, cheap Windows and Linux laptops to be sold in droves.

Why terminals are 80×25 characters by default

A rollicking and surprisingly political blog post takes us through a fascinating history, connecting 1860-era US bank note presses to the 80×20 terminal standard, passing though the Civil War, the US census, mechanical computers, punch cards, IBM, early display technology, VT100, ANSI, CP/M, and DOS along the way.

Project Treble improved Android update uptake

Google has published some statistics about the effects of Project Treble on Android updates. In late July, 2018, just before Android 9 Pie was launched in AOSP, Android 8.0 (Oreo) accounted for 8.9% of the ecosystem. By comparison, in late August 2019, just before we launched Android 10, Android 9 (Pie) accounted for 22.6% of the ecosystem. This makes it the largest fraction of the ecosystem, and shows that Project Treble has had a positive effect on updatability. That’s definitely good news, but Google still has a long way to go.

Google accused of spying with new tool that flags large employee meetings

Google employees have accused their employer of creating a surveillance tool disguised as a calendar extension designed to monitor gatherings of more than 100 people, a signal that those employees may be planning protests or discussing union organizing. Google parent company Alphabet “categorically” denies the accusation. The accusation, outlined in a memo obtained by Bloomberg News, claims severe unethical conduct from high-ranking Google employees, who they say allegedly ordered a team to develop an Chrome browser extension that would be installed on all employee machines and used primarily to monitor internal employee activity. Employees are claiming the tool reports anyone who creates a calendar invite and sends it to more than 100 others, alleging that it is an attempt to crackdown on organizing and employee activism. The company that earns its money by finding new ways to extract actionable data from us to sell ads more effectively is employing that same kind of technology to prevent its employees from unionising and demanding better working conditions? I’m so surprised.

Tails 4.0 released

We are especially proud to present you Tails 4.0, the first version of Tails based on Debian 10 (Buster). It brings new versions of most of the software included in Tails and some important usability and performance improvements. Tails 4.0 introduces more changes than any other version since years. The list of changes is indeed quite long, and note that it contains quite a number of security fixes too, so you should update as quickly as possible.

Six reasons why iOS 13 and Catalina are so buggy

iOS 13 and macOS 10.15 Catalina have been unusually buggy releases for Apple. The betas started out buggy at WWDC in June, which is not unexpected, but even after Apple removed some features from the final releases in September, more problems have forced the company to publish quick updates. Why? Based on my 18 years of experience working as an Apple software engineer, I have a few ideas. Interesting look at the inner workings of Apple and how they may contribute to Apple’s recent struggles.

My transition to an Ubuntu workstation

I’ve been using Ubuntu as my workstation OS for several months now. Ubuntu Server with the i3 window manager to be specific. I love it, and I’ve had to change my workflow a lot to make it work for me. But now that I’ve made the switch to it from Mac and Windows, I’m very happy with it. I’ll be honest, there’s not a ton of hard evidence that working on a Linux distro is objectively better than working on Windows or Mac. I have almost equal amounts of time spent working on each of these platforms, and I think each one excels at something different. With that in mind, I think Ubuntu just feels right for the priorities I have now. So what have I gained, what have I lost, and what did I learn along the way? While switching platforms is not always an easy task to accomplish – especially for people with very specific platform-specific software needs like, say, Xcode – I am convinced people convince themselves it’s harder than it really is. You can learn a lot from switching platforms, and test runs can teach you where your dependencies lie and how to overcome them, which is a wise thing to do, especially when you’re relying on proprietary tools that have turned into single points of failure beyond your control.

Xfce 4.16 development phase starting

Xfce developers have detailed their plans for the next release, and it includes a change that might ruffle some feathers. We will also play with client-side decorations where we feel it makes sense (for instance replacing the so-called XfceTitledDialog, that is used for all settings dialogs with a HeaderBar version). Before anyone gets too excited (both positively or negatively): It is not planned to redesign more complex applications (like Thunar) with Headerbars in 4.16. We will however try to keep the experience and looks consistent, which means gradually moving to client side decorations also with our applications (please note that client side decorations are not the same as HeaderBars!). Through this change e.g. “dark modes” in applications will look good (see the part about the Panel below). Now before there is a shitstorm about this change I would kindly ask everyone to give us time to figure out what exactly we want to change in this cycle. Also, switching to client-side decorations alone is not a big visual departure – feel free to also dig through the client-side decorations page if you want to read/see more on this. Not everyone likes these, but I think they tend to look better and cleaner, so I’m all for it.

OpenBSD 6.6 released

Theo de Raadt announced the release of OpenBSD 6.6 on October 17, 2019. Marquee features include a new system upgrade tool, an AMD GPU driver, upgrades to core systems daemons ntpd and smtpd, and other platform improvements.

Rebble with a cause: how Pebble watches were granted an amazing afterlife

Rebble is an inspiring repair story, and the way Pebble enabled this second life is a path that every gadget manufacturer should strive to emulate. Pebble created an open (and open-source) environment for developers and enthusiasts. As a direct result, Rebble is saving thousands of gadgets from the bin and building a real community around dogged longevity. Keeping Pebbles running, in the face of much fancier options, knitted the community together. This should be a legal requirement. If a company wants to end the life of a cloud-connected product, they should be legally obliged to open up the code and tools necessary for third parties to keep the product alive.

What is Phantom OS about?

Phantom is, basically, a virtual machine (VM) working in a huge persistent virtual memory. Part of the VM classes (some classes, called ‘internal’) are implemented in kernel, giving VM code access to low level kernel services. Persistent virtual memory is completely orthogonal to object space and VM (no relation between, for example, object boundary and virtual memory page, etc.) and is implemented so that abrupt computer failure or loss of power leaves system in coherent state. On the application code (VM bytecode) level OS shutdown (either manual or caused by failure) is not even ‘seen’ – applications and their data are ‘never die’, they continue their work after the next OS boot up as if no shutdown ever happened. The code of this slickly presented operating system is available on github.

Samsung’s ‘Linux on DeX’ project shuts down after just 11 months

The desktop environment that turns your Samsung phone or tablet into a PC when connected to an external display, nicknamed ‘DeX,’ has been around for a while now. Nearly a year ago, Samsung introduced the Linux on DeX beta, which could run a full Linux OS on top of DeX. Sadly, the project seems to have been discontinued. Samsung is sending out an email to testers explaining that the beta program has ended, and that Linux on DeX will not be supported on devices running Android 10. That’s definitely a bit of a shame. While I haven’t yet tried Dex on my brand new Note 10+, the idea of messing around with a full Linux distribution running on my phone was a neat and interesting concept.

LegoOS: a disseminated, distributed OS for hardware resource disaggregation

LegoOS is a disseminated, distributed operating system designed for hardware resource disaggregation. It is an open-source project built by researchers from Purdue University. LegoOS splits traditional operating system functionalities into loosely-coupled monitors and run them directly on disggregated hardware devices. LegoOS also manages distributed resources and handles hardware component failures in a disaggregated cluster. For more information, please check out our recent awarded paper. You can get LegoOS here.

The US nuclear forces’ Dr. Strangelove-era messaging system finally got rid of its floppy disks

In 2014, “60 Minutes” made famous the 8-inch floppy disks used by one antiquated Air Force computer system that, in a crisis, could receive an order from the president to launch nuclear missiles from silos across the United States. But no more. At long last, that system, the Strategic Automated Command and Control System or SACCS, has dumped the floppy disk, moving to a “highly-secure solid state digital storage solution” this past June, said Lt. Col. Jason Rossi, commander of the Air Force’s 595th Strategic Communications Squadron. These are incredibly difficult systems to upgrade, so this is no small feat.

Ubuntu 19.10 released

The new Ubuntu release is now available. The Ubuntu kernel has been updated to the 5.3 based Linux kernel, and our default toolchain has moved to gcc 9.2 with glibc 2.30. Additionally, the Raspberry Pi images now support the new Pi 4 as well as 2 and 3. Ubuntu Desktop 19.10 introduces GNOME 3.34 the fastest release yet with significant performance improvements delivering a more responsive experience. App organisation is easier with the ability to drag and drop icons into categorised folders and users can select light or dark Yaru theme variants. The Ubuntu Desktop installer also introduces installing to ZFS as a root filesystem as an experimental feature. Ubuntu Server 19.10 integrates recent innovations from key open infrastructure projects like OpenStack Train, Kubernetes, and Ceph with advanced life-cycle management for multi-cloud and on-prem operations, from bare metal, VMware and OpenStack to every major public cloud. While you may not be using the default Ubuntu, lots of people are using Ubuntu-based distributions like Mint, so a new Ubuntu release always affects quite a few people far beyond just Ubuntu users.