transposition table makes engine hang pieces

So I implemented a transposition table the other day and as soon as I added it my engine started hanging pieces once every few movee. I know this is because of the table because as soon as I comment that section out it stops hanging pieces.

This was added at the top of the Search function

//This bit looks up the current hash in the Transposition table to retrieve Alpha and Beta
//transposition is an unordered map holding keys of ULL hash codes and pairs of Alpha and Beta

auto previous = transposition.find(hashCode); //hashCode is the Zobrist Hash of this position
if (!transposition.empty() && previous != transposition.end()) {
    ABPair pair = previous->second;

    if (pair.alpha >= beta) //beta cutoff
        return pair.alpha;
    if (pair.beta <= alpha) //alpha cutoff
        return pair.beta;

    alpha = max(pair.alpha, alpha);
    beta = min(pair.beta, beta);
}

And this at the end of the search function:

//This bit inserts positions into the transposition table

if (evaluation /*this is the evaluation of the current position*/ <= alpha) {
    ABPair abpair = { INT_MIN, evaluation };
    pair<unsigned long long, ABPair> pair = { hashCode /*Zobrist hash*/, abpair };
    transposition.insert(pair);
}
else if (evaluation > alpha && evaluation < beta) {
    ABPair abpair = { evaluation, evaluation };
    pair<unsigned long long, ABPair> pair = { hashCode, abpair };
    transposition.insert(pair);
}
else if (evaluation >= beta) {
    ABPair abpair = { evaluation, INT_MAX };
    pair<unsigned long long, ABPair> pair = { hashCode, abpair };
    transposition.insert(pair);
}

Does anyone know why this happens? It might be because of collisions in the Zobrist Hash. Thanks for helping me everyone.

πŸ‘︎ 7
πŸ’¬︎
πŸ‘€︎ u/Kermanium294
πŸ“…︎ Nov 12 2021
🚨︎ report
Python Transposition Table

Heyo. I'm working on an engine atm using Python (I know I know), and I am at the point where I am attempting to implement a transposition table after implementing some rudimentary move evaluation (Simplified Evaluation's piece values, Rofchade's piece-squares tables, and Fruit's tapered evaluation) and alpha-beta search. After reading up on the basics I bit, I am under the impression that it might be efficient in Python to use a dictionary with the keys being the 64-bit positions? With my understanding this eliminates collisions and has O(1) time, and my values can be tuples with the information I want to store? Please correct me if there is a better way to go about this, thank you!

πŸ‘︎ 5
πŸ’¬︎
πŸ‘€︎ u/TrapsBegone
πŸ“…︎ Sep 29 2021
🚨︎ report
Pseudocode for minimax with transposition table

Man, transposition tables are so complex for me. For my search program I've gotten the ab pruning and move ordering, which means that the only one left for me is the transposition table. I'm not exactly sure how to implement this, and I can't find any good resources for this. So, can someone please provide me pseudocode for minimax search with a transposition table? Thank you very much.

πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/Kermanium294
πŸ“…︎ Oct 20 2021
🚨︎ report
STUCK : Understanding negamax with transposition tables

Note: I understand how min-max works and I understand alpha beta pruning

Even if you can only answer one of my questions below I would be infinitely appreciative

No matter how much I try look at it and research I just cannot understand tranposition tables, specifically why we cannot always use the exact value for the SAME position.

I am reffering to the psuedocode here here

I read that we also cannot store a move for the UPPERBOUND. Why would this be the case? We already explored ALL the children for that note so can't we be guaranteed to know the optimal move? Why would we not be able to store the best move?

On the contrary we can store the best move for the LOWERBOUND? The branch was pruned and we weren't able to get the best possible response so why would this be the case?

Finally, I underestand why we can only use a table at a depth closer to the leaf than the root (since we have more accurate information from a deeper search). What I don't get is for a node that is the SAME as the previous node why we can't return the value that was found? At least in the case of the UPPERBOUND don't we already have the optimal score we will achieve?

Thanks for any help, this has been frustrating me for so long and I cannot seem to find anything that clarifies these for me online

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/Brussel01
πŸ“…︎ Sep 02 2021
🚨︎ report
Emergency Transposition - A fourth level conjuration spell for your Sorcerers and Wizards to turn the tables in dangerous situations.
πŸ‘︎ 106
πŸ’¬︎
πŸ‘€︎ u/ChronicleOfHeroes
πŸ“…︎ May 04 2020
🚨︎ report
Is it worth it to have a true equality check for positions in a transposition table?

