In a large bowl, stir the yeast into about half of the water (measure it, then just pour a bit into the bowl to make sure the yeast is active); let it sit for about 10 minutes. If it's not foamy, toss it out and buy fresh yeast.
Add the rest of the water, milk and canola oil to the yeast, then stir in about 3 cups of flour and the salt. Add about a cup more flour, and when it becomes too difficult to stir, turn it out onto the counter top and start kneading. Once all the flour is incorporated, keep kneading, adding extra flour if it's too sticky, for about 8 minutes, until the dough is smooth and elastic. Cover with a tea towel and let rest for an hour.
Cut the dough into 10 pieces and roll each into a ball, or a rope if you want to make pretzels. Cover the balls, or shape the pretzels, then let rest for 15 minutes while you bring 2 L of water to a rolling boil with the salt and baking soda. Preheat the oven to 425°F.
Boil about 3 at a time, so you don't crowd the pot (they will swell) and bring the temperature down, and simmer for a minute per side. Remove from the water with a slotted spoon and place on a baking sheet that has been sprayed with nonstick spray. Sprinkle with coarse salt as soon as they come out of the water, so that it sticks, and if you're doing buns, cut Xs on their tops.
Bake for 20 minutes, until golden.