Eugene Kirpichov

Eugene Kirpichov

San Francisco, California, United States
500+ connections

About

Left Google to work on climate. I will spend the rest of my career on helping solve the…

Activity

Experience

Education

  • St. Petersburg State Polytechnic University

    -

    100% 'A' marks.

Publications

  • Incremental Regular Expressions

    Practice of Functional Programming

    In this article I finish and implement Dan Piponi's idea of creating an incremental regular expression engine based on monoids and fingertrees. Heavily algorithmic.

    English version: http://jkff.info/articles/ire/

    See publication
  • Elements of Functional Languages

    Practice of Functional Programming

    A comprehensive (100+ pages) survey of the main concepts of modern functional languages. I'm proud of this work and consider it one of my main accomplishments in my lifetime to date.

    See publication
  • Fighting Mutable State

    Practice of Functional Programming

    An article on why/when mutability is bad, showing a number of patterns to decrease its impact in certain cases.

    See publication
  • Java - Readability and some FP

    RSDN Journal

    An article on increasing Java code readability and utilizing principles of functional programming applicable to Java.

    See publication
  • Monads

    RSDN Journal

    An advanced monad tutorial, featuring examples from standard monads to probability and parser monads and a hint of monad transformers.

Projects

  • minxmod - a minimalistic concurrent modeler

    - Present

    This is a proof-of-concept model-checker for concurrent systems (it proves the concept that a model-checker is actually very easy to develop - and this proof has inspired at least one person I know to develop a modelchecker of their own for production-use purposes).
    For now, the modeler core is complete, and verification of CTL properties. Many other things wait for their day to come - LTL verification and a friendly front-end.

    See project
  • greg - A scalable distributed logger with a high-precision global time axis

    - Present

    Written originally for the cluster computing project at Mirantis.

    Other creators
    See project
  • logophagus - a universal viewer for unlimited-size logs

    - Present

    My student's masters thesis. Views, merges, filters etc. unlimited-size logs.

    Other creators
    See project
  • timeplotters - two tools for visualizing arbitrary data from log files

    - Present

    http://github.com/jkff/timeplot , http://github.com/jkff/splot

    I wrote these two tools for analyzing behavior of large distributed systems that I deal with at work. One (splot) is for drawing a "birds-eye view" of the whole system's activity, the other (tplot) is for plotting all kinds of quantitative characteristics.
    They help me answer nearly every question I have about the system's behavior by piping the logs through a shell one-liner, and I use them dozens of times per day. My…

    http://github.com/jkff/timeplot , http://github.com/jkff/splot

    I wrote these two tools for analyzing behavior of large distributed systems that I deal with at work. One (splot) is for drawing a "birds-eye view" of the whole system's activity, the other (tplot) is for plotting all kinds of quantitative characteristics.
    They help me answer nearly every question I have about the system's behavior by piping the logs through a shell one-liner, and I use them dozens of times per day. My co-workers and ex-co-workers use them too.

    See project
  • valz - near-realtime scalable distributed statistics aggregation

    - Present

    My student's masters thesis. Similar in spirit to Google sawzall, but in a streaming monitoring flavor rather than batch.

    See project
  • DeepGreen

    -

    Powerful yet lightweight highly scalable solution for distributed parallel computations. Created for running computational algorithms on large clusters (tested on 5000+ cores, estimations prove the architecture to be efficient on clusters of up to 50’000 cores). Project took 1.5 years (including 8 month of Proof-of-Concept phase), was successfully released and delivered to customer.

    Project Role: Tech lead.

    Other creators
  • antro - a line-level and hierarchical profiler for Ant build scripts

    -

    Written to (successfully) optimize the build at Yandex.

    See project
  • ire - an incremental regular expression engine

    -

    An incremental abstract-algebraic regular expression engine for Java .

    See article: http://jkff.info/articles/ire/

    See project
  • stream-lib

    -

    Several contributions to the stream-lib project by Clearspring (now AddThis) - a library implementing various data-stream algorithms (algorithms for approximate processing of vast amounts of data). My contributions so far: Q-Digest, Count-Min Sketch, general cleanup/optimization.

    See project

Languages

  • English

    Full professional proficiency

  • German

    Elementary proficiency

  • Russian

    Native or bilingual proficiency

  • French

    Elementary proficiency

Recommendations received

View Eugene’s full profile

  • See who you know in common
  • Get introduced
  • Contact Eugene directly
Join to view full profile

Other similar profiles

Explore collaborative articles

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Explore More

Add new skills with these courses