“Eugene is genious. Period. While working with him at Yandex I found his fingerprints on huge amount of code I was working with. Every time I couldn't help admire elegancy of his solutions. Among other things he is expert in functional programming and tries to use functional approach whenever possible to make code shorter, easier to understand and more robust. If you have complicated problem you may be sure, that having Eugene on your team would allow you to solve this problem quickly, efficiently and professionally.”
About
Left Google to work on climate. I will spend the rest of my career on helping solve the…
Activity
-
The better the software designer, the less they have to design up-front. The better the software designer, the more moves they have to get out of…
The better the software designer, the less they have to design up-front. The better the software designer, the more moves they have to get out of…
Liked by Eugene Kirpichov
-
Let's have an awkward and cathartic conversation. If you have decided NOT to help fund Work on Climate - why not? You've seen the campaign page…
Let's have an awkward and cathartic conversation. If you have decided NOT to help fund Work on Climate - why not? You've seen the campaign page…
Posted by Eugene Kirpichov
-
Holy cow — everyone's gifts to Work on Climate have been doubled — we hit $25k (that we had a match for) 3 weeks ahead of schedule, thanks to the 88…
Holy cow — everyone's gifts to Work on Climate have been doubled — we hit $25k (that we had a match for) 3 weeks ahead of schedule, thanks to the 88…
Posted by Eugene Kirpichov
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/ -
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.
-
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.
-
Java - Readability and some FP
RSDN Journal
An article on increasing Java code readability and utilizing principles of functional programming applicable to Java.
-
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. -
logophagus - a universal viewer for unlimited-size logs
- Present
My student's masters thesis. Views, merges, filters etc. unlimited-size logs.
Other creatorsSee 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. -
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.
-
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.
-
ire - an incremental regular expression engine
-
An incremental abstract-algebraic regular expression engine for Java .
See article: http://jkff.info/articles/ire/ -
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.
Languages
-
English
Full professional proficiency
-
German
Elementary proficiency
-
Russian
Native or bilingual proficiency
-
French
Elementary proficiency
Recommendations received
5 people have recommended Eugene
Join now to viewOther 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