Monthly Archive:: January 2019

25 years ago: RAM Doubler debuts

Adam Engst, writing for TidBITS: First up—check out this piece I wrote from the 1994 Macworld Expo San Francisco: “RAM Doubler” (10 January 1994). Developed by Connectix, RAM Doubler was one of the most magical utilities of the early days of the Macintosh. As its name suggested, RAM Doubler promised to double the amount of usable RAM in your Mac, and amazingly, it generally delivered. That was a big deal back in 1994 because RAM was shockingly expensive—$300 for an 8 MB SIMM at a time when I had 20 MB in my Centris 660AV. For $50, RAM Doubler would double whatever you had: 8 MB to 16 MB, or 20 MB to 40 MB. It was astonishing. I know of RAM Doubler because I heard about it in the past 15 years or so, but since I did not grow up with Macs at all, I have sentimental connection to it whatsoever. Still, such iconic pieces of software always deserve to be remembered.

Oracle v. Google and the future of software development

Google’s Kent Walker, SVP of Global Affairs & Chief Legal Officer, in a company blog post: Today we asked the Supreme Court of the United States to review our long-running copyright dispute with Oracle over the use of software interfaces. The outcome will have a far-reaching impact on innovation across the computer industry. Standardized software interfaces have driven innovation in software development. They let computer programs interact with each other and let developers easily build technologies for different platforms. Unless the Supreme Court steps in here, the industry will be hamstrung by court decisions finding that the use of software interfaces in creating new programs is not allowed under copyright law. This is one of those rare cases where pretty much everyone I know stands firmly behind Google. Oracle’s lawsuit is scummy, dirty, destructive, and spiteful – Larry Ellison was one of Steve Jobs’ closest friends, and Oracle’s lawsuit started right around the time Jobs vowed to go “thermonuclear war” on Android. It doesn’t take a rocket scientist to put two and two together here. I hope the United States Supreme Court shuts this case down in favour of Google and common sense once and for all.

The Intel 80386 and Windows NT, part 1: introduction

Windows NT stopped supporting the Intel 80386 processor with Windows 4.0, which raised the minimum requirements to an Intel 80486. Therefore, the Intel 80386 technically falls into the category of “processor that Windows once supported but no longer does.” This series focuses on the portion of the x86 instruction set available on an 80386, although I will make notes about future extensions in a special chapter. As with all the processor retrospective series, I’m going to focus on how Windows NT used the Intel 80386 in user mode because the original audience for all of these discussions was user-mode developers trying to get up to speed debugging their programs. Normally, this means that I omit instructions that you are unlikely to see in compiler-generated code. However, I’ll set aside a day to cover some of the legacy instructions that are functional but not used in practice. Written by Raymond Chen, so you know it’s good stuff. Part 2, part 3, and part 4 are also already available.

Google urged the US to limit protection for activist workers

Google, whose employees have captured international attention in recent months through high-profile protests of workplace policies, has been quietly urging the U.S. government to narrow legal protection for workers organizing online. During the Obama administration, the National Labor Relations Board broadened employees’ rights to use their workplace email system to organize around issues on the job. In a 2014 case, Purple Communications, the agency restricted companies from punishing employees for using their workplace email systems for activities like circulating petitions or fomenting walkouts, as well as trying to form a union. In filings in May 2017 and November 2018, obtained via Freedom of Information Act request, Alphabet Inc.’s Google urged the National Labor Relations Board to undo that precedent. When Google employees protested their company’s policies en masse in walkouts all over the world – organised through company e-mail – Google’s CEO and leadership publicly supported them. Behind their backs, though, they are trying very hard to make such protests much harder to organise. Charming.

Microsoft Bing blocked in China as tensions, crackdown intensify

Microsoft’s Bing search engine has been blocked in China, rendering yet another Western internet service inaccessible to the world’s largest online population. The search engine, allowed to operate in China because it censors results, became inaccessible to many users Wednesday. The U.S. software giant confirmed Bing could no longer be accessed in China and that it was “engaged to determine next steps.” Any service or company still operational and accessible in China is compromised.

Here’s how to install Windows on ARM on your Lumia 950 or 950 XL

Many of us have seen the videos by now. Developers have figured out how to get full Windows 10 running on a Microsoft Lumia 950 or 950 XL. There’s good news though, as you can now try this out for yourself. There are a few warnings though. For one thing, consider the same warnings that you’d hear when installing a Windows Insider Preview. This is going to be unstable, the performance will be terrible (Windows on ARM is not designed for these chipsets), and you shouldn’t plan on using your phone as your phone. If you’ve got an extra Lumia 950 lying around that you’re not using anymore and want to try a fun project, that’s the optimal use case. There’s really no reason to install full Windows 10 on any Lumia devices, but that doesn’t mean it isn’t a fun project to undertake.

