Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Anyone know any funny programming jokes?
740 points by arthurcolle on Jan 20, 2021 | hide | past | favorite | 852 comments
Can be super esoteric or super generalized, I love it when I get them, or when I just learn something new.



One of my all time favorites. Can’t remember where I first read it (Quora?), but it’s currently my top Google hit for “balloon programmer project manager joke”. [0]

============

A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts:

"Excuse me, can you help me? I promised my friend. I would meet him half an hour ago, but I don't know where I am."

The man below says, "Yes, you are in a hot air balloon, hovering approximately 30 feet above this field. You are between 40 and 42 degrees North latitude, and between 58 and 60 degrees West longitude."

"You must be a programmer," says the balloonist.

"I am," replies the man. "How did you know?"

"Well," says the balloonist, "everything you have told me is technically correct, but I have no idea what to make of your information, and the fact is I am still lost."

The man below says, "You must be a project manager"

"I am," replies the balloonist, "but how did you know?"

"Well," says the man, "you don't know where you are or where you are going. You have made a promise which you have no idea how to keep, and you expect me to solve your problem. The fact is you are in the exact same position you were in before we met, but now it is somehow my fault."

[0] https://www.reddit.com/r/ProgrammerHumor/comments/2rn8qx/i_h...


A similar joke I heard recently:

A helicopter was flying around above Seattle when an electrical malfunction disabled all of the aircraft's electronic navigation and communications equipment.

Due to the clouds and haze, the pilot could not determine the helicopter's position and course to fly to the airport.

The pilot saw a tall building, flew toward it, circled, drew a handwritten sign, and held it in the helicopter's window. The pilot's sign said "WHERE AM I?" in large letters.

People in the tall building quickly responded to the aircraft, drew a large sign and held it in a building window.

Their sign read: "YOU ARE IN A HELICOPTER."

The pilot smiled, waved, looked at her map, determined the course to steer to SEATAC airport, and landed safely.

After they were on the ground, one of the passengers asked the pilot how the "YOU ARE IN A HELICOPTER" sign helped determine their position.

The pilot responded "I knew that had to be the Microsoft building because, the response they gave me was technically correct, but completely useless."


A helicopter was flying around above Seattle...malfunction disabled... aircraft's electronic navigation and communications equipment...

....The pilot saw a tall building, flew toward it, circled, drew a handwritten sign, and held it in the helicopter's window. The pilot's sign said "WHERE AM I?" in large letters.

People in the tall building quickly responded to the aircraft, drew a large sign and held it in a building window.

The Sign was a stylized picture of the helicopter they were in, with a BIG red arrow pointing towards the pilot's window where a small cartoon pilot held up a sign saying 'WHERE AM I" in a hand-rendered Helvetica font.

The pilot smiled...yadda yadda yadda..

After they were on the ground, one of the passengers asked...

The Pilot responded "Tableau Software"


I have to note that this pilot is always getting into technical problems, and seems to know all the software companies in Seattle and how they are likely to respond - conclusion - the helicopter pilot is a project manager.


This joke must have been written by a journalist who's never been to Microsoft and doesn't bother to fact check their work, since the Microsoft campus is in Redmond and the tallest buildings there are only six stories high.


Well, I can at least tell for sure that I’m on Hacker News, now. :)


That's technically correct, but ultimately useless, information


All information is useless until it's useful


Or they didn't think it mattered if the facts are correct because it is a joke.


You must be a programmer.


Thanks, that was annoying me.


I believe the original form of this joke goes like this:

Lost man in a balloon yells down at a man on the ground “Where am I?”

The man on the ground responds, “You’re in a balloon”

The man in the balloon says “You must be a mathematician”.

“Why?” asks the man on the ground.

“Because your answer is absolutely right and absolutely useless”


The joke above is a play on the older joke you told.


O the irony of down votes on a meta joke


That's funny!


But then that becomes a paradox because the fact that the statement is useless makes it useful.


Dave's Garage has some good stories!


That’s where I heard it :)


I sent this to a project manager once, and they didnt understand nor appreciate it.


They must be a project manager.


I, perhaps appropriately, improperly calculated their threshold for humor.


No, he did't deliver the joke fast enough.


And neither did he create a jira story for delivering the joke in the sprint!!!


Project managers wouldn't read the story anyway, they cough up the headline and maybe a few lines of text and expect the team to fill in the blanks during multiple refinement meetings.


Adding another layer of indirection:

https://news.ycombinator.com/item?id=25866318


This is the comment that made me laugh, well done!


I’m a project manager and find it hilarious! But i’ve also been technical.


So you are not "project manager", but "competent project manager", which is something completely different :)


I’ve never met one of them in the wild. A rare thing indeed.


They're actually more common than engineers with understanding of project management or the concerns that they quite reasonably have. And they're way more valuable than a zug-zug eng.

I say this as a pure engineer who has been a lead many times but never a PM.


I bet a product manager would be more kind


A man is flying in a hot air balloon and realizes he is lost. He reduces height and spots a man down below. He lowers the balloon further and shouts:

"Excuse me, can you help me? I promised my friend. I would meet him half an hour ago, but I don't know where I am.

The man below produces a small object the shape of a teardrop colored a pleasing grayish blue that he proceeds to hold above his head in an inverted manner and then with a courtly, elegant bow indicates the ground the bottom of the teardrop is pointing at.

The man in the balloon flies off again, exclaiming under his breath "damn designers"


"And you got there by a bunch of hot air."


As much as I like the joke and of course understand the analogy, I don't see how, from this conversation, the programmer comes to the conclusion that he has to solve the managers problem. The manager just asked, the programmer gave a technical correct answer and the manager replied that it doesn't help him. But at no point was the programmer expected to solve the managers problem nor has he blamed him so that it's "his fault".


I think it plays around a common case of a manager saving their ass in front of superiors by shouldering the blame on an unsuspicious employee (“what were you doing all these months, what’s the state of the project, and how are you planning to deliver?”). With time the latter becomes experienced enough to not take the blame, and detects these attempts easily, because it is always happen to be “their” fault.

(Sorry if that was obvious and you meant something else.)


PM gave a jerk response denigrating the programmers attempt to help.


Thats a rehash of an old joke:

I know it soviet style:

A mathematician, a physicist and a biologist are flying in a air balloon and are lost.

They encounter a man walking below:

The biologist asks him: "do you know, where we are?"

"..." the man looks up and says nothing

The physicist ask him: "can you please tell us, where we are!"

"..." after a while the man says: "in a balloon".

The mathematician remarks, ah, he must be a philosopher. The others: "how do you know?"

"Well, for once he needed a lot of time to answer. Then his answer is correct with our objective reality. And lastly, his answer is completely useless to us."

(in eastern soviet republics, philosophy was not in high regards, because the peoples governments were supposed to be philosophical (a la Marx) government, with in theory, very high standards)


I'm reminded of a joke I heard from a talk by the philosopher Dan Dennett:

A philosopher takes his friend to a magic show. After the usual business of vanishing a few small mammals, the magician's assistant lies in a magic box, and the magician, with a dramatic flair, begins to saw through the box.

The philosopher's friend leans over and asks What do you think is really going on? The philosopher gives it a moment's thought and replies They're using illusionist skills to give us the impression that he's sawing someone in two, but really he isn't. The philosopher's friend, unsatisfied, asks Right, but how? The philosopher shrugs dismissively, That's really not my department.


A. Good joke.

B. I hate how applicable this joke is to my life. Except I'm the friend asking, then has to figure all the shit out because all the people around me with degrees cant tell the difference between their ass and a hole in the ground.


A Soviet engineer needs some plumbing done in his apartment, and calls for a plumber. The plumber arrives, does his thing, and hands over the bill.

The engineer is shocked. -'What, this is like a quarter of what I make in a month - for half an hour's work???'

Plumber shrugs. -'Well, why don't you come join us? Easy work, well paid, no responsibility - just remember to keep mum about your degree, as we're not supposed to hire academics.'

Our engineer contemplates this for a while, applies for a job as a plumber - and gets it.

All is well, good money, no responsibilites - until management requires that they take evening school classes to gain new skills and thus better build socialism. So, grudgingly, our engineer enrolls in a math class and, upon arriving, finds that the teacher wants to establish what the plumbers already know.

-'You over there - could you please come to the blackboard and show us the formula for the area of a circle?' he asks our engineer.

Standing at the blackboard, he suddenly realizes he can't for the life of him remember the formula; while a bit rusty, he soon figures out how to reason it out - furiously writing out integrals on the blackboard, only to find the area of a circle is -(pi)*r^2.

Minus? How did a negative enter into it, he thinks, going over his calculations once again. No, still gets the same result. Sweat building, he turns away from the blackboard for a moment, turning to the other plumbers watching.

As in one voice, they all whisper -'Comrade, you must switch the limits to the integral!'


American version from below:

The "you learn limits in like, 9th grade" comment reminds me of this one:

Two mathematicians are in a bar. The first one says to the second that the average person knows very little about basic mathematics. The second one disagrees, and claims that most people can cope with a reasonable amount of math. The first mathematician goes off to the washroom, and in his absence the second calls over the waitress. He tells her that in a few minutes, after his friend has returned, he will call her over and ask her a question. All she has to do is answer one third x cubed.

She repeats "one thir -- dex cue"?

He repeats "one third x cubed".

She says, "one thir dex cuebd"?

Yes, that's right, he says. So she agrees, and goes off mumbling to herself, "one thir dex cuebd...".

The first guy returns and the second proposes a bet to prove his point, that most people do know something about basic math. He says he will ask the blonde waitress an integral, and the first laughingly agrees. The second man calls over the waitress and asks "what is the integral of x squared?".

The waitress says "one third x cubed" and while walking away, turns back and says over her shoulder "plus a constant!"


I've heard a variation of that were the professor is at a bar with a couple of visiting professors. He tells them, in this town pretty much everyone is smart and he proves it by asking the waitress. (The rest of the joke is the same.)


I think the integral is

        4 * integrate sqrt(r^2 - x^2) w.r.t. x from x=0 to x=r
which is from the equation of circle with radius r centered at the origin:

        x^2 + y^2 = r^2
        => y = sqrt(r^2 - x^2)
any other way achieve the same using integration?


You can arrive at the same by slicing in nearly any manner you wish: vertical dx strips, horizontal dy strips, radial dtheta strips, concentric rings treated as rectangles, diagonal strips, literally anything you wish.

If you've never set up and worked a few, try the dx version and the dy version, then maybe fiddle with a few others. They all work.

The concentric rings one is trivial to work out. Integrate over r from 0 to R. Each ring at radius r has thickness dr, and has length 2 pi r, treated simply as a rectangle, which is "close enough" since each is arbitrarily thin. Then the integral is

int_0^R 2 pi r dr = 2pi r^2/2 from 0 to R = pi R^2.

A really pretty one cuts the circle into wedges, then rearranges them by alternating direction to make a "rectangle" approx r high, approx pi * r wide, with bumpy top and bottom. In the limit this has area pi * r * r, and can be shown to kids without needing calculus.

And it's not magic or circular, since pi is defined (in this case...) as the ratio of circumference to diameter.


\int_0^2π{(1/2)r^2dθ}

Value inside the integral is area of thin triangle of height r and base rdθ.


I don't quite get the punchline. I understand how if you integrate in the wrong direction you get a negative area, but is there a double meaning here?


I believe the implication is that all the plumbers are advanced degree holders, not just the engineer.


-The idea is that all the plumbers are academics looking for the easy life. :)


The limits are the shackles of oppression, the integral is the proletariat and switching is disavowing capitalism and seizing the means of production.


That was completely unhelpful but also hilarious.

As such, a perfect russian joke.


Thank you, that's what I was going for!


I shall never look at calculus the same way again. :) Thank you, comrade!


Brilliant !


Too many levels of indirection.



They're all former academics/mathematicians!


They are all engineers in disguise.


I think I had already heard that one from a math teacher


Caught me off-guard :D


Could change it like that:

A mathematician, a physicist and a biologist are flying in a air balloon and are lost.

They encounter a man walking below:

The biologist asks him: "do you know, where we are?"

"..." the man looks up and says nothing

The physicist ask him: "can you please tell us, where we are!"

"..." after a while the man says: "yes".

The mathematician remarks, ah, he must be a logician. The others: "how do you know?"

"Well, for once he needed a lot of time to answer. Then his answer is logically correct. And lastly, his answer is completely useless to us."


I heard this one but it's a mathematician and a physicist in the balloon, and the physicist says the person must be a mathematician. As told by a math professor...


It sounds like they're in the middle of the Atlantic? Have I got it wrong, I must have because the programmer is supposed to be standing in a field.

Wait - are they dead and in heaven!?!


You must be a programmer. Those who actually checks the requirements.


Sounds more like a pedantic QA


Maybe a bug in a joke, perhaps the coordinates need fixing.


This would never have happened if the joke had been made by one of those 10X Comedians.


I think without actually getting into the 10x debate regarding engineers, we can all agree that there are definitely 10x comedians.


Analogous to programming, the average joke-teller just isn’t that funny, making 10x more achievable.

“Think of a comedian.” There probably isn’t a 10x that comedian for you.

“Find the first person to tell you a joke live next week; considering them as a proxy for average, there is almost surely a 10x comedian out there.”


There probably isn’t a 10x that comedian for you.

To me the difference in 'funniness' between a random standup special (even one that is 'good' enough to get a distribution deal) and for example some of Eddie Izzard's best is easily 1000x.

But of course my least favorite stand up special is also literally the funniest thing someone else has ever seen. So maybe it washed out in aggregate.


Kevin Hart, Sarah Silverman, Bert Kreischer - 1x

Tom Segura, Ali Wong, Nikki Glaser, Bill Burr, Mark Normand, Andrew Santino - 5x

Dave Chappelle, John Mulaney, Louis CK - 10x


Which was the first comedian you named in response to the question? Was it Kevin, Sarah, or Bert?

My hypothesis is there’s a massive spread in performance in comics, in programmers, and in most fields that are substantially creative and when people argue “there is no 10x <foo>” that it’s more like because their reference frame is higher than mine.


- Milton Jones

- James Acaster


The programmer is messing with the PM.


I think maybe the programmer has forgotten to replace the mock data with a real data feed and he tells everyone who asks the same incorrect latitude and longitude no matter where they are.


Just for fun I checked where that position would be on world map. Turns out it's in the Atlantic, quite a bit off the east coast of the US.


I also enjoy a similar one where instead of the programmer stands a statistician and instead of project manager a principal investigator. Source: https://stats.stackexchange.com/a/12745


Meanwhile, no effort is made on either side to make progress. It is not a joke about software programmer or project manager, it is about self-centered irresponsible people.


(Not my joke)

At a recent real-time Java conference, the participants were given an awkward question to answer: "If you had just boarded an airliner and discovered that your team of programmers had been responsible for the flight control software, how many of you would disembark immediately?" Among the forest of raised hands only one man sat motionless. When asked what he would do, he replied that he would be quite content to stay aboard. With his team's software, he said, the plane was unlikely to even taxi as far as the runway, let alone take off.


I thought that 'real-time Java' was the joke


I thought the punchline was going to be about waiting for garbage collection to finish


If Java had true garbage collection, it would collect itself.


Java is written in C, so it cannot.


Truffle went meta and they have java in java now, which gives some nice things.


I know this joke, but in the version I've heard it's mechanical engineering students instead of programmers, their professors instead of conference participants, and the aircraft itself instead of the flight control software.

But the structure is the same.


I think Radio Yerevan wants you to be chief announcer.


The Soviet Union's greatest accomplishment was convincing everyone else in the world that Yerevan exists.


I have been there, I tell you. You gotta believe!


This is a joke, but this was a literal chat conversation that happened between Boeing engineers in regards for the 737 MAX 8.

https://www.nytimes.com/2020/01/09/business/boeing-737-messa...


If the plane were my machine there would be no danger.


It wasn’t until I started working with some of the top software engineers in the industry that I became afraid of flying.


Reminds me of Arthur C. Clarke's first published short story Travel by Wire!


This is an oldie (I first heard it in the 80s) but is one of my all time favorites. While it can be told about any two classes of people it really applies to a lot of code I encounter:

  A physicist is showing a thermos to her friend, a programmer.

  "It's amazing", she said.  "You put a cold drink inside and regardless of how hot it is outside the drink stays cold".

  The programmer is suitably impressed.

  "But that's not all", she continued.  "You can put a *hot* drink inside and no matter how cold it is outside the drink stays hot".

  Now the programmer is perplexed.

  Plaintively he asks, "But how does it know?"

I think of this whenever I read code that contains a gratuitous state variable that explains the type or content of some data structure rather than make the data structure self-explaining. Even more annoying when it's a class.

Having to coordinate two variables is a recipe for bugs down the road. Seems like it should be a beginner's mistake but I see it all the time in "non beginner" code.


I first heard this joke at an AI conference...

"An engineer, a physicist, a mathematician, and an AI researcher were asked to name the greatest invention of all time.

The engineer chose fire, which gave humanity power over matter. The physicist chose the wheel, which gave humanity the power over space. The mathematician chose the alphabet, which gave humanity power over symbols. The AI researcher chose the thermos bottle.

"Why a thermos bottle?" the others asked. "Because the thermos keeps hot liquids hot in winter and cold liquids cold in summer.", said the AI researcher. "Yes - so what?" "Think about it.", intoned the researcher reverently. "That little bottle - how does it know?"


