https://github.com/stereobooster/readme
About me and my open-source work
https://github.com/stereobooster/readme
Last synced: 2 months ago
JSON representation
About me and my open-source work
- Host: GitHub
- URL: https://github.com/stereobooster/readme
- Owner: stereobooster
- License: mit
- Created: 2018-08-21T19:22:11.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-08-21T20:57:34.000Z (almost 7 years ago)
- Last Synced: 2025-02-11T14:47:15.766Z (4 months ago)
- Homepage:
- Size: 11.7 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/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](https://github.com/stereobooster/react-ideal-image/blob/master/introduction.md).
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"](https://github.com/stereobooster/react-snap/blob/master/doc/an-almost-static-stack-optimization.md).
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](https://github.com/paypal/downshift), [css-in-js](https://github.com/MicheleBertoli/css-in-js), [minimalcss](https://github.com/peterbe/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](https://github.com/stereobooster/type-o-rama). [I collected all possible fields in package.json](https://github.com/stereobooster/package.json).
A lot of yaks were shaved while I built [react-snap](https://github.com/stereobooster/react-snap). Among them: minimalcss (which I already mentioned) and [stereobooster/sourcemapped-stacktrace-node](https://github.com/stereobooster/sourcemapped-stacktrace-node).
Before I built [stereobooster/react-ideal-image](https://github.com/stereobooster/react-ideal-image) I collected ideas in [stereobooster/guide-to-async-components](https://github.com/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](https://github.com/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](https://github.com/stereobooster/ruby-memory-issues).
My attempts to fix memory issues in different ruby gems: [Ruby money](https://github.com/RubyMoney/money/pull/691), [Ruby i18n 1](https://github.com/svenfuchs/i18n/pull/393), [Ruby i18n 2](https://github.com/svenfuchs/i18n/pull/398), [email-spec](https://github.com/email-spec/email-spec/pull/203), [sixarm_ruby_unaccent](https://github.com/SixArm/sixarm_ruby_unaccent/issues/1), [strong_password](https://github.com/bdmac/strong_password/pull/14).
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)](https://github.com/blacklane/kiev). [I experimented with Puma server](https://github.com/stereobooster/puma-benchmarks), [discovered some bugs in Puma](https://github.com/puma/puma/issues/created_by/stereobooster) and [fixed one bug in Ruby language](https://github.com/mrkn/ruby/commit/439550a0692518bb2827ee178f2207d0687dc3c8).
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](https://github.com/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](https://github.com/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](https://stereobooster.github.io/explain-you-mysql/).
You can tell I always was obsessed with performance optimization, long before react-snap I built [jekyll-press](https://github.com/stereobooster/jekyll-press), [html_press](https://github.com/stereobooster/html_press) and [css_press](https://github.com/stereobooster/css_press).
My open source profiles: [npm](https://www.npmjs.com/~stereobooster), [rubygems](https://rubygems.org/profiles/stereobooster).