If my zobrist hashes are 32 bits, for instance, isn't it super unlikely for me to get any collisions? And couldn't I make it 48 bits and then make that even more sure? I feel like I might be wasting computation doing a true equality check every time I address something in my TT

Edit: alas, you will get lots of collisions with 32 bit hashes. For instance if you have 1 million positions in the table, when you add another there will be a ~1/4000 chance that it exists already. If you do that just a few thousand times you're likely to get a collision, and if you add another million its basically certain. Sad but true.

πŸ‘︎ 2
πŸ’¬︎
πŸ“…︎ Jun 01 2020
🚨︎ report
Pivot Table transposition not functioning as expected -- row not grouping, value h.stacking.

I have a data set that has dates in the first column, and then financials in the following columns.

When I create a pivot table out of it I can get the columns formatted correctly, but only with a single field in the values section.

Once I start adding more fields it builds them out horizontally

If I put them into rows, it of course makes a row for every value in the set... What am I missing here?

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/HellaBester
πŸ“…︎ Feb 18 2019
🚨︎ report
Transposition table in Monte Carlo Tree Search

So I implemented a transposition table in a Monte Carlo Tree Search algorithm using UCT. This allows for keeping a cumulative reward value for a game state, no matter where, and how many times, it is encountered throughout the tree. This increases the quality of the information gathered on the particular game state.

Alas, I have noticed that this creates certain problem with the exploitation vs. exploration selection phase of UCT. In short, the UCT score assigned to a state, takes into account the ratio between the number of times the parent state was visited and the number of times the child (whom we are calculating the UCT score for) was visited. As you can see from this diagram I have made, when pulling in a state from the transposition table into a newly created branch of the tree, that ratio is all out of whack, with the child state having been visited a great number of times (from elsewhere in the tree) and the parent node having been visited a much smaller amount of times, which should technically be impossible.

What are your thoughts on this. Are you aware of any ways to counteract this unintended problem?

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/Neoflash_1979
πŸ“…︎ May 05 2018
🚨︎ report
Stall on Table Format to Row Transposition (VBA)

I have a worksheet of lot of data that looks like this:

A B C
X1 X2 X3
Y1 Y3 Y4
Z1 Z5 Z6
Z2 Z7
Z3 Y5
Y2 Y6

And I need to transpose it to a different worksheet to look like this:

X Y Z
X1 Y1 Z1
X1 Y1 Z2
X1 Y1 Z3
X1 Y2
X2 Y3 Z5
X3 Y4 Z6
X3 Y4 Z7
X3 Y5
X3 Y6

X is always whatever is in the first row. Y can be anything not X. Z can also be anything not X but it must contain a "<" somewhere in the cell, signifying it is a sub of Y.

I have tried so many different VBA codes that don't work. I am having lots of problems because the columns are not of a defined length and the fact that there can be multiple Z's under the Y's. Also, the fact that the "<" can be anywhere in the string within the cell. There needs to be at least 1 row per Z, of which there will be hundreds.

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/Emprise32
πŸ“…︎ Jun 28 2016
🚨︎ report
A question about the Transposition Table

Could someone knowledgeable tell me this:

I'm doing an iterative deepening. Each time a best move is found (beating alpha), I store it in the transposition table, with an additional information, the depth searched.

Say I found this move when my depth was 5, it means I found this move with an accuracy of depth 5. So in my iterative deepening, instead of doing AlphaBeta for every depth, I check if a best move was found at this position (from earlier searches). If so, I start the iterative deepening at depth found+1.

Code looks like this:

 for (mSearchDepth = 1; mSearchDepth &lt; MAX_DEPTH; mSearchDepth++) {
    	line = "";
    	mNodes = 0;
    	node = mHashMap.get(mGame.getCurrentPosition());
        if (node != null) {
        	bestMove = node.getMove();
        	mSearchDepth = node.getSearchDepth() + 1;
        }
    	
        bestScore = alphaBeta(-Values.INFINITE, Values.INFINITE, mSearchDepth);
        
        if (stop) {
        	break;
        }
        
        node = mHashMap.get(mGame.getCurrentPosition());
        if (node != null) {
        	bestMove = node.getMove();
        } else {
        	break;
        }
 }

