Bits, pixels, cycles and more.

Heya! My name is Arseny Kapoulkine and this is my blog. I write about graphics, optimization, languages and other game and software development topics.

I'm a technical director at ROBLOX and the author of pugixml and other projects (GitHub). If you want to get in touch, use e-mail or Twitter.

If you like this blog, you should follow it via RSS and read older posts.

Recent posts

Hosted on GitHub — Theme by orderedlist


I’m a technical director at ROBLOX. Previously I worked as a rendering engineer at Sperasoft, Inc. on FIFA 13 and FIFA Street titles, as a PS3 programmer at Saber Interactive and as a lead engine developer at CREAT Studios; during my career I’ve helped ship many games on PS2/PS3/XBox 360/PC; check out the screenshots and brief information about my contribution to them.


I'm also working on a wide variety of open-source projects, most of which are hosted on GitHub. Here's a short selection:


pugixml is a light-weight C++ XML processing library with an extremely fast and memory efficient DOM parser and XPath 1.0 support. It is used in a wide range of applications, including various embedded systems, video game engines, offline renderers, web backends and robotics/space software. A lot of effort goes into making sure pugixml has an easy-to-use API, has as few defects as possible and runs on all widespread platforms.


qgrep is a fast grep that uses an incrementally updated index to perform fast regular-expression based searches in large code bases. It uses RE2 and LZ4 along with a lot of custom optimizations to make sure queries are as fast as possible. Additionally it features a Vim plugin for great search experience in the best text editor ;)


codesize is a tool that shows the memory impact of your code using a hierarchical display adapted to work well in large C++ codebases. It works by parsing debug information from PDB/ELF/Mach-O files. The purpose of the tool is to let the developer quickly find areas in the codebase that can be improved to gain memory by reducing code size, which is particularly important on memory-constrained platforms.


Here are some talks and publications I've done over the years:

I also have a blog with technical posts on various subjects.


You can reach me by e-mail at arseny.kapoulkine@gmail.com or on Twitter @zeuxcg.