Similar physics mystery: You're a pool of water in the bottom of a bucket, looking out at the stars. Somebody spins the bucket, making the stars spin. So you (the water) arrange your molecules in a parabolic shape, thicker at the sides of the bucket and thin in the middle.

How do you (the water know)? How do you know that the stars aren't holes in a paper sheet with light shining through? How do you know the universe isn't spinning, and you're standing still?


But How Do It Know? Basic Principles of Computers for Everyone

https://smile.amazon.com/But-How-Know-Principles-Computers/d...


Thank you, that was where I remembered that sentence from.. Great book!


Love the joke, but to me it points to something else than gratuitous state variables. I think of it as "if all you have is a hammer, everything looks like a nail", with the hammer being "procedurally solving problems".


Just the same, I wish make were a little more procedural.


Could you share an example of this? I could be misinterpreting this but say you're building a survey system and you need to keep track of answer types (e.g. text, date, etc) and the answer itself, how can you collapse that into one field?


Your thermos does not have a switch which you must set to "hot" or "cold" before inserting a liquid, handles solids as well as liquids, and doesn't require you to even think where the theshold might lie between the "hot" and "cold" settings. Instead it just does its best to prevent an energy exchange in either direction without having to even know the variables involved. And the "same subroutine" is basically used for different sized thermoses.

In code I see people not understand this all the time. Here's an example: let's say you present the user with their previous orders, and give them the option to filter those orders by some criterion.

The shitty way to do this is to have two variables:

    Filter* orderFilter = NULL;
    bool filterSpecified = false;

    void setOrderFilter (filter* newFilter) {
      orderFilter = newFilter;
      filterSpecified = true;
    }
So instead of just checking if a filter has been assigned, you have a separate boolean. What happens if the boolean is true but the filter is null? What would the vice versa case even mean?

The global codebase is riddled with dumb errors like this.


Even better, let's just have the default orderFilter be the equivalent of '*'.

If there's always a filter, then there's no longer a branch at the point it's used -- that needs to be tested and maintained.

I used to work with a programmer who I found difficult because their code was an ever-increasing number of "if" statements as each new case came along. Conversely he would say coding is relatively easy and that I was overcomplicating a problem by thinking about it; all I needed to do is "add an if statement here".


Yep! On of the things I point out most frequently in code reviews are things like this. However, null is an imperfect system for capturing such state. It's not self-documenting, and it breaks down when you have more than 2 states to represent.

Languages with Sum Types represent this much more elegantly with arbitrary numbers of variants and force you to check which one you have before accessing the more specific data (e.g. the filter) inside.


I deeply disagree!

Our code is riddled with heavily overloaded meanings in a single value/domain, and if you have a variety of filters, you end up with this atrocity:

  Foo *f1; // hey, just test for NULL
  double f2; // hey, just use isnan()

  int f3; // aaaaah, crap
  bool f3_specified; // god why

  std::string f4;
  // requires heavy drugs to solve existential catastrophes
Compare that to

  template <typename T>
  struct Filter {
    bool is_specified;
    T value;
  };

  Filter<Foo *> f1;
  Filter<double> f2;
  Filter<int> f3;
  Filter<std::string> f4;
And the variety of code that has to work with either of these examples.

What happens if the boolean is true but the filter is null?

An assertion fails miserably.

What would the vice versa case even mean?

That an assertion failed miserably.

What happens if the filter is one? Minus one? Equals to PC(IP), BP? If NULL filter has to search for NULL values in a dataset? If we are looking for NAN values in a corrupted one (this one is even more tricky)?

Deeply!


I'm not sure they were suggesting using type-specific sentinel values (like null and nan), but to always use null or point to a value.

I like wrapping the information in a data structure exactly as you suggested, and if you never mutate the dereferenced pointer, it's equivalent to what they proposed. Big if, though.

The best is to do this generically with https://en.m.wikipedia.org/wiki/Option_type , since this pattern comes up regularly, not just with this one domain concept of "Filter"


Another way of expressing this concept is to "make invalid states unrepresentable"


Dijkstra’s EWDs are full of examples of thinking about problems mathematically instead of operationally and then deriving elegant procedures.


Do you have any examples to point to?



100% agree - it's a quite common trap for inexperienced developers to write down every cases and conditions separately, when they shouldn't. As a similar example, instead of writing "req.source = host + port", people would write:

    if (host == "load-balancer-1.internal.dns") {
        req.source = HOSTS::LOAD_BALANCER_1;
        req.source += PORT_MAPPING[HOSTS::LOAD_BALANCER_1];
    }
    else if (host == "load-balancer-2.internal.dns") {
        // repeat
    }
After a few quarters of services, layers, and people being added and removed, it becomes a 500-line monstrosity and sits in every critical path. And because now it's a 500-line class (half of which is defunct, but good luck figuring out which half), nobody has time to read through it and figure out that it should have been a single assignment statement.


I think this is one of the areas that functional programming naturally steers the programmer in the right direction.


Having the two separated gives the ability to disable/re-enable the filter without losing it. That's often very useful. In other cases you're very right.


Then you'd go with `filter_enabled` or similar, which is an entirely different, separate flag. It is not coupled to what the filter itself looks like.


this is the essence of Linus Torvald’s doctrine of good taste


In something like typescript you could represent this as a union type. If I'm expecting a location I could take a string ("Baghdad"), lat long pairs, an enum, etc. With a union type I can specify that it could be any of these but they fill the same purpose. In Java I'd either do method overloading or expect to receive an object that implements a method that would give the location in a common format. The wrong way to do it would be to have a function that has both a lat/long input and a string input and just say that they're nullable and we only expect to get one of them.


I think they are referring to this sort of thing (the reader will have to use their imagination and assume there is additional functionality in this class):

  class ReadingMaterial:
    is_magazine = False

    def is_periodical():
      return is_magazine

Using a base class (e.g. a Magazine and a Book class, or something) and inheritance, is much clearer than monkeying around with state.


In graphics programming the typical example of this pattern would be when someone does bespoke computations on coordinates with a bunch of if-elses instead of deriving the proper matrix equation that "just works" due to math.


You have an Answer object that probably contains a type enum.

However, you don't need to name all variables "answerObject".


0 if the bottle is empty.

1 if its hot.

-1 when its cold :D


Ah yes the triple-boolean


Reminds me of our five value boolean we used to have: is_deleted. Woe to person who expected that to be 1 or 0. Five distinct and overloaded values were possible, though I now forget them. Probably something like pending, fully deleted, being restored, not deleted, and restored.


like linux app return codes.


A ternary logic computer to go with it: https://en.wikipedia.org/wiki/Setun


FileNotFound if it's none of those


As reported in the famous Daily WTF post:

https://thedailywtf.com/articles/What_Is_Truth_0x3f_


A doctor, an architect and a programmer talk about their professions. "Mine is the oldest", says the doctor, "as everybody knows God created Eve from the rib of Adam, and that's definitely a medical operation". "Right", says the architect, "but in fact architect is even older - it's definitely an architectural project to create the world from chaos". At this point programmer kicks back in the chair and gives friends a mysterious look. "Who, do you think, created the chaos?"


I always heard this with a lawyer at the end.


The joke's context is Genesis chapters 1-2, so it wouldn't make sense to include a lawyer. Satan only shows up in chapter 3.


I wish I could give this joke a trophy.


This made me chuckle :)


As others mentioned, I've also heard this as a lawyer taking claim from the chaos.

I also heard this from a friend that heard it from Ronald Reagan, who claimed it was his favorite joke.


You win this thread. All high quality jokes.


All not mine, and definitely old - but we're a big bunch, there are lots of programmers, and not everybody heard them :) .


A programmer walks into a bar and ask for a drink. The bartender says I'll give you a drink if you tell me a programmer joke. And he says: a programmer walks into a bar and ask for a drink. The bartender says I'll give you a drink if you tell me a programmer joke. And he says: a programmer walks into a bar and ask for a drink. So he gives the guy a drink, so he gives the guy a drink, so he gives the guy a drink.


... (continued): The bartender gives him a puzzled look and says, "I didn't get it", to which the programmer responds "To understand recursion you must first understand recursion."



This is a wonderful easter egg, thanks!


Did you mean where it says "did you mean . . . "?


Yes


I think the origins of the joke is the Jargon File: http://www.catb.org/jargon/html/R/recursion.html



In a similar vein:

One day a student came to Moon and said: “I understand how to make a better garbage collector. We must keep a reference count of the pointers to each cons.”

Moon patiently told the student the following story:

“One day a student came to Moon and said: ‘I understand how to make a better garbage collector...


Disclaimer : Details nobody asked for.

These are one of the jokes originating from MIT AI Lab. And, Moon mentioned here is David Moon - one of the famous hackers from MIT AI lab.

Other such jokes from same origin [1]

[1] - http://www.catb.org/~esr/jargon/html/koans.html


An infinite number of mathematicians walk into a bar. The first one orders a beer. The second one orders half a beer. The third one orders a fourth of a beer. The bartender stops them, pours two beers and says, “You guys should know your limits.”


There is a bunch of funny problems regarding Hilbert Hotel, with countably infinite number of suits :) .


Now the programmer just waits till the stack blows up to get his free drink.


Or whether the tale is optimised


Well, that depends on the language they speak.


That's how you get out of the simulation.


I thought someone was going to raise a flag.


This recurs until the programmers runs out of stacks


Recursive till you fall off your stool.


Finally, a recursion joke that is not about infinite recursion!


Well, strictly speaking it is. There is no terminating condition- the OP simply chose to return at an arbitrary point in the recursion.


Is it? In the outer "real world" the bartender will give the programmer a drink for a joke. It could be a knock-knock joke or anything, but the programmer makes it recursive. Thus making the whole thing a joke to us, otherwise it would be a knock-knock joke embedded in a pointless programmer/bartender reference.

In the first joke level, the bartender will give the programmer a drink for a joke; it doesn't work to arbitrarily end here because "a programmer asks the bartender for a drink and the bartender gives him a drink" isn't anything like a joke to qualify at the parent level.

The next level is another layer of recursion and here the programmer can literally ask for a drink and get one even though that isn't funny in itself because it can be funny in the context of the outer joke using "he asked for a drink and got one" as a cheeky way to tell a joke to get a drink, and because it's a reference to recursion, the reason for Chekhov's Programmer in the opening sentence, so making something that qualifies as a joke to get the real world programmer a real world beer.

Seems to me like it's the earliest point it could return and still potentially work, rather than an arbitrary point?


I thought it stopped due to exhausting the bar's stock, which conveniently was limited to only three drinks.


A QA engineer walks into a bar and orders a beer.

She orders 2 beers.

She orders 0 beers.

She orders -1 beers.

She orders a lizard.

She orders a NULLPTR.

She tries to leave without paying.

Satisfied, she declares the bar ready for business. The first customer comes in an orders a beer. They finish their drink, and then ask where the bathroom is.

The bar explodes.


This is the first one that made me laugh out loud. My kids came over, “Can I see?” to which I replied “I’m a giant nerd.”


I just came up with a variation to this off the top of my head.

A QA engineer walks into a bar. She orders a beer. She walks out of the bar. She walks into the bar. She walks into the bar. She walks out of the bar. She walks out of the bar. She walks out of the bar. She orders a beer.


This describes our qa team accurately


Not a programmer, but this is good.


If you mean you're not a programmer, rad, good compliment. If you mean QA engineers aren't programmers... wtaf?


It's weird how some people admit they still test code by hand


It's very simple: you test things because we can't rely 100% on developers to create the right thing or to create it without any bugs. The same goes for automated test software. I've personally created unit tests that were failing for like 2 years but due to a bug still showed green in CI.

To go back to the joke: manual QA is infinitely more likely to find the exploding bathroom than a unit test would ;)

Automated testing is a fantastic tool, but manual QA is still very valuable.


It's not an either/or though. Used to have an assignment where we as developers would write automated tests (regression tests), while we had an experienced software tester with an excel sheet verifying things by hand. But instead of just following the sheet - which is automatable - he knew of a number of different techniques and approaches and he'd still find a lot of issues that nobody else found. For which we'd write a test to avoid it happening again.

I mean I wouldn't have minded if they wrote more automated tests themselves, but I'm also very aware that the mindset of me and developers would quickly become "it's not my responsibility to test my software".


It's weird how many bugs I regularly find in our software by actually testing things by hand, as opposed to our QA department, which does only automated testing and insists they have covered 100% use-case scenarios.


All my tests are individually hand-crafted from sapient pearwood and proctored by a licensed pirate.


I mean, I’m a programmer and I still test code manually. I’m not sure why it has to be xor


> test code by hand

Personally, I find it helpful to bugger out things with pen and paper before coding it out. This is helpful and useful.

Greatness to you of you need not the analogue. Others "below you" may and can do just as well. Please do not down your nose upon such folks.


If “by hand” you mean using your hands to type code that generates tests, then yes, I admit to testing code by hand.


QA is more than running tests by hand you could also just code.


Automated test suites suffer from the same problem.


I do


There's an old Joel on Software one related to string concatenation:

Shlemiel gets a job as a street painter, painting the dotted lines down the middle of the road. On the first day he takes a can of paint out to the road and finishes 300 yards of the road. "That's pretty good!" says his boss, "you're a fast worker!" and pays him a kopeck.

The next day Shlemiel only gets 150 yards done. "Well, that's not nearly as good as yesterday, but you're still a fast worker. 150 yards is respectable," and pays him a kopeck.

The next day Shlemiel paints 30 yards of the road. "Only 30!" shouts his boss. "That's unacceptable! On the first day you did ten times that much work! What's going on?" "I can't help it," says Shlemiel. "Every day I get farther and farther away from the paint can!"


Nice plot twist. I thought this one was going to be about optimizing the work that has to be done for one kopeck.


There's something about strcat there somewhere.


This could be a metaphor for how a greenfield project turns into a tiresome upkeep effort, after the initial creativity gets further and further buried under the maintenance strain.



This also applies to pagination based on offset/limit


The other day I was asking my data scientist brother if you run into this problem training DNN's (anyone: do you?), and ended up telling this one!


IIUC you generally train on a sliding window of most recent data. That or just keep adding GPUs...


Every day I get farther from the GPU shop!


Now this would be funny if it did not bring up painful memories. :-)


A software engineer, a priest, and a doctor are trying to enjoying a round of golf. Ahead of them is a group playing so slowly and inexpertly that in frustration the three ask the greenkeeper for an explanation. “That’s a group of blind firefighters,” they are told. “They lost their sight saving our clubhouse last year, so we let them play for free.”

The priest says, “I will say a prayer for them tonight.”

The doctor says, “Let me ask my ophthalmologist colleagues if anything can be done for them.”

And the software engineer says, “Why can’t they play at night?”


I'm a firefighter programmer and I liked this one.


Well looks like you just leaked Boston Dynamics' next product.


I thought all programmers are firefighters...


The way I program, I'm actually an arsonist.


The prize for being good at firefighting is being assigned more firefighting.


For a moment there I thought you were the other firefighter programmer I know.


I think there are about 4 of us on HN that are current or former firefighters (in the literal sense).


+1 more


Haha, yes, that is so typical us programmers. We always know best and ofcourse there is a simple solution that fixes everything without even having to code a single line. But what if they enjoy the feeling of the sun on the skin while golfing? What if they are not completely blind but can see dark/light shades? This makes it much easier to keep balance.


I think the joke is that we programmers don't consider such implied requirements.


…and, at times, lack empathy to a frightening extent ;-)


... what if they have to sleep in the same time as everyone else?


I get hung up by the many reasons why playing at night would be worse for them..


This is an amalgam of two half-remembered jokes, but I think it works.

-------

An engineer, physicist, mathematician, and programmer are all hired by a shepherd to create a pen to hold as many sheep as possible with the materials given.

The engineer sets to work immediately building a traditional rectangular fence: a proven design which works. She finishes in an hour.

The physicist pulls out pencil and notepad, and after a few minutes of computation, determines that a novel circular fence design will enclose the maximum number of (spherical, frictionless) sheep, while remaining structurally sound. He too completes the fence within an hour.

The mathematician sits for an hour under a tree in deep thought, suddenly jumps up, wraps herself in a short length of fence, and says, "I declare myself to be outside the fence!" [this is normally where the joke ends]

The programmer meanwhile is nowhere to be found, having run off excitedly with his laptop immediately after hearing the problem statement. The shepherd congratulates the other three on a job well done, and they all part ways.

A week later, as the shepherd is tending to the flock, he is surprised to see the programmer sitting in the shade of a tree, furiously typing away at his laptop. "Uh, how's it coming?" the shepherd asks.

The programmer replies, "It's going great! I've almost finished coding the cross-platform terminal graphics library!"


This was only the second joke I liked in this thread, reading sequentially. First one was about the balloon.


It's often said that software engineers have no code of ethics. This is untrue. For example, no respectable software engineer would ever consent to writing a function called DestroyBaghdad().

Professional ethics would compel them to instead write a function DestroyCity, to which "Baghdad" could be passed as a parameter.

https://en.wikiquote.org/wiki/Nathaniel_Borenstein


> Professional ethics would compel them to instead write a function DestroyCity, to which "Baghdad" could be passed as a parameter.

A common rule in the profession would be that that would only be true after they’d coded city-specific destruction functions for two previous cities, otherwise it would be premature abstraction.


