<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Leaning Technologies Developer Hub</title><description>Run C/C++, Java, and native code in the browser with our WebAssembly developer tools and JavaScript libraries: Cheerp, CheerpJ, and CheerpX</description><link>https://labs.leaningtech.com</link><item><title>BrowserCode: a browser-based coding playground, powered by WebAssembly</title><link>https://labs.leaningtech.com/blog/announcing-browsercode</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/announcing-browsercode</guid><description>BrowserCode is a free, open source, fully client-side coding playground. Open a tab, pick a template, clone a repo or pick an agent and start building. No account, no installs, no servers, no setup.
</description><pubDate>Mon, 26 Oct 2026 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Release</category><category>Projects &amp; Demos</category></item><item><title>Inside our internship program, Summer 2026 Edition</title><link>https://labs.leaningtech.com/blog/internships-summer26</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/internships-summer26</guid><description>Our interns reflect on their 6 month internships at Leaning Technologies
</description><pubDate>Thu, 08 Oct 2026 00:00:00 GMT</pubDate><category>CheerpJ</category><category>BrowserPod</category><category>Leaning Technologies</category></item><item><title>Beyond WASI: Running any Rust application in the browser with BrowserPod 3.0</title><link>https://labs.leaningtech.com/blog/browserpod-rust</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/browserpod-rust</guid><description>BrowserPod can now run real Rust programs in the browser, compiled from unmodified source with stock rustc and cargo.
</description><pubDate>Thu, 13 Aug 2026 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Release</category></item><item><title>AI in the Box: Hackathon Recap</title><link>https://labs.leaningtech.com/blog/ai-in-the-box-hackathon</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/ai-in-the-box-hackathon</guid><description>A recap of the AI-in-the-Box Hackathon challenges, entries, and winners.
</description><pubDate>Mon, 22 Jun 2026 00:00:00 GMT</pubDate><category>BrowserPod</category></item><item><title>A Linux-like kernel in a browser tab - deep dive in the BrowserPod architecture</title><link>https://labs.leaningtech.com/blog/browserpod-deep-dive</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/browserpod-deep-dive</guid><description>How the BrowserPod kernel supports running many Linux applications concurrently in the browser using WebAssembly.
</description><pubDate>Mon, 18 May 2026 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Technical</category></item><item><title>CheerpJ 4.3 - Run unmodified Java applications in the browser</title><link>https://labs.leaningtech.com/blog/cheerpj-4.3</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-4.3</guid><description>The latest release of our state-of-the-art Java runtime that runs completely in the browser via WebAssembly, is now available!
</description><pubDate>Tue, 21 Apr 2026 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>BrowserPod 2.0: in-browser WebAssembly sandboxes. Run git, bash, node, python...</title><link>https://labs.leaningtech.com/blog/browserpod-20</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/browserpod-20</guid><description>BrowserPod 2.0 ships with a real bash shell, git, and core Linux utilities.
</description><pubDate>Thu, 16 Apr 2026 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Release</category></item><item><title>Inside our internship program, Winter 2025 Edition</title><link>https://labs.leaningtech.com/blog/internships-winter25</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/internships-winter25</guid><description>Our interns reflect on their 6 month internships at Leaning Technologies
</description><pubDate>Mon, 13 Apr 2026 00:00:00 GMT</pubDate><category>Cheerp</category><category>BrowserPod</category><category>Leaning Technologies</category></item><item><title>BrowserPod: universal in-browser sandbox powered by Wasm (starting with Node.js)</title><link>https://labs.leaningtech.com/blog/browserpod-10</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/browserpod-10</guid><description>BrowserPod 1.0 is live: universal in-browser code sandboxes powered by WebAssembly. Node.js available today.
</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Release</category></item><item><title>BrowserPod: WebAssembly in-browser code sandboxes for Node, Python, and Rails</title><link>https://labs.leaningtech.com/blog/browserpod-beta-announcement</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/browserpod-beta-announcement</guid><description>BrowserPod Beta is live: zero latency in-browser code sandboxes in WebAssembly for Node, Python and Rails.
</description><pubDate>Thu, 11 Dec 2025 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Release</category></item><item><title>Inside our internship program: Our interns reflect on their experiences</title><link>https://labs.leaningtech.com/blog/internships</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/internships</guid><description>Our interns describe their 6 month internships at Leaning Technologies
</description><pubDate>Thu, 06 Nov 2025 00:00:00 GMT</pubDate><category>CheerpJ</category><category>CheerpX</category><category>BrowserPod</category><category>Leaning Technologies</category></item><item><title>Announcing CheerpJ: The Hackathon!</title><link>https://labs.leaningtech.com/blog/cheerpj-hackathon</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-hackathon</guid><description>The Java in the browser challenge is coming this autumn.
</description><pubDate>Fri, 03 Oct 2025 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Community</category></item><item><title>BrowserPod: In-browser full-stack environments for IDEs and Agents via Wasm: Running full-stack dev environments in the browser via WebAssembly with inbound networking.</title><link>https://labs.leaningtech.com/blog/browserpod-annoucement</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/browserpod-annoucement</guid><description>BrowserPod is a WebAssembly-based, client-side container technology that brings full-stack development environments to the browser. Pods run multiple processes with real concurrency, have a persistent block filesystem, and public HTTP endpoints via Portals. Launching with Node.js 22 and with short-term support for Python and Ruby planned, BrowserPod is perfect for web IDEs, interactive docs, and AI coding agents.
</description><pubDate>Tue, 30 Sep 2025 00:00:00 GMT</pubDate><category>BrowserPod</category><category>Release</category></item><item><title>CheerpJ 4.1: Java in the browser, now supporting Java 17 (preview)</title><link>https://labs.leaningtech.com/blog/cheerpj-4.1</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-4.1</guid><description>The latest release of our state-of-the-art Java runtime that runs completely in the browser via WebAssembly, is now available. Supports up to Java 17.
</description><pubDate>Wed, 28 May 2025 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>CheerpJ 4.0: WebAssembly JVM for the browser, now with Java 11 and JNI support</title><link>https://labs.leaningtech.com/blog/cheerpj-4.0</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-4.0</guid><description>The latest release of our state-of-the-art Java runtime that runs completely in the browser via WebAssembly, is now available!
</description><pubDate>Wed, 23 Apr 2025 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>Putting the Ghost in the Shell: integrating Claude Computer Use in WebVM</title><link>https://labs.leaningtech.com/blog/webvm-claude</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/webvm-claude</guid><description>You can now use AI to control WebVM, both in terminal and graphical mode
</description><pubDate>Mon, 17 Mar 2025 00:00:00 GMT</pubDate><category>CheerpX</category><category>Projects &amp; Demos</category><category>Technical</category></item><item><title>CheerpJ 3.1: JVM in WebAssembly and our roadmap for modern Java in the browser </title><link>https://labs.leaningtech.com/blog/cheerpj-3.1</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-3.1</guid><description>Our state-of-the-art JVM/JDK that runs completely in the browser thanks to WebAssembly, is now available!
</description><pubDate>Wed, 05 Feb 2025 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>CheerpX 1.0: High performance x86 virtualization in the browser via WebAssembly</title><link>https://labs.leaningtech.com/blog/cx-10</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cx-10</guid><description>CheerpX is a WebAssembly-based virtualization engine for x86 binaries. It is built on top of standard Web technologies, and runs fully in the browser, with no need for server side execution of any sort.

