Stirring occasionally, toast hazelnuts (or pieces) in a pan on medium heat for about 4 minutes or until aromatic. Once they start looking and smelling toasty, remove the pan from the heat immediately, and pour the hazelnuts into a metal bowl or onto a rimmed cookie sheet.
Let the nuts cool down for about ten minutes. (if you cooked extra, measure out the 1 cup for the syrup and set the rest aside for other uses)
Combine the 1 cup toasted nuts, 1 cup granulated sugar, and 1 cup water in a small saucepan over medium-high heat.
Bring the mixture to a boil. Reduce heat to medium and simmer until slightly thickened, about 10 minutes.
Remove from heat and let hazelnuts steep in syrup for at least 1 hour (up to 2 hours).
Strain the cooled syrup through a fine mesh sieve to remove the hazelnuts. (KEEP THESE!)
Store syrup in an airtight container in the fridge for up to one week.
Grind the hazelnuts in a small food processor until as small as possible. Use these as the ground hazelnuts called for in the milkshake. Store extras in an airtight container in the fridge for up to one week (leftovers are great on oatmeal or yogurt).