Just in time for Valentine's!
The hat was knit on size 13 dpns with a handspun thick/thin yarn and the heart patch was crocheted with a size K hook and handspun yarn (all yarn from Terra Bella Spun
For the heart, I checked out some crochet patterns from the Crochet Pattern Central Free Heart Crochet Pattern Links
and worked up one that was either a coaster or a potholder; I'm not sure which - I modified the pattern a bit too.
Top-down ribbed beanie recipe:
The idea here is to knit a square by using double increases and staggering the placement every other round. When the square is big enough, you just knit around and wind up with a circular hat!
Use any yarn you like with appropriate sized needles. I prefer using a set of 5 dpns, although you could modify this pattern with stitch markers if you prefer one circ or two circs (in round 1, *k2, pm* should do it).
With dpns, CO 8 sts (2 sts on each dpn)
round 1) knit into the back of each st
round 2) work 1 double increase at the beginning of each dpn (I used m1, k1, m1), k to end of needle, repeat on each dpn.
round 3) *k1, p1*
round 4) *k1, p1* to last st on needle and work 1 double increase. Repeat on each dpn.
round 5) *k1, p1*
Repeat rounds 2 - 5 until the top will fit the size you want.
A rough way to figure this out is to measure across the center (side to side, not diagonally) and multiply that by 4 to get the perimeter (which will become the circumference of the finished beanie). For a ribbed beanie, if you want a snug fit, go for something about an inch less than the circumference of the head. If you want a more exact fit, slip all stitches to a long piece of scrap yarn, placing markers to separate the stitches from each needle, and try it on. To be really sure, wash and dry it before trying it on, just in case the yarn will shrink or expand a lot.
Once it is big enough to fit around, work *k1, p1* around until it's the length you want, and bind off. I try to bind off a little loosely; you could use a bind-off specifically for ribbings, like tubular bind-off.
*edited to correct an error in taking the measurement*