Preheat the oven to 350 degrees, and get an 8"x 8" pan ready by greasing it up with butter.
I start with the topping, so it is ready to sprinkle as soon as the batter is mixed. Mix the flour, granulated and brown sugar, and the salt together. Cut the butter into small chunks, and add it into the mix. You can cut it in with a knife, but I like to just work it with my fingers until it is it crumbly. Then you can add the walnuts (I crush most of them but add a handful of halves) and set aside and start the batter.
Add the dry ingredients (flour, baking powder and salt) to a mixing bowl and whisk together. In another bowl, add the eggs, melted butter, granulated sugar, vanilla, orange zest, and buttermilk. Beat with an electric mixer on high for about a minute, or until it is thoroughly mixed.
Add the dry ingredients to the wet ingredients and gently mix with a fork. Over mixing can lead to a tougher cake, so just mix until the batter barely comes together.
Pour half the batter into the cake pan. Add the cranberries to the remaining batter, and pour the rest on top. This helps keep the cranberries from settling on the bottom.
Now use the topping to cover the top.
Bake for 45-50 minutes at 350 degrees, checking periodically with a toothpick (should come out clean).