This enables me to start generally at depth 7, and get an 8th depth search "for free". But is it accurate?

I don't see a reason this should not work, but other programs seem to search from depth 1 for every move instead.

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/pizza-yolo
πŸ“…︎ Dec 29 2016
🚨︎ report
hashmap vs. array for connect 4 transposition table [Java]

I'm building a connect 4 game and I want to implement a transposition table. I'm not sure whether to use an array or a hashmap.

So far I see there are different pros and cons of each:

Array: Pro: Can initialize to a very large size so that copying is not necessary Con: Have to generate index manually from zobrist key

Hashmap: Pro: can use the zobrist key as a hash key and don't have to do anything extra Con: hashmap only has 16 elements to start, so initially there will be a lot of copying to larger hashmaps

Any thoughts or opinions? Is one faster than the other in terms of lookup? Thanks.

πŸ‘︎ 6
πŸ’¬︎
πŸ‘€︎ u/lazyguy123
πŸ“…︎ Jun 15 2014
🚨︎ report
Dark Father: A linguistic analysis of Sith naming convention

So a few years ago I had to write a literary essay for a college course on the formation of the English language, and the subject was neologisms in popular culture (new/fake words used within an in-group). I recently dug up my analysis of ~30 EU sith lords and figured you nerds would enjoy. I tried to break it up into less dense chunks of text, to mixed results. Apologies for any mistakes or misconceptions in the essay, it was written in large part by a wildly hungover 20 year old.

  • The original Star Wars trilogy was a sensational saga of science fantasy that captured the hearts and minds of millions when it came out in 1977, and its ensuing prequels, sequels, novels, comics, video games, and television shows do much the same thing to this day. One of the characters that sparked this mania for a galaxy far, far away was the ever-imposing Darth Vader. He is known for his intimidating character design, instantly recognizable voice, and for delivering one of the most quoted and most impactful lines in cinema: β€œNo, I am your father” (often misquoted as β€œLuke, I am your father”). The oft referenced line was foreshadowed from the very start though, according to George Lucas. In a Rolling Stone interview he stated that β€œβ€˜Darth’ is a variation of dark. And β€˜Vader’ is a variation of father. So it’s basically Dark Father”. The title of β€œDarth” has been passed down to a multitude of antagonists in Star Wars fiction, and in this paper, we will analyze 34 of these characters to better understand the naming conventions of the Sith.

  • The reason that I chose to analyze Sith names specifically, and not, for instance, planets, alien species, or standard character names is because for the most part, the alternatives are named with very little in the realm of consistency or coherence. They are, after all, named for aliens and alien planets, and so the naming conventions are more along the lines of what sounds cool, interesting, or exotic. The Sith are unique in this aspect though, for several reasons. Firstly, they all fall under a common umbrella as the stories’ antagonists. Where aliens and planets usually carry no inherent positive or negative qualities, the Sith are named by the writers with the intention of sounding menacing. This can be justified in the narrative because Sith titles are chosen by the individual, rather than following more standard naming conventions. The Sith conventions for these intimidating sounding names fall under four general categories that

... keep reading on reddit ➑

πŸ‘︎ 140
πŸ’¬︎
πŸ‘€︎ u/Finger-toes
πŸ“…︎ Jan 04 2022
🚨︎ report
SERIOUS: This subreddit needs to understand what a "dad joke" really means.

I don't want to step on anybody's toes here, but the amount of non-dad jokes here in this subreddit really annoys me. First of all, dad jokes CAN be NSFW, it clearly says so in the sub rules. Secondly, it doesn't automatically make it a dad joke if it's from a conversation between you and your child. Most importantly, the jokes that your CHILDREN tell YOU are not dad jokes. The point of a dad joke is that it's so cheesy only a dad who's trying to be funny would make such a joke. That's it. They are stupid plays on words, lame puns and so on. There has to be a clever pun or wordplay for it to be considered a dad joke.

Again, to all the fellow dads, I apologise if I'm sounding too harsh. But I just needed to get it off my chest.

πŸ‘︎ 17k
πŸ’¬︎
πŸ‘€︎ u/anywhereiroa
πŸ“…︎ Jan 15 2022
🚨︎ report
I made a huge catalog of chess openings for beginner/intermediate players.

Hello! I'd like to share an openings resource I recently created, which was designed to help players in the beginner-intermediate range who are looking for a new opening to pick up.

