HNHacker News
TopNewBestAskShowJobs

apignotti

2,341 karma · joined October 4, 2013

CTO of Leaning Technologies, we make compilers for the Web.
submissionscomments
apignotti··on Preserving Flash: why emulation is better than migration
See here: https://news.ycombinator.com/item?id=25213946
apignotti··on Preserving Flash: why emulation is better than migration
As detailed in our posts, CheerpX for Flash will require a valid license from Harman (Adobe Flash licensing partner) for the binary plugin.

https://medium.com/leaningtech/cheerpx-for-flash-now-general...

apignotti··on Preserving Flash: why emulation is better than migration
The interface is much cleaner than you can expect, it's the Pepper API that Google engineered for NaCl. That idea was not successful in the end, but the clear interface stayed. The old NPAPI would have been more messy, but still doable.

The crucial problem is that the Flash runtime is incredibly extensive, and vaguely documented as well. I started the Lightspark project many years ago, so I know this from personal experience.

OSS Flash has value in itself, but to accurately preserve any SWF content, the original binary is the only feasible solution in the medium term.

And of course, our VM (CheerpX) has many other use cases, so it has value beside this first Flash oriented product.

apignotti··on Preserving Flash: why emulation is better than migration
Yeah, emulation is the right way of preserving Flash, but I would argue that Ruffle (and other attempts at OSS Flash, including Lightspark, which my younger self wrote) are implementations of the Flash runtime, not truly emulators.

At Leaning Technologies we are working on a x86 virtual machine written in WebAssembly (CheerpX) that allows the binary Flash plugin to safely run in modern browsers.

To read more about our approach:

https://medium.com/leaningtech/preserving-flash-content-with...

https://medium.com/leaningtech/running-flash-in-webassembly-...

https://medium.com/leaningtech/announcing-cheerpx-for-flash-...

https://medium.com/leaningtech/cheerpx-for-flash-now-general...

For questions, you'll find me on Twitter: https://twitter.com/alexpignotti

apignotti··on Flash Animations Live Forever at the Internet Archive
Hi, original author of Lightspark here. There is certainly value in OSS implementations of Flash, but the reality is that reaching accurate support for all the SWFs out there is a titanic effort. The sheer size of the runtime library of ActionScript 3 makes it a massive project, and on top of that the documentation/specification is most often vague or missing altogether.

Lightspark is something I started 10 years ago, back in my University years. Nowadays, I am working on the problem of Flash preservation and life extension from the perspective of compilers and virtual machines at Leaning Technologies. If you want to read more about our approach:

https://medium.com/leaningtech/preserving-flash-content-with...

https://medium.com/leaningtech/running-flash-in-webassembly-...

https://medium.com/leaningtech/announcing-cheerpx-for-flash-...

apignotti··on Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo
Firefox does unfortunately not currently support WebAssembly tail calls. Sadly, they also seem not be making any progress on this feature, even if it's supposed to be in the "Implementation Phase" of the WebAssembly standardization process.
apignotti··on Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo
Our roadmap is to release our Flash solution in 2020, and we are in the process of finalizing the pricing of that. We have not yet defined how other uses (like REPLs) will work. If you have an interesting use case for our tech, drop us a line info@leaningtech.com
apignotti··on Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo
CheerpX is actually fully dynamic. You don't even need to "compile" things manually before. You can just feed binaries to the JS API and the program will run.
apignotti··on Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo
This is literally running the Ubuntu x86 packages for python in the browser, by dynamically recompiling binary code to WebAssembly.

This demo is indeed just a Python REPL, but the technology is fully generic. On top of this you can make _any_ binary run. We are actually working on using this to preserve Flash content by running the official Adobe plugin safely in the sandbox.

apignotti··on Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo
Feel free do drop me any question: https://twitter.com/alexpignotti
apignotti··on Show HN: CheerpX – x86 virtualization in browser using WebAssembly – Python Demo
This demo requires WebAssembly tail calls support. Instructions for how to enable it in Chromium are included.
apignotti··on Flash Game History
You are referring to Shumway. I was working at the time on Lightspark, another FOSS implementation. All these efforts, including the recent ones, like Ruffle, are doomed due to the sheer complexity of implementing Flash from scratch.