Google poaches 14-year Mac veteran from Apple to bring Fuchsia to market

We learned in 2016 that Google was working on an entirely new operating system called Fuchsia. Development continues with newfeatures and testing on a variety of form factors spotted regularly. Google has since hired 14-year Apple engineer Bill Stevenson to work on its upcoming OS, and help bring it to market. It’s not surprising why Google would want someone with that background and experience to bring up Fuchsia. In a LinkedIn post shared yesterday, Stevenson specifically notes “joining Google to help bring a new operating system called Fuchsia to market.” That’s a serious name Google is adding to the already large Fuchsia team, and the focus on bringing the new operating system to market adds fuel to the fire that Fuchsia is definitely more than just a mere research or vanity project.

Emulator project aims to resurrect classic Mac apps and games without the OS

Want to be able to run classic Mac OS applications compiled for the Motorola 68000 series of processors on your ever-so-modern Mac OS X machine? Or maybe you’d rather run them on a Raspberry Pi, or an Android device for that matter? There’s an emulation project that’s trying to achieve just that: Advanced Mac Substitute (AMS). Emulators of older computer platforms and game consoles are popular with vintage game enthusiasts. But emulators also could be attractive to others with some emotional (or economic) attachment to old binaries—like those with a sudden desire to resurrect aged Aldus PageMaker files. Definitely a very cool project.

Proposed revision to Chrome Extension Manifest could cripple content blockers

A proposed change to Chrome would neuter content blockers: While we’re still waiting for a Chromium-powered version of Microsoft Edge to materialize, we do know that it is intended that the browser will end up supporting Chrome extensions. However, according to a draft of the Chrome Extension Manifest V3 implementation, it appears that there could be some bad news for content blocking solutions designed for the browser. According to the draft, use of the webRequest API currently used by content blockers “will be discouraged (and likely limited) in its blocking form” while a non-blocking implementation would allow nothing more than observation of network activity. Instead, developers will have access to the new declearativeNetRequest API. However, the proposal has drawn the ire from content blocker heavyweights such as Raymond Hill, best known as the author of uBlock Origin and uMatrix. This clearly feels like a slippery slope where eventually all forms of content blocking will be either made impossible or very limited. Google is an advertising company, after all, and content blockers must in some way influence the company’s bottom line. Luckily, there’s always Firefox.

Android Q will include more ways for carriers to SIM lock your phone

Over the weekend, four commits were posted to various parts of Android’s Gerrit source code management, all entitled “Carrier restriction enhancements for Android Q.” In them, we see that network carriers will have more fine-grained control over which networks devices will and will not work on. More specifically, it will be possible to designate a list of “allowed” and “excluded” carriers, essentially a whitelist and a blacklist of what will and won’t work on a particular phone. This can be done with a fine-grained detail to even allow blocking virtual carrier networks that run on the same towers as your main carrier. I’m sure carriers won’t abuse this functionality at all.

Gear S3 gets Tizen 4 update with a host of new features

Samsung is pushing out a big update to the Gear S3 which introduces a host of new features to the smartwatch. It carries the firmware version R760XXU2DSA1 and also bumps the device to Tizen version 4.0.0.2. The update is currently available in the US, with a wider roll out expected in the coming days. An update like this would normally barely even register on my radar, but the fact of the matter is that Samsung’s smartwatches are one of the very few sets of devices running Tizen – along with Samsung smart TVs.

Google is fined $57 million under Europe’s data privacy law

In the first major example, the French data protection authority announced Monday that it had fined Google 50 million euros, or about $57 million, for not properly disclosing to users how data is collected across its services — including its search engine, Google Maps and YouTube — to present personalized advertisements. The penalty is the largest to date under the European Union privacy law, known as the General Data Protection Regulation, which took effect in May, and shows that regulators are following through on a pledge to use the rules to push back against internet companies whose businesses depend on collecting data. Facebook is also a subject of several investigations by the data protection authorities in Europe. Peanuts for a company like Google, but still – the GDPR at work here.

Introducing Darkstar: a Xerox Star emulator

Given its history and relationship to the Alto, the Star seemed appropriate for my next emulation project. (You can find the Alto emulator, ContrAlto, here). As with the Alto a substantial amount of detailed hardware documentation had been preserved and archived, making it possible to learn about the machine’s inner workings… Except in a few rather important places. Fortunately, Al Kossow at Bitsavers was able to provide extra documentation that filled in most of the holes. Cross-referencing all of this with the available schematics, it looked like there was enough information to make the project possible. This is an amazing project, and the article provides a lot of details about the process of writing the emulator. I’m definitely going to try this out this week to see if I can get it running. I’ve never used the Star, and that’s likely never going to change – they’re rare, expensive, and in museums – so this is the next best thing. I think most of us owe it to ourselves to try this out.

