I am a PhD student at FIT CTU in Prague, advised by Jan Janousek. Formerly, I worked in Silicon Valley for 0xdata co-founded by Cliff Click on distributed scalable big data analytics and SN Systems in Bristol, UK on SONY Playstation 3 and PS Vita compilers & toolchains.
I am interested in design, analysis and optimalization of programming languages (mostly dynamic, currently R), big code & synthesis and embedded systems.
I hold masters degree from FEE CTU in Prague, I have been a graduate student at Purdue, IN, and I have spent a year at the University of Bristol, UK.
Kalibera T., Maj, P., Morandat, F., Vitek, J.; VEE 2014
Maj P., Kalibera T., Vitek J.; UseR! 2013, Best technical presentation award.
Kalibera, T., Hagelberg, J., Maj, P., Pizlo, F., Titzer, B. and Vitek, J.; Concurrency and Computation: Practice and Experience, 23: n/a. Doi: 10.1002/cpe.1677, 2011
Pizlo F., Ziarek L., Maj P., Hosking A., Vitek J., Blanton E.; PLDI 2010
Pizlo F., Ziarek L., Blanton E., Maj P., Vitek J.; EuroSYS 2010
FIT CTU Prague. Advised by Jan Janousek. Expected thesis title: Speculative Optimizations of Dynamic Languages
Department of Computer Science, Purdue University, West Lafayette, IN. Advised by Jan Vitek. Cancelled for personal resons. GPA after first year 3.93. Qual exams from Programming Languages, Operating Systems, Algorithm Design, Analysis and Implementation.
FEE CTU Prague. Thesis title: Source Code Plagiarism Detection Dean's award for outstanding Master thesis
University of Bristol, UK. 1st class degree from major subjects taken. Advised by Henk Muller
Author of FlaiR – a static and dynamic analysis framework for the R language. One of the developers of the FastR VM and runtime for the R language. Responsible for the static and dynamic analysis of the R code and related optimizations. Author of TestR framework for R language test driven specification, testing and benchmarking R Vms. Design and implementation of continuous program analysis framework, optimizations and invalidation. Mentoring junior researchers.
Working on the design & implementation of almost all parts of the distributed non SQL big data store and analytics framework including core messaging, user-level API, distributed execution, initial implementation of R-like distributed queries on the cloud system.
Responsible for correcting bugs & developing new features for the SN compiler that is used by most developers for Sony Playstation 3, PSP and PS Vita. Apart from the compiler, also responsible for implementing PS Vita assembler from scratch (main developer).
Full CV is also available.
Source code available at github.
Theoretical and practical aspects of an optimizing compiler backend implementation (using LLVM). MI-GEN (in Czech)
Introduction to the LLVM compiler and its use as an optimizing JIT for dynamic languages (MI-LCF).
λ calculus, Lisp and Prolog. BI-PAA (in Czech)
I am also teaching english version.
Please arrange consultations for current courses by email.
I have always enjoyed teaching and in the past, I taught Java, C++, Virtual Macgines and Embedded systems at university, or high school level. In 2015 I was awarded Google CodeWeek funding for embedded programming for high school kids at Arcibiskupske Gymnazium in Prague.
Petr Maj
Department of Theoretical Computer Science
Faculty of Information Technology, Czech Technical University
Thakurova 9, 16000 Praha 6
Czech Republic