There are a couple of difference idiomatic choices depending on what subtext you wish to convey. Here's a selection you can choose from:
If you want to describe someone with implied criticism in a single word:
John is work-shy.
John is indolent. (not particularly common)
John is a do-nothing. (not particularly common).
John is very apathetic towards work.
Or using an idiom:
John is somewhat of a nine-to-fiver.
John does enough to get by at work.
John does the bare minimum in his job.
John isn't living up to his own potential at work.
John is just scraping by at work.
John is not pulling his weight in his job.
The following may also apply:
John is very unmotivated in his work.
John has no passion for his work.
John is fairly indifferent towards his work.
John is very lazy.
On the other hand, you might want to give John's lifestyle a positive spin:
John has a good work life-balance.
The joke would be called something like a 'lead balloon'
There isn't really a specific word for a person who told the joke. Maybe just that they have a bad sense of humor. Humorless might work, although that might not be a good word if they at least have some sense of humor, they are telling a joke after all, tasteless works quite well, but this is quite subjective, a tasteless joke is always a bad joke but a bad joke is not always a tasteless joke. Tasteless is generally applied to jokes that are considered offensive (and unfunny by the person listening). Bad is generally applied to any joke that is not funny.
The feeling, I guess would be disappointment if you were expecting a funny joke or exasperation, annoyance. It really depends on the person and the context of the situation.
A reaction, again, would depend on the person and the context, based on the feeling.
You might say a range of things, again, this really depends on the emotions that the joke evokes(is that the right word?) out of the person, there isn't really a standard response to any joke, although particular types of jokes may have standard responses.
Best Answer
Although I would have to agree with both snailboat and hjpotter92's choice of eidetic and mnemonist as words meaning "someone who is very good at remembering", it really isn't particularly idiomatic. Most native speakers would say:
Rather than
And
Rather than
In general, as a native speaker I would prefer terms that are widely understood and in common usage rather than ones which are concise, so unless you have particularly good reason to expect the person you're talking to to know the term eidetic, I'd probably just stick with something similar to the following: