;Web Economy Bullshit Generator ;Recluse version ;by C. Ray C. ; ;gerunds added by Krelin (define verbs '#( "aggregate" "architect" "benchmark" "brand" "cultivate" "deliver" "deploy" "disintermediate" "drive" "e-enable" "embrace" "empower" "enable" "engage" "engineer" "enhance" "envisioneer" "evolve" "expedite" "exploit" "extend" "facilitate" "generate" "grow" "harness" "implement" "incentivize" "incubate" "innovate" "integrate" "iterate" "leverage" "maximize" "mesh" "monetize" "morph" "optimize" "orchestrate" "provide" "reintermediate" "reinvent" "repurpose" "revolutionize" "scale" "seize" "strategize" "streamline" "syndicate" "synergize" "synthesize" "target" "transform" "transition" "unleash" "utilize" "visualize" "whiteboard")) (define adjectives '#( "24/365" "24/7" "B2B" "B2C" "back-end" "best-of-breed" "bleeding-edge" "bricks-and-clicks" "clicks-and-mortar" "collaborative" "compelling" "cross-platform" "cross-media" "customized" "cutting-edge" "distributed" "dot-com" "dynamic" "e-business" "efficient" "end-to-end" "enterprise" "extensible" "frictionless" "front-end" "global" "granular" "holistic" "impactful" "innovative" "integrated" "interactive" "intuitive" "killer" "leading-edge" "magnetic" "mission-critical" "next-generation" "one-to-one" "open-source" "out-of-the-box" "plug-and-play" "proactive" "real-time" "revolutionary" "robust" "scalable" "seamless" "sexy" "sticky" "strategic" "synergistic" "transparent" "turn-key" "ubiquitous" "user-centric" "value-added" "vertical" "viral" "virtual" "visionary" "web-enabled" "wireless" "world-class")) (define gerunds '#( "achieving" "acquiring" "collaborating" "e-enabling" "embracing" "exploiting" "facilitating" "growing" "implementing" "incubating" "iterating" "meshing" "monetizing" "morphing" "orchestrating" "seizing" "strategizing" "streamlining" "syndicating" "synergizing" "targetting" "transforming" "unleashing" "virtualizing" "whiteboarding")) (define nouns '#( "action-items" "applications" "architectures" "bandwidth" "channels" "communities" "content" "convergence" "deliverables" "e-business" "e-commerce" "e-markets" "e-services" "e-tailers" "experiences" "eyeballs" "functionalities" "infomediaries" "infrastructures" "initiatives" "interfaces" "markets" "methodologies" "metrics" "mindshare" "models" "networks" "niches" "paradigms" "partnerships" "platforms" "portals" "relationships" "ROI" "synergies" "web-readiness" "schemas" "solutions" "supply-chains" "systems" "technologies" "users" "vortals")) (define models '#( ("the critical part is" gerund adjective noun) ("we need to" verb adjective noun) ("we must" verb adjective noun) ("if we" verb adjective noun ", we can further our goal of" gerund noun) (gerund adjective noun "is our ultimate goal") (gerund adjective noun "is the key to" gerund "our" adjective noun) (gerund noun "is the key to" gerund adjective noun) ("once we" verb adjective noun ", we will be able to" verb adjective noun) (gerund adjective noun "has great importance in terms of" adjective noun) ("the importance of" gerund adjective noun "cannot be overestimated") ("Java is the best platform for" gerund adjective noun) (adjective noun "are the first step towards" adjective noun))) (define (random-from-vector v) (vector-ref v (random (vector-length v)))) (define (capitalize! s) (string-set! s 0 (char-upcase (string-ref s 0))) s) (set! *random-state* (seed->random-state (* 9321864 (current-time)))) (define (char-punctuation? c) (not (or (char-alphabetic? c) (char-numeric? c) (char-whitespace? c)))) (define (space-out l) ;ack, this is ugly (let loop ((i (cdr l)) (o (list (car l)))) (if (null? i) (reverse! o) (loop (cdr i) (let ((x (car i))) (cons x (if (and (string? x) (char-punctuation? (string-ref x 0))) o (cons " " o)))))))) (define (model-converter x) (if (symbol? x) (random-from-vector (case x ((verb) verbs) ((noun) nouns) ((adjective) adjectives) ((gerund) gerunds))) x)) (define (model->sentence model) (capitalize! (apply string-append (append! (space-out (map model-converter model)) '("."))))) (define (bs) (model->sentence (random-from-vector models))) (display (bs)) (display "\n")