You know you’re a geek Humor , Geekdom When this joke I made on Twitter makes you giggle Turns out I didn't. I used to understand asynchronous programming. Comments rick says: on 9/9/2013 at 7:17 PM Timing is key. Sort of. RWC says: on 9/9/2013 at 8:48 PM Robb, May be just me (iPad 2) but the ads are being placed over the text. Robb Allen says: on 9/9/2013 at 9:00 PM RWC, alas I do not have an iPad to test with. But I'll run some sims and see if I can figure out why. DJ says: on 9/9/2013 at 9:30 PM Took me a millisecond or so.Hey, I got it! Rob K says: on 9/9/2013 at 9:42 PM I must be terribly stressed (and I am). That blew right by me. Jake says: on 9/10/2013 at 10:16 AM First things first. But not necessarily in that order. tkdkerry says: on 9/10/2013 at 10:20 AM Heh. Windy Wilson says: on 9/10/2013 at 12:41 PM I don't understand the joke here.I'm a dork, not a geek.:( Robb Allen says: on 9/10/2013 at 1:16 PM Windy, asynchronous programming is a lot like a secretary who makes a pot of coffee, toasts a bagel, and prints out the previous day's sales for the CEO. It doesn't make sense for her to start the coffee and wait, and when it's done, start toasting the bagel and wait, then print the report and wait. She can start the coffee, then start the bagel, then start the print job, and when each task completes turn her attention back toward it.Because you start tasks and don't wait on them, things can happen in unexpected order. Hence the joke with the punchline being first. Patrick says: on 9/13/2013 at 6:11 AM The problems start when the secretary tries to print day's sales for the CEO before the day is over, or before the registers have been counted.Asynchronous programming seems easy, until it isn't. Then you can have a nightmare of a time trying to figure out what is missing and why things are not working. Especially since the most common debugging techniques (run multiple tests and slow things down to watch the progress) won't work, because the sheer act of looking (slwing things down) is likely to disrupt the timing such that the problem will not exhibit itself. Or more fun yet, a different problem comes into play.If you've ever complained about an app doing something "sometimes", it is most likely a result of an async operation not playing the way we humans thought it would.Programmers are real good at making lists and checking them twice. We line up the tasks and try to prevent some from moving until the predecessors are done. That's why the joke is funny: despite all that we think we know, we always still surprise ourselves. bob r says: on 9/19/2013 at 11:41 AM Not a giggle but it did get a smile.I'm reading this instead of actively working on the task of setting up a system to pass out an unspecified number of jobs (that have an indeterminate run time) to an unspecified number of task processors running on an unspecified number of computers. The job count can vary from 1 to low thousands. The task processor count can vary from 1 to a dozen or so per machine. The machine count can vary from 1 to dozen or so. Comments have been closed on this topic.