Presentation: https://docs.google.com/presentation/d/e/2PACX-1vScs84UlQpEP-dsde2HeSmDgDTTgK9LLQW9N1aNbE05jhjPskyEbiHSk_CTgIcbIShV7qywws8Vy_7H/pub?start=false&loop=false&delayms=3000

Download link: https://drive.google.com/file/d/1eNE-3lSm8hMYQZNONbGdcaHMxGxUNhp8/view?usp=sharing

Sample Pics:

Catalog: Ruy Lopez

Catalog: Move Tree (Indian Defense)

Basically, I compiled info about a huge number of openings into a "catalog". The catalog categorizes openings based on their characteristics, including:

  • Prevalence of tactics
  • Amount of theory
  • Popularity
  • Attainability against random opponent
    • i.e. How often will your opponent let you enter this opening?
  • Transposition potential

This lets you quickly skim through the document to find an opening that suits your specific set of needs.

Data: https://docs.google.com/spreadsheets/d/1cZ5eNTSTn216PWUG1GZs8nVrtXUV1a02HN7WgDN3mbY/edit?usp=sharing

Accompanying the catalog is a Google spreadsheet that lays out all the opening statistics I collected. The spreadsheet has a bunch of interactive filters, which anyone can use (only you can see your changes). For more details, check out the Supplementary Spreadsheet section of the catalog.

Note: This is my first post, so just to verify my identity, I've linked my Reddit account on my Lichess profile.

Note 2: Being only an intermediate-level player myself, I gathered most of the info from online sources rather than personal experience. I would appreciate any feedback!

---

Edit 1: Apparently Google limits concurrent document viewers to 100, so I've edited the link to poi

... keep reading on reddit ➑

πŸ‘︎ 2k
πŸ’¬︎
πŸ‘€︎ u/LegendaryZX
πŸ“…︎ Sep 27 2021
🚨︎ report
Worlds Fastest Bitboard Chess Movegenerator codeproject.com/Articles/…
πŸ‘︎ 35
πŸ’¬︎
πŸ‘€︎ u/Hazzl
πŸ“…︎ Oct 14 2021
🚨︎ report
Just because it's a joke, doesn't mean it's a dad joke

Alot of great jokes get posted here! However just because you have a joke, doesn't mean it's a dad joke.

THIS IS NOT ABOUT NSFW, THIS IS ABOUT LONG JOKES, BLONDE JOKES, SEXUAL JOKES, KNOCK KNOCK JOKES, POLITICAL JOKES, ETC BEING POSTED IN A DAD JOKE SUB

Try telling these sexual jokes that get posted here, to your kid and see how your spouse likes it.. if that goes well, Try telling one of your friends kid about your sex life being like Coca cola, first it was normal, than light and now zero , and see if the parents are OK with you telling their kid the "dad joke"

I'm not even referencing the NSFW, I'm saying Dad jokes are corny, and sometimes painful, not sexual

So check out r/jokes for all types of jokes

r/unclejokes for dirty jokes

r/3amjokes for real weird and alot of OC

r/cleandadjokes If your really sick of seeing not dad jokes in r/dadjokes

Punchline !

Edit: this is not a post about NSFW , This is about jokes, knock knock jokes, blonde jokes, political jokes etc being posted in a dad joke sub

Edit 2: don't touch the thermostat

πŸ‘︎ 6k
πŸ’¬︎
πŸ‘€︎ u/CzarcasmRules
πŸ“…︎ Jan 23 2022
🚨︎ report
Blind Girl Here. Give Me Your Best Blind Jokes!

Do your worst!

πŸ‘︎ 5k
πŸ’¬︎
πŸ‘€︎ u/Leckzsluthor
πŸ“…︎ Jan 02 2022
🚨︎ report
I heard that by law you have to turn on your headlights when it’s raining in Sweden.

How the hell am I suppose to know when it’s raining in Sweden?

πŸ‘︎ 10k
πŸ’¬︎
πŸ‘€︎ u/justshtmypnts
πŸ“…︎ Jan 25 2022
🚨︎ report
Puns make me numb

Mathematical puns makes me number

πŸ‘︎ 9k
πŸ’¬︎
πŸ‘€︎ u/tadashi4
πŸ“…︎ Jan 26 2022
🚨︎ report
Petition to ban rants from this sub

Ants don’t even have the concept fathers, let alone a good dad joke. Keep r/ants out of my r/dadjokes.