Our approach is different. We run the binary plugin safely in the browser via WebAssembly virtualization.

apignotti··on Flash Game History
Forgot to mention, if you want to see our virtualization tech in action: https://repl.leaningtech.com/python3.html
apignotti··on Flash Game History
At Leaning Technologies, we are working on preserving _all_ flash content by running the original x86 Flash plugin via WebAssembly virtualization (CheerpX). If you want to read more:

https://medium.com/leaningtech/running-flash-in-webassembly-...

https://medium.com/leaningtech/preserving-flash-content-with...

A presentation about the architecture of the system: https://www.youtube.com/watch?v=7JUs4c99-mo

Feel free to drop me any question: https://twitter.com/alexpignotti

apignotti··on The rise and fall of Adobe Flash
Indeed, running the Flash plugin is just the first use case of our tech.
apignotti··on The rise and fall of Adobe Flash
CheerpX for Flash is not yet available to the public, but it's already being tested internally by our Early Adopters. You can find several videos of our solution in action in the linked posts.
apignotti··on The rise and fall of Adobe Flash
We are also dealing with licensing "the right way", all the appropriate parties are involved. I can't be more specific right now but we plan to announce all details soon.
apignotti··on The rise and fall of Adobe Flash
(Shameless self promotion)

We (Leaning Technologies) are working to preserve Flash content using WebAssembly-based virtualization.

We have developed a Wasm virtual machine (CheerpX) that can run the binary Flash player plugin safely in the client sandbox for pixel perfect rendering of any SWF.

If you want to read more:

https://medium.com/leaningtech/running-flash-in-webassembly-...

https://medium.com/leaningtech/preserving-flash-content-with...

Feel free to drop me any question: https://twitter.com/alexpignotti

apignotti··on Brython – A Python 3 implementation for client-side web programming
Hi! I am CTO of LeaningTech and I designed these products. Feel free to drop me any question at https://twitter.com/alexpignotti
apignotti··on Kongregate closed to new games, shutting down forums and chat
Hello! Author of the tool here, if anybody has questions I am available on Twitter: https://twitter.com/alexpignotti
apignotti··on “Adobe Flash is no longer supported in Safari”
Leaning Technologies (www.leaningtech.com), we make compilers that target WebAssembly and JavaScript.

I am CTO of the company.

apignotti··on “Adobe Flash is no longer supported in Safari”
Follow us on Twitter, all we post and release is published there as well:

https://twitter.com/leaningtech

apignotti··on “Adobe Flash is no longer supported in Safari”
We are working to solve the Flash problem "the right way" with a WebAssembly based virtualization solution, for more info:

https://medium.com/leaningtech/running-flash-in-webassembly-...

https://medium.com/leaningtech/preserving-flash-content-with...

Feel free to drop me questions: https://twitter.com/alexpignotti

apignotti··on Adobe to remove Flash Player from web site after December 2020
Just posted a new article about our tech, first demo of x86 python running in the browser is included (scroll to the bottom): https://news.ycombinator.com/item?id=23538856
apignotti··on Extreme WebAssembly 1: pushing browsers to their absolute limits
Demo of CheerpX, our x86 virtualization in WebAssembly, available at the bottom of the article.
apignotti··on Adobe to remove Flash Player from web site after December 2020
Not at this stage, this may chance as the business evolves
apignotti··on Adobe to remove Flash Player from web site after December 2020
Here is 'this guy' :-). Feel free to drop any question on Twitter. https://twitter.com/alexpignotti
apignotti··on Nitrome to convert its Flash game library to HTML5
Since we wrote the post we started discussing with the appropriate parties to solve the licensing issues.
apignotti··on Nitrome to convert its Flash game library to HTML5
We believe this is "the right way" since it's the only possible way of _accurately_ preserve all Flash content.
apignotti··on Nitrome to convert its Flash game library to HTML5
We are working on fixing this problem "the right way" by virtualizing the x86 Flash plugin in WebAssembly. For more info see here:

https://medium.com/leaningtech/preserving-flash-content-with...

https://medium.com/leaningtech/preserving-flash-content-with...

← PreviousPage 7 of 8Next →