Sometimes you might want to know success though. So...

status = destroyCity(&city);

This way, because assumingely we may mutate city in some way we’ll still have what comes after to examine, we didn’t pass the name or Od of the city, but the location itself. And we’ll know if overall our destruction worked. It’s also better if you code to MIRSA destruction.


Because passing the city by copy is way too expensive and won't destroy the original city anyway.


Ok, here's a variation.

A programmer is drafted by the military and ordered to write the software for a city destroying weapon. Given the freedom to choose the implementation language, he chooses Javascript. The user enters the city to be destroyed, which is passed to the Function destroyCity().

The General returns from the weapon's fist use in battle furious. "We fired your damn weapon at Bahgdad, and the city's still there! What's going on?"

"I think I know" says the programmer. Javascript passes it's parameters by value, not by reference."


Depending on the language the ampersand could mean by copy or by reference. I suspect the commentor wants by reference, since they want to examine it later.


> Depending on the language the ampersand could mean by copy or by reference

Yikes. Which languages use ampersand to signal passing by value? That's a massive footgun if I'm ever cargo-culting my way through writing some code in one of those languages for the first time.


Isn't the real footgun trying to do work you don't adequately understand?


I generally learn a new language by cargo-culting my way through a few small-ish programs. I wouldn't put anything in production in a language that I didn't adequately understand, but I could certainly waste a bunch of time debugging if I got the meaning of & flipped.


Your right; I meant by reference. I also said MISRA, which implies destruction by means of Sea monster.


An infinite number of mathematicians walk into a bar.

The first mathematician orders a beer.

The second orders half a beer.

"I don't serve half-beers" the bartender replies.

"Excuse me?" Asks mathematician #2.

"What kind of bar serves half-beers?" The bartender remarks. "That's ridiculous."

"Oh c'mon" says mathematician #1 "do you know how hard it is to collect an infinite number of us? Just play along".

"There are very strict laws on how I can serve drinks. I couldn't serve you half a beer even if I wanted to."

"But that's not a problem" mathematician #3 chimes in "at the end of the joke you serve us a whole number of beers. You see, when you take the sum of a continuously halving function-"

"I know how limits work" interjects the bartender.

"Oh, alright then. I didn't want to assume a bartender would be familiar with such advanced mathematics".

"Are you kidding me?" The bartender replies, "you learn limits in like, 9th grade! What kind of mathematician thinks limits are advanced mathematics?"

"HE'S ON TO US" mathematician #1 screeches

Simultaneously, every mathematician opens their mouth and out pours a cloud of multicolored mosquitoes. Each mathematician is bellowing insects of a different shade.

The mosquitoes form into a singular, polychromatic swarm. "FOOLS" it booms in unison, "I WILL INFECT EVERY BEING ON THIS PATHETIC PLANET WITH MALARIA"

The bartender stands fearless against the technicolor hoard. "But wait" he inturrupts, thinking fast, "if you do that, politicians will use the catastrophe as an excuse to implement free healthcare. Think of how much that will hurt the taxpayers!"

The mosquitoes fall silent for a brief moment. "My God, you're right. We didn't think about the economy! Very well, we will not attack this dimension. FOR THE TAXPAYERS!" and with that, they vanish.

A nearby barfly stumbles over to the bartender. "How did you know that that would work?"

"It's simple really" the bartender says. "I saw that the vectors formed a gradient, and therefore must be conservative."


The "you learn limits in like, 9th grade" comment reminds me of this one:

Two mathematicians are in a bar. The first one says to the second that the average person knows very little about basic mathematics. The second one disagrees, and claims that most people can cope with a reasonable amount of math. The first mathematician goes off to the washroom, and in his absence the second calls over the waitress. He tells her that in a few minutes, after his friend has returned, he will call her over and ask her a question. All she has to do is answer one third x cubed.

She repeats "one thir -- dex cue"?

He repeats "one third x cubed".

She says, "one thir dex cuebd"?

Yes, that's right, he says. So she agrees, and goes off mumbling to herself, "one thir dex cuebd...".

The first guy returns and the second proposes a bet to prove his point, that most people do know something about basic math. He says he will ask the blonde waitress an integral, and the first laughingly agrees. The second man calls over the waitress and asks "what is the integral of x squared?".

The waitress says "one third x cubed" and while walking away, turns back and says over her shoulder "plus a constant!"


I don't get it :( Did she know the answer? Then why the confusion at the start?


Yeah that does push it a bit, but the joke is that she didn't understand what he was talking about with the 'onethirdxcubed', mis-parsing it without context. But when asked the integral, she knew the answer; not because she'd been told.


Or in the beginning she’s playing dumb in condescension to the man. The man is trying to prove a point he doesn’t believe. He’s treating her as if she is dumb and doesn’t know the answer, but she does know, and in the end proves she knows it by providing a more complete answer than even the man himself. (You have to assume she knows about the question as the man is telling her the answer.)


Then it could also almost be a joke about parsing and context-free grammars or such.


Ahh, thank you, that makes sense.


The version of the joke I'd heard doesn't include the waitress' attempt to meaninglessly memorize the answer. She simply nods when initially tutored, then later surprises both mathematicians that "an average person" knows how to properly solve an integration problem without any help.


I think that's a better version/telling.


The waitress is a high functioning autistic. She knows calculus, but cannot work out a mishearing of natural language in a noisy environment, and just memorizes the raw phonemes with meaningless word divisons.


[flagged]


Well, the joke is a play on those gender stereotypes, the blonde waitress clearly knows much more then even the optimistic mathematician expects. The butt of the joke here is the university system and the jobs market.


That's true, but frankly, would you tell this joke during a conference? Personally, I'd prefer not to, even if it was relevant.


Seems very unlikely? This joke is obviously punching up instead of punching down. Feel like a lot of people worried about cancel culture have some kind of bogeyman in their head that doesn't reflect reality at all.

Even if that wasn't the case: the niche nature of the joke protects you against global outrage


I wish it was a bogeyman. The Donglegate happened because someone overheard a joke between two friends. Then people have been fired. I'm very, very careful about every joke I tell and who is around.


Did you stop reading then? Because the actual joke is that even the guy that thought the average person numerate stereotyped her as dumb and was wrong.

An absurd example of a 'blonde joke' to object to if you're going to.


That's my very point: there are people who will find it offensive neverheless.


The joke is an explicit rejection of that particular trope, though.


I think the idea is that the one who would feel offended by this joke, could also only see the trope and not the fact it was rejected. And if you dare to explain it, you automagically end up in a deadlock.

It also unlocks the tactic “I will play dumb for a while so you don’t feel too smart anymore”. If you want to continue to do good, don’t open up for stupid attacks — politics 101.


You didn't understand the joke did you?


Agreed. Although it should be fine if you know your audience and redact only as needed.


I prefer snappier versions of the first half, like:

An infinite number of mathematicians walk into a bar. The first says, "Give me a beer." The second says, "I'll have a half a beer." The third says, "A quarter of a beer, please." The bartender pours two beers and says, "Come on, people. Know your limits."

Copy-pasted from https://owlcation.com/stem/Worst-Math-Jokes-and-Math-Puns, but there are many similar versions.


Yes. The version before was like going nowhere.


An infinite number of mathematicians walk into a bar, where a beer costs 3$.

The first mathematician orders a beer.

The second mathematician orders two beers.

The third mathematician orders three beers.

"Oh, I see where this is going" says the bartender and pays a quarter to the first mathematician. "This should cover your check, then."


Is this an antijoke or did I just need to know where it's going, like the bartender? Maybe the bartender is confused?


The joke is that the Ramanujan sum of 1 + 2 + 3 + 4 + ... is equal to -1/12, so the check should be $3 * -1/12 = minus one quarter. [0]

[0]: https://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B...


Thanks, that's a bit of math trivia I either forgot or never learned.


This joke relies on the listener knowing that the regularized sum of 1+2+3+... = -1/12.


That's what makes it funny!


Can you explain?


1 + 2 + 3 + ... = -1/12 total beers

-1/12 beers * $3 / beer = -$0.25

negative -> pay them for taking the beer

The -1/12 result is pretty widely known, but not particularly true. It's called "analytic continuation." There's a nonrigorous proof that's accessible at a highschool level - see [here](https://en.wikipedia.org/wiki/1_%2B_2_%2B_3_%2B_4_%2B_%E2%8B...)

Delightfully, this comes up in string theory, in computing the dimensionality of spacetime.


It's referencing a theorem from string theory, as discussed in this Numberphile video: https://www.youtube.com/watch?v=w-I6XTVZXww

The catch is that this isn't valid in what we consider standard mathematics, and you can find many discussions of this online, but this one is fairly short and straightforward: http://curiouscheetah.com/BlogMath/infinity-and-string-theor...


The sum of all positive integers can be somewhat described as negative one twelfth: https://www.youtube.com/watch?v=E-d9mgo8FGk


I want to hear Norm Macdonald tell this joke.


So the programmers joke here is the silent nod to jamie zawinski, as a maths savvy guy who is bartending?

https://www.jwz.org/about.html


Don't click this link, copy and paste it. JWZ redirects clicks from HN.


How exactly does a redirect like that work? I didn't know links provided context when loading the subsequent page.


The web server was configured to check the referrer.

   If (referrer === ‘https://news.ycombinator.com’) {

   // show offensive pic of male genitalia 
   }



Or click it too! It's pretty hilarious


> and with that, they vanish.

I feel like that was the most hilarious part, and the joke could have ended there as like an anti-joke of sorts. I like how crazy it got with the "FOOLS" part. Unexpected...


90% through I reached for the flag button, 2 seconds later, I'm weeping. Thank you


I feel like this is every corny maths joke all rolled into one. Very creative.


this has levels.


Ohoooo, that was a nice one !


Hey, it's not cool to steal jokes from /r/antiantijokes. I am a mod there (as evident from my username), and don't appreciate this. The joke is hilarious though.


> Hey, it's not cool to steal jokes from /r/antiantijokes.

When is it okay to repeat a joke from the internet and when is it not?



Always and Never, at the same time.


Joke piracy is rampant these days...


I had no idea where this was from. Sadly the guy who sent it to me didn't tell me the joke was under copyright


You never googled the joke to see where it was from?


Who the heck does that, and why???


do you google jokes..?


so many poor poor redditors are going to have trouble feeding their children because of this tragic joke piracy ;(


I'm surprised you think no one on r/antiantijokes stole that joke to put it there


Are you saying you've never told a joke without knowing (or mentioning) the source...?


Three logisticians just finished dinner, and the waitress comes up and asks "do y'all want dessert?"

The first logistician says "I don't know." The second also says "I don't know." The last says "yes, we would."


"Logician". A logistician is someone who deals with logistics.


No. A logician is a lounge act that saws a log in half.


That's a boring act.


I've heard another variant of this joke:

A friend asks a programmer if they'd like to go bowling or go to the movies.

The programmer answers: "Yes".


That's... not another variant of that joke?


One is about "Or" statements and the other is about "And" statements.

All three logisticians needs to be "true/yes" and the first one didn't know about the two others so the logistician says "I don't know". If he didn't wanted dessert, he would have said "no".

Same thing for the second logistician.

The last logistician was able to say "yes, we would." because none of the other logistician said "no". Therefore, they all wanted dessert.


Still not a variant of the former joke. The latter is about the meaning of "or" in a logic or coding context vs its meaning in human languages.


I always found it funny how, in human language, when we say "or" we actually mean XOR, and had to invent "and/or" to be clear when we mean OR...


They ask Lemmy Kilminster whether he likes more beer or women. He answers yes.


No - "hell yes". In fact, "Hell yeah".

It's Lemmy Kilminster, right?


obligatory reddit link: https://www.reddit.com/r/inclusiveor


Forgive me for my ignorance, but I don't really understand this joke...

Is it something to do with the first 2 not knowing the preference of the others?

EDIT: never mind, this was also posted later in the thread and there's an explanation there.


Yes. If they personally didn't want it, they'd say "no". As they're uncertain about the others, they say they don't know.

Then the final person knows the others all want yes, and personally wants yes, so says yes.

It's like lazy evaluation of booleans in if statements.


If either of them didn't want dessert they would know that not all of them wanted dessert.


Nice this is my favourite so far!


Would you be kind and explain this joke please?


The waitress asked if they would ALL like dessert. If the first logician did NOT want dessert, then they could safely answer "no", because then it would not be the case that ALL of the logicians want dessert. Since they do not answer no, we can assume they do want dessert. The same follows for the second logician. The third (who also wants dessert) has heard their colleagues answer, and knows that if either of them did not want dessert they would have answered no, and can therefore now answer "yes, we would all like dessert".


thank you!


First of all, the joke makes no sense if you put a logistician instead of logician. Second, if you ask one person a question related to the opinions of all others, logically they can't answer yes or no, the only possible answer is "I don't know." Only when you reach the last person you have a chance of giving a definite answer.

Note the first logicians have to answer "I don't know" even if they don't wan't it, otherwise their statement becomes untrue.


   > Note the first logicians have to answer "I don't know"
   > even if they don't wan't it, otherwise their statement
   > becomes untrue.
No. "A && B && C" is only true when all three are true. If A knows it does not want, they can answer "no", because there is no way "ALL want" is true in that case.


Correct. I missed "all" in the joke.


The first two logisticians, each being a flawed human capable of error, might have answered "I don't know" despite not wanting dessert.


Obviously the third one has a flaw of not being able to see flaws in other people.


My favorite:

=====================

A Computer Programmer finds a frog by the side of the road.

The frog says, "I am actually a Princess! If you kiss me, I'll revert back to my human form and be forever grateful?", the programmer smiles and puts the frog back in his pocket.

Again, the frog says, "But I really am! I would even marry you if you kiss me and turn me back into a human!", the programmer chuckles and puts the frog away again.

Ten minutes later, the frog says, "Look, if you kiss me, I'll have sex with you all day, every day. Deal?", the programmer laughs and puts the frog away again.

He gets home, takes the now severely depressed frog out of his pocket and sets it down in an aquarium. The frog looks up at the coder and says, "What the fuck is wrong with you man? I offered to marry you, I offered to screw you, but STILL you won't turn me back into my human form."

The programmer says, "I'm a programmer. I don't have time for relationships, or sex - but a talking frog? SO COOL!"

=====================

credits to: https://www.reddit.com/r/Jokes/comments/8ylptx/a_computer_pr...


I thought the punchline was going to be, you know you're a programmer if you get hung up by the second sentence. How can he "[put] the frog *back* in his pocket." the first time after finding it by the road?


Reminds me of the joke about the talking dog at the flea market where the seller thinks he duped the buyer because "the dog is a liar".

For the topic: the programming version of the joke would be where it's a disgruntled e.g. D-Wave employee selling a stolen "quantum computer" at a flea market that can demonstrably break RSA encryption, and he thinks he duped the buyer because "it's really just a fancy classical computer".


Very funny!


A boy and a girl are sitting next to each other in a Java Computer Science class.

The boy reaches over and starts going through the girls purse.

The girl says: "Hey! That's private!"

The boy replies: "But we're in the same class!"


C++:

Friends can access each other's private members in a public class.


C programmer vs Java programmer

— Your Java is slow!

— This is because it is written in C!


A physicist, an engineer and a programmer were in a car driving over a steep alpine pass when the brakes failed. The car was getting faster and faster, they were struggling to get round the corners and once or twice only the feeble crash barrier saved them from crashing down the side of the mountain. They were sure they were all going to die, when suddenly they spotted an escape lane. They pulled into the escape lane, and came safely to a halt. The physicist said "We need to model the friction in the brake pads and the resultant temperature rise, see if we can work out why they failed". The engineer said "I think I've got a few spanners in the back. I'll take a look and see if I can work out what's wrong". The programmer said "Why don't we get going again and see if it's reproducible?"

Slightly over analysed thread at: https://www.reddit.com/r/Jokes/comments/2wf5ge/a_mechanical_...


Love this one. I've heard a variant where the programmer suggests pushing it back up the mountain to reproduce it.


Wasn't it: Let's close [all] windows and open it/them again and try anew?


I’ve also heard “shall we all get out then get back in and see if it works?”


> Kubernetes is an Ancient Greek word meaning "More containers than customers."

https://twitter.com/srbaker/status/1002286820078571532


Brilliant.


I don't understand why people find DNS so difficult, it’s just cache invalidation and naming things.

source: https://twitter.com/jdub/status/739110670562557952?s=20


For context, I presume most of you have heard the old old joke that the two hard problems of computer science are cache invalidation, naming things, and off-by-one errors. (Or the older joke that the two hard problems of computer science are cache invalidation and naming things.)


>There are two hard problems in computer science: naming

concurrency

>things, cache invalidation, and off-by-one errors.


No "and async." Figures.


Or that we only have one real joke, and it kinda sucks.


Ah, I wondered why that tweet was going around again! :-)

A little tribute to Phil Karlton's classic. And DNS.


Great joke. Told it on a zoom meeting today. Got a big laugh from half the people... the programmers.


As virtual reality simulators assume larger roles in helicopter combat training , programmers have gone to great lengths to increase the realism of the their scenarios, including detailed landscapes and — in the case of the Northern Territory’s Operation Phoenix — herds of kangaroos (since groups of disturbed animals might well give away a helicopters position).

