Skip to content

Corporate Bullshit Generator

Moved Let's Build It
  • Have you ever found yourself struggling for that killer phrase where you know you need that competitive edge to get you over the line, but just can’t find the words? Look no further! Introducing the Corporate Bullshit Generator; a product absolutely guaranteed to make your speech or presentation stand out well above the others. Just copy the phrase generated below and insert where required.

    Give it a whirl, and amaze your peers with your superior intellect 😛

    Try It

    Ok, in all seriousness, this is something I wrote on the back of being subjected to “death by PowerPoint” some time ago - an extremely dull deck full containing over 100 slides - with random “buzz words” inserted where the author thought it appropriate. This is my response to that specific scenario. Full sarcasm is intended!

    In terms of code, this is 100% JS - there is also a PHP version for those who’d prefer that - in actual fact, I originally wrote it in PHP but only this afternoon converted that to JS.

    Enjoy! If you’d like the code, let me know. I intend to create a “coding playground” where stuff like this can be found.

  • Some of my personal favourites



  • ahaha 😄 good job! 🙂

    I loved this BS generator; currently, the internet is full of these buzzwords. Unfortunately, it is so important to use this, nowadays if you do not add any buzzwords to your site, people belittle you 🙂

  • @crazycells yeah, I’ve noticed that as well. What is it with buzzwords? All they signify to me is that you can “talk the talk” but not “walk the walk”. Anyone can read something on the internet, and after a while, probably recite it word for word, but do they truly understand it?

    I interviewed a guy once who certainly knew buzzwords like the back of his hand, but failed a technical test miserably.

  • phenomlabundefined phenomlab referenced this topic on
  • phenomlabundefined phenomlab moved this topic from Guides on

  • 5 Votes
    3 Posts

    Very good like always 😉

  • 1 Votes
    26 Posts

    Yes ogproxy too is functionnal on dev

  • 15 Votes
    27 Posts

    For anyone else coming here and is struggling to get pm2 to work with Umami (as I did - it started, but never seemed to work after a reboot which is pretty useless), you can use the below. Obviously, change the parts noted inside the [brackets]. Follow the below instructions:


    Open a terminal and create a new systemd service file:

    sudo nano /etc/systemd/system/umami.service

    Add the following content to the file:

    [Unit] Description=Umami Analytics Server [Service] Type=simple User=[umami user] WorkingDirectory=[path to umami] ExecStart=/usr/local/bin/node [path to umami]/node_modules/.bin/next start Restart=on-failure [Install]

    Replace [umami user] with the username of the user that should run the Umami service, and [path to umami] with the actual path to your Umami installation.

    Save the file and exit the editor.

    Reload the systemd manager configuration:

    sudo systemctl daemon-reload

    Enable the Umami service to start on boot:

    sudo systemctl enable umami.service

    Start the Umami service:

    sudo systemctl start umami.service

    You can check the status of the service with:

    sudo systemctl status umami.service

    This systemd service file will ensure that Umami starts automatically when the system boots, and it will restart the service if it fails. Remember to adjust the WorkingDirectory and ExecStart paths according to where Umami is installed on your system, and ensure that Node.js is installed and accessible at /usr/bin/node (or adjust the path to Node.js as necessary).

  • 15 Votes
    51 Posts

    Oh yes, that’s what’s super cool, I learn something every day. Afterwards I start from so low in JS

  • 19 Votes
    35 Posts

    @DownPW said in Threaded chat support for NodeBB:

    Better like this : add shadow and border-left on self answer

    Of course - you style to your own requirements and taste 🙂 I’ll commit that CSS we discussed yesterday also

  • 20 Votes
    28 Posts

    thanks Mark.

  • 20 Votes
    110 Posts

    @crazycells said in Setup OGProxy for use in NodeBB:

    are they cached for each user separately?

    No. It’s a shared cache

    @crazycells said in Setup OGProxy for use in NodeBB:

    additionally, this is also handling youtube videos etc, right?

    No. This is handled by nodebb-plugin-ns-embed

  • 14 Votes
    14 Posts

    Just circling back here as I’ve been helping @cagatay this morning on his site, and noticed that if you use a mixture of fa-brands and fa-solid then the code supplied above may produce some odd looking results.

    If this is the case, replace the function with this

    $(document).ready(function() { $.getJSON('/api/categories', function(data, status) { $.each(data.categories, function(key, value) { var iconClass = 'fa'; // Default to 'fa' if the icon type is not recognized // Check if the icon is FontAwesome Unicode if (this.icon.startsWith('&#x') || this.icon.startsWith('&#xf')) { iconClass = 'fa'; } else if (this.icon.startsWith('fab')) { iconClass = 'fab'; } var categorylist = $(" \ <li class='dropdown-item tree-root'><span class='category-menu'><i class='" + iconClass + " " + this.icon + "'></i><a style='display: inherit;' class='dropdown-item rounded-1' href='/category/" + this.slug + "'>" + + "</a></span></li> \ <ul class='tree-branch' style='list-style: none;'>" + => { var childIconClass = 'fa'; // Default to 'fa' for child icons // Check if the child icon is FontAwesome Unicode if (c.icon.startsWith('&#x') || c.icon.startsWith('&#xf')) { childIconClass = 'fas'; } else if (c.icon.startsWith('fab')) { childIconClass = 'fab'; } return `<li class='dropdown-item tree-node'><span class='category-menu-tree-node'><i class='${childIconClass} ${c.icon}'></i><a class='dropdown-item rounded-1' style='display: inherit;' href='/category/${c.slug}'>${}</a></span></li>`; }).join(" ") + "</ul>" ); if ($(window).width() < 767) { $(".bottombar #thecategories").append(categorylist); } else { $(".sidebar-left #thecategories").append(categorylist); } }); }); });

    In fact, if you want to replace it anyway to make your experience “future proof”, you can use this code now 🙂