{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830 {\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Menlo-Regular;\f2\fswiss\fcharset0 ArialMT; } {\colortbl;\red255\green255\blue255;\red2\green2\blue2;\red9\green80\blue208;\red0\green0\blue0; \red60\green60\blue59;\red60\green60\blue59;\red0\green0\blue0;} {\*\expandedcolortbl;;\csgenericrgb\c784\c784\c784;\cssrgb\c0\c41176\c85098;\csgray\c0; \cssrgb\c30196\c30196\c29804;\cssrgb\c30196\c30196\c29804;\cssrgb\c0\c0\c0;} \deftab720 \pard\pardeftab720\partightenfactor0 \f0\fs48 \cf2 publishing a new version\ try clippy (requires nightly for now)\ make sure tests work\ make sure examples work\ change the version number \ dependencies auto-update if the first non-zero number doesn\'92t change\ update categories (after slug pull request)\ \f1\fs34 \cf0 \CocoaLigature0 git tag version-0.X.0 \f0\fs48 \cf2 \CocoaLigature1 \ cargo package\ optional, allows you to inspect the target/package/*.crate file\ cargo publish\ \ \pard\pardeftab720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/brson/rust-api-guidelines"}}{\fldrslt \cf2 https://github.com/brson/rust-api-guidelines}}\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://deterministic.space/elegant-apis-in-rust.html"}}{\fldrslt \cf2 https://deterministic.space/elegant-apis-in-rust.html}}\ https://pascalhertleif.de/artikel/good-practices-for-writing-rust-libraries/\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://rust-lang.github.io/book/second-edition/index.html"}}{\fldrslt \cf2 https://rust-lang.github.io/book/second-edition/index.html}}\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://doc.rust-lang.org/stable/nomicon/README.html"}}{\fldrslt \cf2 https://doc.rust-lang.org/stable/nomicon/README.html}}\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://rust-leipzig.github.io/architecture/2016/12/20/idiomatic-trees-in-rust/"}}{\fldrslt \cf2 https://rust-leipzig.github.io/architecture/2016/12/20/idiomatic-trees-in-rust/}}\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://github.com/rust-unofficial/patterns"}}{\fldrslt \cf2 https://github.com/rust-unofficial/patterns}}\ {\field{\*\fldinst{HYPERLINK "https://github.com/brson/rust-cookbook"}}{\fldrslt \fs36 \cf3 \expnd0\expndtw0\kerning0 \ul \ulc3 https://github.com/brson/rust-cookbook}} \fs36 \cf0 \expnd0\expndtw0\kerning0 \ \pard\pardeftab720\partightenfactor0 \cf0 \ {\field{\*\fldinst{HYPERLINK "https://thesquareplanet.com/blog/rust-tips-and-tricks/"}}{\fldrslt https://thesquareplanet.com/blog/rust-tips-and-tricks/}}\ \pard\pardeftab720\partightenfactor0 {\field{\*\fldinst{HYPERLINK "https://danielkeep.github.io/itercheat_baked.html"}}{\fldrslt \fs48 \cf0 https://danielkeep.github.io/itercheat_baked.html}}\ \ \pard\pardeftab963\pardirnatural\partightenfactor0 \f1\fs40 \cf0 \kerning1\expnd0\expndtw0 \ rouille really simple, active\ rustful fairly light weight, built on top of hyper\ lot of docs, active\ iron pretty heavy weight\ very active\ {\field{\*\fldinst{HYPERLINK "https://www.jamestease.co.uk/blether/writing-a-basic-json-web-server-in-rust-using-iron"}}{\fldrslt https://www.jamestease.co.uk/blether/writing-a-basic-json-web-server-in-rust-using-iron}}\ nickel fairly light weight, built on top of hyper\ lot of examples, iffy docs, inactive\ pencil very light weight, built on top of hyper\ inactive\ \ \ curl http://127.0.0.1:9000/log/all\ \ curl -X PUT http://127.0.0.1:9000/set/time/10\ \ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 {\field{\*\fldinst{HYPERLINK "http://es6-features.org/#Constants"}}{\fldrslt \fs36 \cf4 \CocoaLigature0 http://es6-features.org/#Constants}} \fs36 \cf4 \CocoaLigature0 \ \pard\pardeftab963\pardirnatural\partightenfactor0 \f0\fs48 \cf2 \CocoaLigature1 \ \pard\pardeftab720\sl540\partightenfactor0 \f1\fs36 \cf5 \expnd0\expndtw0\kerning0 \ \pard\pardeftab720\sl540\partightenfactor0 \cf6 \outl0\strokewidth0 \strokec6 \ \pard\pardeftab720\sl380\partightenfactor0 \cf5 \outl0\strokewidth0 Mon 4:30-5:30\ Sun 3rd \f0\fs48 \cf2 \kerning1\expnd0\expndtw0 \ \pard\pardeftab720\sl540\partightenfactor0 \f1\fs36 \cf6 \expnd0\expndtw0\kerning0 \outl0\strokewidth0 \strokec6 \ \pard\pardeftab720\partightenfactor0 \f0\fs48 \cf2 \kerning1\expnd0\expndtw0 \outl0\strokewidth0 \ \pard\pardeftab720\partightenfactor0 \cf2 publishing a new version\ cargo package\ optional, allows you to inspect the target/package/*.crate file\ cargo publish\ \pard\pardeftab720\partightenfactor0 \cf2 \ * Cat sitter\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 \cf2 * Start working on snet\ - can we save off pcaps?\ \pard\pardeftab720\sl480\partightenfactor0 \f2\fs50\fsmilli25333 \cf7 \expnd0\expndtw0\kerning0 * Start using clippy\ * Add persistence?\ - maybe with some simple viewer tools\ \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardeftab720\pardirnatural\partightenfactor0 \f0\fs48 \cf2 \kerning1\expnd0\expndtw0 * Check parallelism:\ - maintain a list of buckets where the bucket number is how many threads executed\ - log that at debug\ - counting should only be done if should_log\ * Try \fs36 \cf0 \expnd0\expndtw0\kerning0 #[warn(unused_must_use)] \fs48 \cf2 \kerning1\expnd0\expndtw0 \ * Try separate executioners\ * Probably should have make targets to check finger prints\ * Could have optimistic parallelism:\ - default to scheduling num cores components\ - commit those that didn\'92t do a read from a key that a later time slice wrote to\ - otherwise commit those that executed at the same time slice\ - maybe self-adapt to scale back optimism\ * could have reflected tables to encode meta info: units, blurb, default value, maybe ranges\ * might also want some static sort of reporters\ - maybe a version that spits out escaped text for console runs\ - another could do rtf or markdown\ * have to pay close attention to reproducibility, even across architectures\ * Should be a way to collect results over runs\ * support multiple cores but not the cloud\ * probably just want to use code to configure\ * wonder if es could be sucked into the store\ \pard\pardeftab720\partightenfactor0 \cf2 * Would be cool to have a checkbox for animated runs\ - could have a checkbox under the run until button\ - would need to change Run Until to Stop\ - would need to disable Run Until Changed\ \pard\pardeftab720\sl480\partightenfactor0 \f2\fs50\fsmilli25333 \cf7 \expnd0\expndtw0\kerning0 * Could have a specialized project just to show log files:\ \pard\pardeftab963\pardirnatural\partightenfactor0 \f0\fs48 \cf2 \kerning1\expnd0\expndtw0 # comments are hash mark in first column\ # =~ is a case insensitive regex match\ # !=~ is a case insensitive regex non-match\ # expressions are applied in the order they are listed\ # to be really cool could have an option to persist these\ #time >= 0.0\ level >= Debug\ #show path =~ .+\ #hide message =~ xxx\ #color path red =~ error\ #back color path gray =~ blah\ }