squirrel - Dave's Blog

Search
My timeline on Mastodon

Retweet of ohunt

2015 Sep 16, 1:57
Is your site/app not loading resources in ios9? WebKit now blocks mixed content: You can't load CSS or JS over http from https _ever_.
PermalinkComments

Considerate MessagePort Usage

2013 Aug 7, 7:14
Sharing by leezie5. Two squirrels sharing food hanging from a bird feeder. Used under Creative Commons license Attribution-NonCommercial-NoDerivs 2.0 Generic.When writing a JavaScript library that uses postMessage and the message event, I must be considerate of other JS code that will be running along side my library. I shouldn't assume I'm the only sender and receiver on a caller provided MessagePort object. This means obviously I should use addEventListener("message" rather than the onmessage property (see related What if two programs did this?). But considering the actual messages traveling over the message channel I have the issue of accidentally processing another libraries messages and having another library accidentally process my own message. I have a few options for playing nice in this regard:
Require a caller provided unique MessagePort
This solves the problem but puts a lot of work on the caller who may not notice nor follow this requirement.
Uniquely mark my messages
To ensure I'm acting upon my own messages and not messages that happen to have similar properties as my own, I place a 'type' property on my postMessage data with a value of a URN unique to me and my JS library. Usually because its easy I use a UUID URN. There's no way someone will coincidentally produce this same URN. With this I can be sure I'm not processing someone else's messages. Of course there's no way to modify my postMessage data to prevent another library from accidentally processing my messages as their own. I can only hope they take similar steps as this and see that my messages are not their own.
Use caller provided MessagePort only to upgrade to new unique MessagePort
I can also make my own unique MessagePort for which only my library will have the end points. This does still require the caller to provide an initial message channel over which I can communicate my new unique MessagePort which means I still have the problems above. However it clearly reduces the surface area of the problem since I only need once message to communicate the new MessagePort.
The best solution is likely all of the above.
Photo is Sharing by leezie5. Two squirrels sharing food hanging from a bird feeder. Used under Creative Commons license Attribution-NonCommercial-NoDerivs 2.0 Generic.
PermalinkCommentsDOM html javascript messagechannel postMessage programming technical

Corrections: Squirrel Nut Zippers

2012 Feb 15, 5:11

Awwww

Staff writer J.O. Rolston’s Jan. 28 feature “Swing Set,” about swing revivalists Squirrel Nut Zippers, was mistakenly written in 2012. He meant to write it in 1997. The Onion regrets the error.”

I like Squirrel Nut Zippers…

PermalinkCommentshumor music squirrel-nut-zippers

Squeak the Squirrel (1957)

2008 Jul 9, 10:30"Shows how a gold-mantled ground squirrel at Crater Lake National Park has learned to solve problems connected with getting food." Very camp but enjoyable and cutePermalinkCommentsgoogle video squirrel cute animal

Squirrels Complete Insane Obstacle Course - Video

2007 Sep 16, 1:06Video of squirrel going through awesome obstacle course. Its like Ninja Warrior for squirrels.PermalinkCommentshumor video squirrel animal
Older Entries Creative Commons License Some rights reserved.