UPDATE: JNat will be sending out emails to collect addresses from the lucky users getting a cheese board — be on the lookout for those! :)

We've moved quite a bit of stuff around this year, and you've been mostly patient with us while we overhauled our information architecture. This was no trivial needs more pop and a lens flare type of undertaking, we moved a significant amount of cheese.

To kick off our fall anniversary series of celebrations, we'd like to offer our thanks to everyone that put up with us. We'd especially like to thank those of you who went out of your way to try and be constructive, even when you weren't happy about the changes we had to make.

We were going to do this sooner, but we had to find a really cheesy way to go about it, and not much is cheesier than a cheese board except the cheese one might carve while using it.

If you want one of these engraved with "Cheese Overflow 2018":

Cheese board picture

... then you need to regale us with tales of cheese. Or, tails of cheese, if you make mice out of Maasdam. Cheese, Louise, you could even write a song. You must submit creative artifacts where the primary theme is cheese, where puns are strongly encouraged.

You could:

  • Make a sculpture out of cheese.
  • Write a cheesy story.
  • Write a song about cheese, perhaps a Munster mash for upcoming holidays?
  • Design a completely edible replacement for your favorite review queue.
  • Make a brie-f case to hold your important papers.

... you get the drift. The top 25 entries, as calculated by net upvotes received (not aggregate score, down-voting won't help you win!) will receive this cheesy package. Whatever it is, you have to be able to submit it as an answer to this question. Links to videos are accepted, however they must be of your own creation and the video must remain available. If either stops being true, your submission will be removed.

That's right. Text, images, crayons on newspaper, LEGO, popsicle sticks - it only has to be cheesy as a major component. If we have to explain that more technically, it's not going to be fun anymore :P

The Rules

  1. You can post as many entries as you want in good faith as long as they are in line with our terms of service, acceptable use policy and code of conduct. This is also a reminder that all user-contributed content falls under our CC-BY-SA 3.0 license.

  2. Contest is open from 2018-10-09 to 2018-11-09, final entry must be received at or prior to 23:59:59 UTC on the last day. Contest will then be locked for historical reference.

  3. Employees are eligible. Jay, this means that you've gotta get cheesy in order to get a cheese board.

  4. You must be a user in good standing on Meta Stack Exchange during the entirety of the contest, or your entry may be disqualified. Let's have some good, clean fun.

  5. Winners will be notified via email within 10 days of the contest closing. As we will be ordering these based on demand (they're not cheap!), you'll need to allow approximately 30 days for delivery. You'll need to provide us your shipping information privately, in accordance with our privacy policy.

  6. If you win but don't care for cheese, we'll give you a selection of other items of approximate value. We want you to enjoy the prize.

  7. Void where contests or cheese is prohibited.

Now let's get cheesy!

  • 25
    Who doesn't love cheese? Heathens, that's who!
    – fbueckert
    Commented Oct 9, 2018 at 14:49
  • 183
    "Employees are eligible." With all the cheese, I first read edible. Thankfully not. Commented Oct 9, 2018 at 14:51
  • 84
    Why do you think we're on to Shog number 9 @AnneDaunted? Gosh those first 8 were tasty.
    – Bart
    Commented Oct 9, 2018 at 15:00
  • 49
    @Bart Sweet like Shogolate? Commented Oct 9, 2018 at 15:02
  • 10
    Good cheese needs a bit longer to mature ...
    – rene
    Commented Oct 9, 2018 at 15:22
  • 20
    Notify Wallace & Grommitt Commented Oct 9, 2018 at 15:32
  • 13
    Incoming onslaught of cheese related puns; brace yourselves!
    – Erin B
    Commented Oct 9, 2018 at 15:48
  • 97
    We only ate shog(s) 1 - 8 because they weren't doing a gouda nuff job.
    – user50049
    Commented Oct 9, 2018 at 16:07
  • 16
    Whoever came up with this idea is crackers.
    – Turnip
    Commented Oct 9, 2018 at 16:24
  • 8
    @VadimOvchinnikov I linked to a wikipedia article about what inspired the phrase. Commonly, it's a metaphor for disrupting the way people work by changing the location and behavior of the things they need to accomplish something (e.g. changing the design of something)
    – user50049
    Commented Oct 9, 2018 at 18:13
  • 10
    Blessed are the cheesemakers! Commented Oct 9, 2018 at 18:56
  • 24
    Just a thought: I think accepting entries immediately after announcing the contest would tend to advantage lower-effort entries, due to the FGITW effects. Commented Oct 9, 2018 at 19:45
  • 10
    @AlexanderO'Mara There's certainly some truth to that... but truly stellar answers can (and have) been voted up the ranks even when posted later in the process in past events. Case in point, my cookie hat from Winter Bash, which was posted 3 days after the start of the contest and still managed to finish third. So, if you have a great idea but it will take some time to age - like a good Cheddar - there's still hope.
    – Catija
    Commented Oct 9, 2018 at 20:31
  • 8
    @RobertColumbia Head on over to Mi Yoda and ask. Be prepared for some lengthy replies. Also "vegan restaurants". Commented Oct 10, 2018 at 12:58
  • 11
    @TimPost "Contest will then be locked for historical reference". Well. Commented Nov 12, 2018 at 11:10

75 Answers 75


A question about cheese magically attracts the TikZmice. They are part of a LaTeX package named "tikzlings" which is currently developed with the help many TeX.Stackexchange users.

In case you want to try it yourself, the package source code is available from https://github.com/samcarter/tikzlings.




\fill[gray!59!white,rotate around={70:(0.385,0.93)}] (0.385,0.93) ellipse (0.24 and 0.13);


enter image description here

The name of this mouse is TokZ, which is a mixture of TikZ (the LaTeX package used to draw these cute little beings) and the Italian word for mouse (The user who had the idea to draw a mouse is Italian).

A few of its friends which share the mouse's passion for cheese:

enter image description here

And to not disappoint the ducks commenting to this post, the cheese is of course also available for the tikzducks (at least in the development version at https://github.com/samcarter/tikzducks):






enter image description here

  • 3
    Out of curiosity, why is the mouse's left paw over the cheese in your top picture but under in the row of animals? I don't know too much about TikZ...is this a setting of the package you've built?
    – scohe001
    Commented Oct 14, 2018 at 14:12
  • 2
    @scohe001 Very good job in noticing this detail! The code I posted in the question first draws the mouse with chesse (\mouse[cheese]) and in the next line (\fill....) it draws again the paw on top of the cheese. I was too lazy to do this in the row of animals as well. Commented Oct 14, 2018 at 17:28
  • No ducks with cheese? Commented Oct 14, 2018 at 17:41
  • @PauloCereda Of course the ducks also have cheese (just a different type, the yellow one was invisible on top of the duck)! Commented Oct 14, 2018 at 17:51
  • oooooooooh :) Commented Oct 14, 2018 at 17:52
  • Like with a lot of the Exiting TikZ packages: I don't know why you would do something like this, but it is awesome and I am happy that you do something like this :D Commented Oct 25, 2018 at 8:44

This incredible web application will tell you your cheese name (the results are just amazing)!

function loadModule(url) {
    return new Promise((resolve, reject) => {
        $.ajax({url: url, dataType: 'text'}).done(resolve).fail((j, t, e) => reject(e));
    }).then(d => new Function('var exports={},module={exports:exports};' + d + 'return module.exports')());
function loadModules(urls) {
    return Promise.all(urls.map(loadModule));
    'https://unpkg.com/[email protected]/lib/cheeses.js',
    'https://unpkg.com/[email protected]/index.js'
]).then(modules => {
    const [cheeses, seedRandom] = modules;
    $('#form').submit(function(e) {
        const rand = seedRandom($('#form [name="name"]').val());
        const randCheese = function() { return cheeses[Math.floor(rand() * cheeses.length)]; }
}).catch(err => $('body').text(err.toString()));
@import 'https://fonts.googleapis.com/css?family=Luckiest+Guy';
* {
    margin: 0;
    padding: 0;
body {
    background: #ff5;
    color: #cb8300;
    font-family: 'Luckiest Guy', san-serif;
    font-size: 1.5em;
    padding: 0.5em;
input, button {
    font-size: 1em;
    color: #ff5;
    background: #cb8300;
    border: 2px solid #a56b00;
input {
    width: 10em;
button {
    padding: 0 0.25em;
    margin: 0 0.25em;
form, h1 {
     font-size: 1.5em;
     font-weight: bold;
h1 {
    margin: 0.5em 0;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form"><label>Name: <input name="name"></label><button name="submit">Find</button></form>
<h1>🧀 Name: <span id="result"></span></h1>

I heard some calls for JavaScript and jQuery, so how about a super-cheesy what's-my-cheese-name generator using the cheese-name NPM library?

Apparently, my name is Feta:


  • No, I'M Stilton; preemptively he said, in case anyone got the same.
    – user50049
    Commented Oct 10, 2018 at 12:15
  • I am Greek and got "Tamie", while you hot "Feta". :/ +1
    – gsamaras
    Commented Oct 10, 2018 at 19:45
  • Error: { "message": "Uncaught SecurityError: Failed to read the 'localStorage' property from 'Window': The document is sandboxed and lacks the 'allow-same-origin' flag.", "filename": "stacksnippets.net/js", "lineno": 44, "colno": 52 }
    – user397846
    Commented Oct 15, 2018 at 21:21
  • @GeorgeM Odd. What browser are you getting that error in? I'm not even using localStorage. Commented Oct 15, 2018 at 21:26
  • garden-variety chrome, on win 7. ??? But I wanted to be mimolette!
    – user397846
    Commented Oct 15, 2018 at 21:40
  • @GeorgeM I'm guessing maybe an error was throw? Perhaps ajax.googleapis.com or unpkg.com are block by your browser or corporate firewall. Commented Oct 15, 2018 at 21:41
  • oh, could very well be. The error happens before I even type anything in the field, just as it comes up. Sorry! Let me try with another browser
    – user397846
    Commented Oct 15, 2018 at 21:48
  • Not IE either! I'm doomed. I'm just going to for mimolette and leave it at that. Thanks though, I like the idea :-)
    – user397846
    Commented Oct 15, 2018 at 21:50

Here's some cheesy code

For SO's 10th anniversary, this will print "Cheese Overflow!" 10 times!

Cheese                                             //Begin program
Glyn(CheeseYears(10))Brie                          //Declare our cheese years to be 10
Cheddar                                            //Begin loop
    Wensleydale(Swiss Cheese Overflow! Swiss)Brie  //Print "Cheese Overflow!"
    Glyn(CheeseYears=CheeseYears-1)Brie            //CheeseYears--
Coleraine(Glyn(CheeseYears = 0))Brie               //Loop until CheeseYears == 0
NoCheese                                           //End program

Some explanation:

It turns out there's actually a programming language named Cheese++.

The syntax looks like:

|        Command         |                                                                                                                         Description                                                                                                                         |
| Cheese                 | Begin                                                                                                                                                                                                                                                       |
| NoCheese               | End                                                                                                                                                                                                                                                         |
| Wensleydale()          | Print (to console)                                                                                                                                                                                                                                          |
| Swiss                  | Quotation mark equivalent, used when creating strings.                                                                                                                                                                                                      |
| Glyn(operation)        | The 'variable function'. It must be invoked in every single operation involving a variable, as demonstrated in the examples below. There is only one data type so no data type identifiers are required, saving space. A variable can take any ASCII value. |
| Cheddar...Coleraine    | repeat ... until                                                                                                                                                                                                                                            |
| Stilton...Blue...White | if ... then...else                                                                                                                                                                                                                                          |
| Belgian                | Prints out the entire source code of the program to the console. Useful for debugging.                                                                                                                                                                      |
| Brie                   | Ends a line/section of code                                                                                                                                                                                                                                 |

You wanted cheesy, so here are a whole lot of ______.

Chee Chee Chee Chee Chee Chee Qi 22158 Chee Chee Chée Chee Qi chi Chi Chee

  • 3
    No idea what it is, but it surely isn't a proper answer to this contest. Commented Oct 15, 2018 at 6:31
  • 1
    @ShadowWizard: my fear is that if I make it blatantly obvious, it won't be funny when you do get it. Commented Oct 15, 2018 at 6:57
  • 7
    If this is a puzzle/riddle of some sort, at least say this in the answer somewhere. Many people (most, I believe) are not into puzzles. Commented Oct 15, 2018 at 7:12
  • @ShadowWizard: It isn't a puzzle, in the sense of spending an hour and still not being able to work it out. It is a joke, in the sense of it should take all of 10 seconds to work it out. [Sure, some people still might not get it. That's true of every joke. Spelling it out would make it less funny. That's also true of every joke.] Commented Oct 15, 2018 at 7:50
  • You wanted cheesy, so here are a whole lot of cheese?
    – Nouman
    Commented Oct 15, 2018 at 11:15
  • 2
    @Oddthinking it should take all of 10 seconds to work it out ... for someone who is used to odd thinking? ;) - I like it, and since the pics are linked, it's (ch)easy enough, I'd say....
    – Arsak
    Commented Oct 15, 2018 at 12:52
  • @Oddthinking you think identifying a Chinese footballer in an icon that small is easy enough? Identifying an obscure indigenous artist who died in 1977 should take less than 10 seconds? Cheeze. Commented Oct 16, 2018 at 6:07
  • 3
    @Mari-LouA: When the image is a link to a Wikipedia page, and has some alt text, yes, yes, I do. Commented Oct 16, 2018 at 12:22
  • Then it has absolutely nothing to do with "working it out", but everything to do with clicking on an image, which is exactly what I did when I saw this post the second time... (the first time, it didn't occur to me). Commented Oct 16, 2018 at 12:25
  • 1
    @Mari-LouA: shrug Some people don't understand it. That doesn't bother me, as long as the people who do get it think it is funny. Voting suggests there aren't enough of the latter, so, meh. No cheeseboard for me. At least I tried. But dumbing it down would be self-defeating. Commented Oct 16, 2018 at 12:53
  • 2
    @ShadowWizard Be careful. I've found that, usually, when I don't understand something, I know less about it than I believe I do.
    – jpaugh
    Commented Oct 16, 2018 at 14:23
  • 4
    I enjoyed the joke Commented Oct 16, 2018 at 15:08
  • 1
    What a weird joke :/
    – Nouman
    Commented Oct 19, 2018 at 13:04
  • Does anyone else see this as mildly racist? Not saying I'm offended, but this post makes me think of racism. Commented Oct 19, 2018 at 18:05
  • 4
    @DCOPTimDowd: It made you "think of racism" is a difficult claim to respond to. That's okay? That's good even. However, I do not think this is even mildly racist. There is a diverse range of cultures, the people included are accomplished in their fields and not being othered or denigrated, any more than making a joke about people called Matt/mat. Commented Oct 19, 2018 at 21:57

I teamed up with Joel Bot* for a whole boatload of Swiss cheese, between the covers of a book from our favorite publisher.

(source: herokuapp.com)

*Not really, but why not?

  • Wow.. this is epic.. :) Commented Oct 14, 2018 at 19:50

I didn't cut the cheese, so don't blame it on me.

But I did see someone wearing a chef's unicorn hat cutting some cheese. You see, it's part of his culture; chopping, dicing, slicing, and grilling cheese, every single day of the year yet he never wines.

I'm positive he's the guy responsible for cutting your cheese. Maybe you curd ask him yourself?

this guy cut the cheese

Made with LDraw / rendered with Photoshop

Coincidentally, here's a Cheese Overflow logo from me:

Cheese overflow

Made with Photoshop

  • Can you give me the link to LeoDraw, I'm not familiar with that one.
    – David
    Commented Oct 15, 2018 at 13:21
  • @David Here is the link to LDraw/LeoDraw/LeoCAD:
    – Nouman
    Commented Oct 15, 2018 at 13:38

When normal human's failing to find who cut the cheese, it's time for a superhero:

"In cheesiest day, in cheesiest night,

No cheese thief escape my sight.

Let those who worship rotten cheese's might

Beware my power in cheesey light!"

Here comes the cheesiest superhero: Cheesy lantern

enter image description here

Story of Origin: Italian boy Formaggio came to America with big dreams of opening a restaurant chain based on dishes with lots of cheese and to run away from family and old friends who were never able to understand him due to his non romantic and asexuality. They want him to settle with a girl which he had no desire of. One blackest day with no moon in sky, he was going to a mart to buy Camembert but on the way he heard about an underground organization which works on experimental cheese and he went to steal some for his dishes. That was a huge factory where they were experimenting on cheese with many nontraditional ways, one of them was placing gamma rays on a shiny yellow cheese which was even brighter than the Moon. When he tried to steal some, security guys came in. In order to escape, he slipped on melted cheese-X. He managed to run away but was unable to steal any cheese. His elbow got injured in this process. After reaching home, he was trying to check his injury in the bathroom but there was no injury but a shiny yellow patch on his elbow.

He never understood what was happening to him but from that day on wards his injuries healed so quickly while omitting yellow sticky substance. Even his hands omit cheesy sweat which made him able to stick to walls and climb any heights. He was a fan of DC comics and thought about using his new found powers to beat criminals. He bought multiple Halloween costumes and by combination make a superhero costume for himself. His friend Ande (Not Edna) told him not to use capes but he ignored the advice and made an oath like his favorite superhero Hal Jordan. He even figured out that he got many other powers like; cheesy slide which made him slide on superfast speed in any surface, throw sticky cheese balls from hand and cheesy super sense. So by day he was a cheese dealer and by night a Superhero.


Introducing ReactCheese, the React awesome component for Cheese Overflow 2018! You can add your awesome cheese anywhere inside your application. And it’s flexible!

Here's the GitHub repository and the GitHub pages

GitHub pages


Everyone thinks that great Jon Skeet is the user with the highest reputation on Stack Overflow. But no one knows that there exists a secret profile hidden from the world, the profile of Mr. Gouda Cheese!

Stack Overflow keeps this cheesy user hidden, because the secret service agencies of many of the countries is looking for him. Currently he is hiding in one of the safe houses in the Netherlands, and was last seen near Schiphol Airport.

I had to hack into the SO servers to get this information. I know after this post, Stack Overflow staff, and secret agencies are going to come after me. But I want to spread the words of greatness of Mr. Gouda Cheese to the world. Here's the screenshot of his profile:

Gouda Cheese

  • 2
    I find it interesting that this secret power user (user 9983618193) has an id that is bigger than the newest user (user 10507549). It is exactly nine billion, nine hundred seventy-three million, one hundred ten thousand, six hundred forty-four bigger. Which means in real rough numbers, it has taken SO ten years to get ten million users. So this user id should be real in about 9,974 years.
    – David
    Commented Oct 15, 2018 at 13:18
  • 1
    May be that's how StackOverflow hides user profile from rest of the community. ¯\_(ツ)_/¯ Commented Oct 15, 2018 at 15:30
  • 5
    It's interesting how a hidden user has 143,112,902 profile views.
    – Eran
    Commented Oct 16, 2018 at 12:21
  • @David The question is, will that user face peer pressure to change his or her profile to match this image?
    – jpaugh
    Commented Oct 16, 2018 at 14:25
  • 1
    LOL! Has 982,582 score in the [gauda] tag, but only a silver badge. It must suck not being able to single-handedly dupe-close questions about yourself... Commented Oct 28, 2018 at 6:14
  • I wonder that StackOverflow has been founded on 400BC look at the number of days visited its almost 2739.67945205 years . Wow!
    – Prince
    Commented Nov 1, 2018 at 9:06

Of course, we all know who cut (or at least ate) the cheese.

Panda who ate the cheese


Help the mouse eat the cheese (See jsfiddle).

How? click wherever position you want to eat it...

var x,y,counter=0;
  var offs = $(this).offset(),
      p    = {x:offs.left, y:offs.top},
      mPos = {x:e.pageX, y:e.pageY};
      x    = mPos.x - p.x - 50;
      y    = mPos.y - p.y - 50;
  $('.gray', this).css({left:x, top:y, backgroundPosition: -x+'px '+-y+'px'});
   var wrapper = $(this).parent();
   var parentOffset = wrapper.offset(); 
   var relX = x;
   var relY = y;
   if(x>parentOffset.left+5 && y>parentOffset.top+80)
        left: relX,
        top: relY

    position: relative;
    margin: 0 auto;
    background: url(https://i.sstatic.net/mSXoO.png);
    width: 700px;
    height: 500px;
    background-size: cover;
    overflow: hidden;
  background: white;

    background-color: #fff;
    position: absolute;
.hide img{
      width: 200px;
    height: 200px;
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>

<div class="cheese">
  <div class="gray"></div>
<div class="hide">
This cheese may contain a lot of calories <a target="_blank" href="https://www.google.co.il/search?q=calories+yellow+cheese&oq=calories+of+yellow+ch&aqs=chrome.3.69i57j0l5.18943j0j7&sourceid=chrome&ie=UTF-8">more...</a> 
  <img src="https://i.sstatic.net/3mG2d.jpg"/>

  • 7
    Why is my mouth round but my bite square? Commented Oct 12, 2018 at 18:18
  • 3
    He probably forgot border-radius:50%; for .placeddiv Commented Oct 12, 2018 at 18:41
  • 5
    I was hoping a mouse would appear (or at least something would happen) when all the cheese was gobbled up...
    – anonymous2
    Commented Oct 12, 2018 at 23:48
  • @DCOPTimDowd It was my decision... :) Commented Oct 14, 2018 at 4:35
  • @DuarteFarrajotaRamos feel free to edit if you want Commented Oct 14, 2018 at 4:36
  • 1
    @anonymous2 I agree. Disappointing. Commented Oct 15, 2018 at 18:42
  • 1
    Thanks for the update, @DuarteFarrajotaRamos. Still no mouse at the end. Commented Oct 19, 2018 at 18:01
  • @DCOPTimDowd I edited my answer Commented Oct 21, 2018 at 8:26
  • 1
    @DuarteFarrajotaRamos see edit:) Commented Oct 21, 2018 at 8:26
  • Nice one, looking better Commented Oct 21, 2018 at 12:26
  • Thanks ... have a cheesy day :) Commented Oct 21, 2018 at 12:29
  • @anonymous2 see my edit... Hope not to disappoint you Commented Oct 21, 2018 at 12:30

The gerbils were out too long, they ate it (supporting evidence in screenshot):

enter image description here

Situation right now (rodent alert, Not Safe For Search, many more out there)

enter image description here

Image taken from: Pexels.com.


A lot of these answers are funny and great - but I'm on StackOverflow to be productive so I built a useful utility that picks a random cheese for you to enjoy. You can even pick which culture you want your cheese to be from!! And if you've never heard of that cheese, well, it even gives you a nice link to that cheese on Wikipedia.

Now, my JavaScript is pretty bad, so I decided, in the spirit of a StackOverflow-inspired post, to build the answer entirely from snippets of JavaScript code from StackOverflow, with only minimal renaming and adjustment. Enjoy the cheese!

var cheeses = ["American", "Argentine", "Australian", "Austrian", "Belgian", "Beninese", "Bosnia and Herzegovina", "Brazilian", "British", "Bulgarian", "Canadian", "Chilean", "Chinese", "Cornish", "Croatian", "Czech", "Danish", "Dutch", "Egyptian", "Emirati", "English", "Finnish", "French", "German", "Greek", "Hungarian", "Indian", "Irish", "Italian", "Piedmontese", "Sardinian", "Kenyan", "Lithuanian", "Macedonian", "Maltese", "Mauritanian", "Mexican", "New Zealand", "Nicaraguan", "Norwegian", "Pakistani", "Polish", "Portuguese", "Romanian", "Russian", "Scottish", "Serbian", "Slovak", "South African", "Spanish", "Swedish", "Swiss", "Tibetan", "Turkish", "Ukrainian", "Venezuelan", "Welsh"];
/* https://stackoverflow.com/a/17865880/1204143 */
var dropdown = document.getElementById("menu");
/* https://stackoverflow.com/a/3010848/1204143 */
var arrayLength = cheeses.length;
for (var i = 0; i < arrayLength; i++) {
    var opt = document.createElement("option");
    opt.text = cheeses[i];
    opt.value = cheeses[i];

/* https://stackoverflow.com/a/36988565/1204143 */
function processResult(apiResult) {
    /* https://stackoverflow.com/a/5915122/1204143 */
    var items = apiResult.query.categorymembers;
    var item = items[Math.floor(Math.random()*items.length)];

    $('#display-result').append('<p>Your random ' + cheese + ' cheese is: <a href="https://en.wikipedia.org/wiki/' + item.title + '">' +item.title+'</a></p>');

/* https://stackoverflow.com/a/14004145/1204143 */
var iDiv = document.createElement('div');
iDiv.id = 'display-result';
iDiv.className = 'block';

// Create the inner div before appending to the body
var innerDiv = document.createElement('div');
innerDiv.className = 'block-2';

// The variable iDiv is still good... Just append to it.

// Then append the whole thing onto the body

/* https://stackoverflow.com/a/40986153/1204143 */
var goBtn = document.getElementById("goBtn");
var menu = document.getElementById("menu");

goBtn.onclick = function() {
    cheese = menu.value;
    /* https://stackoverflow.com/a/3586781/1204143 */
    if(menu.value === "RANDOM") {
        /* https://stackoverflow.com/a/5915122/1204143 */
        cheese = cheeses[Math.floor(Math.random()*cheeses.length)];
    /* https://stackoverflow.com/a/36988565/1204143 */
        url: 'http://en.wikipedia.org/w/api.php',
        data: { action: 'query', list: 'categorymembers', cmtitle: 'Category:' + cheese + ' cheeses', format: 'json' },
        dataType: 'jsonp',
        success: processResult
<!-- https://stackoverflow.com/a/37016293/1204143 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<h2>Get a random cheese by country</h2>
<!-- https://stackoverflow.com/a/40986153/1204143 -->
<select id="menu">
  <option selected="selected" value="RANDOM">Random</option>
<input type="button" id="goBtn" value="GO!">


I see that several people went for the cheese Stack Overflow logo, and I don't make any claim to originality, like in most parts of my life, in my ability to make cheese sculptures. That said, I was disappointed how two dimensional the other cheese logos were, so at the risk of some gravity assisted theatrics and my sanity, I decided to elevate the logo to the correct viewing orientation (websites are obviously walls, not floors.) I do not recommend cheddar for architectural or engineering challenges, though the toothpicks held up as well as could be expected. Please enjoy the most fleeting form of the SO logo – short lived due to both hungry bystanders and physics.

The one major improvement I would make on this logo would be to display it on an appropriately be-logoed cheese board.

Cheese overflow, now in 3D

  • 3
    7/10 for the photography, 8/10 for the concept, 9/10 for the stylish platter, but 5/10 for the sculpture. You can do better! Photoshop? CGI? Commented Nov 6, 2018 at 8:22
  • This is about my artistic authenticity in an analog medium! No hate for digital art, but I want my cheese tangible/edible!
    – RedBassett
    Commented Nov 6, 2018 at 9:49
  • 4
    I'd suggest that you give it another go, the idea is good, the cheese colour is perfect, so it will earn upvotes but the execution looks sloppy. The slices should be the same thickness for example. And IMO a spot of photoshopping to eliminate the toothpicks would make it look fantastic. Commented Nov 6, 2018 at 9:54
  • @Mari-LouA I agree with your rating of the platter. That's the only thing I'd upvote for, but that wouldn't be in the spirit of the contest. :) I'd also say to redo the sculpture. I like that it's not photoshopped or CGI, but that doesn't mean it can be thrown together and not look good. A little effort goes a long way. Commented Nov 7, 2018 at 21:41

Everyone's Rushan to post an Urdă answer Paneer than JohnP's, but I'd prefer uniqueness to another punny Saga (I'm not trying to Gjizë anyone's Pultost). Imsil working on mine, but here's what I've got so far.

Change Log:

  • v0.0.0: Initial version.
    Segfaults if you ask for port. I don't know why, but it it seems appropriate.
  • v0.0.1: Fixed segfault.
    The segfault was caused by slicing the cheddar too thickly. This caused it to spill out into the NULL page.
  • v0.1.0: Added port.
    Well... added port shelves. Port's expensive; we'll probably have some in the patch version.
  • v0.1.1: Put port into some of the shelves. Who knew that the drunken ramblings of a waiter would have so much to do with operator precedence?


#include <stdio.h>
#define charkassiye char *
#define mish main
#define into int
#define cubes []
#define eat printf(
#define some "%s",
#define quickly );
#define consume(o, s) printf("%s: %" #o, #s, (s))
#define strips ;
#define swap do{register char _v=
#define container if (_v==
#define with ;
#define serve }
#define once while(0)
#define before for


#include "stdboard.h"

/* Associate prepositions with verbs */
#define cut into

/* Associate nouns with verbs */
#define drank drink

/* Define words */
/* Nouns */
#define glass   /**/ container
/* Adverbs */
#define loudly  "\n" quickly
#define calmly  /**/ loudly
/* Verbs */
#define drink   /**/ eat
#define suggest /**/ complain

/* Define units */
#define mm  0
#define g   1
#define lb  2

/* Solve common cheese-related problems */
#define complain   eat some

/* Serving instructions */
#define of(wine) *#wine){(wine)(\
    slices - 2,2+               \
    small); break;       } //optional

/* Table of contents */
cut mish(into slices, charkassiye /*into*/ small cubes);
port (into glasses, charkassiye optional cubes);

cut mish(into slices, charkassiye /*into*/ small cubes) {
    if (slices < 2) return
        complain "Not enough slices!" loudly

    cut cheddar
      = (into) small [1] [mm] strips

    swap cheddar with
        glass of (port)

    serve once;

port (into glasses, charkassiye* optional) {
    if (glasses < 1) return
        complain "I don't have any port!" loudly

                   before (long i = 2;
i   <              drank "some port"
+9)+(**optional    quickly i  = i  -+ -  1ll)
                   if (1+ drink "is"
+2)-(* *                             optional
%i>0)                                          )
    {                  complain "No port!" loudly
                       goto recommend_cheese;
    }                  complain "N0 Port!\n"-0+3 +0**loudly
                   "CYCLOPS CHEESE UNICAT! ^^ ^ ^^^:@jE2v ";

    /* We apologise; the writer of the previous code was...
       somewhat inebriated. We will not be serving such
       drinks in future, even if they do go well with cheese. */

    suggest "Have you tried some charkassiye with that? "
            "Or perhaps some mish?"                      calmly

    /* We won't ask you to return the glasses. Sorry again. */
    return mish(glasses, optional);
  • 2
    At the moment it segfaults if you ask for port; I'm not sure why but it seems appropriate.
    – wizzwizz4
    Commented Oct 9, 2018 at 18:59

I hereby present you with... Free Hand Cheese House, aka FHCH!

cheese house

  • 100% Self Made

  • 100% Cheese (on bread)

  • 100% Edible

And the bonus feature: you can put the FHCH inside oven or microwave to get a Melting Cheese House! :)

  • Yummm.....!! :) Commented Oct 14, 2018 at 19:48

You said links to videos was ok, so I'll hope a game on an external site is ok. The site is mine, the software for the game is mine, only the cheese, on the whole, is imaginary.

Since I am neither English- nor Welshman I cannot say whether they all could be found in real groceries. I only know I read about them in a book by Jasper Fforde.

In this crossword riddle there are ten hidden cheeses.

In this crossword riddle there are ten hidden cheeses.

  • I simply can't find more than 6 cheeses in your word search. Can you at least post a full word list?
    – Marti
    Commented Oct 13, 2018 at 3:29
  • (The ones that I've found are camembert, cheddar, edam, gorgonzola, gouda, and jarlsberg.)
    – Marti
    Commented Oct 13, 2018 at 3:39
  • Check the Cheese Enforcement Agency website. They are all mentioned there. (And take into account that Jasper Fforde, who made them up, is welsh.)
    – ccprog
    Commented Oct 13, 2018 at 13:53
  • The Cheese Enforcement Agency has Dolgellau. The puzzle has Dolgelau.
    – JPmiaou
    Commented Oct 14, 2018 at 1:30
  • You are right. I have corrected that error, with sincere appologies to all inhabitants of that historic town.
    – ccprog
    Commented Oct 14, 2018 at 2:09

As suggested by the post, I decided to parody “Monster Mash” into the delightful song, “Munster Mash.”

Link to the music by Bobby "Boris" Picket so you can sing along!

Munster Mash

I was waxing in my kitchen late one night
When my eyes brie-held a dairy sight
My Munster on its slab, orange in rind,
Took the microphone and let the whey unwind

It played the Munster mash
It was a rennet smash
It ripened in a flash
It played the Munster mash

From starter culture of a Parma cheese
To the Vacha Rossa and its curdled treat
The copper vats from night until dawn
Form a compact mass - Italian Parmesan

It did the Munster mash
It was a fermented smash
It curdled in a flash
It did the Munster mash

My Comment on answer to my Blender SE question, September 2016, which makes this nicely aged cheese indeed!

Yippee!! The SwissCheese modifier is born. https://i.sstatic.net/UDEZP.png

swiss cheese modifier


foods again? I know spammers love this most.

I've listed potential product names for the next wave of upcoming spam:

  • Keto Cheese Diet
  • Keto Cheese Shark Tank
  • Perfect Cheese Diet
  • Premium Cheese Diet
  • Cheese Forskolin
  • Total Cheese Weight Loss
  • Beautiful Cheese Serum
  • Radiantly Slim Cheese
  • Neuro Cheese XT
  • Cheese-y Testo Booster
  • Rapid Cheese Weight Loss
  • Alpha Pro Cheesing Diet
  • Slim Cheese Diet
  • CheeseFit Keto
  • Garcinia Cheese
  • Cheese Cambogia
  • Ultimate Cheese Diet
  • Gigantic Cheese Skin Care
  • TestoCheese Weight Reduction
  • Cheese-y Muscle Builder
  • Alpha Cheesy XT
  • Cheese Drive 365
  • Cheesey Serum
  • Cheesy P**** Enlargement
  • Healthy Cheese CBD Oil
  • Neuro Cheese Cream

And of course, these potential related domains:


Read More @>>> Buy CheeseOverflow Supplements now

If you're confused, fell free to contact CheeseOverflow Customer Service Numbers at cheeseoverflowsupportnumbers.com, cheeseoverflowcustomerservice.com, customerservice.com/cheese-overflow-service-numbers, cheeseoverflowtechnicalsupportnumbers.com, universalsupportnumbers.com/cheeseoverflow-customer-service ......

I also know a hacker who can instantly repair your microwaves and ovens and credit cards and return you a nice cooking experience. contact him at [email protected].

Do you want to find back your lost love? Have a talk with this cheesey spell caster and he'll bring your beloved Her back to you. He lives in Hogwarts School of Cooking and Processing Cheese >>> [email protected]

Want monetary assistance with your personal finance? Let us know if some cheese helps. We offer loans with cheese and butter, and honey and sugar are also in stock. Contact [email protected]

University diploma forgery: University of CheeseStoke of America, Cheesecraft University of Australia, real certificate from Ministry of Education of People's Republic of Cheese, +QQ/WeChat 1234567890

cheese-cort service on stack overflow, cheese-cort pans, cheese-cort forks, cheese-cort syrup, call +1 234 567 0000

java training, php training, angular training, android courses, css development, c# development in wogharts school of cooking and cheesecraft

cheese overflow customer service number: +1 999 888 0000

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

  • 1
    Did you miss link-in-punctuation? I love that one.
    – user392547
    Commented Oct 10, 2018 at 18:37
  • @Chair Added that Commented Oct 21, 2018 at 9:15
  • You could make the link point to Fire Department or Charcoal HQ instead. That would be fun.
    – user392547
    Commented Oct 21, 2018 at 9:28

Disclaimer: No cats, or cheese, were harmed in the making of this story.

Allow me to regal you with a cheesy tale of a cheesy tail:

I am a fan of cats. (Dogs too, but it's funnier when things happen to cats. Dogs roll with it, cats... well, they just get Feta up with things fast.)

I am also a fan of cheese. (And puns, we'll see how many terrible ones I can fit in here!)

As a fan of cheese and cats, eating cheese around cats is risky. Sometimes, the cats decide to try to steal the cheese. If hooman likes it, kitty must likes too, right?

For the most part, the cats do appear to like small bits of cheese! However, cheese seems quiet fondue of cats as well!

One day, as I enjoyed a Gouda bowl of mac and cheese, heavy on the cheese and light on the mac of course, one of the cats decided to lure me away. He made an awful racket in another room, clearly into something.

"Grate, right in the middle of dinner! What is Swiss you tonight? Can't you brie-have for just a bit?" I asked, standing and walking to go intervene.

As I went to see where the trouble was, the other cat came for my cheese.

Unfortunately for the cat, the cheese was there for it! As I returned, I found a cat covered in cheese, as if the cheese had decided it enjoyed the taste of fur!

"You have cat to be curlding me right meow!" I sighed, taking in the site. "I'm gonna need Morbier to handle all of this stress..."

Needless to say, my cat was having a Munster of a time trying to clean up.

"Not very sharp of you, is it, getting into my food?" I scolded, moving to help clean up the hole mess very Caerphilly. "And I'll have to use my 'in queso emergency' cheese replacement, if I want to have the right balance of mac and cheese!"

Lucky for the cat, the cheese didn't have quiet a big enough stomach for a whole cat. Once the mess was clean, I looked the cats over.

"I hope you know never to dairy get into my cheese again. The cheese has a mind of its own! You Cantel what it will do when angered."

I'd like to take this time to dedicate this fun story to the team member that I feel this story makes me think of most: Catija.

After all, that's a username marriage of Cat and Cotija- Cat and Cheese!

  • Ooh,,,I can't believe I missed muenster in my Halloween reference. +1.
    – JohnP
    Commented Oct 10, 2018 at 14:39
  • Just wait until I flesh this story out a bit more. It won't brie as simple then. ;) Just need more time, probably over my lunch break!
    – Kendra
    Commented Oct 10, 2018 at 14:41

Cheesus! What's going on here?

As a swiss guy I'm an expert in destroying lots of cheese....mmmmmmmhhh...cheese. I need some cheese, NOW!

Quits the room and goes looking for some cheese.



... after a considerable amount of time ...



OK, here I am again. Now where have I stopped? Oooohhh...cheese. Emmentaler, Greyerzer, NEED MORE!

Can't concentrate....neeed moooooooooree!!!



... stuck in an endless cheese hole

enter image description here


There have been enough puns edam here already, and I don’t want to just do permutations on what we’ve already done… Actually, let’s let feta decide.

Hello! Here from Math Stack Exchange, where we have too much cheese to go around. Now here are some theorems to add to your cheesy repertoire. But before I start with the math, I should say that I am a mere ricotta.

  1. First an important question, How to Slice the Cheese, from our very own Math Stack Exchange! How many cheese slices can the lazy caterer make with n slices? Turns out, this doesn't depend on the shape of the cheese, and is a nice problem (in my books at least).

  2. The Ham Sandwich Theorem. The 2D version, sometimes called the "Cheese on Toast Theorem", is quite useful for splitting that cheesy goodness such that everyone gets the same amount of toast and cheese.

  3. The Cheese Pizza Theorem is very important when trying to split a pizza evenly int N>3 slices by picking every other slice when making cuts from a point which is not the origin!

  4. Cantor has his own cheese, aptly named Cantor's Cheese. It's created by starting with a circle, and continuing to put two circles inside of each circle.

  5. Now we're getting into Math Overflow territory, but I'll continue. A Swiss Cheese an actual mathematical object which apparently has some significance. Here's an article for those interested: Swiss Cheeses and Their Applications.

  6. Quite related to 5 is the Swiss Cheese Operad. Algebras are weird.

  7. Then there's this thing called Sierskma's Dutch Cheese Problem.

There's probably more cheese to be had, but for now I think I'll retire to a little cottage and look for a comte in the starry night sky.


Who cut the cheese?

Ans: Tom.

Proof: See below.

  1. Tom laying traps (not very thought of a trap..)

enter image description here

  1. Jerry was suspicious and did not show interest.

enter image description here

  1. Tom added more traps...

enter image description here

  1. Jerry hunting for cheese and tom chasing.

enter image description here

  1. Finally, Jerry evaded and enjoying the cheeseeeeeeeee.. (see, it is one of the pieces cut by Tom!!)

enter image description here

Conclusion: In order to lay traps, Tom cut the cheese.

Disclaimer: Image source: Google, modifications mine

Just to add, some real life images, too:

  • Cats guarding the Cheese: enter image description here

  • Mice eating the cheese: enter image description here


As a member of the Puzzling.SE site, I have to write a short and simple riddle!

Colorado is known as my cat.

He's not fond of pepper in fact.

Excitement takes over,

Each time you come over.

So stop by the cottage with Jack.

Easy now Colby, you'll eat here for free, just

String up the nachos for me!

  • Nice, +1. I made a cheesy riddle as well, hope you like it!
    – gsamaras
    Commented Oct 31, 2018 at 12:43


My idea took some time to mature, and it took much longer for me to get enough time to be able to follow through on it. I know that I am a bit late, but here it is.

I must apologise for my really rather cheesy puns (Oh no, yet another one!). I apologise too for the length of my story. I really didn't intend to write a book. Anyhow:

The tail of two cheeses:

In the Brieginning1 of this tail Carlow was sitting, feeling cheesed off with his new job. He said aloud “I’ve been through too much strain2 already. This is whey too limiting for me; I’ve gouda3 see some of the big wiede wield.” With that, he slipped out of his bag, off the shelf, and headed out in to the blue.

After setting out, he found the sun very hot and unpleasant. It was nearly midday, and after some time his limbs where starting to feel wobbly. It wasn’t long, however, before he came upon a pleasant creek among a grove of old, thickly-leafed trees. He stretched himself out, relaxing in the cool stillness near the bank. “This is the life” he murmured happily to himself. Just then he caught a slight movement above, and looked up. A large grey owl was staring down on him from her perch. This was dangerous. He slowly backed through the grass, keeping his eyes fixed on the danger at hand. Suddenly she swooped. His nerve broke, and he turned and ran for his life. With a jerk he left he ground and was quickly carried over the treetops. Carlow could see no way of escaping, so he resigned himself to his fate. He could only wait while he was carried, moving on and on over the landscape.

A small, beady eye was watching him, though. A red hawk had seen the prize which the owl carried, and decided that he had a good chance of stealing from her. She was probably sleepy, as it was the middle of the day. He trailed her, just out of sight. Suddenly he swooped in and made a grab for Carlow. The owl wheeled, furious at being attacked. He came in again, and as she struck out at him with her talons, Carlow felt suddenly weightless. Luckily for him, the owl had lost a lot of height in the brief fighting, so he only had the wind knocked out of him by the semi-hard ground. Getting up, he saw a white stone farmhouse just a few metres away, and made a dash for it, hoping to reach it before he could be caught again.

Carlow squeezed in through the door, which was ajar, over the doorstone and found himself in a large kitchen. The floor was of large flagstones, and the walls where plastered and white-washed. On the counter a cheese board stood. It was a difficult climb, but eventually he scrambled onto the countertop, breathless. On the board near him there was a lovely piece of cheese, who seemed to be crying. “Why are you crying?” Carlow asked. She started at the sound of his voice. “Hello,” she said politely while drying her eyes, “I’m Victoria. Who are you, and what are you doing here?”

“I’m Carlow,” he said simply, “and I came here to escape being eaten by two big birds. Why are you crying? Would you like to tell me what is wrong?”

“The mice have stolen the cat’s tail,” she replied, tears welling up again, “the cat has always kept the evil mice hordes at bay, but without his tail he is terrified of them. It was cut off a long time ago, and it was tied back on with string. The mice stole it while he was asleep. Now they are coming tonight to eat me, they told the cat so, and he is too afraid to do anything about it.”

“Isn’t there anywhere safe that you can go to?”

“No, there is no other place in walking distance, and there are mice everywhere after dark. I will be eaten, and you too, now that you are here. It is too terrible, what shall we do?” And with that she fell to weeping pitifully.

It Greved4 him, but Carlow had no words to comfort her. He looked around the kitchen, then made his way back down to the floor. He might as well look around while he thought. He looked at the oven, the cupboards, the table and everything else in the kitchen. He saw the cat in the next room, pacing up and down and moaning “What shall I do, what shall I do?”. Slowly a plan started to form in Carlow’s mind. The cat couldn’t fight off the mice, but he could help them get to a more defensible position, and also gather things which might help them keep the mice at bay. He went to talk to the cat.

Once he had got the cat (who’s name was Cheddar) to pay attention to him, the plan was quickly arranged. Cheddar helped Victoria and Carlow onto a high shelf in the tall, free-standing crockery cupboard. They then stockpiled potential weapons. The knives and forks in the cutlery drawer where too heavy for either of the two cheeses to lift, but they could be pushed off onto mice climbing up from below. Toothpicks they could use to hold to hold off mice who had made the climb up to the shelf, while the dishes themselves would scare mice on the floor as they smashed. When they were finally done, the sun was already low. “Where will you go, Cheddar?” Victoria asked.

“If you don’t mind, I’ll stay behind you two. It seems safest.” was the reply.

They didn’t have to wait long. As dusk set in, squeaks were heard from outside. Soon a crowd of mice strutted into the kitchen. More followed, cheering and waving Cheddar’s tail. For a while they ran around the kitchen sniffing, until some stopped at the bottom of the cupboard. Cheering again, the mice swarmed toward it. Victoria and Carlow caerphilly5 rolled a bowl over the edge of the shelf. It shattered on the hard stone floor, hurling knives and daggers in every direction. It was followed by a second, then a third. The mice where not going to give up however. Some were already two-fifths of the way up. A fork knocked one mouse to the floor and a knife took care of two others. Another knife and fork missed their mark.

Some time later the situation was much more desperate, and completely hopeless. The pile of cutlery was gone, as well as all of the smaller crockery. Mice crowded the edge of the shelf, and the two brave heroes where slowly being forced back. They could not hold out any longer. “Goodbye my brave warrior” Victoria said gently, as she and Carlow where forced apart. With a rush and some quick stabs with his toothpick Carlow pushed his way through his opponents, to the edge of the shelf. “Follow me, Cheddar!” he cried, and leaped.

All of the mice who were not in the attack were gathered together at the base of the cupboard. Carlow was completely surrounded. “We’ve gotcha gouda6 now!” a large grey mouse sneered, “did you think you could beat us?” Carlow did not answer, he only set himself and fought resolutely toward the middle of the mice. He felt teeth stab into his back, claws all over him, but he knew what he wanted.

“Cheddar, please” Victoria was pleaded, while backing away as she held off the oncoming wave, “you can do this; I know you can. Carlow knows you can. Please go to him as he asked, please.”

“I can’t” Cheddar quavered, “I can’t even move”.

“Just take one step” she begged again, “Cheddar, if you don’t we are done for. Please do ask he asked.”

Carlow had fought his way to Cheddar’s tail, and was holding onto it for all he was worth with one hand, while the mice piled onto him from every side. Suddenly Cheddar fell from above, scattering the mice, but they where on the attack again immediately. “Cheddar, your tail!” Carlow yelled above the squeaks and howls of the triumphant mice. With his eyes shut Cheddar bounded to the tail. He felt a surge of courage. With a tremendous caterwaul he turned on the mice, striking right and left. They scattered like the shards of a broken window. Tail in hand, Carlow jumped on his back, and together they leaped from shelf to shelf, back to the top.

It was all over soon. The mice were routed, and fled as far and as fast as they could. Carlow and Victoria were safe, and Cheddar was re-united with his tail.

Author's notes:

  • Cheddar had his tail sewn on soon after, so that it was always there to back him up.

  • I held all of the humans back while writing this. Whether Victoria and Carlow matured to green, and eventually black cheese or where eaten by humans (a distinguished end for a cheese) I don't know.

    1. I apologise.

    2. curds are strained. Yeah, sorry.

    3. I can't apologise every time!

    4. Yes I know, but it is just too poor to leave out!

    5. What can I say but sorry?

    6. When I saw Gotcha Gouda I couldn't resist.


Who can think of cheese without wanting nibbles? I didn't put much thyme into this nor did I caerphilly reverie-fy my code. Also, due to colby-ning vw/vh with px, it's not Polished (bundz, anyone?) and Cheesy's not really stretchy, but I think we'll find the cheese cutter if you don't get board first. :)

This is best viewed in full paglierino.

To try the code out, click the "run code snippet" button below the code and click "Full page" (full paglierino), or use this jsfiddle link: http://jsfiddle.net/k5q1p0fs/1/

window.speed = 100;
window.direction = 0; // 0 = left, 1 = up, 2 = right, 3 = down
window.current_cheese = 1;
window.new_game = true;
window.max_lives = 5;
window.max_points = 9;

document.addEventListener("keyup", function(obj) {
  switch (obj.keyCode) {
    case 37: // left
      if (window.direction == 1 || window.direction == 3) {
        window.direction = 0;
    case 38: // up
      if (window.direction == 0 || window.direction == 2) {
        window.direction = 1;
    case 39: // right
      if (window.direction == 1 || window.direction == 3) {
        window.direction = 2;
    case 40: // down
      if (window.direction == 0 || window.direction == 2) {
        window.direction = 3;
    case 32: // space
      if (typeof(window.gameplay) == "undefined" || window.gameplay == null) {
        // Start game
        if (parseInt(document.querySelector(".lives").innerText) == 0) {
          window.new_game = true;
      } else {
        // Pause game
        window.gameplay = null;
        show_mouseage("Press space to comtomme...");

function show_mouseage(msg, error) {
  document.querySelector(".cheese-message").style.display = "block";
  document.querySelector(".cheese-message").innerText = msg;
  if (error === true) {
    window.gameplay = null;

    switch (window.direction) {
      case 0: // left
        window.direction = 2;
      case 1: // up
        window.direction = 3;
      case 2: // right
        window.direction = 0;
      case 3: // down
        window.direction = 1;

    var lives = parseInt(document.querySelector(".lives").innerText);
    document.querySelector(".lives").innerText = lives;
    if (lives <= 0) {
      show_mouseage("Cat-astrophe! You're out of livarots.");

function hide_mouseage() {
  document.querySelector(".cheese-message").style.display = "none";
  document.querySelector(".cheese-message").innerText = "";

function place_cheese() {
  var slice = document.querySelector(".cheese-slice");
  slice.innerText = current_cheese;
  slice.style.left = Math.ceil(Math.random() * 97) + 1 + "vw";
  slice.style.top = Math.ceil(Math.random() * 96) + 2 + "vh";
  slice.style.display = "block";

function start_game(speed) {
  // Setup new game
  if (window.new_game == true) {
    document.querySelector(".cheese-eater").style.top = "50vh";
    document.querySelector(".cheese-eater").style.left = "50vw";
    document.querySelector(".lives").innerText = window.max_lives;
    document.querySelector(".cheese-success").style.display = "none";
    window.direction = 0;
    window.current_cheese = 1;
    window.new_game = false;


  window.gameplay = window.setInterval(function() {
    var eater_top = document.querySelector(".cheese-eater").style.top;
    var eater_left = document.querySelector(".cheese-eater").style.left;
    var slice_top = document.querySelector(".cheese-slice").style.top;
    var slice_left = document.querySelector(".cheese-slice").style.left;
    var vertical = parseInt(eater_top);
    var horizontal = parseInt(eater_left);

    if (eater_top == slice_top && eater_left == slice_left) {
      var total = parseInt(document.querySelector(".total").innerText);
      if (typeof(document.querySelector(".total").innerText) == "undefined") {
        total = 0;
      total = total + window.current_cheese * 100;
      document.querySelector(".total").innerText = total;
      if (window.current_cheese > window.max_points) {
        document.querySelector(".cheese-slice").style.display = "none";
        document.querySelector(".cheese-success").style.display = "block";
        window.new_game = true;
      } else {

    var eater = document.querySelector(".cheese-eater");
    switch (window.direction) {
      case 0: // left
        if (horizontal - 1 <= 0) {
          show_mouseage("You diet!  Too much cheese?", true);
        } else {
          eater.style.left = horizontal - 1 + "vw";
      case 1: // up
        if (vertical - 2 <= 0) {
          show_mouseage("You diet!  Too much cheese?", true);
        } else {
          eater.style.top = vertical - 1 + "vh";
      case 2: // right
        if (horizontal + 1 >= 100) {
          show_mouseage("You diet!  Too much cheese?", true);
        } else {
          eater.style.left = horizontal + 1 + "vw";
      case 3: // down
        if (vertical + 1 >= 100) {
          show_mouseage("You diet!  Too much cheese?", true);
        } else {
          eater.style.top = vertical + 1 + "vh";
  }, speed)
body {
  margin: 0;
  margin-top: 20px;
  height: calc(100vh - 40px);
  width: calc(100vw - 20px);
  border: 10px solid #f55;
  background: #00a;
  overflow: hidden;
  font-family: 'VT323', monospace;
  color: #fff;
  font-size: 20px;
#cheese_bar {
  font-weight: bold;
  position: absolute;
  top: 0;
  right: 0;
  min-width: 320px;
  width: 40vw;
  height: 20px;
  display: flex;
  justify-content: space-between;
.name {
  padding-right: 20px;
.total {
  flex-grow: 1;
  text-align: right;
.cheese-eater {
  width: 10px;
  height: 10px;
  background: #ff0;
  position: absolute;
.cheese-slice {
  position: absolute;
  display: none;
.cheese-message {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: 10px solid #fff;
  background: #a00;
  padding: 1vw;
  text-align: center;
.cheese-message.final {
  top: 15%;
.cheese-success {
  display: none;
  width: 50vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
.cheese-success span {
  margin-top: -40px;
  position: relative;
  display: block;
<link href="https://fonts.googleapis.com/css?family=VT323" rel="stylesheet">

<div id="cheese_bar">
  <span class="name">CHEESY--></span>
  <span>Livarots: <span class="lives">5</span></span>
  <span class="total">0</span>
<div id="playground">
  <div class="cheese-eater" style="left:50vw;top:50vh;"></div>
  <div class="cheese-slice">1</div>
  <div class="cheese-message">Press space to dig in</div>
  <div class="cheese-success">
    <svg viewBox="0 0 580 400" xmlns="http://www.w3.org/2000/svg">
  <rect stroke="#000" id="svg_1" height="14.28564" width="453.14062" y="334.78187" x="71.14393" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_3" height="139.99932" width="17.14277" y="193.42861" x="71.14393" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_4" height="139.99932" width="17.14277" y="193.42861" x="507.71323" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_5" height="15.99992" width="417.14078" y="177.05489" x="90.00098" stroke-width="1.5" fill="#000000"/>
  <rect id="svg_6" height="139.99932" width="418.28367" y="194.57062" x="88.85727" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#ffc13c"/>
  <rect stroke="#000" id="svg_7" height="15.4285" width="33.1427" y="229.42843" x="90.00098" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_8" height="14.85707" width="33.1427" y="281.9996" x="89.42955" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect id="svg_9" height="34.85697" width="16.57135" y="245.99978" x="123.7151" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#000000"/>
  <rect id="svg_10" height="16.57135" width="16.57135" y="245.99978" x="88.85812" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#000000"/>
  <rect stroke="#0000aa" id="svg_11" height="16.57135" width="17.14277" y="245.99978" x="71.71535" stroke-width="1.5" fill="#0000aa"/>
  <rect stroke="#000" id="svg_12" height="16.57135" width="34.28555" y="159.14306" x="124.28652" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#ffc13c" id="svg_25" height="34.85697" width="330.85555" y="140.85744" x="159.7149" stroke-width="1.5" fill="#ffc13c"/>
  <rect stroke="#000" id="svg_13" height="16.57135" width="34.28555" y="140.85744" x="159.71492" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_14" height="15.99992" width="85.14245" y="123.71466" x="194.57189" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#ffc13c" id="svg_26" height="33.1427" width="191.99907" y="106.57189" x="280.85719" stroke-width="1.5" fill="#ffc13c"/>
  <rect stroke="#000" id="svg_15" height="16.57135" width="68.57109" y="106.57189" x="246.00022" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_16" height="16.57135" width="50.85689" y="89.42912" x="299.1428" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_17" height="16.57135" width="34.28555" y="106.57189" x="350.57114" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000000" id="svg_18" height="16.57135" width="33.71412" y="53.42929" x="404.28516" stroke-width="1.5" fill="#000000"/>
  <rect id="svg_19" height="34.85697" width="16.57135" y="70.57206" x="386.57095" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#000000"/>
  <rect id="svg_20" height="34.85697" width="16.57135" y="123.14324" x="474.57054" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#000000"/>
  <rect stroke="#000" id="svg_21" height="16.57135" width="15.99992" y="158.57163" x="491.14186" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_22" height="16.57135" width="15.99992" y="106.57189" x="457.42774" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_23" height="16.57135" width="15.99992" y="88.5182" x="438.80262" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#ffc13c" id="svg_42" height="34.85715" width="33.71429" y="70.57143" x="403.7143" stroke-width="1.5" fill="#ffc13c"/>
  <rect stroke="#000" id="svg_24" height="16.57135" width="15.99992" y="70.80399" x="421.65985" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000000" id="svg_27" height="15.99993" width="51.42833" y="229.99986" x="228.85744" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000000" id="svg_28" height="15.4285" width="51.42833" y="299.25798" x="228.85744" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_29" height="50.8569" width="17.14278" y="246.5712" x="210.66387" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_30" height="50.8569" width="16.57135" y="246.5712" x="280.94924" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_31" height="15.4285" width="33.1427" y="264.85683" x="228.85744" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect id="svg_32" height="16.57135" width="16.57135" y="282.57104" x="263.14299" stroke-width="1.5" stroke="#000000" fill="#000000"/>
  <rect stroke="#0000aa" id="svg_33" height="17.7142" width="17.14277" y="263.71398" x="262.57157" stroke-width="1.5" fill="#0000aa"/>
  <rect stroke="#0000aa" id="svg_34" height="16.57135" width="50.85689" y="247.14263" x="228.85746" stroke-width="1.5" fill="#0000aa"/>
  <rect stroke="#000" id="svg_35" height="50.8569" width="16.57135" y="228.85692" x="474.09211" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_36" height="50.8569" width="16.57135" y="228.85692" x="386.66354" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#0000aa" id="svg_37" height="51.4285" width="33.71421" y="228.28541" x="439.143" stroke-width="1.5" fill="#0000aa"/>
  <rect stroke="#000000" id="svg_38" height="16.57136" width="69.14262" y="211.14271" x="404.28604" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000000" id="svg_39" height="16.57136" width="68.57119" y="280.85701" x="404.28604" stroke-width="1.5" fill="#000000"/>
  <rect id="svg_40" height="34.85697" width="16.57135" y="228.85692" x="421.42942" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#000000"/>
  <rect id="svg_41" height="16.57135" width="16.57135" y="263.71389" x="439.71444" stroke-width="1.5" stroke="#000000" fill="#000000"/>
  <rect id="svg_43" height="34.85697" width="16.57135" y="123.71492" x="316.28523" fill-opacity="null" stroke-opacity="null" stroke-width="1.5" stroke="#000" fill="#000000"/>
  <rect stroke="#000" id="svg_44" height="16.57135" width="50.85689" y="141.42912" x="245.99994" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#000" id="svg_45" height="16.57135" width="51.99975" y="159.14341" x="263.71423" stroke-opacity="null" stroke-width="1.5" fill="#000000"/>
  <rect stroke="#0000aa" id="svg_46" height="16.57135" width="17.14277" y="159.14263" x="282.00109" stroke-width="1.5" fill="#0000aa"/>
  <rect stroke="#0000aa" id="svg_47" height="16.57135" width="17.14277" y="141.42835" x="263.71537" stroke-width="1.5" fill="#0000aa"/>

  • I suggest you also post a working demo, ot just the cose, since it’s very hard to follow
    – gion_13
    Commented Oct 27, 2018 at 7:09
  • 1
    Thanks for the suggestion. I added a jsfiddle link and explanation how to run it in Stack Overflow.
    – Jonathan
    Commented Oct 29, 2018 at 16:25

This is a story of a Josh who loved Cheese a lot

Once a upon a time, there was a little boy named Josh. He was born and raised in a small town in Colorado. His parents owned a farm with many cows. He loved eating different kinds of dairy products especially cheese. Whenever a calf was born, his mother made Molozyvo, a colostrum milk cheese. No matter what he is eating, he used to add cheese in it. Cheese burger, Cheddar Cheese ice cream what not....many. All of them homemade. Josh loved company of his friends. Every year, he attended the annual Cheese festival, Colorado Cheese Festival with friends and family. His mother was an exceptional cook. He acquired that trait from her. He learned many dishes from his mother. Not only that, he also learnt not to leave passion in the hardest of times. She believed that these passions would help a lot in our life in some way. Josh started invented new dishes since his teens by experimenting by the blend of ingredients with his favorite dish "Cheese".

Days were passing by and everything was going fine. Josh decided to move to city and live on his own till he is settled. He started attending college and learn programming. He became a great programmer. Even though he became busy with his college, he never left his passion i.e., cooking remembering his mother's words. He used to spending time in kitchen for a long time experimenting with Cheese, Chocolate, Chicken. Drinking coffee, cooking, eating, college, reading, typing, running Vinegar through his sink hole.... this was his routine. During weekends, He invited his friends, class mates to lunch and dinner. They enjoyed Josh's company a lot. They enjoyed with Josh's mouth watering Cheesy Zucchini Casserole was everyone's favorite dish. They partied hard with 'Prosecco And Parmesan', 'Riesling And Ricotta' in the weekends. Cooking and Cheese helped him earn a lot of friends. He is kind and funny at the same time, he would Cheese Off quicker than any body.

During his years of university, Josh and his friends started a small food court with the dishes Josh had cooked as a part time business. The sales were okay-ish. All they need was a big mouth and publicity to be successful. So, Josh tried some ads on the internet. He knew a website named Cheese Overflow, a network where people who love cheese write questions and answers. He had already posted some answers there. He posted an ad advertising his dish Cheesy Zucchini Casserole on a website which deals Cooking on Cheese Overflow network to try his luck. As we already know, Josh is a great programmer and funny towards people. His interactions and way of talking while submitting his ad impressed the Staff of Cheese Overflow. Looking at his programming skills (by questions and answers), they put a keen look on Josh. After continued interactions with him regarding his ads on his cheesy dishes, they grew fond of his style of talking, way of handling situations. They included him in one of their early projects. He proved himself a great contributor, associate and colleague. After a few years, he became a Big Cheese in the company.

One evening, he was sitting alone in the hall leaning in the couch. He remembered his life from his childhood. A thought struck his mind how Cheese has moved the Cheese in his life by giving friends, taking part in celebrations having a role indirectly in securing a job etc., He felt fascinated. He remembered his mother's words :

Do not leave your passion in your hardest of times. It will help in some or the other way.

He headed towards the refrigerator searching for old cheese to restart experiments in the kitchen.

Do you know who this Josh is?

He is my good friend ;-)

Note: Events in this story are fictitious and any resemblance to real persons, living or dead, is coincidental. ;-)

  • Looks like people didn't got the joke :D Commented Oct 31, 2018 at 6:58
  • Yeah. I should have added link to profile for better understanding. :/
    – Nog Shine
    Commented Oct 31, 2018 at 7:01

Lil Win: the story of the mouse that never gave up on his dream

Lil Win was a small mouse, leaving in its own house, in Miice, a small, yet beautiful land. While being a kid, Win had heard a great story about a process called "Cheeselopment": that you could get a tiny part of cheese called Goode, sratch it, and put it into the CheesePiler, a big machine that was taking the scratched cheese, and if the scratches were orchestrated in the right way, the cheese would be multiplied into more and more cheese, being able to feed other mice. Win loved it right away!

But there were some problems with that: only one CheesePiler existed for the whole land, once created by an older mouse, named "The Wise", that had left Miice a long time ago. And only a few, older mice knew how to do Cheeselopment. But they were not talking too much. And Win wanted to learn do this. Oh, he loved it from the first time he heard about it. And he said "This is it! I am going to do this!".

The other mice in Miice were not that brave though. They kept telling him: "eat that little piece of cheese you have boy now, and stop dreaming. You don't even have nails to scratch! Let it to others do it!". But Win said "No. one day I will do it. And even more, I will create my own CheesePiler!" And he kept having faith. Then Win heard about a school that he could learn scratching that small pieces of cheece, called "Cheeseversity". But this school was in another land, called "AwayLand". And again, other mice were telling him "It is far away! Stay here, do not move". He said "No, I will do what I love".

After greeting his family in tears, started the way to "AwayLand". The journey was not easy. It was through a cold and difficult road, that Win would have to walk it by himself alone, far away from his loved ones. But Win did it. and he reached Cheeseversity. But even there, learning scratching the cheese was not easy. "You have very small and weak nails now" older mice said. "How are you goind to scratch the cheese?". And they yelled at him. But he said "NO. I am going to do this. Because I love it. And my nails will grow".

And Win scratched Goodes everyday. And was learning from his teachers how to become better. And formed Goode as better as he could to put them into the CheesePiler one day. But this was not easy, and Win was thinking of letting it go. And then, he remembered why he started. And he said "I am doing this because I love it! No stop man!". And days passed. And he kept sratching the cheese. And he kept becoming better.

But it came one day, that he realized that his nails had not only grown up, but had gotten stronger. And that his scratches were more delicate and well-formed. Older mice saw this, and finally got it. He was ready. Win headed back to his land. Back to his loved ones. Back to his older friends. Back, in front of the mighty CheesePiler. Win stood in front of the machine in awe, and spelled: "now, is the time".

He took that Goodes that he had worked on lately. They had tiny little scratches on. But only a few, and clean ones. You see, Win had understood that those scratches were enough, and no deep or strange ones were needed. He put those pieces in the CheesePiler. And the CheesePiler started working, making some strange sounds, and then responded "No cheese dude - scratches are bad on Goode!".

The other mice were then yelling at him saying: "What a shame, what a waste of your years in life, to go somewhere far away and fail". He bent his head, and started thinking that all this might have been useless indeed. But then he thought "It can't be! I will not fail!".

He looked again on his Goodes. And all of a sudden, he saw it! They missed one, one little scratch on the top. He did it immediately, and put the parts into the CheesePiler. The machine started doing some sounds and then....silence. All of a sudden, little pieces of cheese started pouring out of the machine, little ones, but hey, it was cheese, new cheese! This gave strength to Win. And he went to his house, and kept scratching cheese parts, even better and even better and put it to CheesePiler. And the new pieces of cheese becoming bigger and bigger. And he was happy, for he was doing what he loved. And he did it well. And he created cheese for himself and for other mice. And he taught other mice do it as well, in joy.

But Win had learned in his journey, that all this would had not become a reality if he had given up along the way, while he was small and weak. And now Win knew he could make his own CheesePiler. He was ready. And the journey was only at its very beginning. He would not say he was neither "The Wise", nor would he try to create such a great CheesePiler as "The Wise" had. He knew comparison was useless. But he knew more CheesePilers neede to be done, for a better world. And now It is time. Win is about to start that journey. He is neither old nor wise. But one thing is for sure: He does what he loves. And, who knows?

He might eventually make it!


Here's a cheesy algorithm for turning a potential problem into a tasty treat:

  1. Dig the leftover semi-hard cheese out of your refrigerator. Cheddar is good, Colby, Monterey Jack, Swiss, etc. are all fine. You'll want 8-12 ounces, total.

  2. Shred your cheese with a box grater or other cheese-shredding tool.

  3. Add the cheese to your mixer bowl along with 8 ounces of softened cream cheese, about 2 ounces of mayonnaise, some onion powder, cayenne pepper, and a couple of pimentos, diced.

  4. Mix to combine well and season with salt and black pepper.

  5. Behold! You now have pimento cheese, a delicious staple in any Southern (US) household. Serve on crackers or between slices of bread.

Maybe I'm being cheesy here, but I curd you not when I say that the whey the different ingredients in this recipe combine into a not-quite-homogenized whole that's better than any of the individual parts is a nice metaphor for the best aspects of Stack Exchange.