Dr Ian Rogers BSc(Hons.), M.Phil., Ph.D, FBCS.
email: rogers.email [at] gmail.com
I am a staff engineer for Google working on programming languages and performance from mobile to cloud. I was a tech lead for the ART project within Android. Before this I was a senior engineer at Azul Systems', where we coaxed an x86 to do what previously custom hardware had been necessary for, namely pauseless massively concurrent GC with terabytes of heap. Before this I was a research fellow at the University of Manchester working on the Jamaica project, designing future computer architectures, compilers, binary translators and operating systems. I have had research interests in GPUs, asynchronous hardware, network security, real-time network protocols and e-learning. Before this I was a manager for, and one of the original developers of, what became Apple's Rosetta.
My most recent talk was the keynote at the UK MM-Net workshop: entitled best practices for writing error free garbage collectors.
My 2014 Google IO talk on ART:
Some of my current projects are:
Popular mobile phone OS.
In the past my commitments have included:
A new design initiative solving the problems with interactions between operating systems and virtual machines.
A new metacircular virtual machine design effort, already substantially improving over Jikes RVM.
I was the organization administrator and mentor for Jikes RVM in the Google SoC 2008 and 2007.
I was a core team member of the Jikes RVM and its leading contributor for the years up to 2010.
I look after an open source Java based dynamic binary translator (x86/PPC/ARM) that are now merged into MRP.
My PhD work was part of the foundation for Transitive Technologies where I was a senior engineer and design authority. One technology I was responsible for creating was Apple's Rosetta. Transitive became IBM Manchester lab.
I wrote a book chapter for O'Reilly on metacircular virtual machine design: