{"id":2690,"date":"2015-03-27T10:15:28","date_gmt":"2015-03-27T15:15:28","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=2690"},"modified":"2023-12-20T16:25:11","modified_gmt":"2023-12-20T21:25:11","slug":"things-ive-learned-this-week-march-23-27-2015","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2015\/03\/27\/things-ive-learned-this-week-march-23-27-2015\/","title":{"rendered":"Things I&#8217;ve Learned This Week (March 23 &#8211; 27, 2015)"},"content":{"rendered":"<blockquote class=\"twitter-tweet\" lang=\"en\"><p>&#8220;Things I learned this week&#8221; is my favorite section of our weekly team meeting.<\/p>\n<p>\u2014 Margaret Leibovic (@mleibovic) <a href=\"https:\/\/twitter.com\/mleibovic\/status\/578960216013684736\">March 20, 2015<\/a><\/p><\/blockquote>\n<p><script src=\"\/\/platform.twitter.com\/widgets.js\" async=\"\" charset=\"utf-8\"><\/script><\/p>\n<p>This is the first post in a weekly series, where I&#8217;m going to attempt to distill down my week into some lessons or facts I&#8217;ve picked up. Maybe they&#8217;ll be interesting to others. We&#8217;ll see.<\/p>\n<ol>\n<li>\u00a0Gecko Media Plugins are used both for WebRTC (the Open H.264 encoding stuff runs inside a GMP), and is also going to be used to hold CDM&#8217;s for EME&#8217;s. That&#8217;s a lot of TLA&#8217;s!<sup id=\"rf1-2690\"><a href=\"#fn1-2690\" title=\"Three Letter Acronyms\" rel=\"footnote\">1<\/a><\/sup><\/li>\n<li>This little notch I saw on the caret on my development build was because I had bidi.browser.ui set to true for some reason. It&#8217;s the &#8220;bidi caret&#8221;:<br \/>\n<a href=\"http:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2015\/03\/bidicaret.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2693\" data-permalink=\"https:\/\/mikeconley.ca\/blog\/2015\/03\/27\/things-ive-learned-this-week-march-23-27-2015\/bidicaret\/\" data-orig-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2015\/03\/bidicaret.png\" data-orig-size=\"152,62\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"Bidi Caret\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2015\/03\/bidicaret.png\" class=\"alignnone size-full wp-image-2693\" src=\"http:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2015\/03\/bidicaret.png\" alt=\"Bidi Caret\" width=\"152\" height=\"62\" srcset=\"https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2015\/03\/bidicaret.png 152w, https:\/\/mikeconley.ca\/blog\/wp-content\/uploads\/2015\/03\/bidicaret-150x62.png 150w\" sizes=\"auto, (max-width: 152px) 100vw, 152px\" \/><\/a><\/li>\n<li>People hacking on platform are supposed to avoid using the NS_ENSURE_* macros, according to <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Developer_guide\/Coding_Style#Use_the_nice_macros\">this.<\/a><sup id=\"rf2-2690\"><a href=\"#fn2-2690\" title=\"It says:&lt;br \/&gt;\n&lt;blockquote&gt;&lt;p&gt;Previously the NS_ENSURE_* macros were used for this purpose, but those macros hide return statements and should not be used in new code.&lt;\/p&gt;&lt;\/blockquote&gt;\n&lt;p&gt;\" rel=\"footnote\">2<\/a><\/sup> I originally learned this by reading <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1135541#c12\">cpearce&#8217;s review of a patch<\/a>.<\/li>\n<\/ol>\n<p>So let&#8217;s see if I can keep this up for a few weeks. Maybe I&#8217;ll get a collection of useful stuff by the end of the experiment!<\/p>\n<hr class=\"footnotes\"><ol class=\"footnotes\" style=\"list-style-type:decimal\"><li id=\"fn1-2690\"><p >Three Letter Acronyms&nbsp;<a href=\"#rf1-2690\" class=\"backlink\" title=\"Return to footnote 1.\">&#8617;<\/a><\/p><\/li><li id=\"fn2-2690\"><p >It says:<br \/>\n<blockquote><p>Previously the NS_ENSURE_* macros were used for this purpose, but those macros hide return statements and should not be used in new code.<\/p><\/blockquote>\n<p>&nbsp;<a href=\"#rf2-2690\" class=\"backlink\" title=\"Return to footnote 2.\">&#8617;<\/a><\/p><\/li><\/ol>","protected":false},"excerpt":{"rendered":"<p>&#8220;Things I learned this week&#8221; is my favorite section of our weekly team meeting. \u2014 Margaret Leibovic (@mleibovic) March 20, 2015 This is the first post in a weekly series, where I&#8217;m going to attempt to distill down my week into some lessons or facts I&#8217;ve picked up. Maybe they&#8217;ll be interesting to others. We&#8217;ll [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[861,6],"tags":[1122,1115,1114,1121,1123,1124],"class_list":["post-2690","post","type-post","status-publish","format-standard","hentry","category-mozilla-2","category-personal","tag-bidi-caret","tag-gecko-media-plugins","tag-gmp","tag-lessons","tag-ns_ensure","tag-ns_warn_if"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-Ho","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/comments?post=2690"}],"version-history":[{"count":5,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2690\/revisions"}],"predecessor-version":[{"id":2696,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2690\/revisions\/2696"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=2690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=2690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=2690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}