The head of the Defense Science and Technology Organization’s Land Operations/Simulations division reportedly instructed developers to model the local marsupials’ movements and reaction to helicopters.

Being efficient programmers, they just re-appropriated some code originally used to model infantry detachments reactions under the same stimuli, changed the mapped icon from a soldier to a kangaroo, and increased the figures’ speed of movement.

Eager to demonstrate their flying skills for some visiting American pilots, the hotshot Aussies “buzzed” the virtual kangaroos in low flight during a simulation. The kangaroos scattered, as predicted, and the Americans nodded appreciatively . . . and then did a double-take as the kangaroos reappeared from behind a hill and launched a barrage of stinger missiles at the hapless helicopter. (Apparently the programmers had forgotten the remove “that” part of the infantry coding).

Source: https://www.snopes.com/fact-check/shoot-me-kangaroo-down-spo...


Hahaha. Having worked at DSTO (many years ago) this is SO believable.


Apparently a true story:

A guy was walking around in a Ruby conference with a shirt that said ":sex" (which is read "sex symbol" in Ruby). Until someone asked him: "I don't get it. Why colon sex?"


As a Rubyist I laughed at that so hard my wife woke up. I work with Python on a daily basis now but I need to make a SFW variant and show it to the Ruby team.


C:##


As an Englishman, that symbol is "sharp" (or hash) which does two things. It makes the sex sound painful, then gives you a second smirk when you remember that it means "pound (£)" in American.


#MeToo always felt awkward and not well thought out.