zkeme80: a Forth-based OS for the TI-84+ calculator

If you’ve been looking at operating systems for the TI-84+, chances are you’ve come across KnightOS. It’s well developed and has plenty of Unix-like features such as filesystems and tasks, and even a C compiler. But maybe that’s not what you want. You want an minimal operating system that allows you to extend it in any way you wish, bonus points if you don’t need to know Z80 assembly to do so. zkeme80 is that operating system, a minimal core with a mostly ANS standard conforming Forth interpreter/compiler. From words covering sprites and graphics, to text and memory access, everything you need to make the next hit Snake clone or RPN-based layer is already there. zkeme80 lowers the barrier of entry for customizing an operating system and enable rapid development cycles. Below the Forth layer, you’ll find two lowest level and highest level languages, Z80 assembly and Scheme. The best assembler is an extensible one, where writing macros should be a joy, not a pain, and Scheme has that macro system. I wish I still had the TI-83 I used back in high school. A friend and I bought a communication cable for our TI-83s so that we could play multiplayer Bomberman during classes. Fun times.

Windows 98 icons are great

Rather than some designer’s flashy vision of the future, Windows 98 icons made the operating system feel like a place to get real work done. They had hard edges, soft colors and easy-to-recognize symbols. It’s obvious that the icons were meticulously crafted. Each 256-color .ico file includes a pixel-perfect 16×16, 32×32 and 48×48 version that looks equally good on the taskbar and desktop. They are, indeed, quite good. Most platforms from that era had exquisite icon design – think Mac OS 9 or BeOS – and we really seem to have lost some of that usability. I feel like Haiku’s current icon set best captures that same aesthetic, but in a modern coat (and a unique, custom-designed vector icon format).

Even with the Google/Fossil deal, Wear OS is doomed

It’s all being blown way out of proportion. The Fossil deal is not going to fix Wear OS. This is not the acquisition that will lead to a Pixel Watch. In reality, the deal was probably too small to really matter. Let’s pour some cold water on all this optimism. Wear OS is still doomed. I wouldn’t call Wear OS “doomed” per se, but to say it’s not doing particularly well is a massive understatement.

Microsoft to end Windows 10 Mobile updates and support in December

Microsoft is planning to end support for Windows 10 Mobile devices in December. While Microsoft revealed back in 2017 that the company was no longer developing new features or hardware for Windows 10 Mobile, security and software updates have continued. These security updates will now cease on December 10th 2019, and devices will be unsupported after this date. “Windows 10 Mobile, version 1709 (released October 2017) is the last release of Windows 10 Mobile and Microsoft will end support on December 10, 2019,” reads a Microsoft support note that was updated this week. Microsoft is now recommending that Windows 10 Mobile users move to iOS or Android devices. “With the Windows 10 Mobile OS end of support, we recommend that customers move to a supported Android or iOS device,” explains a FAQ on Windows 10 Mobile end of life. After Microsoft pulls support in December, device backups for settings and some apps will continue for three months until March 10th, 2020. Microsoft notes “some services including photo uploads and restoring a device from an existing device backup may continue to work for up to another 12 months from end of support.” It’s yet another one of those moments where Windows Phone dies a little more, and every time, it makes me sad. I was a first-day adopter of both Windows Phone 7.x and 8.x, and to this day I maintain it was the most pleasant to use modern mobile operating system. I’m still sad Microsoft was unable to attract the third party developers required to keep a smartphone platform afloat.

Sailfish OS 3.0.1 released

Sailfish OS 3.0.1 has been released. From the release notes: Sipoonkorpi is mainly a bug fixing update, bringing in just a few new features. We’ve added Bulgarian language support and improved the handling of email folders. You can now create light ambiences, and respond to meeting invitations through Exchange and Google. We’ve also tuned up SD card encryption and protected critical Top Menu toggles with the security code. It’s available for Jolla devices and the Xperia X and XA2.

Is C++ fast?

A library that I work on often these days, meshoptimizer, has changed over time to use fewer and fewer C++ library features, up until the current state where the code closely resembles C even though it uses some C++ features. There have been many reasons behind the changes – dropping C++11 requirement allowed me to make sure anybody can compile the library on any platform, removing std::vector substantially improved performance of unoptimized builds, removing algorithm includes sped up compilation. However, I’ve never quite taken the leap all the way to C with this codebase. Today we’ll explore the gamut of possible C++ implementations for one specific algorithm, mesh simplifier, henceforth known as simplifier.cpp, and see if going all the way to C is worthwhile.