Beanies are not any good if you have long straight hair, unless you're wearing also wearing a hood. It's hard news, I know.
If you have glasses and long hair, a baseball cap is your best bet. Not only will it shield your lenses from sleet, but a wool baseball cap will not slip and slide off of your luscious locks! You can tighten it so that your hair stays firmly affixed over your ears, providing your upper extremities with the same protection as a synthetic-fiber beanie, the all-natural way!
Modified GAP men's wool baseball cap; Madewell maroon baseball cap; Ebbets Field San Francisco Seals cap