One possible cause of confusion in terms of a hash (#) being called pound (£) in the US was that (as I recall even in the mid-1980s) in many cases with ASCII/EBCDIC character set terminals and printers the same number code displayed as a # in the US but as a £ (pound) in the UK (eg ISO646 vs BS4730, or EBCDIC 297 vs 37).

So when cross-Atlantic conversations occurred the US would hear/read us in the UK refer to (they thought) # by the name pound, when we thought we were describing the actual pound (£) character that we were seeing on our end.


The register[1] quite conclusively determined that the symbol was pronounced "splat".

[1] https://www.theregister.com/2002/07/04/why_microsoft_makes_a...


I guess it would prevent that kind of misunderstanding if the joke was written "C:££", but then again, the slight misreading I think adds to the joke when it is gotten.


C:ENTER:###

(album title)


Not exactly programming per-se, but cute:

A mechanical engineer, an electrical engineer, and a software engineer from Microsoft are in a car together, driving to a conference. They start down a hill when the brakes give out and they crash into a tree at the bottom of the hill. Luckily no one is seriously injured, and they set out to figure out what happened. The mechanical engineer examines the car and says "I believe a brake line was over-pressured and burst, causing the crash." The electrical engineer looks and say "No, I think it was a short-circuit in the anti-lock braking system." The Microsoft guy stays quiet, so the other two look at him and ask "What do you think happened?" He looks up and say "I don't know, but let's push the car back to the top of the hill and try again."

---

A newly wed software engineer from Microsoft and his wife are going to visit her family in the mountains. For some reason they have to travel separately and she arrives before him. After a while the phone rings and the new wife's dad answers. It's the husband. He says "Tell everybody I'll be there in 5 minutes." 35 minutes pass and the phone rings again. The husband says "Tell everybody I'll be there in 2 hours." A minute later he calls again and says "Tell everybody I'll be there in 14 minutes." 45 minutes later the phone rings again and the dad answers and says "You're the guy who designed the Windows progress bar dialog aren't you?"


I once worked on making a progress bar for a process that had a known number of tasks. Unfortunately not all tasks would take the same amount of time, and it was impossible to know the relative amount of time each task would take beforehand. I did the logical thing, and had the progress bar advance 1/nth every time a task completed, with an animation to make it less jarring. A few weeks later, the product manager came to me and told me I needed to make it so the progress bar kept slowly moving up if no tasks were completed for a certain amount of time, so the user would know that work was still being done. Fine. But what happens if the task takes so long that it goes past the mark for the next completed task? Well, when the task is actually completed, it moves backwards of course.


I made zeno's progress bar; it always keeps moving, but never quite finishes until you send it a :done: event, at which point it wastes half a second animating the remainder of the progress bar. Never had a single complaint, and no one noticed that it had nothing to do with what was going on under the hood.


Like the current Windows file copy dialog, but using the entire bar instead of the interval between 98% and 100%?



A programmer had a problem. He thought to himself: "I know, I'll solve this with threads!"

has Now problems. two he


Then he thought he'd use Java. Now he has a ProblemFactory.


This is funny because no one uses the factory pattern in other languages


Reminds me of the old FactoryFactoryFactory joke [1]

[1] https://gist.github.com/nkbt/4691b1ae3e78a6141aea


> "This thing comes with documentation, right?"

This is the most painful part for me. If you're trying to understand some code written in Gratuitous Object Astronautics style, it's almost universally assumed you're fully aware of why the product contains hammer factory factory factories, how factories work, and how get an actual hammer to swing.

The Gratuitous Object Astronautics culture is so accustomed to all the nonfunctional boilerplate that skilled, self-gratifying, astronauts never need to document their cleverness. This leaves casual tourists in the dark, which is a problem in any organization.


Also reminds me of the self-effacing response to nomenclature criticism in Java:

https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...


You'd be surprised to see how many WhateverFactory classes there are in the current python project I'm working on... sigh.


Using FactoryBoy for testing?


Well, to a first approximation, no, nobody uses the factory pattern in other languages.

Once in a long while you see one in C# or C++. But the people making fun of Java aren't comparing it with C# and C++.


I used C/C++ for years, and I just don't believe that the world+dog quit creational design patterns. It was just now very easy to find a database connection pool for C++ that is exactly a connection factory. Would you mind clarifying your comment that almost nobody uses factory patterns in other languages with some sense of exactness as to what is and what isn't a factory?


Sadly I've seen it used in Scala


This one always bugs me because it says "two" but this output couldn't be produced with fewer than 3 threads.


Fair point if you read it literally and assume each thread is a problem. But I assume, as it's a variation of the regex joke, 'using threads' is seen as a singular thing. Perhaps it should say 'threading?'


Fuck threadsing


Best one.


lmfao


I think I saw this on reddit years ago:

Programmer's wife: "when you go to the store, can you buy a carton of milk and if they have eggs, get six."

He comes back with 6 cartons of milk. Wife: "why would you buy six cartons of milk?"

"Well, they had eggs"


The next time she says to him, "while you're at the store, pick up some bananas."

Legend says he's at the store still.


Programmers will also use up all the shampoo if the label says "lather, rinse, repeat" with no explicit termination condition.


Since when do programmers read the documentation?


That one can be attributed to Grace Hopper.


Fortunately showering doesn't appear to be common in the profession



I get it, she’s upset that he didn’t get 7, which is technicallly what she meant.


The computer salesman was trying to convince the CEO to buy the horribly expensive mainframe.

"It can answer any question! Just try it!" The CEO thinks a minute, and asks "OK, what's my father doing right now?" The computer grinds away for awhile, and answers "Your father is fishing in Michigan." The CEO chortles to the salesman "Wrong! My father died five years ago!" The computer answers "Your mothers husband died five years ago. Your father just landed a 10 pound trout."


The GNU Humour [0] collection may be of interest. Also Dylan Beattie has done some great songs on YouTube [1] (I especially like 'Bug in the JavaScript' and 'You Give REST a Bad Name')

Here's a couple I remember from somewhere:

SEO expert walks into a bar...

...tavern, pub, taproom, alcohol, beer, wine, vodka...

Also, tangentially related:

A farmer wants to section off part of his field with a fixed length of fence. He is unsure what the best strategy is so he unwisely calls the local university, who send an engineer, a physicist and a mathematician.

The engineer makes a circle with the fence, declaring it to have the greatest area for any given perimeter length.

The physicist makes a straight line as far as the eye can see in either direction, and says that, to all intents and purposes, it goes all the way around the world and he has fenced in half the world.

The mathematician fences off a tiny one metre area around himself, and says "I declare myself to be on the outside".

[0] https://www.gnu.org/fun/humor.en.html

[1] https://www.youtube.com/user/dylanhat


Man, those Dylan Beattie's videos are out of this world!! I laughed way too hard on a number of them -

You give REST a bad name - https://www.youtube.com/watch?v=nSKp2StlS6s

We're Gonna Build a Framework - https://www.youtube.com/watch?v=Wm2h0cbvsw8

Enterprise Waterfall - https://www.youtube.com/watch?v=Mq1MD5qXI08


A programmer, an engineer, and a physicist are in adjacent hotel rooms. Each has a pitcher of water beside the bed. A fire starts in the wastepaper basket in each room.

The physicist wakes up, sees the fire, estimates exactly how much water is needed to put it out, and pours exactly that amount from the pitcher, dousing the flames.

The engineer wakes up, sees the fire, pours the entire pitcher of water on it, then refills the pitcher and douses it again to be safe.

The programmer wakes up, sees the fire, sees the pitcher of water, decides it's a solvable problem, and goes back to sleep.


I know it with "The mathematician's bin was full, so he lit it on fire, reducing the problem to one with a known solution".


Makes more sense with a mathematician than a programmer.


The programmer looks online for documentation on how to use the water, finds it too complicated, dumps the water out the window, then dumps the contents of the wastebasket out after it. Seeing the fire gone the programmer later goes on to give a conference talk about the importance of a good throwing arm in fire safety.


I chuckled at the original, but yours really got me. I feel seen.


Variant I heard, had a physicist, engineer, and mathematician sharing a room.

The first two wastepaper basket fires were taken care of the same ways by the physicist and engineer.

Then a third fire appears, but on the curtains. The mathematician says he'll take care of it, so the others go back to sleep. The mathematician removes the curtains, puts them in the wastepaper basket, and says, "Now it's a solved problem." He then goes back to sleep.


This isn't exactly a programming joke but considering how many of us physics majors become programmers, I think it works:

Heisenberg, Shrodinger and Ohm were driving down a highway when they get pulled over by a cop. The cop asks Heisenberg if he knew how fast he was going, as you can surmise, he claimed he didn't know because he knew exactly where they were. The cop, finding this suspicious (and because this is not USA and 4th amendment does not apply) decides to search the car. He comes back to the front and asks them why they have a dead cat in the trunk, Shrodinger responds, "because you opened the trunk you fool!!". The cop is now irritated and promptly moves to arrest all three. Ohm, resisted.


In real life, an interviewer was talking to Werner Heisenberg. They were getting to the end of the interview, but before they wrapped up, the interviewer asked, "So, tell me Mr Heisenberg... What do you think of the jokes?" Werner Heisenberg sat forward with a twinkle in his eye and said, "What jokes?"


My preferred version:

Heisenberg and Schrodinger are driving down the road when they hit a bump.

Schrodinger says: I think you ran over a cat!

Heisenberg: Is the cat dead?

Schrodinger: I can't be certain.


Best one so far!


A physicist, chemist, and programmer were going to lunch together.

When they got in the car though, it wouldn’t start.

“Maybe it’s out of gas?” said the Chemist.

“Maybe it’s a problem with the engine?” said the Physicist.

“Maybe if we all just get out of the car and get back in.”


A salesman, an engineer, and a programmer drive a rental car up Pikes Peak. On the way down, the brakes fade, and the one driving manages to skid to a stop in a cloud of dust at the edge of a precipice.

The salesman wants to call for a tow truck, the engineer wants to try to fix the brakes, but the programmer says: “No, first we should drive back up and confirm that we can reproduce the issue.”


“Maybe if we all just close all windows, turn off the car, get out of the car and get back in.”


The touchscreen in my car is wonky (known issue, just haven't bothered to fix it), so when something goes sideways with the Bluetooth audio, turning the car off and back on is easily the fastest way to get my music back.


I had a Fiat Panda where the way to get power steering back after it flaked out was to do that. While driving.


Did you ever figure out that putting the clutch in, turning the engine off, moving the key back to the running position and releasing the clutch was the easiest way to do it? I have had several cars I've had to do this in. Latest was a 2003 Vauxhall Vectra (Opel?) which needed this to get out of "limp mode" if you accelerated in 5th gear above 55mph. Ain't cars fab?


Oh yeah, the reboot with compression start. My wife didn't like it tho. :)

The true problem was a marginal 12 volt battery that caused a "won't go away until reboot" error in the power steering MCU. I realized it when the problem got significantly more common on winter mornings. Asked myself, "what's the part of of an electric power steering system that is sensitive to temperature?"


In my car, I have to disconnect the battery when the cheap 30$ Chinese radio freezes.


I have a 37 year old car. The (classic looking) Bluetooth radio is by far the most complicated electronics on board.

When I switch off the car, for safety, anti-theft and leaking, the battery is disconnected entirely with a key.

The radio looses everything: paired devices, position of radio tuner, volume, BT/aux/radio mode etc. Whenever you start the car, you'll need to mash at least five buttons and knobs to either find a radio station or reconnect Bluetooth. Modern tech is often so smart it becomes dumb again.


You haven’t wired it properly. If there is no constant power wire just run one from the battery.


I have it wired like this deliberately.

As I pointed out, some pieces and parts keep using electricity. Amongst which is the radio. This will drain the battery. Slowly, but surely. If I don't use the car in 14 days, it (probably) won't start; but with this wiring it does, just fine.

Which is why I installed a [don't know the english word]¹, so that my battery is switched off entirely. Everything in the car is fine with that. Except for this "modern radio".

Hiding that switch in a somewhat unexpected place also delays theft. 37 y/o cars are easy to steal; this makes it slightly less so.

¹ here's an image: https://www.hsct.nl/wp-content/uploads/2014/10/IMG_8097-247x...


A car stereo is supposed to have two +12V input wires and one ground wire.

The yellow wire is named "constant" or "battery". The red wire is named "accessory" or "switched". The black wire is ground.

When the car is turned off, the red wire drops to 0V and the radio turns off. The yellow wire is supposed to remain at 12V to maintain memory state.

The yellow wire draws a very low amperage, and would take years to drain the battery.


Put a toggle switch somewhere in the cabin and splice it between the car radio power wires and the battery. So you can easily reboot the radio without having to mess around under the hood.


A push button normally closed momentary switch would be pretty slick too. Also it would probably be best to put it on the ground wire. Car radios will have at least two power wires, one for constant power (which keeps the clock set, and favourite stations programmed), and one switched accessory power to command it on.

Then again, a new $30 radio would be slicker still.


I bought a mechanical switch that is installed on the negative terminal of the battery.

The radio drained my battery in 2 weeks, an absolute horror in Covid times when the car is in "long term storage".


I will buy an electric car when they make one that doesn't require me to use a touchscreen.


must make road trips fun.


the closing of the windows suggestion is historically supposed to be made by a Microsoft Certified Engineer.


I had a car with wonky turbo, where if you tried to push it too hard, turbine was disabled and you were left with very low power engine (but engine still worked). Briefly turning off ignition and turning it back on would restart turbine back to normal.


These are both old, like me:

There's a new object-oriented version of COBOL. It's called "Add 1 to COBOL".

(Carbon dates back to the ancient time when C++ was basically object oriented C, so like, 1988 or so.)

Here's one for the increasingly elderly people who prefer C over C++. "Whoever invented C++ doesn't know the difference between increment and excrement." (Best said in a cranky old man voice at an appropriate moment whilst battling a bug in some big C++ source base. Yeah, I know who Bjarne Stroustrup is. It's funnier with "whoever".)


If programming seems hard, it might be because you need to learn a separate discipline depending on the order of magnitude of your codebase LOC:

10⁰: Axiomatics

10¹: Logic

10²: Mathematics

10³: Computer Science

10⁴: Software Engineering

10⁵: Group Psychology

10⁶: Politics

10⁷: Crisis Management


Neat!


Someone else got downvoted to oblivion for this, though it deserves to be higher because it’s a classic: “I know a UDP joke, but I’m not sure you’ll get it”.


Hi, I'd like to hear a TCP joke.

Hello, would you like to hear a TCP joke?

Yes, I'd like to hear a TCP joke.

OK, I'll tell you a TCP joke.

OK, I'll hear a TCP joke.

Are you ready to hear a TCP joke?

Yes, I am ready to hear a TCP joke.

OK, I'm about to send the TCP joke. It will last 10 seconds, it has two characters, it does not have a setting, it ends with a punchline.

OK, I'm ready to hear the TCP joke that will last 10 seconds, has two characters, does not have a setting and will end with a punchline.

I'm sorry, your connection has timed out... ...Hello, would you like to hear a TCP joke?


"I would tell you a joke about UDP, but you probably wouldn't get it."


... or get it twice


Where is it? I didn't get it.


UDP packets aren't guaranteed to be received - hence, "you may not get it".


Good, I know "I may not" but where is it then? This is no joke, I'm very serious, my pointy-haired boss is mad and said he needs the packets today /s


And so the bartender ends up throwing the priest out along with the packets!


This is a variation on a joke I heard from the nerdy comedian Don McMillian... [1]

I used to work at JPL, and I could tell what anyone's job was by asking them one question... What is Pi?

Ask a mathematician, and they will say "Pi is ratio of a circle's circumference to its circle."

Ask a physicist, and they will say "Pi is 3.141592653589793."

Ask an engineer, and they will say "Pi is about 3, but just to be safe, let's call it 4."

Ask a programmer, and they will say "I'd write you a program to calculate that, but I don't have enough time to figure out how to do that quickly & precisely, and I don't feel like getting in a fight w/ QA over a program that approximates Pi, so what you probably want is the constant hardcoded into the Math library or something you find on Stackoverflow."

Ask a manager, and they will say "When do you need to know by?"

[1] Don McMillan - Greatest Charts (Volume 1) -- https://youtu.be/LYE3GtXqDV0


>Ask a mathematician, and they will say "Pi is ratio of a circle's circumference to its circle."

its diameter.


Damn typo!


My favourite:

"What do we want?"

"Now!"

"When do we want it?"

"Fewer race conditions!"


Besides being a great joke, it explains the concept perfectly.


For time travelling race conditions yes!


What do we want?

Time Travel!

When do we want it?

Doesn't matter!


This actually is very clever!


What's the difference between an introverted programmer and an extroverted programmer?

The extroverted programmer looks at your shoes when he's talking to you.


Heard this but with with NSA agents instead of programmers :-)


Finns.


Best one yet!


A russian, a french, and an irish archeologist are talking in a bar

french: we found copper wire in our last dig, it shows france invented networking

russian: we found glass strands in our last dig, it proves russia invented fibre optics

irish: we found nothing. It proves the irish invented wireless networks.


In Futurama, Bender has a nightmare in binary, "one's and zeros everywhere! ...and I think I saw a 2." Fry replies, "it was just a dream Bender, there's no such thing as 2"

https://www.youtube.com/watch?v=MOn_ySghN2Y


I went to a NodeJS party one time but I didn't like it, only one person could have fun at once.

Then I went to an Erlang party, and it was just a bunch of nerds at separate tables passing notes to each other about how much fun they were having.

But the weirdest was the Haskell party. Nothing happened for six hours and then suddenly everyone said "Well, that was fun!" and went home...


funny stuff. got the Nodejs (single threaded) and Erlang (message passing) jokes but not familiar with Haskell.. whats joke there ...


Lazy evaluation. Intermediate computations are stored as "thunks" until the last possible moment.


Is it batch perhaps? I’m pretty ignorant too.


Sometimes when I'm writing JavaScript I feel like throwing my hands up and saying "This is bullshit!" But I never know what "this" refers to.


Thanks for a solid chuckle!


Tom Knight and the Lisp Machine

A novice was trying to fix a broken Lisp machine by turning the power off and on.

Knight, seeing what the student was doing, spoke sternly: “You cannot fix a machine by just power-cycling it with no understanding of what is going wrong.”

Knight turned the machine off and on.

The machine worked.

Source: http://www.catb.org/~esr/jargon/html/koans.html


A biologist, a physicist, and a mathematician are all watching a house that seems empty. Presently, two people enter the house, and after a while three people come back out.

The biologist says: "Clearly, there was a breeding."

The physicist says: "Oh no, it's our measurements that are imprecise."

The mathematician thinks for a while and declares: "If one more person walks in, the house will be empty again."


My favorite, which I repeat a lot:

The reason God was able to finish the earth in only six days is that He didn't have to worry about backward-compatibility.


C programmer is bartending. Someone says "get me a double whiskey, plus a root beer"

Drinks arrive, customer asks: "hey why is there ice cream in this?"

"I had to make it to a root beer float when you added it to the double"


Root beer should be a float regardless, in case beer isn't a perfect square.


There isn't any significance to the fact that it's a root beer, right? That was slightly distracting. I wonder if this would be cleaner if it was a 7-up.

Do people make 7-up floats?


Yes. Try a 7-up or Sprite with lime sherbet.


Coke floats, yes. Haven't encountered 7-up.


It's a bit more mathematical then programming but aren't we all just shitty mathematicians anyway:

Little John goes to school for the first day. The teacher wants to assess what do the kids already know so she asks

"Who knows how much is 1+2?".

Little John raises his hand and says

"I don't know how much is 1+2 but I do know that it's the same as 2+1 as addition is commutative over the monoid of natural numbers"


I've got a related joke.

A mathematician walks into the room looking distraught. His wife asks him what's wrong, and he says he's worried their child has a learning disorder.

She asks why. He says he was trying to teach their child how to add, but he couldn't even understand zermelo-frankael set theory, so there was no way he'd learn how to add numbers before kindergarten.


“A full-stack developer is one who can add technical debt to any layer of the application.”


I would tell you a joke about UDP, but you might not get it


You wouldn't care if he got it anyway


This is HN, I'm going to kill a joke instead:

There is the classic:

There are only two hard problems in computer science: Cache invalidation, naming things... and off-by-one errors!

Ha ha ha

I hate this joke. It takes one of the most insightful things ever said about the profession, makes it into a joke that isn't even that good, and now the only thing you rememebr about it is the punchline.

Let's break it down:

- Cache invalidation: State management! Distributed systems! This really gets to the core of what's hard. This is the only technical problem. For everything else you will have all the information you need at hand and it's a matter of getting the machine to do your bidding.

- Naming things: Communication! Dealing with people, whether it's you in the future or somebody else in the present is not a technical problem, but it is an even more important problem. It's unsolved. You will need to practice, think, fail, try more, and it's not even guaranteed to succeed. People are like that. It's a hard problem.

So there you have it. Probably the most insightful thing said about our job in less than fifteen words, and if you hear it, the "joke" immediately makes you think about the punchline, robbing you of the opportunity of reflecting about it.


...er you forgot the off-by-one errors!


maybe the best implicit punchline.

The rant about the joke was the joke.


I like to think it's more insightful with the joke, because there's always some problem that you weren't expecting.


But what about cache invalidation?


Hello, would you like to hear a TCP joke?

Yes, I'd like to hear a TCP joke.

OK, I'll tell you a TCP joke.

OK, I'll hear a TCP joke.

Are you ready to hear a TCP joke?

Yes, I am ready to hear a TCP joke.

OK, I'm about to send the TCP joke. It will last 10 seconds, it has two characters, it does not have a setting, it ends with a punchline.

OK, I'm ready to hear the TCP joke that will last 10 seconds, has two characters, does not have a setting and will end with a punchline.

I'm sorry, your connection has timed out...

Hello, would you like to hear a TCP joke?

(Credits to whoever first came up with this.)


"HEY, DOES ANYBODY KNOW A GOOD ARP JOKE?"


Would you like to hear a UDP jo


I would say UTP joke but i am not sure if anyone catch it.


You've got a twisted sense of humor.


There are only two hard problems in distributed systems:

2. Exactly-once delivery

1. Guaranteed order of messages

2. Exactly-once delivery


Reminds me of

There are only 2 hard things about programming:

- Cache invalidation

- Naming things

- Off-by-one errors


Cache invalidation isn’t hard, but it used to be and now we can’t get people to think otherwise.


I heard that the two main problems in computer science is that we have only one joke and it's not very funny.


cache invalidation is not hard indeed, but people always forget about it (so caches aren't caches aanymore, they become stale copies of things...). People tend to forget that a cache has to have a fixed size and an eviction policy.


Here's one I've heard, originally in Russian

===

Why do programmers hate legacy projects, you ask?

Well, imagine yourself in a situation where you are asked to finish the construction of a nuclear power plant on a remote island that your friend started.

You arrive on the island to discover quite unusual pieces of design in the project. Among other curiosities, you find a room full of broomsticks, a 90 foot tall fan and a hot air balloon. You think to yourself - what a silly idea, who needs all those things in a power plant? - and your first steps are to remove all those unnecessary dingbats.

A few months of hard work later, you have finished the construction of the power plant. You and a few scientists gather in the control room and power the thing up for the first time for a test run. Everything seems to be working fine for a few minutes, but suddenly, everything lights up red - there is a radioactive gas leak!

You panic, because you have no idea what could have caused such an issue. You call your friend and ask for ideas. While you describe the situation to him, he is horrified.

- Have you really gotten rid of the room with the broomsticks?

- Of course! Why would you need a room full of broomsticks in a power plant?

- They were holding up the weight of the reactor core! No wonder you have a radioactive gas leak!

- My God, why did you not tell me? What should I do about the leak?

- Don't worry, everything is fine, just turn on the 90 foot tall fan and it should blow the toxic gas away from the island.

- What fan? Oh, this fan? I've gotten rid of it!

- Why would you do that?! It was an important safety measure!

- We'll argue about that later, people are dying in here! Is there anything else I can do?

- You can't stay on the island, it is not safe. Just gather everyone in the hot air balloon and get the hell out of there!


This is my programming version of another joke I heard:

A guy walks into a bar and sees a group of people. One of them says a number and the rest laugh. Then the next person says a number and everyone laughs again.

"What are you doing?" he asks them.

"We're telling each other jokes, but since we keep telling the same ones, we've assigned each a number and rather than telling the whole joke all over again, we can just reference it quickly that way"

"Can I try?"

"Sure, go ahead"

"42", the guy says.

Everyone starts laughing and laughing and won't stop.

"What did I say?"

"Well you see, the joke you told us was:

A guy walks into a bar and sees a group of people. One of them says a number and the rest laugh... etc. etc."

---

In the original joke the last answer was simply "We hadn't heard that one before", but I'd like to think my recursive version has more depth to it.


Another new guy walks in and finds this friendly group explaining how they joke by number.

They encourage him to give it a try and he enthusiastically says "18".

Nobody laughed at all.

Crickets.

He asks the guy next to him, "isn't 18 funny?"

"Yes, but you have to know how to tell a joke."


I remember my mother telling that joke to her friends at a cocktail party in the 70s. I thought she was the funniest person ever.


Theres more depth in your one, but the original is more funny and to the point.



The medical profession's use of this format is also hilarious: https://www.youtube.com/watch?v=3rTsvb2ef5k


I almost messed my pants watching this! It's hilarious! Thanks!


Too soon, man. Too soon.


This is an old-style joke: why programmers keep confusing Christmas with Halloween? Because 25 Dec = 31 Oct.


Haven't heard that one in a long time. Love it :)

Edit: but then like five more times down this thread... <insert the fourteenth off-by-five joke>


Wow. I never noticed.


My favorite, from /usr/share/games/fortunes:

A biologist, a statistician, a mathematician and a computer scientist are on a photo-safari in Africa. As they're driving along the savannah in their jeep, they stop and scout the horizon with their binoculars.

The biologist: "Look! A herd of zebras! And there's a white zebra! Fantastic! We'll be famous!"

The statistician: "Hey, calm down, it's not significant. We only know there's one white zebra."

The mathematician: "Actually, we only know there exists a zebra, which is white on one side."

The computer scientist: "Oh, no! A special case!"


When going to sleep, programmer puts to the table next to his bed a glass with water and an empty glass. The glass with water is in case he'll want to drink at night and the empty glass is in case he won't.


Funny, but I think even a lot of programmers won't realize it's a joke about how eliminating special cases / branches from code often makes the code look a little crazy at first glance.


The next morning he wakes up to find the first glass empty, the other full of an amber tinted liquid, and a stranger in bed with him.

"You must be the new consultant."

"How can you tell?"

"All we needed was a nappy, but instead you've bastardized the system in ways it was never meant to be used, left a leaky abstraction that doesn't flush the output, and now I've got to clean up the mess ur in."


I really like the 'Jon Skeet facts' Stackoverflow page. It is Chuck Norris style facts about the legendary Stackoverflow answer contributor. Here is the top answer but I find many in the thread funny.

- Jon Skeet is immutable. If something's going to change, it's going to have to be the rest of the universe.

- Jon Skeet's addition operator doesn't commute; it teleports to where he needs it to be.

- Anonymous methods and anonymous types are really all called Jon Skeet. They just don't like to boast.

- Jon Skeet's code doesn't follow a coding convention. It is the coding convention.

- Jon Skeet doesn't have performance bottlenecks. He just makes the universe wait its turn. - Jon Skeet is the only person who has ranked higher than Jon Skeet in the SO all-time rep league.

- Users don't mark Jon Skeet's answers as accepted. The universe accepts them out of a sense of truth and justice

https://meta.stackexchange.com/questions/9134/jon-skeet-fact...


Why do programmers wear costumes to Christmas parties? Because DEC 25 = OCT 31.


Damn 0o31 actually does equal 25, that's great. Evidence of simulation theory, clearly ;)


Q: If Spider-Man and Wonder Woman founded a company, what would it be? A: Amazon Web Services


older joke along the same lines: what do you get if you cross lee iacocca and dracula?

autoexec.bat!


Ha, ha!


In Europe, the surname of Niklaus Wirth (inventor of the Pascal programming language) is pronounced “veert”; in the United States, it’s pronounced “worth.“

Thus, in Europe, he’s called by name; in the US he’s called by value.


The meaner version explicitly says Niklaus, and Nickle's as well.


This was the original:

Whereas Europeans generally pronounce his name the right way ('Nick-louse Veert'), Americans invariably mangle it into 'Nickel's Worth.' This is to say that Europeans call him by name, but Americans call him by value.

- Introduction by Adriaan van Wijngaarden at the IFIP Congress (1965). (https://en.wikiquote.org/wiki/Niklaus_Wirth)


A masterpiece of programming comedy: https://www.destroyallsoftware.com/talks/wat


RT @HackerNewsOnion: California has ruled it illegal to conceal a company’s JIRA subscription for the purpose of attracting engineers.


Al Gore may not have invented the internet, but he did come up with algorithms.


mildly interestingly, the word "algorithm" is actually someone's name, mangled:

> 1690s, "Arabic system of computation," from French algorithme, refashioned (under mistaken connection with Greek arithmos "number") from Old French algorisme "the Arabic numeral system" (13c.), from Medieval Latin algorismus, a mangled transliteration of Arabic al-Khwarizmi "native of Khwarazm" (modern Khiva in Uzbekistan), surname of the mathematician whose works introduced sophisticated mathematics to the West (see algebra). - https://www.etymonline.com/word/algorithm


Underappreciated; was a new one for me.


To explain algorithms a little more clearly to less mathematical students I actually introduce traditional logarithms in case they are not familiar, in terms that are easier to understand.

For instance in a remote river with lumberjacks dancing on logjams without falling in the water, that's a type of logarithm at work.

When Al Gore does it, that's an algorithm.


I do not get that one. US-Insider?


Al Gore was ridiculed for saying he invented the Internet (he didn't say that). The rest of the joke is playing off of that and then punning with his name.


To be fair Gore claimed he 'took the initiative in creating the internet'. His choice of words were not good I think.


If that were the only sentence in the statement, sure. But read the rest (which I believe you found if you can quote it) and it's clear what he's saying unless your objective is to misquote it and ridicule him.


"I'll be offering my vision when my campaign begins. And it will be comprehensive and sweeping. And I hope that it will be compelling enough to draw people toward it. I feel that it will be. But it will emerge from my dialogue with the American people. I've traveled to every part of this country during the last six years. During my service in the United States Congress, I took the initiative in creating the Internet. I took the initiative in moving forward a whole range of initiatives that have proven to be important to our country's economic growth and environmental protection, improvements in our educational system."

That's what I read from Wikipedia, I do not really see how this changes the statement.


Definitively a poor choice of words. What he really meant was "I funded ARPANET, the basis for the Internet"


Better, but still a bit shaky. Probabl 'I refunded Arpanet...' (in 1991 Gore Bill). Arpanet was started in 1966, and he is not that old. It is clear Gore was an important supporter of the expansion of the internet, but it is hard to put it in a catchphrase with doesnt sound like 'first I created heaven and earth...'


I agree with GP. The statement made sense to Gore but not to the bulk of his audience. The missing context isn’t in the words that follow. It’s in understanding the role Gore actually took in the creation of the internet; specifically to be its economic, legal, and political champion for basically decades.


> "Al Gore-ithms"


Ah ..


I think it should be pronounced "Al-Gore-isms."


Al-gore-ithms.


Q: What's the difference between Ant and Maven?

A: The creator of Ant has apologized.

(https://twitter.com/technomancy/status/10994115673)


A physicist, a mathematician and a programmer are in a car driving on a windy mountain path. All of a sudden as they round a corner, the brakes fail. After a few terrifying moments, the car skids to a halt and they emerged unscathed.

The physicist thinks for a second, and says "It must be the lower pressure due to the air, it's made some of our brake fluid evaporate, we should get some more brake fluid before we get back in the car." The mathematician says "No if we calculate the rate of a evaporation we'd never lose that much. It must be a leak in the lines. We should fix the leak before we get back in" The programmer says "Let's get back in the car and see if it's reproducible."


100 bugs in the code, 100 bugs in the code, take one down patch it around, 141 bugs in the code.


99 little bugs in the code, 99 little bugs in the code, take one down patch it around, 152 little bugs in the code.


XML is like violence: if it doesn't solve your problem, you're not using enough of it.


Or: it's never the answer


Seems expedient at the time but always comes back to haunt you.


A Markov chain trained on CS textbooks and the Bible.

https://kingjamesprogramming.tumblr.com/


Some of these are pure gold!

"2:4 And this I pray, that your love may abound yet more and more like a controlled use of shared memory."


> 25:34 But the field of computer science and AI research. All attracted bright people who contributed great things to the church

The Church of Skynet demands sacrifice


5:5 And, behold, I will deliver you up to the programmer tendency to build overelaborate castles of abstractions.


thoroughly enjoyed https://thedoomthatcametopuppet.tumblr.com/ linked from that page, same idea (same person?)


Working on the lower levels, I have to wholeheartedly agree:

> Depart ye; it is unclean; thou shalt burn it in the place of Tophet, because of all the machine registers


It’s bigger than a joke but pretty funny: http://www.stilldrinking.org/programming-sucks

Money quote: “Also, the bridge was designed as a suspension bridge, but nobody actually knew how to build a suspension bridge, so they got halfway through it and then just added extra support columns to keep the thing standing, but they left the suspension cables because they’re still sort of holding up parts of the bridge[…] Would you drive across this bridge? No. If it somehow got built, everybody involved would be executed.”


Not strictly programming, but:

An SEO consultant walks into a bar, pub, speakeasy, drinking hall, club.


I don’t follow...


Spamming keywords


Remove the link condom.


You were hired as a foreman on a construction of a laboratory on the island. You arrive at the island and among unfinished buildings you see - a giant ventilator the size of a building, an air balloon ready to fly, and a room completely filled with a floor mops. After some head scratching you remove all this junk and complete the laboratory. But right after the scientists start their work you hear an alert - "ALARM, TOXIC GAS LEAK DETECTED!".

- What is going on?! - you are crying, and call the previous foreman.

- Hi Alex, we have a toxic gas leak in the lab, what can we do now?

- Hmm, I dunno, did you change anything in the project?

- Well, I've thrown away floor mops...

- They were holding the ceiling.

- I'M SORRY WHAT? HOLDING WHAT AGAIN?!

- There are gas tanks on the floor above, very heavy, so I had to to fill the room below with mops to hold them.

- You could have wrote some note, you know. What should I do now?

- Turn on ventilator, it will blow the gas away from the island.

- I've removed it a long time ago.

- Why?

- Why did you built 100 ton ventilator in the first place? You could have just prepare a box of gas masks.

- I would have need to search for gas masks and ventilator was a leftover from my previous project, so I've used it.

- Alex, we are suffocating here and there is no ventilator! We need help!

- The fuck are you doing there then? Get on the air balloon and fly away.


DevopsBorat on Twitter used to be funny (it is now replaced with spam).

But when it still was up the last joke there was along the lines of: "at work we introduced gamification, three strikes and you are out".


Why do Java developers wear glasses?... Because they don't C#

EDIT: Ah someone already did that one- what's a ghost's favorite variable type? A BOOlean


French programmers use boullion variables. Goldsmiths use bullion variables.


When your hammer is C++, everything begins to look like a thumb.


The problem with TCP jokes is that people keep retelling them slower until you get them


Did

Did you

Did you hear

Did you hear the

Did you hear the one

Did you hear the one about

Did you hear the one about traceroute?


Programming is like sex: make a mistake, and you just may end up supporting it for the next 18 years.


Make anything.


"The plural of regex is regrets"


If automotive transportation had advanced as fast as computing then cars would travel at the speed of sound, run completely on solar power, and cost about 50 cents. And every day thousands of them would drive to random locations and explode.


> And every day thousands of them would drive to random locations and explode.

Bit close to the truth with v1.0 self-driving Level 3 or 4 and denser battery tech.


There are 10 kinds of people in the world.

Those that understand binary and those that don't.


There are 10 kinds of people in the world:

Those that understand binary, those that don't, and those who weren't expecting a ternary joke.


Pro tip: if you want to get someone a birthday card, just get them a card that says "10 years old!" on the front. Then use a sharpie to put an asterisk after the "10" and then on the inside of the card put: "* (in base X)", where X is how many years they are turning. Worked well for my 2 year old daughter as well as my 57 year old dad.


There are 10 kinds of people in the world:

Those who understand binary, those who don't, and those who understand that "10" can represent any number if you change the base.

(Changing joke this to work amusingly for irrational bases like the golden ratio base[1] is something I haven't yet figured out.)

[1] https://en.wikipedia.org/wiki/Golden_ratio_base


Paraphrasing, can't remember the exact joke:

Recruiter ask candidate developer: "So, why do you want to work in our office in Mexico?"

"Because I want to be a señor developer"


DEC WARS is full of great computer jokes. It's a 1983 Usenet posting by Alan Hastings and Steve Tarr: https://www.bsd.org/decwars.html

> It is a period of system war. User programs, striking from a hidden directory, have won their first victory against the evil Administrative Empire. During the battle, User spies managed to steal secret source code to the Empire's ultimate program: the Are-Em Star, a privileged root program with enough power to destroy an entire file structure. Pursued by the Empire's sinister audit trail, Princess _LPA0: races aboard her shell script, custodian of the stolen listings that could save her people, and restore freedom and games to the network...


Boy: dad, why the sun rises on the east and sets on the west? Programmer: did you see that? Boy: yes, I did. Programmer: does it always works? Boy: yes. Programmer: don't touch anything.


What is the collective noun for programmers?

Merge conflict.


So close...it should be "What is the collective noun for 'programmer'?"


RT @HackerNewsOnion: Developer accused of unreadable code refuses to comment.


just saw one on twitter I hadn't heard before: https://twitter.com/ctrlshifti/status/1352103674030432257

developer: so i have good news and bad news

manager: what's the good news?

developer: i've discovered that the "5 second rule" only applies to food

manager: and the bad news?

developer: i dropped our tables


“The trouble with programmers is that you can never tell what a programmer is doing until it’s too late.” — Seymour Cray


Many years ago, this joke appeared in an April issue of the Communications of the ACM (before the Cray 3 actually existed):

"Have you heard about the new Cray 3? It's so fast it can execute an infinite loop in about two minutes."

A coworker and I went out for lunch. Not realizing that I had already read the joke, he asked me, "So, have you heard about the new Cray 3?" I replied "Why no, how long does it take it to execute an infinite loop?"

Back at the office, he described this to our colleagues. Trying to recreate the event, he said to me, "So, have you heard about the new Cray 3?" In front of everyone else, I just said, "Why no."

"I hate you", he said.


Two people are taking part in a scientific study to investigate people's approaches to problem solving. One of the two is an engineer, the other is a mathematician.

The researchers set up an experiment by putting a sink, an empty bucket and a waste paper bin in a small room. Then they set the bin on fire, and call the engineer in to see how he approaches the problem.

The engineer takes a quick look around, assesses the situation, and then takes the bucket, fills it with water at the sink, and pours it on the fire.

The experiment is then set up again and repeated, this time with the mathematician. Like the engineer, he quickly fills the bucket and puts out the fire.

Next, a slight variation is made to the experiment: it's the same as before, except that the bucket is filled with water in advance.

As before, the engineer goes first. Upon seeing the fire, and the bucket full of water, he pours the water on the fire without hesitation, and all is well. The team nod to each other and mumble approvingly, writing the results on their clipboards.

Now it's the mathematician's turn again. The team resets the experiment and calls in the mathematician. He looks around at the situation, and sees the bucket of water, the sink and the burning bin. He then calmly picks up the bucket, pours the water down the sink, puts the bucket back down, and stands back. "There you go", he says, "done!".

The researchers look at him, and at each other in total bewilderment. "What do you mean, 'done'" they ask, "the bin is still on fire!".

"Yes", says the mathematician, "but I've reduced it to a previously solved problem.


A mathematician, a physicist, an engineer, and a computer scientists are all asked to test the hypothesis that all odd numbers greater than 2 are prime. (Apologies in advance to engineers.)

The mathematician: 3 is prime, 5 is prime, 7 is prime, 9 is composite. The hypothesis is false.

The physicist: 3 is prime, 5 is prime, 7 is prime, 9 is composite, hmm, 11 is prime, 13 is prime, 15 is composite, 17 is prime, 19 is prime. The hypothesis is true within the margin of error.

The engineer: 3 is prime, 5 is prime, 7 is prime, 9 is prime, 11 is prime, 13 is prime, 15 is prime, ...

The computer scientist: 3 is prime, 5 is prime, 5 is prime, 5 is prime, 5 is prime, 5 is prime, ...


I heard a version that went

Mathematician: “3 is prime, 5 is prime, 7 is prime, therefore by induction we know all odd numbers are prime.”

Physicist: “3 is prime, 5 is prime, 7 is prime, 9 must be experimental error.”

Computer scientist: “3 is prime, 5 is prime, 7 is prime, 9 is prime …”


#ifdef GET_A_HEARING_AID

(From the Bad C Pun Contest, 1992, C/C++ User's Journal. I've never forgotten it.)


I've got an old one, not really however focused on programming.

<<A physicist, a computer scientist and a mathematician find themselves in prison. They all brag to each other that thanks to their superior knowledge, they will manage to escape relatively soon, and decide to bet they will be all out by one month. In the following month, the phyisicist gathers leftofers from meals, steals a few products from the janitors, and manages to assemble a corrosive substance that breaks the bars of his cell. He is out in 3 weeks. The computer scientist uses his weekly phonecalls to hack into the prison system, little by little. He manages to set the bars of his cell to open automatically right on the night of the 30th day, when he escapes. Out of his cell, he decides to go and check on his friends: the physicist is gone, instead the mathematician is dead in his cell in front of a long text on a wall which starts with "Proof: I will escape from prison. Reductio ad absurdum: let's assume I am already out of the prison...">>


"If Java had true garbage collection, most programs would delete themselves upon execution."

- Robert Sewell


“ Hardware eventually fails. Software eventually works” Michael Hartung


A byte tells his wife "Honey, I'm not feeling too well - I think I have a parity error".

She replies "I thought you looked a bit off!"


Maybe not quite a joke supposedly this happened for real

A bunch of programmers/sysadmins are sitting in a bar, one of them receives a phone call about some critical process on the server which appears unresponsive. He troubleshoots for a few seconds and then says "Well if its not cooperating just do a kill"

At that point, from the next table, a big bald gentleman with a huge golden chain and some missing teeth turns around, looks at the guy on the phone and says "Respect!"


Q: Why does the sun always rise east in the morning and set west in the evening?

A: Just leave it alone and don't mess with it.


OMG hahahahahah thanks for this one


Here's one from the olden days...

Q: How are programmers like card machines? A: With both you have to punch the information in.


I heard a variant of this from musicians -- why is a drummer like a drum machine ...


When coding, some programmers mix functional and imperative. Others prefer not to: they believe in the separation of Church and state.


A programmer is getting ready to go buy groceries, and his wife tells him: "Buy a butter. If they have eggs, buy ten."

A little later he returns from the shop, carrying ten butters. "Yes dear, they had eggs."


Q: How many programmers does it take to change a light bulb?

A: Programmers don't change light bulbs; that's a hardware problem.


Q: How many Google engineers does it take to change a light bulb?

A: None. They just change the standard to dark.

—————

Originally (circa 1998) this was Microsoft joke, but this is a good update.


Alternative Answer: None, they'll just google-graveyard the electricity service.


Oh! That’s even better!


Q: How many Haskell programmers does it take to change a light bulb?

A: Irrelevant, that's a side effect.


Q: How many prolog programmers does it take to change a light bulb?

A: No.


Q: How many hardware engineers does it take to change a light bulb?

A: None. We'll fix it in software.

Q: How many system programmers does it take to change a light bulb?

A: None. The application can work around it.

Q: How many software engineers does it take to change a light bulb?

A: None. We'll document it in the manual.

Q: How many tech writers does it take to change a light bulb?

A: None. The user can figure it out.


What is the difference between a junior and a senior programmer?

The junior thinks that a kilobyte has 1000 bytes; a senior thinks that a kilometre has 1024 metres.


There are 10 kinds of people in the world: those who understand binary and those who don't.


The hex version is good too -

There are 16 types of people in the world: those who understand hexadecimal and F the rest.


The real answer is:

Those who don't understand binary

Those that think its a binary joke

Those who understand trinary

no no it is:

Those who don't understand binary

Those that think its a binary joke

Those that think its a trinary joke

Those who understand base 4

...


A human and a alien are talking about their number systems

Human: Oh, I see you use base 4. We use base 10.

Alien: WTF is base 4? We use base 10.


Now this I like!


Those who don't understand binary, those that do, and those who count in Gray codes.


One can generalize this joke and use mathematical Induction to tell infinite jokes.


There are 10 kinds of people in the world:

Those who understand little-endian notation.


An SQL query walks up to a table and asks, “Can I join you?”


A NoSQL database runs into some friends at a restaurant. "Why don't you join us?" "I would love to, but I can't join tables."


Why was there no popcorn at the next-gen OS conference?

Because nobody implemented the kernel!


Groan!


Back when Chuck Norris facts were popular there were Jeff Dean facts, and this one is my favorite:

Jeff Dean puts his pants on one leg at a time. But if he had more than two legs, you would see that his approach is actually O(log(n)).

Oh, and do unintentional jokes count? Because AbstractSingletonProxyFactoryBean is pretty funny. https://docs.spring.io/spring-framework/docs/3.0.6.RELEASE_t...


My favorite was resolving merge conflicts: type “a y” to accept your version of the diff, “a t” to accept their version of the diff, or “a j” to accept Jeff Dean’s version of the diff.

I think another asserted that Jeff Dean can parse HTML with regular expressions.


RT @iamdevloper: I think I’ve had milk last longer than some JavaScript frameworks.


There are only two hard problems in computer science:

2. Correct-ordering of messages

1. Exact-once delivery

2. Correct ordering of messages

This is my favourite variation of the form documented by Fowler here https://www.martinfowler.com/bliki/TwoHardThings.html


What's it like to have sex with a programmer? Nobody knows. They just sit on the edge of the bed telling you how great it's going to be.


underrated


is this joke originally about politic?


====

"Assume we have 1000 apples, or let's take a round figure, 1024 apples."

===

    // get tomorrows date
    int getTomorrowsDate() {
        sleep(1000*60*60*24);
        return getCurrentDate();
    }


Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.

(quote from Jamie Zawinski)


A perfect function has zero params, a great function has one param, and a buggy function


Two engineers are attempting to measure the height of a pole in the ground but as they extend their tape measure towards the sky it keeps collapsing. A mathematician walks by and asks what they are doing and they say they’re trying to figure out the height. The mathematician pulls the pole out of the ground and lays it down. He measures it and says “It’s 16 feet”. As he’s walking away one engineer shakes his head and says, “Mathematicians...you ask them for the height and they give you the length!”


Here is a list by hash (or crc or broken link, or <correct-analogy-here>)

... Everybody knows "Jesus saves."

... Someone who makes you an offer you can't understand

... It just needs a good text editor.

... Because Oct 31 = Dec 25

... All they do is sit on the bed and tell their spouses how good it's going to be.

... They haven't had any gigs yet.

... "Please excuse my friend, he's not null terminated."

... Profanity.

... At which point the genie responds, “Uh, let me see that map again.”

... None. They just declare darkness the standard.

... The programmer says "Let's just get out and get back in again."


Two programmers walk up to the bar. The first one orders a beer. "Sure. And for you?" says the bartender to the second one. The second programmer replies, "Thanks, I'll have a"

The bartender waits a minute for him to finish. He asks the first one, "What's wrong with your friend?" The programmer replies, "He's a Haskell programmer. He's waiting for you to bring him his drink before he finishes ordering it."


!false

It's funny because it's true.


Not precisely jokes, but the Unix Koans are both fun and insightful: https://www.catb.org/~esr/writings/unix-koans/


Why'd the programmer quit his job?

He couldn't get arrays.


At an SF convention party, someone said, "To be or not to be".

I replied "equals FF".


How many Prolog programmers does it take to change a lightbulb?

:- False


This is my GOTO programming joke.


Can Prolog be used to create AI?

:- No.


Haha this one is great


"Telling a programmer that there already is a library for X is like telling a songwriter that a song about love already exists."


I am surprised no one has posted this Stackoverflow link: https://stackoverflow.com/questions/184618/what-is-the-best-...

These are programming jokes 'in action'.


The 2 problems you can never completely eliminate in your code are the need for tests, suboptimal names, and off by one errors.


The way I heard this (https://twitter.com/codinghorror/status/506010907021828096?l...) was "There are two hard problems in computer science: cache invalidation, naming things, and off by one errors."

Still good though.


"Simple, it's a monoid in the category of endofunctors."


10 programmers decided to make a product, One asked "Where's the money?", And there were 9 of them left.

9 programmers appeared before the boss One of them did not know FoxPro, and there were 8 of them left.

8 programmers bought IBM, One said "Mac is better!" And there are 7 of them left.

7 programmers wanted to read help, One of them got bad block on the disk, and there are 6 of them left.

6 programmers tried to understand the code, One of them went crazy and there are 5 of them left.

5 programmers bought a CD-ROM, One brought a Chinese disc - there were four left.

4 programmers worked in C, One of them praised Pascal, and there were 3 of them.

3 programmers on the net played DOOM, One hesitated a little, and the score was equal to two.

2 programmers typed together: "win" One tired of waiting for the download - there was only 1 left.

1 programmer took control of everything, But he met with the user, and there were 0 of them left.

0 programmers were scolded by an angry boss, Then he fired one, and it became their FF.


1964 John Kemeny and Thomas Kurtz create BASIC.

1974 Kemeny and Kurtz go to 1964.

From A Brief, Incomplete, and Mostly Wrong History of Programming Languages.

http://james-iry.blogspot.com/2009/05/brief-incomplete-and-m...


Lots of UDP jokes, the variant I was told is:

What is the best thing about telling a UDP joke? You don't care if anyone gets it.


Ah, "UDP humour" - story of my life


Why do Java programmers wear glasses? Because they don't C#.


There are only two problems in programming...

Naming things, cache eviction, and off by one errors


There are only two hard problems in computer science:

0) Cache invalidation 1) Naming things 5) Asynchronous callbacks 2) Off-by-one errors 3) Scope creep 6) Bounds checking


And feature creep.


RT @bradneuberg: Moore’s Law giveth, JavaScript taketh away.


Original version: what Intel giveth, Microsoft taketh away.


What Andy giveth, Bill taketh away.


What's the computational complexity of an average developer workload on Linux?

O(Chrome)


"Computer science could be called the post-Turing decline in the study of formal systems." (Dijkstra, I think.)

"Calling it Computer Science is like calling surgery 'knife science'." (Also Dijkstra, I think.)

"Artificial Intelligence is when the machine wakes up and asks, 'Hey, what's in it for me?'."

"There are two hard problems in computers: naming, cache invalidation, and off-by-one errors." (Funny 'cause it's true.)

"Which will attain self-awareness first, Wolfram or Wolfram Alpha?" (A little mean-spirited, perhaps, but funny. I respect Dr. Wolfram, I suspect he's one of the people that, a thousand years from now, folks will still be talking about when you and I are long forgotten.)


Java is a DSL that turns XML into lengthy stack traces.


I'd tell you an NP complete joke, but if you've heard one you've heard them all.


Pound! Bang! Bin! Bash! Is this a shell script or a Batman comic?


This got me. :-)


Yes.

(ok, this one's actually a logic joke...)


Ah, logic jokes...

Three philosophers walk into a bar, and the bartender asks: "Do you all want a drink?"

The first one says "I don't know."

The second one says "I don't know."

The third one says "Yes!"


Ugh this is why I hated logic problems in school. Anyone care to help a poor soul understand the meaning of this joke?


The question is "Do you all want a drink?" They're all answering with the logical meaning of "all", where it's yes if and only if every single one of them wants a drink, not the common meaning. Their responses are the value of the predicate `(A wants a drink) AND (B wants a drink) AND (C wants a drink)`.

If either of the first two didn't want a drink, they would be able to answer "no". They each started off knowing one of the terms in that logical AND above. (They know their own preferences are either "yes" and "no" but they aren't yet aware of the others' preferences, and they each know the others know that.)

For example, if (A wants a drink) is false, then the whole predicate is false. So if A didn't want a drink, A would've said "no". But instead they say "I don't know". They could only have not known if they actually do want a drink but are unsure whether both of the others also do. But after the first two people each say something that reveals they do want a drink, the third person "C" knows that:

1. A wants a drink (or they would have said "no")

2. B wants a drink (or they would have said "no")

3. C wants a drink (knowledge of their own preferences)

and finally has enough information to conclude that the overall predicate is true.


There is also the ambiguous answer that first two give. Is their response "I don't know" or is it "I don't, no".


The bartender asked if all of them wanted a drink.

Logician number one does not know whether logicians number two and three want a drink or not, so he can’t say yes. If he did not want a drink though, he could say no because then it would not be true that they all wanted a drink. But he wants a drink. Therefore he says he don’t know, because it will depend on whether the other two want drinks or not.

Same applies to logician number two. She is still missing info about the third logician and therefore says she doesn’t know.

The third logician now knows that both of the other two want drinks, and so can answer that all of them want drinks.


It’s a short circuiting conjunction. Consider `aliceWantsADrink && bobWantsADrink`. If Alice doesn’t want a drink, she knows it’s not the case that both of them want a drink. Since she says “maybe” instead of “no” she signals to Bob that she wants a drink, and so he concludes they both want a drink.


Seriously?

The first hadn't heard from the others but wants a beer so can't deny the universal.

The second hadn't heard the last but wants a beer so can't deny the universal.

Neither the first or second could deny the universal so therefore they want beer and so does the last so that one can reply yes.

/Sigh, I explained it.

[Edit: and then noticed three others had already but I was too incensed to read beyond the ask. /Sigh]


Yes, this was an inappropriate post that has no place here. I'm sorry to the parent poster and anyone whose enjoyment of the joke is blunted by this. I certainly didn't intend to be an insulting downer but I certainly don't expect anyone to read it as anything but intending to insult. I apologise.


Self-confidence, as a programmer, is when starting a new project, storing the transaction ID in an int64 rather than an int32.


Read that one a long time ago:

Each program has at least one big. Also, a program can always be shortened by a line. Therefore, every program can be shortened to a single line that doesn't work.

Also:

Why do Java programmers wear glasses?

Because they can't C# ;)


A physicist, a chemist and a statistician go hunting.

The physicist aims his rifle at a deer, shoots, and misses six feet to the right.

The chemist aims, shoots, and misses six feet to the left.

The statistician exclaims "By golly we got him!"


Security is "S" in IOT.


Remember that "S" in "IoT" stands for "Security".


How many programmers does it take to change a light bulb?

None. The light is working in here so it must be working there too.


The best thing about NaN jokes is that they're all different.


Programmers and computer scientists tend, in my experience, go for what is sometimes called Ha-Ha-Only-Serious (“HHOS”) type jokes. Meaning, statements that are true, but so piercing that they also are humorous.

In this vein, I can recommend the book The Tao of Programming by Geoffrey James. There are also collections of funny anecdotes like “COMPUTER-RELATED HORROR STORIES, FOLKLORE, AND ANECDOTES”¹, “Computer Stupidities”² and the pre-MacOS X Macintosh-related collection of “folklore”³. There is also the classic “AI koans” collection⁴.

If what you want is something more like a personal biography (like the classic Feynman books), I can suggest The Network Revolution: Confessions of a Computer Scientist⁵.

1. https://www.cs.earlham.edu/~skylar/humor/Unix/computer.folkl...

2. http://www.rinkworks.com/stupid/

3. https://www.folklore.org/

4. http://www.catb.org/~esr/jargon/html/koans.html

5. https://books.google.com/books?id=6f8VqnZaPQwC


I would add "The Codeless Code"[1] to this list; very entertaining stories/koans told as if programmers were monks in a monastery.

[1] http://thecodelesscode.com


More like this:

Rootless Root — The Unix Koans of Master Foo:

http://www.catb.org/~esr/writings/unix-koans/

The Tao Of Backup:

http://www.taobackup.com/

Git Koans

https://stevelosh.com/blog/2013/04/git-koans/


C'est un administrateur système qui reconfigure ses variables d'environnement et paf le chemin.

I tell it like I am someone serious but a bit dumb who thinks it's really funny and is too stupid to see how dumb this is.

Only work in French and I set up the stage by being me at the beginning and telling it in front of programmer or it people and non it people so IT people have to confirm it's stupid and the joke is in how my personna thinks it's funny.

This makes me laugh.

A few usually believe I am serious.


I don't get it. Is it simply funny (in an absurd way) because of the usual "Paf le X" french jokes, or is there something more to it ?


Yes, it's only funny when you play the dumb/silly guy and people know "Paf le chien" (which is already absurd). French people usually pronounce Path and Paf in the same way and "Chemin" and "Chien" sounds alike.

What usually happens is the IT guys look at me, sighing and non verbally confirm to non-IT people that the joke is way too stupid and geeky to explain.


Not really a joke but:

Most problems in computing can be solved by adding an additional layer of abstraction or indirection

...except for problems resulting from too many layers of abstraction or indirection.


Einstein repeatedly argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.


I have a bunch up at https://www.codepuns.com

So a programming language walks into a bar and says “hello world”


Yo mama's so fat, we had to set her column type to BLOB.


Why did the programmer swim in the crocodile river?

Warnings, but no errors.


What kind of specialist does a broken iOS app consult?

An orthoplist.

NB: my coworkers gave me a weird look when I told them this handmade nerdy joke, hope it will pull one or two smiles here


(Maybe more of a math joke)

There are aleph null bottles of beer on the wall, take one down, pass it around, aleph null bottles of beer on the wall.


Yes


10/10


1


`whoami`


A programmer and his wife moved to a new house. When they arrived, he looked around and said, "I think the moving company ripped us off... I paid them to move 40 boxes of our belongings, but I count only 39." His wife said, "Maybe you should count them again to make sure." The engineer started counting again, saying, "Zero, one, two, three..."


So this will sound like bitter, burnt-out comment and honestly been there, did that... and now I'm bitter again due to recent events at my recent workplace, but again this is just a pattern I have recognized along the 25 years I've spent working on banking software and later after the burn-out with a large telco.

So the programming joke:

The managers, especilally mid-level, and project owners.


No one mentions this one? too old?:

Two bytes meet. The first byte asks, "Are you ill?" The second byte replies, “No, just feeling a bit off.”



How did the Three Wise Men find their way to baby Jesus? A Star. (This joke works better when spoken out loud instead of written)


It's in how you write it:

How did the Three Wise Men find their way to baby Jesus?

A*


The two hardest problems a programmer faces:

1) what to name your variables

2) cache invalidation errors

3) off-by-one errors


