Task: $ARGUMENTS
- Derive a kebab-case slug from the task description (e.g., "rename an SD" →
rename-sd) - Create and checkout git branch:
{slug}
| -- Create a table that will contain all the JSON object keys | |
| CREATE TABLE KEYS (attrname STRING, expr STRING); | |
| INSERT INTO KEYS | |
| SELECT DISTINCT(e.key), e.fullkey AS key | |
| FROM json_each(log.line) e, log; | |
| -- Generate the CREATE TABLE with all the JSON object keys | |
| .once eval.sql | |
| SELECT 'CREATE TABLE exploded (k_' || group_concat(attrname,' TEXT, k_') || ' TEXT);' | |
| FROM (SELECT attrname FROM keys); |
| final ThreadPoolExecutor experimentExecutor = new ThreadPoolExecutor( | |
| 1, 1, 0, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(1)); | |
| trial = new Trial( | |
| experimentExecutor, | |
| metricRegistry, | |
| "password.succession", | |
| () -> WhichReturn.valueOf(featureService.getFeature("password.succession")), | |
| Trial.IDENTITY_WRAPPER, hibernateWrapper); |
| final Observable<Boolean> result = trial.doTrial( | |
| control, experiment, trialIsEqual, "checkpassword"); |
| final IsEqual<TrialResult<Boolean>> trialIsEqual = Trial.makeIsEqual( | |
| bothOrNeitherThrow, passwordCheckIsEqual.pairwiseEqual()); |
| final IsEqual<Boolean> passwordCheckIsEqual = new IsEqual<Boolean>() { | |
| @Override | |
| public boolean apply(final Boolean control, final Boolean experiment) { | |
| final List<String> mismatches = new ArrayList<>(); | |
| final IsEqualUtil.MismatchConsumer consumer = IsEqualUtil.consumeToList( | |
| mismatches); | |
| final boolean success = checkNullity(control, experiment, consumer) | |
| && startCompare(consumer) | |
| .dotEquals(control, experiment, "checkmatches") | |
| .get(); |
| final IsEqual<Throwable> makeBothOrNeitherThrow = new IsEqual<Throwable>() { | |
| @Override | |
| public boolean apply(final Throwable control, final Throwable experiment) { | |
| final boolean result = ((control == null) == (experiment == null)); | |
| if (!result) { | |
| /// log relevant info to Kafka | |
| } | |
| return result; | |
| } | |
| }; |
| final Callable<Observable<Boolean>> control = | |
| () -> oldPasswordCeckingApi.matches(username, password); | |
| final Callable<Observable<Boolean>> experiment = | |
| () -> authService.doPasswordCheck(username, password); |
| [ see https://github.com/drewcsillag/rebaseit ] | |
| [note | |
| gls = git log --format='format:%h : %s' | |
| ] | |
| This is a theoretical example based off of real events. | |
| So I'm in my git repo for my project and I start doing work. | |
| Because git is awesome and I do stupid things, I commit *all* the | |
| time. Between refactoring passes and tests passing, I just | |
| commit, because editor undo only goes so far sometimes. Not only |
| sudo apt-get purge lxc-docker lxc-docker-1.3.1 | |
| sudo rm -rf /var/lib/docker | |
| sudo sppuppet agent -t -v |