Preheat the oven to 350 degrees F. Grease and line a 9x5-inch loaf pan with parchment paper.
Put the butter in a large mixing bowl and beat for several seconds. Add the sugar and beat until smooth. Add the eggs, and beat for 2 minutes, or until light and creamy. Put the flour, baking powder, baking soda, cardamom, cinnamon and salt in a bowl and stir with a fork to blend well. Add the sticky dates to the flour mixture and break them up with your hands until they're evenly distributed throughout. Add the flour mixture to the butter mixture and beat until nearly smooth. Next, add the sour cream and mix well.
Spoon the batter into the pan. To make the streusel topping, add all of the ingredients to a small bowl and using your hands, mix, breaking the butter into little bits. Sprinkle atop the cake evenly and transfer it to the oven. Bake for about 45 minutes, or until a skewer comes out clean when inserted into the center.
Remove from the oven and let rest for 5 minutes in the pan. Lift the sides of the parchment paper and transfer the cake to a cooling rack. While you're waiting for it to cool slightly, mix together the powdered sugar and coffee until smooth. Drizzle atop the cake and slice. I highly recommend eating this warm with a cup of strong coffee.