Cmm_of_wasm: From WebAssembly to Native Code via the OCaml Back End

I recently spent three months at OCaml Labs in Cambridge, where I designed and implemented an ahead-of-time compiler from WebAssembly to native code by targeting the Cmm intermediate representation of the OCaml compiler. cmm_of_wasm is a compiler from WebAssembly to native code, via the OCaml backend. cmm_of_wasm : The main novel part of the compiler, which translates away the WebAssembly operand stack and generates Cmm code. The OCaml backend: From Cmm , performs register allocation, a few low-level optimisations, and generates native object code. Otherwise, we branch to block 2 and return i1 + i2 .

Link  |  View on HN

GoPro to move U.S.-bound camera production out of China

FILE PHOTO: A GoPro camera is seen on a skier's helmet as he rides down the slopes in the ski resort of Meribel, French Alps, January 7, 2014. REUTERS/Emmanuel Foudrot/File Photo(Reuters) - GoPro Inc (GPRO.O) on Monday took the first steps to move most of its U.S.-bound camera production out of China by the summer of 2019 to counter the potential impact from any new tariffs. GoPro said international-bound camera production will remain in China. In the company’s earnings call in November, GoPro said it had the option to move U.S.-bound production out of China in the first half of 2019, if necessary. Last month, the company forecast fourth-quarter revenue below analysts’ estimates as it battles waning demand for its products.

Link  |  View on HN

Apple Airplay on Raspberry Pi in 7 Easy Steps

This guide shows you how to set up Shairport-sync so you’ll have a Raspberry Pi playing music in 7 easy steps. Before You StartBefore you can set up a Raspberry Pi as an Airplay server there are a few things you’ll need. At this point you should hear the music played through the Raspberry Pi! So you should be able to Airplay to the Raspberry Pi now every time you boot it up. Have you had any major challenges setting up Raspberry Pi as an Airplay device?

Link  |  View on HN

A UI That Lets Readers Control How Much Information They See

A UI That Lets Readers Control How Much Information They See2018 December 6Technical WritingParametric Press enables its readers to control how much information they see via a slider that has 4 options: "TL;DR", "Essentials", "Highlights", and "Everything". Last week, in our team chat, my colleague Houssein Djirdeh posted a GIF of a UI that enables readers to control how much information they see. Essentials Mode shows just the most important information. This might be a useful feature if your audience is split between beginners and experts. With Google Analytics Event Tracking it's possible to track how much aggregate time is spent in Everything Mode or Essentials Mode.

Link  |  View on HN

Google will shut down Google+ four months early after second data leak

Google+ has suffered another data leak, and Google has decided to shut down the consumer version of the social network four months earlier than it originally planned. Apps could also access profile data that had been shared with a specific user, but was not shared publicly. In response, Google announced plans to shut down the consumer version of Google+, which had long struggled to attract users. This time around, Google says it discovered the leak on its own and it was live for just six days — between November 7th and November 13th. “We understand that our ability to build reliable products that protect your data drives user trust,” Thacker wrote.

Link  |  View on HN

Tableau Software Threatened? Rival Growing at 70% Just Raised $103M

Tableau Software is a publicly-traded player in this industry. The second wave was small tools -- the piecemeal approach followed by Tableau Software. This month, Looker raised another $103 million -- bringing its total capital raised to about $280 million. Arcadia Data is growing its staff -- but not as quickly as its revenues. It seems as though there is room for Tableau, Looker and Arcadia to grow fast in this market.

Link  |  View on HN

Multimodal Business Models as a Product Strategy

Product success is not just about having a good product, but also having the right business model(s). In this post, I will use consumer entertainment apps (books, podcasts, videos, and music) as a lens into the different business models and product strategies of Chinese companies. Revenue is heavily concentrated in one of these two business models, which in turn drives how the companies think about creating product. In China, books are consumed very differently. All in all, Tencent Music’s business model transforms music from a solo consumption product to a lifestyle, sharable experience.

Link  |  View on HN

If hackers attacked the hospital (2017)

To date, malicious cyber attacks on medical devices have not caused serious harm to patients. A recent industry survey found that more than 90 percent of health care information technology systems employ networked devices. Another difficulty is that health care devices not currently in use may be needed at a moment’s notice, such as an emergency department’s CT machine. That advanced medical devices bring with them advanced risk does not mean that we take connected devices offline or halt technological advances. But as we become ever more reliant on networked high-tech medical devices, we need to recognize that protecting them from hackers is an essential part of making them reliable and safe.

Link  |  View on HN

Show HN: Failory 2.0 – Learn How to Build a Profitable Startup

We are Failory! A community of founders learning together. We have interviews with the founders of failed and successful startups, articles about entrepreneurship, and carefully curated resources to make you a better founder. Subscribe to our weekly newsletter to receive the latest interviews & articles.

Link  |  View on HN

Show HN: Minimal game with procedural graphics in JavaScript/GLSL

UnderUnder is a minimal game written in JavaScript and GLSL with procedural graphics produced mostly by noise, signed distance functions, and boolean/space-folding operators applied to those functions. And Each StateTransformer defines logic for transforming some state in response to a sequence of events and/or time passage. It will also likely generate its own events when certain conditions are met, or in response to system input events. Simulation is a special StateTransformer which does the actual work of triggering the methods defined by StateTransformers at the correct times. I wasn't sure about best practices for including build software in the package.json for an open source javascript project like this.

Link  |  View on HN