Monthly Archive:: November 2018

Facebook considered selling user data

Internal Facebook documents seized by British lawmakers suggest that the social media giant once considered selling access to user data, according to extracts obtained by the Wall Street Journal. Back in April, Facebook CEO Mark Zuckerberg told congress unequivocally that, "We do not sell data." But these documents suggest that it was something that the company internally considered doing between 2012 and 2014, while the company struggled to generate revenue after its IPO.

This just goes to show that no matter what promises a company makes, once the shareholders come knocking, they'll disregard all promises, morals, and values they claim to have.

UTF-7: a ghost from the time before UTF-8

On Halloween this year I learned two scary things. The first is that a young toddler can go trick-or-treating in your apartment building and acquire a huge amount of candy. When they are this young they have no interest in the candy itself, so you are left having to eat it all yourself.

The second scary thing is that in the heart of the ubiquitous IMAP protocol lingers a ghost of the time before UTF-8. Its name is Modified UTF-7.

Go 2, here we come!

A major difference between Go 1 and Go 2 is who is going to influence the design and how decisions are made. Go 1 was a small team effort with modest outside influence; Go 2 will be much more community-driven. After almost 10 years of exposure, we have learned a lot about the language and libraries that we didn't know in the beginning, and that was only possible through feedback from the Go community.

The Go team s revealing some things about the future of the programming language.

Haiku R1/beta1 in Vagrant

Over the last year, I have been slowly pushing patches upstream to Vagrant introducing native Haiku support. Vagrant is an open-source tool to build and maintain portable virtual development environments. Essentially, Vagrant lets you deploy and rapidly customize a Haiku virtual machine with programmatic scripts.

Since we now have a new stable release, I have prepared some updated R1/beta1 images to play with under an official Haiku, Inc. account.

If I understand this correctly, this is the easiest way to setup a Haiku development environment. As someone who intends to snag up a decent used laptop to fully dedicate to Haiku, I will do whatever I can - no matter how little - to entice people to create applications for Haiku.

Google makes a case to never buy a Pixel at launch again

Google’s Pixel phones are far from perfect, but they are getting better year by year. Despite various flaws, they remain some of our favorite phones on the market. However, with the Pixel 3, Google has made it abundantly clear that almost no one should ever buy one of its phones at launch.

Coincidentally, I just bought a new phone to replace my iPhone X, and while the Pixel devices are not available in The Netherlands (they are only available in like 4 countries), as a thought exercise, I did include the Pixel in my deliberations as to what phone to buy. And you know what? Aside from its exceptional camera, the Pixel phones don't really seem to offer any benefits over other Android phones, while still being quite expensive.

The only redeeming quality is updates, but since OnePlus has been excellent with Android updates, I opted to buy the OnePlus 6T, which also happens to be considerably cheaper, despite having pretty much the same specifications. Virtually every single review also noted that the 6T had superior performance to the Pixel 3, which seems to have considerable performance issues.

With devices like the 6T on the market, is there really any reason to buy a Pixel at all?

Amazon developed its own ARM core for its own cloud services

Today we are launching EC2 instances powered by Arm-based AWS Graviton Processors. Built around Arm cores and making extensive use of custom-built silicon, the A1 instances are optimized for performance and cost. They are a great fit for scale-out workloads where you can share the load across a group of smaller instances. This includes containerized microservices, web servers, development environments, and caching fleets.

Interesting to see Amazon design its own ARM core specifically for its own product.

Stories of harsh working conditions in the video game industry

For many people, the chance to make PS4 and Xbox games is a dream job - but the reality of working conditions in the video game industry can be six-day working weeks, 24-hour shifts and unrelenting stress. Sam Forsdick speaks to the employees who have experienced the dark side of the industry.

Nobody - from cleaner to programmer - should be working or should be expected to work these kinds of hours in these kinds of conditions. It's inhumane and should be illegal in any functioning modern society. This is barbaric.

McKernel: a light-weight multi-kernel operating system

IHK/McKernel is a light-weight multi kernel operating system designed specifically for high performance computing. It runs Linux and McKernel, a lightweight kernel (LWK), side-by-side on compute nodes primarily aiming at the followings:

  • Provide scalable and consistent execution of large-scale parallel applications and at the same time rapidly adapt to exotic hardware and new programming models
  • Provide efficient memory and device management so that resource contention and data movement are minimized at the system level
  • Eliminate OS noise by isolating OS services in Linux and provide jitter free execution on the LWK
  • Support the full POSIX/Linux APIs by selectively offloading system calls to Linux

Antitrust, the App Store, and Apple

Yesterday the Supreme Court held a hearing in the case Apple Inc. v. Pepper. “Pepper” is Robert Pepper, an Apple customer who, along with three other plaintiffs, filed a class action lawsuit alleging that App Store customers have been overcharged for iOS apps, thanks to Apple’s 30% commission that Pepper alleges derives from Apple’s monopolistic control of the App Store.

There are three points to make about this case.

A great examination of the case by Ben Thompson.

Fortran is still a thing

In 2017 NASA announced a code optimization competition only to cancel it shortly after. The rules were simple. There is a Navier-Stokes equations solver used to model aerodynamics, and basically, the one who makes it run the fastest on the Pleiades supercomputer wins the first prize.

There were a few caveats though. The applicant had to be a US citizen at least 18 years of age, and the code to optimize had to be in Fortran.

Huawei is testing Google’s Fuchsia OS on the Honor Play

In a Thanksgiving surprise, a new code change has revealed the first Android smartphone to be used as a testbed for Fuchsia, Google's in-development operating system for devices of all kinds. The bigger surprise - it's a Huawei.

