Skip to content
About me and my open-source work
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

About me

My open source projects

I believe type systems can help to prevent a lot of annoying bugs, I explored this idea recently. The challenge is to be able to convince people that types are actually useful. Here is my attempt: stereobooster/pragmatic-types.

I appreciate and admire the carefully designed user experience. Here is an example of how much into details I can go about UX: An Almost Ideal React Image Component.

I consider performance to be part of the user experience. Here is an example of what I can do to make sure performance is good enough: how much faster you can make "An Almost Static Stack".

I grateful for open source, which helps me (and million other developers) to do my job. I contribute back as much as possible. Some repositories I contributed back and got collaborator access to the repository: downshift, css-in-js, minimalcss.

I love to collect things. I collected all possible types and serialization protocols around JavaScript and how to convert from one to another - type-o-rama. I collected all possible fields in package.json.

A lot of yaks were shaved while I built react-snap. Among them: minimalcss (which I already mentioned) and stereobooster/sourcemapped-stacktrace-node.

Before I built stereobooster/react-ideal-image I collected ideas in stereobooster/guide-to-async-components some of them still wait to be implemnted.

I tried to understand all the trade-offs behind CSS-in-JS and as result created small explainer on the subject - stereobooster/css-in-js-101.

Before I got into React I was working on fixing memory issues in Ruby. I created a small classification of Ruby memory issues and how to identify them - stereobooster/ruby-memory-issues.

My attempts to fix memory issues in different ruby gems: Ruby money, Ruby i18n 1, Ruby i18n 2, email-spec, sixarm_ruby_unaccent, strong_password.

At some point, I was asked to stress test infrastructure to discover what bottlenecks we have and we need to improve. I started by introducing distributed tracing, to do this I reimplemented internal logging library (and later open-sourced it). I experimented with Puma server, discovered some bugs in Puma and fixed one bug in Ruby language.

When you work with the performance it is important to use numbers to be sure you are actually improving a situation - stereobooster/ruby-json-benchmark.

A small experiment to make a really small mime-types gem which didn't get to production, but was fun to do anyway - the smallest mime-types gem stereobooster/micro_mime.

When I wasn't busy with network optimization (IO-bounded processes) and memory improvements I also did some MySQL query optimizations and built small tool for it.

You can tell I always was obsessed with performance optimization, long before react-snap I built jekyll-press, html_press and css_press.

My open source profiles: npm, rubygems.

You can’t perform that action at this time.