> 1) what to name your variables

The canonical version of this is "naming things". It's more general than just variable names as anyone who has dealt with a thingAbstractFactoryFactory or the problem of generating unique names in a distributed environment will attest.


Two strings walk into a bar. One of them immediately greets the bar tender and says, "I would like a pint of stout ale!$@%))34#,,3..."

The other string, seeing at how the bartender is taken aback by the unexpected barrage of abuse, hastens to apologize: "You have to excuse my friend; he's not properly null terminated".


My favorite programming joke goes something like

TCP in the streets UDP in the sheets


The Steve Yegge article: "Execution in the Kingdom of Nouns" serves basically as a Java joke story.

http://steve-yegge.blogspot.com/2006/03/execution-in-kingdom...


Not a joke, really, but a haiku:

It's not DNS

There's no way it's DNS

It was DNS


What's a Microsoft Product that doesn't suck?

Their vacuum cleaner!


Not exactly a programmer joke:

Airport security caught a statistician try to sneak in a bomb in his baggage. The aprehened him and question him why he has a bomb with him:

"I calculated the probability that a flight will carry two bombs on board, and it is never likely to happen, so I brought one along."


Once upon a time, Jesus and the Devil got into a computer contest, to see who was better with computers.

At the declared time, the two beings open up spreadsheets, web-browsers, programming code, and all sorts of documents. As time wound down, it looked like the Devil was slightly superior at multitasking and was about to win the contest. Suddenly, the power goes out... and the Devil loses all of his work.

