Curriculum vitae
From APIDesign
(→Personal Profile) |
(→Personal Profile) |
||
| Line 51: | Line 51: | ||
* Attempt to bring [[Java]] back to browser via my [[Bck2Brwsr]] (e.g. [[JVM]] transpiling to [[JavaScript]]) project. | * Attempt to bring [[Java]] back to browser via my [[Bck2Brwsr]] (e.g. [[JVM]] transpiling to [[JavaScript]]) project. | ||
* Winning [[Media:DukeChoiceAward.jpg|Duke Choice Award]] for [[DukeScript]] project contributions (including [[Bck2Brwsr]] effort). | * Winning [[Media:DukeChoiceAward.jpg|Duke Choice Award]] for [[DukeScript]] project contributions (including [[Bck2Brwsr]] effort). | ||
| - | * Bringing initial product | + | * Bringing initial ''product aspects'' to a research project by [[TwoYearsWithTruffle|designing Truffle polyglot API]] & co. |
* [[OtherGraalAdventures]] - bringing [[GraalVM]] closer to production - in cloud via PGO, JNI, NetBeans | * [[OtherGraalAdventures]] - bringing [[GraalVM]] closer to production - in cloud via PGO, JNI, NetBeans | ||
* Invented [[GraalVM]] [[Insight]] and used it for [[PostMortemDebugging]] in the [[OracleDB]] | * Invented [[GraalVM]] [[Insight]] and used it for [[PostMortemDebugging]] in the [[OracleDB]] | ||
Revision as of 06:26, 2 May 2026
Town: Praha, Czech Republic
Phone: +420 602 684 426
email: jaroslav.tulach (at) apidesign (domain) org
Contents |
Historical Summary
| Time | Mission |
|---|---|
| 2022-2026 | Turning Enso in the fastest, more functional and most toolbable functional programming language. In 2026 it is: stable, fast, robust, running in Dual JVM mode. |
| 2015-2022 | OracleLabs. Making the world's fastest VM via Graal and Truffle. Invented Insight and spiced OracleDB with PostMortemDebugging thanks to it. |
| 2010-2014 | NetBeans Platform architect at Oracle. Alignment with JDeveloper. Synergy between Java and JavaScript and HTML. |
| 1999-2010 | NetBeans Platform architect at Sun Microsystems. Primary focus APIs, APIReviews, later Performance. |
| 1997-1999 | Founder and initial architect of NetBeans |
| 1995-1997 | Initial member of student team which started Xelfi which later turned into NetBeans |
| 1992-1998 | Master degree in computer science at MFF UK. Specialization: compilers and data structures. |
Personal Profile
NetBeans founder and initial architect who remained (after being acquired by Sun) with the project for next fifteen years. Passionate about leading teams into projects nobody thinks can succeed, overcoming all obstacles and bringing them into production:
- NetBeans IDE - first IDE for Java written in Java
- NetBeans Platform - first Swing based modular application framework
- NetBeans performance - speeding NetBeans 6.1 startup by 60%, eliminating memory leaks, improving scalability
- Netbinox - changing NetBeans architecture to support OSGi by creating the fastest OSGi framework on the planet
- JDeveloper - rebasing years of development on top of NetBeans Platform to gain startup speed and share functionality
- Attempt to bring Java back to browser via my Bck2Brwsr (e.g. JVM transpiling to JavaScript) project.
- Winning Duke Choice Award for DukeScript project contributions (including Bck2Brwsr effort).
- Bringing initial product aspects to a research project by designing Truffle polyglot API & co.
- OtherGraalAdventures - bringing GraalVM closer to production - in cloud via PGO, JNI, NetBeans
- Invented GraalVM Insight and used it for PostMortemDebugging in the OracleDB
- turned Enso into stable, fast, robust, and rock solid, production ready live coding environment
- Realized Dual JVM mode for Java applications - starting blazingly fast (the AOT compiled code part) while still using HotSpot JVM then
Theoretical Work
Typing in terms of graphs - master thesis at MatFyz describing type system similar to what later became Generics in Java with a unique, graph based terms.
Proofs of NP-Completeness of various topics related to modularity with practical implications for anyone designing or using a module system.
Publications & Conferences
Rich Client Programming: Plugging into the NetBean Platform - contributed few philosophical chapters to book about NetBeans Platform.
Practical API Design, Apress 2008 - the first book about API Design describing all details related to API design published way sooner than the term API was kidnapped by REST and JSON guys.
20 API Paradoxes, Walrus 2012 - shorter, more strictly organized continuation/summary of Practical API Design book.
Regular speaker at JavaOne and other conferences (GeeCON, GeekOut, JDD, CurryOn) and universities.
Technical Skills
- Able to use debugger to analyze behavior of own or any foreign system
- Typing (without looking at keyboard) and thinking fast, yet concluding slowly/carefully
- Knowledge of classical languages (especially Java, but also C & etc.), functional languages (like Haskell) and logical languages (e.g. Prolog).
- Knowing how to implement any language and make it run fast
- Knowing a lot of about API Design and almost everything about API Design in Java
- Understanding general implications of modularity and how to organize a project in a distributed fashion.
Organizational Skills
- Designing process for API Reviews which allowed NetBeans to design APIs in a committee style and still keep consistency.
- Designing, advocating and implementing parallel integration which greatly improved productivity of NetBeans developer teams
- Enabling, promoting and advocating test driven development to increase quality of NetBeans code base
- Founded OracleLabs subsidiary in Prague
- Attracted skilled developers by talks at universities, conferences and meet-ups
- Helped to select and on board newcomers.
- Convinced whole experienced team to join OracleLabs and contribute to GraalVM vision
- Handed the responsibilities to professional manager when the team grew over fifteen.
Languages
- Czech - native
- English - fluent
- Russian - can read
- Polish - getting better
- German - survival level
Spare Time Activities
Skiing and snowboarding and other sports. Bck2Brwsr VM. Various open source projects (mostly hosted on GitHub, but also for example contributed to Linux kernel driver).