Fuchsia is still such a mystery - there's clearly a lot of effort being put into it, but at this point, we still have no solid word on that, exactly, Google intends to do with it.

US top court hears Apple App Store antitrust dispute

When iPhone users want to edit blemishes out of their selfies, identify stars and constellations or simply join the latest video game craze, they turn to Apple Inc's App Store, where any software application they buy also includes a 30 percent cut for Apple.

That commission is a key issue in a closely watched antitrust case that will reach the U.S. Supreme Court on Monday. The nine justices will hear arguments in Apple’s bid to escape damages in a lawsuit accusing it of breaking federal antitrust laws by monopolizing the market for iPhone apps and causing consumers to pay more than they should.

The outcome of this case could have far reaching consequences for Apple.

Dayna MacCharlie

After a tweet from Paul Rickards about a product called MacCharlie, I just had to dive a bit deeper, and I found this short article on Low End Mac.

Although PC compatibility isn't a big deal since Apple's transition to Intel CPUs in 2006, there is a long history of PC emulation and DOS cards that let Macs run PC operating systems and software. Dayna's MacCharlie was the first solution to the "problem" of PC compatibility.

Introduced on April 2, 1985, MacCharlie was taken by many to be an April Fools joke. MacCharlie was essentially a DOS PC that clipped to a Macintosh. The MacCharlie device had 256 KB of RAM, a double-sided 5-1/4" floppy drive, and a "keyboard extender" that added all of the "missing" keys from a PC keyboard to the Mac's keyboard. MacCharlie could be expanded to 640 KB of RAM (the most PCs of that era could handle) and by adding a second 5-1/4" floppy drive, which is the configuration of MacCharlie Plus.

I've always been fascinated by products like this. I used to have a Sun Ultra V, and one of the products I most wanted to have was one of those x86 expansion cards that basically added an entire Intel PC to an UltraSPARC machine so you could run DOS and DOS programs on your SPARC machine. Similar products have been available for other kinds of non-x86 workstations, and it's still something I want to experience at some point.

Google, Microsoft working on Chrome for Windows 10 on ARM

Windows 10 is catching up with all the other operating systems by offering better support for ARM processors, but this means third-party developers will also need to work on making their apps faster in the new ecosystem. Google now seems to have begun work on Google Chrome for Windows 10 on ARM, with a little help from an unexpected ally.

I am a proponent of ARM laptops, simply because of their long battery life and fanless operation. While I personally do not use Chrome, there are many applications that rely on it, such as Discord, which I do use every single day to hang out with friends and play games. Slack, which I personally don't use but is a hugely popular application, also uses Chrome.

Secure boot in the era of the T2

Enabled by the T2 chipset, new generations of the Macbook Pro and the iMac Pro aim to mitigate many software and hardware-based attacks against the very first pieces of code executed during the initial boot process. By ditching the flash memory chip containing Unified Extensible Firmware Interface (UEFI) firmware and using chipset functionality typically reserved for server architectures, the T2 is able to dynamically provide and validate UEFI payload contents at runtime.

We have spent considerable time looking at the T2 and have written a paper that outlines the technical details of what actually happens when the power button is pressed. The T2 is a great first step in the right direction, but there is still room for improvement when it comes to the secure boot process on an Apple T2-enabled device.

Security at the expense of user ownership and repairability. Pick your poison.

Windows’ kernel once tried to deal with gamma rays

Another great little story from The Old New Thing.

At one point, the following code was added to the part of the kernel that brings the system out of a low-power state:

        ;
        ; Invalidate the processor cache so that any stray gamma
        ; rays (I'm serious) that may have flipped cache bits
        ; while in S1 will be ignored.
        ;
        ; Honestly.  The processor manufacturer asked for this.
        ; I'm serious.
        ;
         invd

I'm not sure what the thinking here is. I mean, if the cache might have been zapped by a stray gamma ray, then couldn't RAM have been zapped by a stray gamma ray, too? Or is processor cache more susceptible to gamma rays than RAM? The person who wrote the comment seems to share my incredulity.

The invd was commented out a few weeks later, but the comment block remains in Windows' kernel code to this day. Amazing.

Bringing the Android kernel back to the mainline

Android devices are based on the Linux kernel but, since the beginning, those devices have not run mainline kernels. The amount of out-of-tree code shipped on those devices has been seen as a problem for most of this time, and significant resources have been dedicated to reducing it. At the 2018 Linux Plumbers Conference, Sandeep Patil talked about this problem and what is being done to address it. The dream of running mainline kernels on Android devices has not yet been achieved, but it may be closer than many people think.

As I always say - Android is the most popular Linux distribution of all time, and by a huge, huge margin. This often makes a lot of people very angry, as they come up with all sorts of additional random imaginary requirements as to what constitutes a Linux distribution. If they manage to get the Android version of the Linux kernel back into mainline, these discussions will probably become even more nebulous - and entertaining.

The IBM z14 microprocessor and system control design

Archaic to most people, IBM mainframes play a pivotal role in our everyday life. Behind the scenes, these state-of-the-art machines process billions of transactions every day. Announced in July of last year, IBM's latest mainframe is the z14, succeeding the z13 which launched back in 2015.

Earlier this year at the 65th International Solid-State Circuits Conference (ISSCC) in San Francisco IBM presented some of the architectural changes between the z13 and z14. The paper was presented by Christopher Berry, a Senior Technical Staff Member for the IBM Systems Hardware Development Team. Mr. Berry led the z14 physical design execution.