RSSAmplifier

Blog

Oliver Medhurst

honk.fooRSS feed ↗25 posts

Latest posts

Porffor goes alpha August 11th

A self-hosting and rewritten Porffor launches in SF next month!

Native-only garbage collection

Target-dependent garbage collection for the best trade-off.

Profile-guided dead code elimination

A novel approach for DCE in dynamic languages.

Porffor now has closures

Surprisingly annoying for a compiler.

Eliminating JavaScript cold starts on AWS Lambda

Porffor can run on Lambda now!

Dissecting Dia

Whether you like it or not, Dia presents a relatively novel browser user experience and is now in a publicly available beta, so I think it is worth looking into how it works. Here are some interesting day 1 findings from analyzing its binaries: Models Dia has the capability to use both locally ran and hosted models, although I'm not sure if/when the former is used. Hosted models mentioned…

JS engine code size

Quick tiny blog post for the size of many JS engines because I couldn't find it myself and took the rabbit hole of measuring them myself. Some asterisks, this was a quick measurement and I'm not saying they are exact or correct; but I think it gives a good ballpark. These sizes are just the core source of the engine, doesn't include some parts intentionally (eg shared libraries or dependencies):…

Porffor: Objects v2

Objects are now faster with 2-5x smaller Wasm binaries!

Porffor's January 2025 Goals

A more compliant and stable compiler.

Optimizing this in Porffor

this can be surprisingly bad for performance.

Porffor passes 50% of Test262

Now passing 50% of the official ECMAScript test suite!

Porffor FFI

Porffor now has experimental FFI support!

A new chapter for Porffor

From next week, I will be independently building Porffor full-time!

1 year of Porffor

My JS engine is a year old today! Let's recap.

Porffor: Halving ASCII string memory usage with ByteString

My JS engine has a new string representation, here's what/why/how.

Porffor: Type annotations for performance

My JS engine can now parse TS and use it for optimizations!

Porffor: v0.2 rewrite done!

My JS engine's months-long rewrite is finally done!

New year, new offer, same job

I have a new permanent offer with Mozilla! Plus a recap and resolutions.

Porffor: The value wrapping dilemma

My JS engine and why it is currently terrible.

Shadow Devlog #2

Table of Contents Comparisons Ladybird SunSpider Results WHATWG Performance New Debug Overlay Page Load Profiler ~3x Faster Page Load ~2x Faster Rendering Layout Pseudo-classes var() CSS Parser ~8x Faster Dead Text Node Removal Many Fixes JavaScript ~5x Faster Worker Execution Loop New APIs HTML Parser Attributes Without Value Autofix Mismatching Closing Tags Welcome to the second Shadow devlog!…

Shadow Devlog #1

Table of Contents JavaScript Slaying the Kraken 🐙 Comparisions SerenityOS: 2nd birthday page Kraken: Start page Layout Text Wrapping CSS Selectors Rewrite External Stylesheets margin: auto Beginning of <iframe> color-scheme Rewritten <img> position: absolute text-align <br> Tweaks Misc HTML Parser Improvements Loading Non-HTML Welcome to the first Shadow devlog! If you aren't aware, Shadow is my…

Introducing Shadow

Shadow is a new novel browser engine written in JS!

Joining Mozilla

On October 1st, I join Mozilla to work on Firefox full-time!

Discord 0-click XSS to RCE

IPC allowlist bypass and setting a malicious update endpoint.

Discord 1-click XSS to RCE

Path traversal leading to Node execution from Electron's browser.