{"id":2727,"date":"2015-04-25T16:22:21","date_gmt":"2015-04-25T21:22:21","guid":{"rendered":"http:\/\/mikeconley.ca\/blog\/?p=2727"},"modified":"2023-12-20T16:25:11","modified_gmt":"2023-12-20T21:25:11","slug":"the-joy-of-coding-ep-11-cleaning-up-the-view-source-patch","status":"publish","type":"post","link":"https:\/\/mikeconley.ca\/blog\/2015\/04\/25\/the-joy-of-coding-ep-11-cleaning-up-the-view-source-patch\/","title":{"rendered":"The Joy of Coding (Ep. 11): Cleaning up the View Source Patch"},"content":{"rendered":"<p>For this episode, <a href=\"http:\/\/richard.milewski.org\/\">Richard Milewski<\/a> and I figured out the syncing issue I&#8217;d been having in <a href=\"http:\/\/mikeconley.ca\/blog\/2015\/04\/10\/the-joy-of-coding-ep-9-more-view-source-hacking\/\">Episode 9<\/a>, so I had my head floating in the bottom right corner while I hacked. Now you can see what I do with my face while hacking, if that&#8217;s a thing you had been interested in.<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/playlist?list=PLmaFLMwlbk8wKMvfEEzp9Hfdlid8VYpL5\">I&#8217;ve also started mirroring the episodes to YouTube<\/a>, if YouTube is your choice platform for video consumption.<\/p>\n<p>So, like last week, I was under a bit of time pressure because of a meeting scheduled for 2:30PM (actually the meeting I was supposed to have the week before &#8211; it just got postponed), so that gave me 1.5 hours to move forward with the View Source work we&#8217;d started back in <a href=\"http:\/\/mikeconley.ca\/blog\/2015\/04\/02\/the-joy-of-coding-ep-8-view-source-hacking\/\">Episode 8<\/a>.<\/p>\n<p>I started the episode by explaining that the cache key stuff we&#8217;d figured out in <a href=\"http:\/\/mikeconley.ca\/blog\/2015\/04\/10\/the-joy-of-coding-ep-9-more-view-source-hacking\/\">Episode 9<\/a> was really important, and that <a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1156493\">a bug had been filed<\/a> by the Necko team to get the issue fixed. At the time of the video, there was a patch up for review in that bug, and when we applied it, we were able to retrieve source code out of the network cache after POST requests! Success!<\/p>\n<p>Now that we had verified that our technique was going to work, I spent the rest of the episode cleaning up the patches we&#8217;d written. I started by doing a brief self-code-review to smoke out any glaring problems, and then started to fix those problems.<\/p>\n<p>We got a good chunk of the way before I had to cut off the camera.<\/p>\n<p>I know back when I started working on this particular bug, I had said that I wanted to take you through right to the end on camera &#8211; but the truth of the matter is, the priority of the bug went up, and I was moving too slowly on it, since I was restricting myself to a few hours on Wednesdays. So unfortunately, after my meeting, I went back to hacking on the bug off-camera, and yesterday I put up a patch for review. <a href=\"https:\/\/reviewboard.mozilla.org\/r\/7401\/diff\/\">Here&#8217;s the review request, if you&#8217;re interested in seeing where I got to!<\/a><\/p>\n<p>I felt good about the continuity experiment, and I think I&#8217;ll try it again for the next few episodes &#8211; but I think I&#8217;ll choose a lower-priority bug; that way, I think it&#8217;s more likely that I can keep the work contained within the episodes.<\/p>\n<p>How did you feel about the continuity between episodes? Did it help to engage you, or did it not matter? I&#8217;d love to hear your comments!<\/p>\n<p><a href=\"https:\/\/www.evernote.com\/l\/AbLXSANxd8NOILcxXoL4xOg9pI4sEYUqZ4o\">Episode Agenda<\/a><\/p>\n<h2>References<\/h2>\n<p><a href=\"https:\/\/bugzilla.mozilla.org\/show_bug.cgi?id=1025146\">Bug 1025146 &#8211; [e10s] Never load the source off of the network when viewing source<\/a> &#8211; <a href=\"https:\/\/www.evernote.com\/l\/AbKJ3Z1m90ZLuZuThyXIsGaLuRi-dHUmETg\">Notes<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/air.mozilla.org\/the-joy-of-coding-mconley-livehacks-on-firefox-episode-11\/video\/\" width=\"896\" height=\"524\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>For this episode, Richard Milewski and I figured out the syncing issue I&#8217;d been having in Episode 9, so I had my head floating in the bottom right corner while I hacked. Now you can see what I do with my face while hacking, if that&#8217;s a thing you had been interested in. I&#8217;ve also [&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":[454,5,874,1117,861,79],"tags":[1108,1069,125,1103,35,1126],"class_list":["post-2727","post","type-post","status-publish","format-standard","hentry","category-code-reviews","category-computer-science","category-firefox-mozilla-2","category-livecoding","category-mozilla-2","category-technology","tag-cpow","tag-e10s","tag-firefox","tag-livehacking","tag-mozilla","tag-view-source"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/prmTy-HZ","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2727","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=2727"}],"version-history":[{"count":2,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2727\/revisions"}],"predecessor-version":[{"id":2732,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/posts\/2727\/revisions\/2732"}],"wp:attachment":[{"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/media?parent=2727"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/categories?post=2727"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mikeconley.ca\/blog\/wp-json\/wp\/v2\/tags?post=2727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}