For the non-tech community:
hacker = person committing computer crimes (black hat)
cracker = a tasty snack (or, if you are in the American South, a contemptuous term for a white person)
tinkerer = someone who tinkers around with stuff (what tech community traditionally called hacker as in hacker news)
The concrete definitions are:
Hacker: A programmer; someone who embodies the spirit of the programmer's way of thinking
Cracker: A programmer that commits crimes by illegally breaking in to systems.
For the non-tech community:
hacker = person committing computer crimes (black hat)
cracker = a tasty snack (or, if you are in the American South, a contemptuous term for a white person)
tinkerer = someone who tinkers around with stuff (what tech community traditionally called hacker as in hacker news)