A little while ago, I decided to look at what it'd take to talk to Pebble from a non-supported device, like say a laptop. One late night of hacking later, libpebble was born. It's essentially a complete (to my knowledge) implementation of the Pebble protocol.
You can do anything you'd expect including sending notifications to the watch, uploading new applications/firmware and receiving music playback commands from the music app on the watch. There's a sample application included for controlling Spotify or iTunes on OS X using your Pebble (demo). You can check the code out on GitHub here.
I'm super excited to see what the Pebble community does with libpebble! So far we've seen a C# implemention (thanks barometz!) and a hack to enable controlling Keynote using the Pebble. I imagine once the SDK for the Pebble arrives, this should become even more useful. I'd also like to say thanks to the many people who've contributed to libpebble, in particular RaYmAn for his help in figuring out the PutBytes part of the protocol.
Made something cool? Tweet me with a link and if it's awesome I'll retweet it on to share it with more Pebble fans. Happy hacking!