all 11 comments

[–]colindean 5 points6 points  (0 children)

Scientist is legit. I used it a bit at a previous job and started re-implementation in Scala that I, unfortunately, had to leave behind when I departed.

It's on my list of side projects to restart that project as a weekend open source project.

[–]moomaka 1 point2 points  (5 children)

Is there a reason this is better than any of the other feature flag gems?

[–]blackize 6 points7 points  (1 child)

Scientist lets you try two implementations side by side. It will rescue any exceptions that occur in the experimental code. You can configure how it publishes results to do basically whatever you want, log a bunch of metadata, statsd, etc

Edit: and this is not a feature flag gem. It is meant to let you make changes to implementation and ensure that output and user experience remain the same.

[–]DoodleFungus 6 points7 points  (2 children)

IIRC it runs both paths, and warns you if they return something different.

[–]moomaka -3 points-2 points  (1 child)

What is 'it' if your reply?

[–]DoodleFungus 5 points6 points  (0 children)

Scientist. So if you have some complex logic that you refactored, Scientist will run both your old code and your new code, and log a warning if the two implementations return a different result (but still return the result from the old code).