But no, seriously. I understand rule 7 is great to have intelligent discussion, but sometimes it feels like 1 in 10 posts here is someone getting upset about the jokes on this sub. Let the mods deal with it, they regulate the sub.

πŸ‘︎ 8k
πŸ’¬︎
πŸ‘€︎ u/drak0ni
πŸ“…︎ Jan 24 2022
🚨︎ report
So my mom is getting her foot cut off today.. (really)

We told her she can lean on us for support. Although, we are going to have to change her driver's license, her height is going down by a foot. I don't want to go too far out on a limb here but it better not be a hack job.

πŸ‘︎ 4k
πŸ’¬︎
πŸ‘€︎ u/Slimybirch
πŸ“…︎ Jan 27 2022
🚨︎ report
French fries weren’t cooked in France.

They were cooked in Greece.

πŸ‘︎ 9k
πŸ’¬︎
πŸ“…︎ Jan 20 2022
🚨︎ report
This subreddit is 10 years old now.

I'm surprised it hasn't decade.

πŸ‘︎ 14k
πŸ’¬︎
πŸ‘€︎ u/frexyincdude
πŸ“…︎ Jan 14 2022
🚨︎ report
Why does Spider-Man's calendar only have 11 months?

He lost May

πŸ‘︎ 8k
πŸ’¬︎
πŸ‘€︎ u/Toku-Nation
πŸ“…︎ Jan 26 2022
🚨︎ report
When I was a single man, I had loads of free time.

Now that I listen to albums, I hardly ever leave the house.

πŸ‘︎ 7k
πŸ’¬︎
πŸ‘€︎ u/porichoygupto
πŸ“…︎ Jan 25 2022
🚨︎ report
You've been hit by
πŸ‘︎ 6k
πŸ’¬︎
πŸ‘€︎ u/mordrathe
πŸ“…︎ Jan 20 2022
🚨︎ report
I'm sick of you guys posting dumb wordplay in here for awards and upvotes.

Don't you know a good pun is its own reword?

πŸ‘︎ 11k
πŸ’¬︎
πŸ‘€︎ u/diggitygiggitycee
πŸ“…︎ Jan 21 2022
🚨︎ report
My 4 year oldest favourit joke, which he very proudly memorized and told all his teachers.

Two muffins are in an oven, one muffin looks at the other and says "is it just me, or is it hot in here?"

Then the other muffin says "AHH, TALKING MUFFIN!!!"

πŸ‘︎ 9k
πŸ’¬︎
πŸ‘€︎ u/smoffatt34920
πŸ“…︎ Jan 22 2022
🚨︎ report
Dropped my best ever dad joke & no one was around to hear it

For context I'm a Refuse Driver (Garbage man) & today I was on food waste. After I'd tipped I was checking the wagon for any defects when I spotted a lone pea balanced on the lifts.

I said "hey look, an escaPEA"

No one near me but it didn't half make me laugh for a good hour or so!

Edit: I can't believe how much this has blown up. Thank you everyone I've had a blast reading through the replies πŸ˜‚

πŸ‘︎ 20k
πŸ’¬︎
πŸ‘€︎ u/Vegetable-Acadia
πŸ“…︎ Jan 11 2022
🚨︎ report
What starts with a W and ends with a T

It really does, I swear!

πŸ‘︎ 6k
πŸ’¬︎
πŸ‘€︎ u/PsychedeIic_Sheep
πŸ“…︎ Jan 13 2022
🚨︎ report
My wife left me because I couldn’t stop doing impressions of pasta

And now I’m cannelloni

πŸ‘︎ 6k
πŸ’¬︎
πŸ‘€︎ u/bluestratmatt
πŸ“…︎ Jan 23 2022
🚨︎ report
"Qabalistic Dogma" (Crowley collected works vol 1 Appendix)

The following was written after the reception of Liber Legis around 1905 and has some profound insights, amazingly most Thelemites have probably never read this obscure little essay.