This article will explain the architecture of CheerpX and show detailed examples for possible use cases of this technology.
</description><pubDate>Wed, 04 Dec 2024 00:00:00 GMT</pubDate><category>CheerpX</category><category>Release</category></item><item><title>WebVM 2.0: A complete Linux Desktop Environment in the browser via WebAssembly</title><link>https://labs.leaningtech.com/blog/webvm-20</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/webvm-20</guid><description>WebVM is a full Linux environment running in the browser, client-side. It is a complete virtual machine, with support for persistent data storage, networking and, as of today’s release, Xorg and complete desktop environments.

This article will explain the WebVM architecture, how the main components work, and what you can build with this technology.
</description><pubDate>Wed, 13 Nov 2024 00:00:00 GMT</pubDate><category>CheerpX</category><category>Projects &amp; Demos</category></item><item><title>Join the WebVM: The Hackathon! - A Global Hybrid Event for Developers!</title><link>https://labs.leaningtech.com/blog/join-the-webvm-hackathon</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/join-the-webvm-hackathon</guid><description>WebVM: The Hackathon is a global hybrid event open to all developers. Dive into terminal-based solutions using CheerpX and showcase your coding skills for a chance to win amazing prizes.
</description><pubDate>Wed, 02 Oct 2024 00:00:00 GMT</pubDate><category>CheerpX</category><category>Cheerp</category><category>Community</category></item><item><title>WebAssembly Branch Hinting: From an idea to W3C standard</title><link>https://labs.leaningtech.com/blog/branch-hinting</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/branch-hinting</guid><description>Around a month ago, the WebAssembly Community Group voted to advance the [Branch Hinting proposal](https://github.com/WebAssembly/branch-hinting) to phase 4, effectively recommending its addition to the standard, and the Working Group formally added it to the standard by voting it into phase 5 last week.

