From b14408f5c68d8aa556f0b0e36bead8b8eda236e9 Mon Sep 17 00:00:00 2001 From: aiju Date: Mon, 8 Aug 2011 18:14:52 +0200 Subject: [PATCH] bullshit! --- lib/bullshit | 20 ++++++++++++++++++++ rc/bin/bullshit | 43 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 lib/bullshit create mode 100755 rc/bin/bullshit diff --git a/lib/bullshit b/lib/bullshit new file mode 100644 index 000000000..f1db343fb --- /dev/null +++ b/lib/bullshit @@ -0,0 +1,20 @@ +cloud +metadata +replication +factory +interface +singleton +framework +NoSQL +content-addressed ^ +asynchronous ^ +object-oriented ^ +immutable ^ +distributed ^ +virtual ^ +SQL * +JSON * +XML * +YAML * +XMPP * +solution $ diff --git a/rc/bin/bullshit b/rc/bin/bullshit new file mode 100755 index 000000000..0579bd28d --- /dev/null +++ b/rc/bin/bullshit @@ -0,0 +1,43 @@ +#!/bin/rc +awk ' +function min(a, b){ + if(a > b) + return b + else + return a +} +$2 == "*" { protocol[nprotocol++] = $1; next } +$2 == "$" { end[nend++] = $1; next } +$2 == "^" { start[nstart++] = $1; next } +$2 == "|" { noend[nword] = 1 } +{ word[nword++] = $1; next } +END { + srand() + last = -1 + out = 0 + total = int(rand() * 7) + n = int(rand() * min(total - out, 3)) + for(i = 0; i < n; i++) + printf "%s ", start[int(rand() * nstart)] + out += n + n = int(rand() * min(total - out, 3)) + for(i = 0; i < n; i++) + printf "%s ", word[last = int(rand() * nword)] + out += n + if(rand() > 0.5){ + n = int(rand() * 3) + for(i = 0; i < n; i++) + printf "%s %s", protocol[int(rand() * nprotocol)], (i != n-1) ? "over " : "" + out += n + last = -1 + } + n = int(rand() * min(total - out, 3)) + if(out + n == 1 || last == -1) + n += 2 + for(i = 0; i < n; i++) + printf "%s ", word[last = int(rand() * nword)] + if(rand() > 0.5 || (last >= 0 && noend[last])) + printf "%s ", word[int(rand() * nend)] + print "" +} +' /lib/bullshit