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.
Lopes, C., Maj, P., Martins, P., Saini, V., Yang, D., Zitny, J., Sajnani, H., Vitek, J.; OOPSLA 2017
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
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.
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).
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.