>The Evolution of Things is thus described by the Qabalists.
>
>First is Nothing, or the Absence of Things, ΧΧ™ΧŸ, which does not and cannot mean Negatively Existing (if such an Idea can be said to mean anything), as S. Liddell Macgregor Mathers, who misread the Text and stultified the Commentary by the Light of his own Ignorance of Hebrew and Philosophy, pretends in his Translation of v. Rosenroth.
>
>Second is Without Limit ΧΧ™ΧŸ ΧžΧ•Χ£ i.e. Infinite Space.
>
>This is the primal Dualism of Infinity; the infinitely small and the infinitely great. The Clash of these produces a finite positive Idea which happens (see בראשיΧͺ, in β€œThe Sword of song,” for a more careful study, though I must not be understood to indorse every Word in our Poet-Philosopher’s Thesis) to be Light, אור. This word אור is most important. It symbolises the Universe immediately after Chaos, the confusion or Clash of the infinite Opposites. א is the Egg of Matter; Χ• is Taurus, the Bull, or Energy-Motion; and Χ¨ is the Sun, or organised and moving System of Orbs. The three Letters of אור thus repeat the three Ideas. The Nature of אור is thus analysed, under the figure of the ten Numbers and the 22 Letters which together compose what the Rosicrucians have diagrammatised under the name of Minutum Mundom. It will be noticed that every Number and Letter has its β€œCorrespondence” in Ideas of every Sort; so that any given Object can be analysed in Terms of the 32. If I see a blue Star, I should regard it as a Manifestation of Chesed, Water, the Moon, Salt the Alchemical Principle, Sagittarius or What not, in respect of its Bluenessβ€”one would have to decide which from other Dataβ€”and refer it to the XVIIth Key of the Taro in Respect of its Starriness.
>
>The Use of these Attributions is lengthy and various: I cannot dwell upon it: but I will give one Example.
>
>If I wish to visit the Sphere of Geburah, I use the Colours and Forces appropriate: I go there: if the Objects which then appear to my spiritual Vision are harmonious therewith, it is one Test of their Truth.
>
>So also, to construct a Talisman, or to invoke a Spirit.
>
>The methods of discovering Dogma from sacred Words are also numerous and important: I may mention:β€”
>

... keep reading on reddit ➑

πŸ‘︎ 2
πŸ’¬︎
πŸ‘€︎ u/-datrosamelapibus
πŸ“…︎ Jan 28 2022
🚨︎ report
Why did Karen press Ctrl+Shift+Delete?

Because she wanted to see the task manager.

πŸ‘︎ 11k
πŸ’¬︎
πŸ‘€︎ u/Eoussama
πŸ“…︎ Jan 17 2022
🚨︎ report
I’ve got this disease where I can’t stop making airport puns.

The doctor says it terminal.

πŸ‘︎ 4k
πŸ’¬︎
πŸ‘€︎ u/xIR0NPULSE
πŸ“…︎ Jan 28 2022
🚨︎ report
Steve JOBS would have made a better President than Donald Trump

But that’s comparing apples to oranges

πŸ‘︎ 8k
πŸ’¬︎
πŸ‘€︎ u/Ok-Ingenuity4838
πŸ“…︎ Jan 22 2022
🚨︎ report
I just flew in from Chernobyl

And boy are my arms legs.

πŸ‘︎ 7k
πŸ’¬︎
πŸ‘€︎ u/JhopkinsWA
πŸ“…︎ Jan 23 2022
🚨︎ report
My 7 year old daughter just told me this one. I'm so proud. What did the duck say when he bought chapstick?

Put it on my bill

πŸ‘︎ 6k
πŸ’¬︎
πŸ‘€︎ u/BigRedHusker_X
πŸ“…︎ Jan 26 2022
🚨︎ report
So 2 trees got arrested in the town I live...

Heard they've been doing some shady business.

πŸ‘︎ 7k
πŸ’¬︎
πŸ‘€︎ u/K1ll47h3K1n9
πŸ“…︎ Jan 18 2022
🚨︎ report
I was almost upset that my coffee tasted like dirt today

but then I remembered it was ground this morning.

Edit: Thank you guys for the awards, they're much nicer than the cardboard sleeve I've been using and reassures me that my jokes aren't stale

Edit 2: I have already been made aware that Men In Black 3 has told a version of this joke before. If the joke is not new to you, please enjoy any of the single origin puns in the comments

πŸ‘︎ 8k
πŸ’¬︎
πŸ‘€︎ u/scarf_spheal
πŸ“…︎ Jan 19 2022
🚨︎ report
What should I score in a Transposition table?
πŸ‘︎ 4
πŸ’¬︎
πŸ‘€︎ u/Kermanium294
πŸ“…︎ Oct 02 2021
🚨︎ report

Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.