• Benjamin Poulain
  • Currently living in the San Francisco Bay Area.
  • Email address:
  • LinkedIn profile

Professional Experience

November 2021—present
Manager at Apple

Virtualization Technologies.

October 2011—November 2021
Engineer at Apple

Virtualization Technologies.

Computer Vision & Machine Learning.

macOS & iOS Web Technologies Engineering.

2009—September 2011
Software engineer at Nokia Qt Development Frameworks

Work on the WebKit 2 port of Qt and Browser related development, mostly targeting the MeeGo mobile platform.

Developer on Webkit and the Qt port of Webkit: QtWebkit. Main focus on WebCore performance and Webkit integration with embedded platforms.

Improved Qt rendering performance by rewriting rendering primitives with SIMD (Neon and SSE).

Support engineer for Qt at Nokia Qt Development Frameworks

Help customers and opensource projects to make successful applications with Qt frameworks. It involved fixing bugs of Qt for Linux and Mac, finding solution for technical/architecture problems and working around Qt limitations.

Teaching assistant for programming classes of C and C++ at Polytechnic faculty of the ULB

Help students to learn C++ and to develop their lab projects.

Teaching assistant for programming classes of Java at Université Libre de Bruxelles

Give crash course of Java for students of the Solvay business school.



Master degree in Engineering and Applied Science Université Libre de Bruxelles (ULB)

Specialization: computer science.

Bachelor of engineering Faculté Polytechnique de Mons (FPMs)

Certifications and Online Learning

Differential Equations for Engineers - Online course by The Hong Kong University of Science and Technology on Coursera.
Managing Talent (Leading People and Teams Specialization) - Online course by the University of Michigan on Coursera.
Inspiring and Motivating Individuals (Leading People and Teams Specialization) - Online course by the University of Michigan on Coursera.
Synapses, Neurons and Brains - Online course by the Hebrew University of Jerusalem on Coursera.
MITx 18.033x: Linear Algebra and NxN Systems of Differential Equations - Online course by Massachusetts Institute of Technology on edX.
MITx 18.032x: Differential Equations: 2x2 Systems - Online course by Massachusetts Institute of Technology on edX.
MITx 15.071x: The Analytics Edge - Online course by Massachusetts Institute of Technology on edX.
UT.5.05x: LAFF: Linear Algebra - Foundations to Frontiers - Online course by The University of Texas at Austin.
Neural Networks for Machine Learning - Online course by University of Toronto on Coursera.
MITx 6.008.1x: Computational Probability and Inference - Online course by Massachusetts Institute of Technology on edX.
Bayesian Statistics: From Concept to Data Analysis - Online course by University of California, Santa Cruz on Coursera.
Machine Learning - Online course by Stanford University on Coursera.
Introduction to Logic - Online course by Stanford University on Coursera.
Calculus One - Online course by Ohio State University on Coursera.
Certification Linux Professional Institute level 2 (LPIC-2)
Certification Linux Professional Institute level 1 (LPIC-1)


Create macOS or Linux virtual machines

WWDC Video — June 6, 2022 — Co-autored with Scott Mionis, Tian Luo, Joseph Pecoraro, and Simon Ho

The video introduces virtualization technologies on the Mac platform and presents how to run Linux or macOS inside a virtual machine with Virtuaization Framework.

How Web Content Can Affect Power Usage

WebKit Blog — August 27, 2019 — Co-autored with Simon Fraser

Optimizing software for power is traditionally limited to macOS and iOS applications. Web pages can use the same techniques to reduce their power impact.

This blog post introduces the fundamental concepts of power usage by web pages on the client side. The post also details the best practices and provides practical advices to reduce energy consumption.

Targeting Domains with Content Blockers

WebKit Blog — November 5, 2015

After the release of Content Blockers, targeting specific domains quickly became very popular. Content Blockers are based on compiling large Finite State Machines (Deterministic Finite Automaton). The optimizer has to spend more or less time on an automata depending on the number of states and transitions.

The post explains how simple patterns can be used to match domains while being very easy to optimize and faster to compile.

Complex CSS Selectors Inside Selectors

WebKit Blog — August 17, 2015

Taking advantage of the CSS JIT, WebKit was the first engine to support the advanced selectors from the “CSS Selectors Level 4” specification. The blog post introduces some of those new selectors.

Introduction to WebKit Content Blockers

WebKit Blog — June 12, 2015

This blog post followed the announcement of Content Blockers at WWDC. The post introduces the high level concepts behind Content Blockers then describes the syntax of the extensions.

Overview of WebKit’s CSS JIT Compiler

WebKit Blog — March 26, 2014

This blog was the first public overview of the CSS Just-In-Time compiler of WebKit. The post introduces what can be gained from compiling CSS selectors and the latency-throughput challenge common with JIT compilation.

Unusual Speed Boost: Binary Size Matters

WebKit Blog — August 8, 2013

This post describes some changes made to speed up WebKit on ARMv7 by targeting the binaries directly.

Open Source



Main experience in rendering and mobile features.

WebKit reviewer since March 2011.


Changeset available on gitorious.

Mainly work on rendering performance of the CPU rasterizer (raster engine).


Reduced the impact of the AdBlock engine on loading performance and memory usage. Added special case some common patterns that could be done faster than regular expression.

Ancient Personal Projects

Website dedicated to Linux certifications (in French). It was developed in 2007—2008 when I was a student at ULB and was studying for the LPI certifications.

The site had some success mainly due to the section providing all unix manpages. It still has around 2000 visits per day, which is why it is kept online.

Technologies: Python, Django, PostgreSQL, memcached.

Lingua (closed for lack of time)

Website dedicated to language learning (in English and French). It was made in the summer of 2008.

The main interest in developing the site is the kind of problems occuring in language representation and (human) learning. Performance is also an interesting issue since the data representation does not fit well with SQL.

Technologies: Python, Django, PostgreSQL, ffmpeg, memcached.