The Devil turns his computer back on, while sad about losing his work, he thinks he can still prove himself the better computer user. But as Jesus turns his computer back on, all of his work pops back up, and Jesus ultimately finishes the contest first.

----------

The Devil is perplexed. How did Jesus recover from the power-outage so quickly? So he asks and Jesus responds: "Because Jesus Saves".


The difference between God and Larry Ellison is that God doesn't thinks that he is Larry Ellison.


What did the error-correcting RAM say to the buggy Pentium chip?

BOOLSHIT!


An old one:

Q: how many Microsoft engineers does it take to change a lightbulb?

A: none they just change the standard to darkness.


A programmer walks into a bar and orders 1.00000000001000000...897175 root beers. The bartender says, "I'll have to charge you extra; that's a root beer float". And the programmer says, "In that case, make it a double".


How many IBM employees does it take to change a light bulb?

Fifteen. Five to do it, and ten to write document number GC7500439-001, Multitasking Incadescent Source System Facility, of which 10% of the pages state only "This page intentionally left blank".


How many IBM 360s does it take to execute a job?

Three: Two to hold it down, one to cut its head off.


Make that at least 17 when you count the employee + lawyer who file the patent.


How many prolog programmers does it take to change a lightbulb?

no


Knock knock

Who’s there?

long pause

Java


What do we want?

GARBAGE COLLECTION!

When do we want it?

...

...

NOW!


It's not easy being a geek when there's spyware and all kinds of malicious programs out there, you never know what you're going to get.

Still I'd rather have a virus on my PC than my PP.

With a trojan of course, it's the other way around.


There are two hard problems in computer science: 1. Exactly once message delivery, 2. Message ordering, 1. Exactly once message delivery.

I would like to add to this, fuck you confluent with all your lies that you sell to gullible idiots.


Why do programmers confuse Christmas and Halloween? Because OCT 31 == DEC 25


I recommend The Codeless Code, a series of humorous programming-themed Buddhist koans.

http://thecodelesscode.com/contents


I actually read all of them. Why they stopped adding new ones? Any similiar list of programming koans?


Knock knock.

Who's th--

RACE CONDITION.


I bought a giant bottle of shampoo at Costco and it almost killed me by hypothermia. I started the shower then made the mistake of reading the instructions. It said lather, rinse, repeat.


Do you know what are black holes? It's where God divided by 0.


Jesus and Satan are having a programming contest to decide who gets to be God's right-hand man.

The time limit is one day to create an Earth simulator. They begin, and both furiously code away without taking any breaks. Near the end of the day, there is a power outage and their computers are shut off.

Power is quickly restored. Satan is aghast! "I lost all my work", he exclaims.

Jesus just smiles, types few commands, and continues coding where he left off... because everyone knows: Jesus saves.


"I am Devloper" on twitter is amusing: https://twitter.com/iamdevloper



https://old.reddit.com/r/programmerhumor

(Sort by top for some good ones)


    enum Bool 
    { 
        True, 
        False, 
        FileNotFound 
    };

My favourite DailyWTF. The more you think about it, the funnier it gets.


I have a UDP joke but I'm not sure you'd get it.


Not exactly programming jocks, more like tech jokes, but I remember http://bash.org/?top to be an amazing source of humor back when I had my first steps as a techie 15 years ago

Also a more long form source of funny developer anecdotes was https://thedailywtf.com/


This is not exactly a joke, and more CS than programming related, but it's worth the read: Lower Bounds for Probably-istic Polynomial Time. http://web.archive.org/web/20080516195038/http://cs-people.b...


Who's here still remembers protoLOL? https://protolol.com/


"I once went to an ARP restaurant. Thank god I didn’t eat the food! It was poisoned.."


Q: How many programmers does it take to screw in a lightbulb? A: What you need is light. Why are you assuming the solution involves a lightbulb?


What's the difference between Elon Musk and Mark Zuckerberg?

One's a human trying to conquer Mars and the other is an alien trying to conquer Earth.


I don’t know if I a downvote because Zuckerberg doesn’t like being called an alien or because Musk doesn’t like being in the same sentence as Zuckerberg! O.o


This is not exactly a joke, but these seem relatively on topic as humor:

Monzy - Kill Dash Nine https://www.youtube.com/watch?v=Fow7iUaKrq4

Googlers - Write in go https://www.youtube.com/watch?v=LJvEIjRBSDA


A computer programmer is found dead in the shower. Next to him there is a bottle of shampoo, with the instructions: Apply, rinse, repeat.


Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.


Not a programming joke per se, but there the lines at https://meta.stackexchange.com/questions/9134/jon-skeet-fact... are some of the funniest programming related descriptions out there.


There's nothing funny about programming!

Okay, that said... some showing my age jokes:

Q: How can you tell COBOL programmer from other programmers? A: They're the ones with the stubby fingers

Q: How is Halloween and Christmas the same? A: Because OCT 30 = DEC 25! (Octal, Decimal....groan)

but don't listen to me, go to /r/ProgrammerHumor

It's early and I haven't had enough coffee


#LordOfTheRings To enter the Doors of Durin: "Say mellon and enter"

#Vim To enter external commands: "Say :! and enter"


"There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors." - https://twitter.com/secretGeek/status/7269997868


Definition of Recursion:- see Recursion


Loop, Infinite: see Infinite Loop

Infinite Loop: see Loop, Infinite


recursion, n. See tail recursion.

tail recursion, n. See tail recursion.


How many programmers does it take to change a light bulb?

None. The light's on in here so it must be on there too.


There are only 10 kinds of people in the world: those who understand binary and those who don't.


I got a job as a software developer at a startup after several years of working as an IT drone. On my last day of work at my old job I got a text from the tech lead of the team I would be joining.

"Come by after work to meet the team and have a few beers".

I arrived around 7pm. There were quite a few people still around but to my surprise the tech lead who had hired me was packing up his desk into a box. I was kind of surprised but he seemed upbeat and glad to see me.

"Yeah, sorry to be leaving before you officially join the team. I got a great offer I can't pass up. Friends got their A round funding and it is an equity opportunity. You'll do great though. One piece of advice though,"

and he handed me three envelopes.

"Four pieces actually. Piece zero, and I'll tell it to you now. When you run in to trouble blame me. After you've seen my code you'll probably think it is shit. Hell, you're smart, you probably think everybody else's code is shit."

He continued "When you can't blame me anymore open the first envelope for the second piece of advice. You'll know when." and we went off to meet the team and have a beer.

I officially started on Monday and it was going great for the first couple of months. Then a product manager started breathing down my neck why one of my features was late. I had been frustrated with how hard it was to add the feature to the existing code and I found myself blurting, "The problem is not with my code, it is all of the old code I am having to rewrite because it is so terrible". I realized I was using the old tech lead's first piece of advice. So I continued, "Man, the previous tech lead's code is absolute garbage. It is amazing the whole thing hasn't fallen apart already." Since everyone looked sympathetic I knew I had made a good move. For quite a long time I made sure I was working hard or at least look like I was working hard and occasionally grumbling about the shit I had to deal with.

