Skip to content
View johanjanssens's full-sized avatar
💭
Crunching code, one line at a time.
💭
Crunching code, one line at a time.

Organizations

@nooku @joomlatools @timble @belgianpolice

Block or report johanjanssens

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
johanjanssens/README.md

Hi, I'm Johan

Building PHP runtimes that don't need permission.

Software architect, making good code for almost four decades. Started with C and game development, co-founded Joomla in 2005 and was lead developer of Joomla 1.5 — at its peak it powered ~3% of the web. These days I tinker mostly with PHP runtimes in Go and C, pushing FrankenPHP into places it probably shouldn't go. If PHP can't do it yet, I'll make it.

Fractional CTO and Sofware Architect, running @timble. Building Joomla extensions for two decades at @joomlatools, and working on something new at @foliolabs. Based in Diest, Belgium.


FrankenPHP work

Repo What Stars
frankenasync Concurrent PHP execution via FrankenPHP threads — 100x+ speedup with standard blocking code stars
frankenwasm WASM plugin runtime for PHP — call Go, Rust, JS modules via Extism stars
frankenwails Native desktop apps with PHP + Wails — no HTTP server, direct in-process calls stars

Talks


Stack

C — where it started · PHP — where it stuck · Go — where the runtimes live

Pinned Loading

  1. frankenwails frankenwails Public

    PHP as a native desktop app — FrankenPHP + Wails, no HTTP server

    Makefile 3

  2. frankenwasm frankenwasm Public

    WebAssembly plugins for PHP powered by FrankenPHP and Extism

    Rust 3

  3. frankenasync frankenasync Public

    Async subrequests for FrankenPHP

    Go 21