Beefy Boxes and Bandwidth Generously Provided by pair Networks Russ
Problems? Is your data what you think it is?

Comment on


Greetings fellow monks,

I'm unsure whether this has been done before, but I was bored. So here it is: a management-speak generator, just in case you ever need to generate a long and meaningless document that sounds pseudo-impressive. This whole concept was highly influenced by Dack's Web BS Generator, of course.

#!/usr/bin/perl -w use strict; srand; my @pronouns = qw(I we they); my @articles = qw(the your my); my @sub_conjuncs = ( 'after', 'although', 'as', 'as if', 'as long as', 'as though', 'be +cause', 'before', 'even if', 'even though', 'if', 'if only', 'in order tha +t', 'now that', 'once', 'rather than', 'since', 'so that', 'though', ' +unless', 'until', 'when', 'whenever', 'where', 'whereas', 'wherever', 'whil +e' ); my @power_words = qw( accomplished dealt implemented projected achieved debated improved + promoted acquired decided included proofed adjusted defined increa +sed purchased administered delegated indicated qualified advised deliv +ered initiated questioned analyzed demonstrated inspected rated applied + designed instructed received appraised determined insured recogniz +ed arranged developed interpreted recommended assessed devised interv +iewed recorded assisted directed introduced recruited assured discovered + investigated reduced awarded dispensed joined rehabilitated bought + displayed kept related briefed distributed launched renovated brou +ght earned led repaired budgeted edited located reported calculated ed +ucated maintained represented cataloged elected managed researched chaire +d encouraged maximized reviewed changed enlisted measured revised classified ensured mediated selected closed entertained modified s +erved coached established motivated simplified combined evaluated named sketched communicated examined negotiated sold compared excelled o +bserved solved completed executed obtained spearheaded computed exhibited operated specified conceived expanded ordered started concluded ex +pedited organized streamlined conducted explained paid strengthened confro +nted facilitated participated studied constructed financed perceived su +ggested continued forecast performed summarized contracted formulated pers +uaded supervised controlled gained placed targeted convinced gathered pl +anned taught coordinated graded predicted tested corrected greeted prepa +red trained corresponded guided presented translated counseled handle +d processed treated created helped produced updated critiqued identi +fied programmed wrote ); my @verbs = qw( aggregate architect benchmark brand cultivate deliver deploy disintermediate drive e-enable embrace empower enable engage engin +eer enhance envision evolve expedite exploit extend facilitate generat +e grow harness implement incentivize incubate innovate integrate ite +rate leverage maximize mesh monetize morph optimize orchestrate reconte +xtualize reintermediate reinvent repurpose revolutionize scale seize strate +gize streamline syndicate synergize synthesize target transform transit +ion unleash utilize visualize whiteboard ); my @aux_verbs = ( 'will', 'shall', 'may', 'might', 'can', 'could', 'must', 'ought to', 'should', 'would', 'need to' ); my @adjectives = qw( 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 interacti +ve intuitive killer leading-edge magnetic mission-critical next-gener +ation one-to-one open-source out-of-the-box plug-and-play proactive real +-time revolutionary robust scalable seamless sexy sticky strategic syner +gistic transparent turn-key ubiquitous user-centric value-added vertical viral virtual visionary web-enabled wireless world-class ); my @nouns = qw( action-items applications architectures bandwidth channels communi +ties content convergence deliverables e-business e-commerce e-markets e-services e-tailers experiences eyeballs functionalities infomedi +aries infrastructures initiatives interfaces markets methodologies metri +cs mindshare models networks niches paradigms partnerships platforms portals relationships ROI synergies web-readiness schemas solution +s supply-chains systems technologies users vortals ); my @conj_adverbs = qw(however moreover nevertheless consequently); my @conjuntors = qw(though although notwithstanding yet still); my @sentences; for (my $x=0; $x<100; $x++) { push @sentences, &sentence; } print join ' ', @sentences; exit; sub sentence { my $sentence; my $type = int(rand(5 - 1 + 1)) + 1; if ($type == 1) { $sentence = join ' ', maybe(&conj_adverb,1,4,', ') . &article, + tobe(&noun), &power_word, &sub_conjunc, &pronoun, &power_word, &article, maybe(&adjective,1,2,' ') . &noun . maybe(&phrase,1,2,''); } elsif ($type == 2) { $sentence = join ' ', maybe(&conj_adverb,1,4,', ') . &sub_conj +unc, &pronoun, &power_word, &article, maybe(&adjective,1,2,' ') . &noun . ',', &article, maybe(&adjective,1,2,' ') . &noun, &power_word, &article, maybe(&adjective,1,2,' ') . &noun . maybe(&phrase,1,3,''); } elsif ($type == 3) { $sentence = join ' ', maybe(&conj_adverb,1,4,', ') . &pronoun, + &aux_verb, &verb, &article, maybe(&adjective,1,2,' ') . &n +oun, &sub_conjunc, &article, &adjective, plural(&noun), &aux_ve +rb, &verb, &article, maybe(&adjective,1,2,' ') . &noun . maybe(&phrase,1,4,''); } elsif ($type == 4) { $sentence = join ' ', maybe(&conj_adverb,1,4,', ') . &sub_conj +unc, &pronoun, &verb, &article, maybe(&adjective,1,2,' ') . &noun . + ',', &pronoun, 'can', &verb, &article, maybe(&adjective,1,2,' ') . &noun . maybe(&phrase,1,4,''); } elsif ($type == 5) { $sentence = join ' ', maybe(&conj_adverb,1,4,', ') . &pronoun, + &aux_verb, &verb, &article, maybe(&adjective,1,2,' ') . &n +oun, &sub_conjunc, &pronoun, &verb, &article, maybe(&adjective,1,2,' ') . &noun . maybe(&phrase,1,4,''); } return ucfirst($sentence) . '.'; } sub pronoun { return $pronouns[int(rand($#pronouns+1))]; } sub conjuntor { return $conjuntors[int(rand($#conjuntors+1))]; } sub sub_conjunc { return $sub_conjuncs[int(rand($#sub_conjuncs+1))]; } sub conj_adverb { return $conj_adverbs[int(rand($#conj_adverbs+1))]; } sub power_word { return $power_words[int(rand($#power_words+1))]; } sub verb { return $verbs[int(rand($#verbs+1))]; } sub aux_verb { return $aux_verbs[int(rand($#aux_verbs+1))]; } sub adjective { return $adjectives[int(rand($#adjectives+1))]; } sub noun { return $nouns[int(rand($#nouns+1))]; } sub article { return $articles[int(rand($#articles+1))]; } sub phrase { return join ' ', ',', &conjuntor, &article, tobe(&noun), &power_wo +rd; } sub tobe { return $_[0] . ' is' if ($_[0] =~ /ess$/); return $_[0] . ' are' if ($_[0] =~ /s$/); return $_[0] . ' is'; } sub plural { my $word = $_[0]; if ($word =~ /s$/) { $word =~ s/$/es/; } else { $word =~ s/$/s/; } return $word; } sub adverb { my $verb = &verb; $verb =~ s/e*$/ing/; return $verb; } sub maybe { my $low = $_[1]; my $high = $_[2]; if (int(rand($high - $low + 1)) + $low == $low) { return $_[0] . $_[3]; } else { return ''; } }

The English parsing is extremely incomplete, so often times (say one in five) you'll get slight grammatical errors. I tried to fix that up a bit with &plural and &tobe, but there's certainly much more to do.

code('Perl') || die;

In reply to Management-speak generator by gryphon

and:  <code> code here </code>

  • Please read these before you post! —
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Log In?

    What's my password?
    Create A New User
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others cooling their heels in the Monastery: (5)
    As of 2014-03-13 21:40 GMT
    Find Nodes?
      Voting Booth?

      Have you used a cryptocurrency?

      Results (290 votes), past polls