After a couple of months I was still producing at a good rate but I had now "rewritten" or at least claimed to have rewritten most of the bad code. I could not longer use that excuse. One Monday morning before the weekly sprint meeting I realized I was in a bind. I needed make sure that I had lots of work on my current assignment if I was going to avoid being assigned to a new project with "the customer from hell". I only had a few minutes before the meeting and after nervous peeing (twice) I still had no solution. I suddenly remember the envelopes. Digging through my messenger bag I found them and grabbed the first. While in the restroom for a third nervous pee I opened the envelope sitting in the stall. There was a card inside with one word "Refactor" and I had my solution.

A few minutes later at the sprint meeting I revealed that all my work rewriting the bad code, boy that was a lot of work, had revealed amazing opportunities to refactor the architecture and put us on a lot better footing. It would take a lot of work but I knew what needed to be done and it would really pay off. This proposal got a number of cautious nods and after a short discussion it was decided that I would proceed with a major refactoring of the product architecture.

A couple months later and my "refactor" was nearing completion. It did fix a few problems, the new APIs were more aligned with my personal preferences and I had gotten the chance to replace a few libraries with trendy ones that I wanted to get on my resume. Honestly though I felt like a fraud; my refactoring was just rearranging the deck chairs on the Titanic. I played out the ending stages of the refactoring but inevitably the time came when management was eager to use the new code in a product. Having no other option I agreed it was ready and that I was eager (not really) to see it shine in a product.

The first product to use it would be with another team. After the first meeting it was clear that they were really sharp and they immediately pointed out some shortcomings of my APIs and design. After a bit more wrangling they agreed that my module could meet their needs as long as I was dedicated to supporting it and them. My management agreed and they were now my customer.

Their product design proceeded and as they continued to get more experience with my module they kept finding new flaws in the API and bugs. I tried to fix them as quickly as possible but I was one person working to try to keep an entire team happy. I couldn't keep up. After a late night of bug fixing I was headed home exhausted in an Uber and wondering how I was going to be able to keep up. As I nearly drifted into sleep in the back seat I remembered the envelopes. I found the second envelope in my bag and opened it with the third solution, again one word. "Indirection".

Meeting with my "customer" on Monday I explained the bandwidth problems I was having meeting all of their team's requirements. I explained that what would work best is if they built a local interface in their project which called my API. That way the interaction between their system and mine would be localized and they would only have to make changes in one place if my API had to change. They had seen that I was tapped out trying to support them and agreed that they could build a local API which meshed better with their system that simply called my module to do the actual work. It took them a while to disentangle their code from my module and build their interface. By the time they came back with a few bug reports against the version of my module they had been using I promised them that I had much improved version to use. Once a few bugs were resolved the systems were again integrated.

They got closer to shipping their product and I kept getting bug reports from them that my library wasn't behaving correctly. I was forced to explain that the problems they described hadn't been there when they had integrated directly against my library--the problem must be in their local interface. Progress was being made towards shipping the product but there were still frequent mysterious problems.

Meanwhile my management was pretty happy with how integration of my code was proceeding. My director had talked about it as a collaboration success story at an executive meeting. My team members, who I had little interaction with as I was supporting the other team, were also congratulatory though they didn't seem to be as believing that I deserved my apparent success. I was pretty sure it was going to be a disaster actually. So when a college buddy emailed me about a business plan he was writing I offered to help. A few days later they were talking about me being the "Software VP" for their startup. I wasn't sure but it would be a founder position with equity so I couldn't just say no. I was trying to figure out what to do when I got an email saying that the team building a product with my module was having real problems with their scaling tests. They had done some analysis and were certain the problem was with my module, they didn't have proof, but had some pretty compelling analysis and wanted to meet tomorrow. Gulp. Just then my manager came by, apparently not having read the memo yet and introduced me to a fresh young programmer who was joining the team. He introduced me as one of the team's stars and he should seek me out for mentoring. I politely agreed but had other things on my mind.

Stewing in my cube without much clue how to fix the reported problems before the upcoming meeting I thought back to mentoring I had received and realized I had one more envelope.

Opening the third envelope I discovered the fourth piece of advice. It was brilliant. I called my friend and told him I was "down" to be the software VP for their startup, contacted the new kid on our team slack inviting them to come by for an overview on my module. I then sat down wrote my resignation email and completed the fourth piece of advice, "Recursion."


Haha, I didn't imagine what the second envelope would contain, but I did imagine that it would end with a recursive situation.


A programmer goes grocery shopping for his wife. She tells him, "Go buy a loaf of bread and if they have eggs, bring six."

A while later he arrives home with six loaves of bread. When he sees the puzzled expression on her face he says, "Why, they did have eggs."


https://people.csail.mit.edu/gregs/ll1-discuss-archive-html/...

A classi one by Anton van Straaten that is both funny and wise.


Whereas Europeans generally pronounce his name the right way ('Nick-louse Veert'), Americans invariably mangle it into 'Nickel's Worth.' This is to say that Europeans call him by name, but Americans call him by value.


What’s the angriest part of a computer?

The cursor.


A PM and an engineer walk into a meeting room to discuss why the feature request cannot be implemented with their microservice architecture:

https://youtu.be/y8OnoxKotPQ


From Twitter:

@steveklabnik · Jan 5 if a cow changes some state, you'd call that a moo-table variable


Did you know that Javascript programmers are giving up double quote strings for Lint?


A programmer's spouse asks them to purchase some items from the supermarket:

"We've run out of milk, so buy a carton. Oh, and if they have eggs buy six of them."

The programmer dutifully heads to the shop and returns with six cartons of milk.


Why do front end engineers always have lunch alone? Because they can’t join tables.


Horse walks into a bar. The bartender asks “Why the long face?” Horse replied: I tried a short but didn’t fit.

(Integer joke)

Can you milk a bool?

False.


I've been working on getting our Java code running on Windows. It's going alright, but I had to shut off the garbage collector altogether - whenever it runs, all of our JARs end up in the Recycle Bin.


Oh, thats a new one, and about Java and actually funny!


The famous cartoon on software developement:

https://www.smart-jokes.org/how-it-projects-really-work.html


- Can I have something to clean input/output ports, please? - programmer asks at a shop. - Sorry? - Lady at the counter doesn't understand. - I meant... eh... toothpaste and toilet paper please...


A wife sends her programmer husband to the grocery store, saying "Get butter, and check whether they have eggs. If they do, get a dozen."

The husband comes back with 12 butters and says: "They had eggs."


AFAIK this is an original:

Who's got 10 thumbs and only tells programming jokes? this.guy


What's the jira ticket that even non-programmers are aware of? COVID-19


Once upon a time, a baby bear asked his mama to tell him a story about recursion. And so the mama bear started reading:

“Once upon a time, a baby bear asked his mama to tell him a story about recursion, the mama bear started reading:

...””


This is an old one.

What is a four-letter word name for a language that you write once and run anywhere?

Perl.


I'm a big fan of the "Ed is the standard text editor." joke


The Lord said: "Go Forth and Multiply," but the Forth programmers cried "Please, Lord, give us floating point!" (an oldie, because for the longest time FORTH was only fixed point)


Not exactly a joke, and, hysterical.

https://blog.codinghorror.com/new-programming-jargon/


It's mainly meme type stuff https://www.reddit.com/r/ProgrammerHumor/


A friend of mine is in a band called 1023MB. They haven’t had a gig yet.


That bites, it doesn't make sense in a bit.


- SQL experience? + No experience. - Ok noted, NoSQL experience. + ...


What’s a python programmers favorite type of poetry? Def poetry

What’s the diff between a junior programmer and a senior programmer? s/junior/senior. Also only the junior will laugh at that joke.


Everything in https://programmerryangosling.tumblr.com/ is good for a chuckle



A QA engineer walks into a new bar repeatedly, orders NaN beers, -1 beers and 256 beers. Satisfied they let the first customer in. The customer orders a beer. The bar explodes.


A programmer’s wife is pregnant and goes into labor. Programmer brings her to the hospital, she gives birth and the doctor hands the baby to the doting father.

Wife: “So, is it a boy or girl?”

Programmer: “Yes.”


Computers are like air conditioner, useful if you close windows.


Why did the programmer leave the restaurant?

He didn't like the table layout.


"Chuck Norris can instantiate an abstract class." :-)


What did the girl function say to the boy function??

"I just don't see this recursion going anywhere, we keep having the same arguments. Please don't call me anymore."


Every problem in computer science:

https://news.ycombinator.com/item?id=25866352


Don't recall the source, but it has stuck with me since my assembler days...

There are only 10 types of people in this world. Those who understand binary and those who don't.


Who is the ruler of devops?

Jenkins Khan.


I had an opportunity to ask Jeff Dean what his favorite Jeff Dean joke was and he said: "When Jeff Dean opens the profiler, loops unroll themselves in fear"



The most geekiest joke ever:

chown -R us ./base

(probably for the old-timers among us ;))


(To explain to others)

So now All your base are belong to us (https://knowyourmeme.com/memes/all-your-base-are-belong-to-u...).


just thought of this one . not much funny but has good potential

q: what is extreme form of amd fan boy programmer ? ans : they even refuse to run their code on Intel cpu even when the dev pc has intel cpu. they run everything in shaders in amd gpu so it doesn't touch intel cpu . bonus : what about boilerplate for running shaders on gpu ? ans : they hire a guy to write that for them. not touching intel in any case


The economy turns bad and a programmer has to become a hammer hand to pay his rent. The builders are working on a new house, how do you tell them apart?


2 that make me chuckle...

If you ask a programmer, 'Do you want tea or coffee?' he will reply 'yes'.

and

q: What's Benoit B. Mandelbrot's middle name? a: Benoit B. Mandelbrot


To err is human but to create utter chaos you will need a computer.

(That said I really want to say something about JS, but I doubt everyone here will appreciate it ;-)


I'd tell you a UDP joke, but you might not get it.


The only thing worse than a monorepo? Two monorepos.


Two programmers decide to have a bet: "How much should we be on ? a $1000 dollars ?" "Let's round it up to $1024"


God is real, unless declared integer.

In FORTRAN, by default, any variable name that starts with I,J,K,L,M or N is an integer, otherwise it is a real type.


The programmer sets two cups on his nightstand, one full of water in case he gets thirsty, the other empty, in case he doesn't.


Syntactic sugar leads to cancer of the semicolon


By Alan Perlis


How many functional programmers does it take to change a light bulb? Ans:0 Light bulbs are immutable, you need a new house.


When I am coding I often want to just shout out loud: THIS IS SHIT! But honestly, I can never remember what this refers to.


An old one, but I might as well be the first:

There are three hard problems in programming: naming, cache expiration and off-by-one errors.


I started writing one, but only finished 90%.


Then I'll happily introduce you to https://bar.com


Programmer: I'm going out for a walk.

Programmer's partner: While you're out, could you buy some milk?

And the programmer never returned.


How come God created the world in just 7 days? I wouldn't need to be compatible with the previous version.


A SQL developer walks into a bar. He walks to two tables in the back and asks, "mind if I join you?"


Two elderly women are talking. One of them admits after marrying three times, she's still a virgin.

"How is that possible?" asks her friend.

"Well, the first one was too old and couldn't do it. The second was gay and wouldn't do it".

"The third one was a computer salesman and all he did was sit on the edge of the bed telling me how great it was going to be."

(From the 70's days of the million-dollar mainframes)


Then she married a lawyer and finally she got fu**d


I'm a little late, but here goes.

How many software engineers does it take to change a lightbulb?

(None. It's a hardware problem)


A SQL query walks into a bar and sees two tables, walks up to them and says 'Can I join you?'


A programmer walks into a bar, or not.


A C programmer and a C++ programmer walk into a bar.

A Haskell programmer describes how one would join them for a drink.


Not exactly a joke, but it could be a marketing slogan for many companies today: "AI or Die"


did you hear about the DSP engineer who remodeled the entryway in her house overnight?

it was a fast foyer transform

https://twitter.com/caraesten/status/1284232296497770496


3 DBAs walk into a NoSQL bar. A little while later they walk out because they couldn’t find a table.


Q: How many programmers does it take to change a light bulb? A: Zero; it's a hardware problem.


There are 10 categories of people: those who know what binary system is, and those who don't.


A woman texts her husband "While you're at the store, buy eggs"

To this day he is still buying eggs.


There are only 10 types of people in the world: those who understand binary and those who don’t.


"There are 10 kinds of people : those who understand binary and those who don't"


A SQL query walks into a bar, approaches two tables and asks, "May I join you?"


There are 2 hard problems in CS:

- Cache invalidation

- Naming things

- Off-by-1 errors


Mechanical engineer walks around the field and thinks - there is a field. Flowers grows on field. Bees are gathering honey from flowers, doing good for flowers. Sun is shining over whole ecosystem making everything grow. There must be an engineer, who planned that. God exists! I believe in God!

Software engineers doesn't believes in God...


I can't believe this one isn't here yet:

I'd tell you a UDP joke, but you might not get it.


Programming-related humor is pretty tricky. I once told a UDP joke, but nobody got it..


I know a good one, but it's a UDP joke so I don't know if you'd get it.


The two hardest things in computer science are:

0. Naming things.

1. Cache invalidation.

2. Off-by-one errors.

(just found some attribution to: Leon Bambrick)


ha, thank you. The numbers aren't needed though.


Q: Why did the multi-threaded chicken cross the road?

A: other side. get to the To


I actually bought this T-shirt for my daughter.It said:

!false It's funny, because it's true!


Boy: dad, what will be "two by two equals four"? Programmer: true, my son.


When all you have is a HammerFactoryImpl, every problem looks like an INailIterator


There are two types of people. Those who can extrapolate from incomplete datasets.


Why do programmers always confuse Halloween and Christmas? Because OCT 31 = DEC 25


I decided to solve a problem with regular expressions and now I have two problems.


"To all programmers, God is real...

...unless explicitly declared to be integer..."

<g>


I was going to post a joke about UDP, but I don't know if you'd get it.


I'd tell you a buffer bloat joke, but you'd have to wait in line first.


Why do all Republicans have straight hair?

Because the curl of a conservative field is always zero.


In programming, as in life, a single missed period can be of great significance.


My favorite one : how many devs does it take to change a bulb ?

They can’t, it’s an hardware issue


There are 10 kinds of programmers: those who know binary, and, uhm, nine others.


Teacher: What does "recursion" mean?

Student: "Aaah, verb, to curse again?"


Why do JavaScript developers stay home on Fridays? Because they have Node 8.


my fav:

The bartender says: we don't serve race conditions here A thread walks into a bar


Programmers solve tasks on their own branches due to our ancestors -- apes.


I forget where this one came from.

How did the programmer die in the shower?

'Lather, rinse, repeat'


Why do fish love programming in assembly? Because it's below C level


Knock knock

Race condition

Who’s there?


Why programmers mistake Halloween with Christmas? Because Oct 31= Dec 25


Why was 6 afraid of base 7?

Because 10 11 12


A Haskell programmer turns coffee into code.

A coHaskell programmer turns de into ffee.


"They want a fixed price estimate" qualifies as a joke?


What transpiler would a sheep use?

Baa-bel


  # cd /etc
  # emacs hosts
  # rm * ~
  # ls
  # ls


Foo walks into a bar...


"God is real!" "Unless declared integer."


To understand recursion, we must first understand recursion.


Friend: Congratulations on the child, is it a boy or a girl?

Programmer: Yes.


  > got a light?
  zsh: no matches found: light?


My backslash escaped!


Math joke:

Always take care you don't get Descartes before Deshorse.


There are only two hard problems in computer science:

* cache invalidation

* naming things

* off by 1 errors


Why programmer gets a raise? Because he likes arrays.


A: Have you heard about the object-oriented way to become wealthy?

B: No

A: Inheritance!


"What Do We Want?"

"NOW!"

"ASYNC FUNCTIONS!"

"When Do We Want It?"


How many Haskell developers does it take to change a lightbulb?

Maybe


Fortran joke: God is real, unless declared integer.


My personal favorite:

Knock knock. “Race condition.” “Who’s there?”


My favourite: "guys isn't it crazy how now we use on ehow we use 'google ' as a word now? all the time back in my day we didn't do that that's new"


You’re my number 0


An IPv6 packet walks into a bar, no one responds


Which US state should any foreign developer visit first?

Maine.


Nock nock, who's there? ... ... ... Java


How about following ?

#define true 0

#define false 1


/r/ProgrammerHumor is quite good.



Yes, but I was too lazy to document it.


Wife told her husband: Buy two watermelons on your way home, if you see eggs, buy a dozen. So the husband went home with a dozen watermelons.


git pull: open source skeet shooting


there are 10 types of people in this world, those who understand binary and those who dont.


The two hardest things in computer science are cache invalidation, naming things, and off by one errors.


true


/* No comment */


#define private public


Good material for standup tomorrow, thank you all.


Not exactly jokes but I highly recommend looking up CommitStrip.

I think they're the only web comic dedicated to programmers (excpet of course xkcd).


Null.


SCRUM


Knock knock.

Race condition.

Who's there?


!1


The OSI Model. Ha ha ha ha ha...


"I am a programmer"


bash.org


None


Windows ME


Starting Windows ...


php


I don't have the joke, only the lame punch-line:

"Compiler? I don't even know her!"

Badum bum.


There's a bot which posts that on Reddit comments at https://old.reddit.com/user/I-ardly-know-er


Part of a long proud lineage of terrible jokes. When asked for a tissue my dad would always say: “tissue? I barely know you!”




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: