master側の/path/to/shared以下でファイルの変更が検知されたら、lsyncdがS3に同期をかけ、そののちserfクラスタにupdateイベントを発行する。 それを受け取ったslave側がS3からファイルを持ってくる。
- lsyncd
- serf
| -- Forked from http://personal.cis.strath.ac.uk/~conor/fooling/Jigger.agda | |
| module Jigger where | |
| data Nat : Set where | |
| zero : Nat | |
| suc : Nat -> Nat | |
| _+_ : Nat -> Nat -> Nat | |
| zero + n = n | |
| suc m + n = suc (m + n) |
| <build> | |
| <pluginManagement> | |
| <plugins> | |
| <plugin> | |
| <groupId>org.apache.maven.plugins</groupId> | |
| <artifactId>maven-compiler-plugin</artifactId> | |
| <version>3.5.1</version> | |
| <configuration> | |
| <source>1.8</source> | |
| <target>1.8</target> |
| #include <iostream> | |
| #include <type_traits> | |
| #include <string> | |
| // primality test | |
| template<int N, int M> | |
| struct divides | |
| { | |
| enum { value = ((N%M) == 0) || divides<N, M-1>::value }; |
| // These lines go in ~/.sbt/0.13/global.sbt | |
| watchSources ++= ( | |
| (baseDirectory.value * "*.sbt").get | |
| ++ (baseDirectory.value / "project" * "*.scala").get | |
| ++ (baseDirectory.value / "project" * "*.sbt").get | |
| ) | |
| addCommandAlias("rtu", "; reload ; test:update") | |
| addCommandAlias("rtc", "; reload ; test:compile") | |
| addCommandAlias("ru", "; reload ; update") |
| fn main() { | |
| let mut last_commit_hash = HashValue::zero(); // Genesis hash | |
| let mut last_commit_round = 0; | |
| fn get_and_check(untrusted_store: BlockStore, hash: HashValue) -> Result<Block, Error> { | |
| let block_candidate = untrusted_store | |
| .get(hash) | |
| .ok_or(format_err!("Block store is incomplete, lacks {}", hash))?; | |
| // this calls BlockHasher::hash() | |
| if block_candidate.hash() == hash { |
| fn main() { | |
| let mut last_commit_hash = HashValue::zero(); // Genesis hash | |
| let mut last_commit_round = 0; | |
| fn get_and_check(untrusted_store: BlockStore, hash: HashValue) -> Result<Block, Error> { | |
| let block_candidate = untrusted_store | |
| .get(hash) | |
| .ok_or(format_err!("Block store is incomplete, lacks {}", hash))?; | |
| // this calls BlockHasher::hash() | |
| if block_candidate.hash() == hash { |
| Companies hiring Scala developers in the Bay Area. | |
| Created in response to a thread on scala-base. | |
| My favorites: | |
| - CloudPhysics | |
| - Wordnik | |
| Unbiased list: | |
| - 10Gen | |
| - Audax Health |
| s3sync = { | |
| maxProcesses = 1, | |
| onStartup = "aws s3 sync ^source ^target", | |
| onCreate = "[ -f ^source^pathname ] && aws s3 cp ^source^pathname ^target^pathname || true", | |
| onModify = "[ -f ^source^pathname ] && aws s3 cp ^source^pathname ^target^pathname || true", | |
| onDelete = "[ -f ^source^pathname ] && aws s3 rm ^target^pathname || true", | |
| onMove = "aws s3 mv ^target^o.pathname ^target^d.pathname", | |
| } | |
| sync { |
(originally from my proposal on moby/moby#17142 (comment) but generic)
The profile would generate artificats of an apparmor profile and seccomp filters.
Obviously doesn't have to be toml since that's super hipster :p
Assumptions
aa-genprof it is never