This was a big achievement for me, as the proposal Champion from its inception almost 4 years ago, and for [Leaning Technologies](https://leaningtech.com) (my company), who sponsored this work.

In this article I will explain the purpose of the proposal, and the journey that brought it from idea to standard.
</description><pubDate>Tue, 16 Jul 2024 00:00:00 GMT</pubDate><category>CheerpX</category><category>Technical</category></item><item><title>Modernising Legacy C++ MFC Applications with Cheerp</title><link>https://labs.leaningtech.com/blog/modernising-legacy-cpp-mfc-applications</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/modernising-legacy-cpp-mfc-applications</guid><description>Modernising C++/MFC applications into modern web applications can offer significant practical advantages and enable improved efficiency, productivity and flexibility. WebAssembly, and the Cheerp C++ to Wasm compiler offer a uniquely efficient path to achieve this, by preserving the vast majority of existing source code.
</description><pubDate>Tue, 25 Jun 2024 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>C++ meets TypeScript: bidirectional type interoperability in the Cheerp compiler</title><link>https://labs.leaningtech.com/blog/cheerp-typescript</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerp-typescript</guid><description>A tour of the TypeScript integration features that are a part of Cheerp. Cheerp is a powerful C++ to JavaScript and WebAssembly compiler.</description><pubDate>Tue, 12 Mar 2024 00:00:00 GMT</pubDate><category>Technical</category></item><item><title>Adding AddressSanitizer support to the Cheerp WebAssembly compiler</title><link>https://labs.leaningtech.com/blog/cheerp-asan</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerp-asan</guid><description>Cheerp is a powerful C/C++ to JavaScript/WASM compiler.
</description><pubDate>Tue, 13 Feb 2024 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>CheerpJ 3.0 (old version) now available: A WebAssembly JVM to run real-world applications in the browser</title><link>https://labs.leaningtech.com/blog/cheerpj-3.0</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-3.0</guid><description>CheerpJ 3.0, a state-of-the-art WebAssembly JVM that runs real-world Java applications in the browser, is now available.
</description><pubDate>Thu, 01 Feb 2024 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>Reviving the Dragon Court browser RPG with CheerpJ</title><link>https://labs.leaningtech.com/blog/dragon-court</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/dragon-court</guid><description>Dragon Court was a free, old-school fantasy, multiplayer browser RPG that came in a Java Applet format but sadly became abandonware.
Clarky Lee talks about how he used CheerpJ to bring it back to life.
</description><pubDate>Thu, 14 Dec 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Projects &amp; Demos</category></item><item><title>Deep dive into CheerpJ 3.0: A WebAssembly Java Virtual Machine for the browser</title><link>https://labs.leaningtech.com/blog/cheerpj-3-deep-dive</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-3-deep-dive</guid><description>CheerpJ is a WebAssembly-based JVM that runs fully client side in the browser. It supports Java applications, legacy applets and libraries, with no need for compilation, server backends, plugins, or post-processing steps. CheerpJ 3.0 introduces a completely new JIT-based architecture which makes the tool faster, more usable and much more powerful.
</description><pubDate>Thu, 30 Nov 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Technical</category></item><item><title>CheerpJ 3.0rc2 now available</title><link>https://labs.leaningtech.com/blog/cheerpj-30rc2</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-30rc2</guid><description>The CheerpJ 3.0 second release candidate is now available! This release includes many improvements to library mode, Web Worker support, and more.
</description><pubDate>Wed, 29 Nov 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>CheerpJ 3.0rc1 now available</title><link>https://labs.leaningtech.com/blog/cheerpj-30rc1</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-30rc1</guid><description>The first release candidate for CheerpJ 3.0 is now available for testing and feedback. This version features a completely new architecture for CheerpJ, with a full OpenJDK runtime and a new scalable JNI architecture.
</description><pubDate>Wed, 18 Oct 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>Watch the CheerpJ 3.0 AMA</title><link>https://labs.leaningtech.com/blog/join-the-cheerpj-3-0-ama</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/join-the-cheerpj-3-0-ama</guid><description>We hosted a live Ask-Me-Anything (AMA) with CTO and lead dev Alessandro.
The main topic was CheerpJ 3.0, but we welcomed any questions across all our products, about WebAssembly, and compilers, or the company in general. We talked about CheerpJ 3.0’s development, its release timeline, and technical details like how 3.0’s architecture differs from 2.0.
</description><pubDate>Tue, 05 Sep 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Community</category></item><item><title>Beyond the DevTools: Profiling WebApps at the Assembly Level</title><link>https://labs.leaningtech.com/blog/beyond-devtools-profiling-webapps-at-the-assembly-level</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/beyond-devtools-profiling-webapps-at-the-assembly-level</guid><description>Thanks to groundbreaking technologies like CheerpX and CheerpJ, we have successfully redefined what was previously considered achievable within the browser’s environment. While working on such advanced projects, we soon encountered the limitations of a traditional profiling approach, like Chrome’s built-in devtools. As a result, we relied on a custom profiling workflow based on internal Chrome tracing for years which was due for an improvement.
</description><pubDate>Wed, 28 Jun 2023 00:00:00 GMT</pubDate><category>CheerpX</category><category>Technical</category></item><item><title>Mini.WebVM: Your own Linux box from Dockerfile, virtualized in the browser via WebAssembly</title><link>https://labs.leaningtech.com/blog/mini-webvm-your-linux-box-from-dockerfile-via-wasm</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/mini-webvm-your-linux-box-from-dockerfile-via-wasm</guid><description>WebVM is a Linux-like virtual machine running fully client-side in the browser. It is based on CheerpX: a x86 execution engine in WebAssembly by Leaning Technologies. With today’s update, you can deploy your own version of WebVM by simply forking the repository on GitHub and editing the included Dockerfile. A GitHub Actions workflow will automatically deploy it to GitHub pages.
</description><pubDate>Mon, 22 May 2023 00:00:00 GMT</pubDate><category>CheerpX</category><category>Projects &amp; Demos</category></item><item><title>Announcing CheerpJ 3.0: A JVM replacement in HTML5 and WebAssembly to run Java applications (and applets) on modern browsers</title><link>https://labs.leaningtech.com/blog/announcing-cheerpj-3</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/announcing-cheerpj-3</guid><description>For the past year, we have been working on a new architecture for CheerpJ: our implementation of the JVM in HTML5/WebAssembly, designed to run Java applications on the browser. CheerpJ 3.0 will be released in the late summer of 2023, and will be easier to use, faster, and more compatible than ever before. Our live JavaFiddle demo has already been migrated to the current development version.
</description><pubDate>Tue, 09 May 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>Unexpectedly Useful: A Real World Use Case For WebAssembly System Interface (WASI)</title><link>https://labs.leaningtech.com/blog/a-real-world-use-case-for-wasi</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/a-real-world-use-case-for-wasi</guid><description>At Leaning Technologies we are heavily invested in WebAssembly, and we are actively contributing to push the standard forward. Just a few months ago WebAssembly tail-calls were standardized, and we are currently bringing the branch-hinting proposal to Phase 4.
</description><pubDate>Thu, 06 Apr 2023 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Technical</category></item><item><title>Cheerp 3.0: The most advanced C++ compiler for the Web, now permissively licensed</title><link>https://labs.leaningtech.com/blog/cheerp-3-now-permissively-licensed</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerp-3-now-permissively-licensed</guid><description>We are proud to announce Cheerp 3.0, the latest major release of our C++ compiler for the Web. This new version is packed with new features and optimizations that, once more, move the state of the art of using C++ as a programming language for Web applications and games. All the compiler core components and libraries are now licensed permissively under the Apache 2.0 / LLVM license, allowing for Cheerp 3.0 to be used for any purpose, with no restrictions.
</description><pubDate>Tue, 14 Mar 2023 00:00:00 GMT</pubDate><category>Cheerp</category><category>Release</category></item><item><title>How we added full networking to WebVM via Tailscale</title><link>https://labs.leaningtech.com/blog/webvm-virtual-machine-with-networking-via-tailscale</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/webvm-virtual-machine-with-networking-via-tailscale</guid><description>WebVM, our virtual Linux environment running fully client-side in the browser, now supports networking via Tailscale.</description><pubDate>Wed, 05 Oct 2022 00:00:00 GMT</pubDate><category>CheerpX</category><category>Projects &amp; Demos</category><category>Technical</category></item><item><title>PythonFiddle: Fully private client-side sample code execution and sharing</title><link>https://labs.leaningtech.com/blog/pythonfiddle-fully-private-client-side-sample-code-execution-and-sharing</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/pythonfiddle-fully-private-client-side-sample-code-execution-and-sharing</guid><description>A recurrent need for anybody practising programming is running (and sharing) small snippets of code to quickly test an idea or ask for feedback. These kinds of Web applications are generally called ‘fiddles’, and there are plenty of them out there. The common use cases for fiddles are in education, but anyone can find themselves needing to use one to avoid having to set up a full native execution environment.
</description><pubDate>Wed, 14 Sep 2022 00:00:00 GMT</pubDate><category>CheerpX</category><category>Projects &amp; Demos</category></item><item><title>Fantastic tail calls, and how to implement them</title><link>https://labs.leaningtech.com/blog/fantastic-tail-calls-and-how-to-implement-them</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/fantastic-tail-calls-and-how-to-implement-them</guid><description>This article aims at demystifying WebAssembly tail calls while giving the reader an idea of how we have implemented the feature in WebKit.
</description><pubDate>Mon, 11 Jul 2022 00:00:00 GMT</pubDate><category>CheerpX</category><category>Technical</category></item><item><title>CheerpJ 2.3 Released</title><link>https://labs.leaningtech.com/blog/cheerpj-2-3-released</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/cheerpj-2-3-released</guid><description>CheerpJ 2.3 is the only solution on the market to migrate real-world large-scale Java applications to modern HTML5 with pixel-perfect accuracy.
</description><pubDate>Tue, 03 May 2022 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Release</category></item><item><title>PartialExecuter: Reducing WebAssembly size by exploring all executions in LLVM</title><link>https://labs.leaningtech.com/blog/reducing-webassembly-size-by-exploring-all-executions-in-llvm</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/reducing-webassembly-size-by-exploring-all-executions-in-llvm</guid><description>Discover the &quot;Partial Executer,&quot; an LLVM pass that optimizes WebAssembly by removing unreachable code. This article explains the technology, challenges, and benefits, ideal for those versed in LLVM basics.
</description><pubDate>Thu, 10 Mar 2022 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>WebVM: server-less x86 virtual machines in the browser</title><link>https://labs.leaningtech.com/blog/webvm-server-less-x86-virtual-machines-in-the-browser</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/webvm-server-less-x86-virtual-machines-in-the-browser</guid><description>We made a server-less virtual Linux environment that runs unmodified Debian binaries in the browser. This is powered by CheerpX, a WebAssembly virtualization platform. Feel free to play with it and report bugs: https://webvm.io
</description><pubDate>Tue, 01 Feb 2022 00:00:00 GMT</pubDate><category>CheerpX</category><category>Projects &amp; Demos</category></item><item><title>The Bottomless Pit of Disappointment: A Chrome Extension Tale</title><link>https://labs.leaningtech.com/blog/the-bottomless-pit-of-disappointment-a-chrome-extension-tale</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/the-bottomless-pit-of-disappointment-a-chrome-extension-tale</guid><description>How Manifest V3 broke our Chrome extension, and how we are trying to fix it.</description><pubDate>Tue, 10 Aug 2021 00:00:00 GMT</pubDate><category>CheerpJ</category><category>Technical</category></item><item><title>A JavaScript Optimising Compiler</title><link>https://labs.leaningtech.com/blog/a-javascript-optimising-compiler</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/a-javascript-optimising-compiler</guid><description>Carlo, a Leaning Technologies compiler engineer, has tried something bold. Coming up with a JavaScript to JavaScript optimizing compiler. Optimize for what metric? Performance of code execution (eg. how long does it take to calculate the n-th prime number).
</description><pubDate>Wed, 12 May 2021 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>Announcing CheerpX for Flash, a solution to extend the life of Flash applications post-2020</title><link>https://labs.leaningtech.com/blog/announcing-cheerpx-for-flash-a-solution-to-extend-the-life-of-flash-applications-post-2020</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/announcing-cheerpx-for-flash-a-solution-to-extend-the-life-of-flash-applications-post-2020</guid><description>Today we are proud to announce CheerpX for Flash, a solution to run existing Flash applications on any browser after December 2020.
</description><pubDate>Mon, 21 Sep 2020 00:00:00 GMT</pubDate><category>CheerpX</category><category>Release</category></item><item><title>Extreme WebAssembly 2: the sad state of WebAssembly tail calls</title><link>https://labs.leaningtech.com/blog/extreme-webassembly-2-the-sad-state-of-webassembly-tail-calls</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/extreme-webassembly-2-the-sad-state-of-webassembly-tail-calls</guid><description>Here at Leaning Technologies, we use WebAssembly daily to create unique and seemingly impossible technologies, like CheerpX (a WebAssembly virtual machine designed to safely run arbitrary x86 libraries and applications in browser) and CheerpJ (a solution to compile and run Java applications in the browser).
</description><pubDate>Tue, 18 Aug 2020 00:00:00 GMT</pubDate><category>CheerpX</category><category>Technical</category></item><item><title>How Cheerp supports 64-bit integers in both JavaScript and WebAssembly</title><link>https://labs.leaningtech.com/blog/how-cheerp-supports-64-bit-integers-in-both-javascript-and-webassembly</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/how-cheerp-supports-64-bit-integers-in-both-javascript-and-webassembly</guid><description>Improving support for 64-bit integers in Cheerp, a C/C++ to WebAssembly/JavaScript compiler.
</description><pubDate>Mon, 13 Jul 2020 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>JSExport: C++ in the browser made easy</title><link>https://labs.leaningtech.com/blog/jsexport-c-in-the-browser-made-easy</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/jsexport-c-in-the-browser-made-easy</guid><description>Here at Leaning Technologies we build compilers for the Web (which output a combination of JavaScript and WebAssembly).
</description><pubDate>Tue, 30 Jun 2020 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>Extreme WebAssembly 1: pushing browsers to their absolute limits</title><link>https://labs.leaningtech.com/blog/extreme-webassembly-1-pushing-browsers-to-their-absolute-limits</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/extreme-webassembly-1-pushing-browsers-to-their-absolute-limits</guid><description>This is the first of a series of posts about the problems we have found on our way when using WebAssembly, and how we have solved them.
</description><pubDate>Tue, 16 Jun 2020 00:00:00 GMT</pubDate><category>CheerpX</category><category>Technical</category></item><item><title>Adding anyref support in a C++ to WebAssembly compiler</title><link>https://labs.leaningtech.com/blog/adding-anyref-support-in-a-c-to-webassembly-compiler</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/adding-anyref-support-in-a-c-to-webassembly-compiler</guid><description>WebAssembly in its current MVP form is shipped by all major browsers and is already capable of amazing things. This does not mean that its development has concluded: on the contrary, there are many post-MVP feature proposals at different stages of development.
</description><pubDate>Tue, 19 May 2020 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item><item><title>Solving the structured control flow problem once and for all</title><link>https://labs.leaningtech.com/blog/control-flow</link><guid isPermaLink="true">https://labs.leaningtech.com/blog/control-flow</guid><description>One of the challenges of compiling LLVM IR code to JavaScript and WebAssembly is the structured control flow problem: We have some code represented as a control flow graph (CFG), and we want to convert it into structured control flow.
In this article I will describe how to do this conversion, and how to handle irreducible control flow.
</description><pubDate>Thu, 11 Apr 2019 00:00:00 GMT</pubDate><category>Cheerp</category><category>Technical</category></item></channel></rss>