{"action":"created","comment":{"url":"https://api.github.com/repos/alexpusch/blog/pulls/comments/74509021","id":74509021,"diff_hunk":"@@ -0,0 +1,144 @@\n+Three most ridiculous monkey patches we've seen\n+=================\n+\n+> A monkey patch is a way for a program to extend or modify supporting system software locally.\n+> The term monkey patch seems to have come from an earlier term, guerrilla patch, which referred to changing code sneakily – and possibly incompatibly with other such patches\n+[Wikipedia](https://en.wikipedia.org/wiki/Monkey_patch)\n+\n+As a third party Javascript software provider, our code runs in the Wild Wide Web. Sites that try to support IE 6, shady Wordpress themes, site that were built in Dreamweaver and many other horrors as such.\n+\n+This is indeed a foreign environment. An unknown browser, unknown OS, and unknown developers who\n+race to create the most bizarre monkey patches you can think of. Bugs can be introduces indirectly in such a discreet way that you'll question whether this whole Internet thing is really worth it.\n+\n+Here are some of the more strange modifications we've seen:\n+\n+### 1. JSON\n+  JSON is a universal standard. well defined and vastly popular. A fact that doesn't hold some developers from monkey patching it.\n+\n+  How was JSON changed you ask? Lets examine the following output:\n+\n+  ```javascript\n+  JSON.stringify({a: undefined})\n+  // {\"a\":undefined}\n+  ```\n+\n+  See anything strange? Yep, the correct output should be ```{}```. As mentioned in the [docs](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) stringify omits undefined values. Unfortunately this version did not do so. Faulty JSON was sent to our servers, our JSON.parse failed, and stared in that days logs highscores.\n+\n+  But why? Probably a sloppy attempt to support older browsers. IE 6 strikes from the grave.\n+\n+### 2. Function.prototype.bind\n+  Function.prototype.bind is an important method, fundamental to Javascripts functional nature. An unnamed Word Press theme devs took upon themselves to re-implement it:","path":"monkey-patches.md","position":30,"original_position":30,"commit_id":"25bc5fb4ddda08b8114aee1cb28f4df042d8063a","original_commit_id":"25bc5fb4ddda08b8114aee1cb28f4df042d8063a","user":{"login":"alexpusch","id":1129358,"avatar_url":"https://avatars.githubusercontent.com/u/1129358?v=3","gravatar_id":"","url":"https://api.github.com/users/alexpusch","html_url":"https://github.com/alexpusch","followers_url":"https://api.github.com/users/alexpusch/followers","following_url":"https://api.github.com/users/alexpusch/following{/other_user}","gists_url":"https://api.github.com/users/alexpusch/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpusch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpusch/subscriptions","organizations_url":"https://api.github.com/users/alexpusch/orgs","repos_url":"https://api.github.com/users/alexpusch/repos","events_url":"https://api.github.com/users/alexpusch/events{/privacy}","received_events_url":"https://api.github.com/users/alexpusch/received_events","type":"User","site_admin":false},"body":"done","created_at":"2016-08-11T21:42:20Z","updated_at":"2016-08-11T21:42:20Z","html_url":"https://github.com/alexpusch/blog/pull/1#discussion_r74509021","pull_request_url":"https://api.github.com/repos/alexpusch/blog/pulls/1","_links":{"self":{"href":"https://api.github.com/repos/alexpusch/blog/pulls/comments/74509021"},"html":{"href":"https://github.com/alexpusch/blog/pull/1#discussion_r74509021"},"pull_request":{"href":"https://api.github.com/repos/alexpusch/blog/pulls/1"}}},"pull_request":{"url":"https://api.github.com/repos/alexpusch/blog/pulls/1","id":80350407,"html_url":"https://github.com/alexpusch/blog/pull/1","diff_url":"https://github.com/alexpusch/blog/pull/1.diff","patch_url":"https://github.com/alexpusch/blog/pull/1.patch","issue_url":"https://api.github.com/repos/alexpusch/blog/issues/1","number":1,"state":"open","locked":false,"title":"Monkey Patches","user":{"login":"alexpusch","id":1129358,"avatar_url":"https://avatars.githubusercontent.com/u/1129358?v=3","gravatar_id":"","url":"https://api.github.com/users/alexpusch","html_url":"https://github.com/alexpusch","followers_url":"https://api.github.com/users/alexpusch/followers","following_url":"https://api.github.com/users/alexpusch/following{/other_user}","gists_url":"https://api.github.com/users/alexpusch/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpusch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpusch/subscriptions","organizations_url":"https://api.github.com/users/alexpusch/orgs","repos_url":"https://api.github.com/users/alexpusch/repos","events_url":"https://api.github.com/users/alexpusch/events{/privacy}","received_events_url":"https://api.github.com/users/alexpusch/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-08-06T20:49:30Z","updated_at":"2016-08-11T21:42:20Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c3b7eee2478a08b1b2de11f652fbd871be03e183","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/alexpusch/blog/pulls/1/commits","review_comments_url":"https://api.github.com/repos/alexpusch/blog/pulls/1/comments","review_comment_url":"https://api.github.com/repos/alexpusch/blog/pulls/comments{/number}","comments_url":"https://api.github.com/repos/alexpusch/blog/issues/1/comments","statuses_url":"https://api.github.com/repos/alexpusch/blog/statuses/25bc5fb4ddda08b8114aee1cb28f4df042d8063a","head":{"label":"alexpusch:monkey-patchs","ref":"monkey-patchs","sha":"25bc5fb4ddda08b8114aee1cb28f4df042d8063a","user":{"login":"alexpusch","id":1129358,"avatar_url":"https://avatars.githubusercontent.com/u/1129358?v=3","gravatar_id":"","url":"https://api.github.com/users/alexpusch","html_url":"https://github.com/alexpusch","followers_url":"https://api.github.com/users/alexpusch/followers","following_url":"https://api.github.com/users/alexpusch/following{/other_user}","gists_url":"https://api.github.com/users/alexpusch/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpusch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpusch/subscriptions","organizations_url":"https://api.github.com/users/alexpusch/orgs","repos_url":"https://api.github.com/users/alexpusch/repos","events_url":"https://api.github.com/users/alexpusch/events{/privacy}","received_events_url":"https://api.github.com/users/alexpusch/received_events","type":"User","site_admin":false},"repo":{"id":65053530,"name":"blog","full_name":"alexpusch/blog","owner":{"login":"alexpusch","id":1129358,"avatar_url":"https://avatars.githubusercontent.com/u/1129358?v=3","gravatar_id":"","url":"https://api.github.com/users/alexpusch","html_url":"https://github.com/alexpusch","followers_url":"https://api.github.com/users/alexpusch/followers","following_url":"https://api.github.com/users/alexpusch/following{/other_user}","gists_url":"https://api.github.com/users/alexpusch/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpusch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpusch/subscriptions","organizations_url":"https://api.github.com/users/alexpusch/orgs","repos_url":"https://api.github.com/users/alexpusch/repos","events_url":"https://api.github.com/users/alexpusch/events{/privacy}","received_events_url":"https://api.github.com/users/alexpusch/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alexpusch/blog","description":null,"fork":false,"url":"https://api.github.com/repos/alexpusch/blog","forks_url":"https://api.github.com/repos/alexpusch/blog/forks","keys_url":"https://api.github.com/repos/alexpusch/blog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexpusch/blog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexpusch/blog/teams","hooks_url":"https://api.github.com/repos/alexpusch/blog/hooks","issue_events_url":"https://api.github.com/repos/alexpusch/blog/issues/events{/number}","events_url":"https://api.github.com/repos/alexpusch/blog/events","assignees_url":"https://api.github.com/repos/alexpusch/blog/assignees{/user}","branches_url":"https://api.github.com/repos/alexpusch/blog/branches{/branch}","tags_url":"https://api.github.com/repos/alexpusch/blog/tags","blobs_url":"https://api.github.com/repos/alexpusch/blog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexpusch/blog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexpusch/blog/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexpusch/blog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexpusch/blog/statuses/{sha}","languages_url":"https://api.github.com/repos/alexpusch/blog/languages","stargazers_url":"https://api.github.com/repos/alexpusch/blog/stargazers","contributors_url":"https://api.github.com/repos/alexpusch/blog/contributors","subscribers_url":"https://api.github.com/repos/alexpusch/blog/subscribers","subscription_url":"https://api.github.com/repos/alexpusch/blog/subscription","commits_url":"https://api.github.com/repos/alexpusch/blog/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexpusch/blog/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexpusch/blog/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexpusch/blog/issues/comments{/number}","contents_url":"https://api.github.com/repos/alexpusch/blog/contents/{+path}","compare_url":"https://api.github.com/repos/alexpusch/blog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexpusch/blog/merges","archive_url":"https://api.github.com/repos/alexpusch/blog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexpusch/blog/downloads","issues_url":"https://api.github.com/repos/alexpusch/blog/issues{/number}","pulls_url":"https://api.github.com/repos/alexpusch/blog/pulls{/number}","milestones_url":"https://api.github.com/repos/alexpusch/blog/milestones{/number}","notifications_url":"https://api.github.com/repos/alexpusch/blog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexpusch/blog/labels{/name}","releases_url":"https://api.github.com/repos/alexpusch/blog/releases{/id}","deployments_url":"https://api.github.com/repos/alexpusch/blog/deployments","created_at":"2016-08-05T22:46:43Z","updated_at":"2016-08-05T22:46:43Z","pushed_at":"2016-08-11T11:10:18Z","git_url":"git://github.com/alexpusch/blog.git","ssh_url":"git@github.com:alexpusch/blog.git","clone_url":"https://github.com/alexpusch/blog.git","svn_url":"https://github.com/alexpusch/blog","homepage":null,"size":7,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"monkey-patchs"}},"base":{"label":"alexpusch:master","ref":"master","sha":"7de9d76b03dc169e10c21aa2768e3454af4e1ff2","user":{"login":"alexpusch","id":1129358,"avatar_url":"https://avatars.githubusercontent.com/u/1129358?v=3","gravatar_id":"","url":"https://api.github.com/users/alexpusch","html_url":"https://github.com/alexpusch","followers_url":"https://api.github.com/users/alexpusch/followers","following_url":"https://api.github.com/users/alexpusch/following{/other_user}","gists_url":"https://api.github.com/users/alexpusch/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpusch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpusch/subscriptions","organizations_url":"https://api.github.com/users/alexpusch/orgs","repos_url":"https://api.github.com/users/alexpusch/repos","events_url":"https://api.github.com/users/alexpusch/events{/privacy}","received_events_url":"https://api.github.com/users/alexpusch/received_events","type":"User","site_admin":false},"repo":{"id":65053530,"name":"blog","full_name":"alexpusch/blog","owner":{"login":"alexpusch","id":1129358,"avatar_url":"https://avatars.githubusercontent.com/u/1129358?v=3","gravatar_id":"","url":"https://api.github.com/users/alexpusch","html_url":"https://github.com/alexpusch","followers_url":"https://api.github.com/users/alexpusch/followers","following_url":"https://api.github.com/users/alexpusch/following{/other_user}","gists_url":"https://api.github.com/users/alexpusch/gists{/gist_id}","starred_url":"https://api.github.com/users/alexpusch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexpusch/subscriptions","organizations_url":"https://api.github.com/users/alexpusch/orgs","repos_url":"https://api.github.com/users/alexpusch/repos","events_url":"https://api.github.com/users/alexpusch/events{/privacy}","received_events_url":"https://api.github.com/users/alexpusch/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alexpusch/blog","description":null,"fork":false,"url":"https://api.github.com/repos/alexpusch/blog","forks_url":"https://api.github.com/repos/alexpusch/blog/forks","keys_url":"https://api.github.com/repos/alexpusch/blog/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alexpusch/blog/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alexpusch/blog/teams","hooks_url":"https://api.github.com/repos/alexpusch/blog/hooks","issue_events_url":"https://api.github.com/repos/alexpusch/blog/issues/events{/number}","events_url":"https://api.github.com/repos/alexpusch/blog/events","assignees_url":"https://api.github.com/repos/alexpusch/blog/assignees{/user}","branches_url":"https://api.github.com/repos/alexpusch/blog/branches{/branch}","tags_url":"https://api.github.com/repos/alexpusch/blog/tags","blobs_url":"https://api.github.com/repos/alexpusch/blog/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alexpusch/blog/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alexpusch/blog/git/refs{/sha}","trees_url":"https://api.github.com/repos/alexpusch/blog/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alexpusch/blog/statuses/{sha}","languages_url":"https://api.github.com/repos/alexpusch/blog/languages","stargazers_url":"https://api.github.com/repos/alexpusch/blog/stargazers","contributors_url":"https://api.github.com/repos/alexpusch/blog/contributors","subscribers_url":"https://api.github.com/repos/alexpusch/blog/subscribers","subscription_url":"https://api.github.com/repos/alexpusch/blog/subscription","commits_url":"https://api.github.com/repos/alexpusch/blog/commits{/sha}","git_commits_url":"https://api.github.com/repos/alexpusch/blog/git/commits{/sha}","comments_url":"https://api.github.com/repos/alexpusch/blog/comments{/number}","issue_comment_url":"https://api.github.com/repos/alexpusch/blog/issues/comments{/number}","contents_url":"https://api.github.com/repos/alexpusch/blog/contents/{+path}","compare_url":"https://api.github.com/repos/alexpusch/blog/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alexpusch/blog/merges","archive_url":"https://api.github.com/repos/alexpusch/blog/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alexpusch/blog/downloads","issues_url":"https://api.github.com/repos/alexpusch/blog/issues{/number}","pulls_url":"https://api.github.com/repos/alexpusch/blog/pulls{/number}","milestones_url":"https://api.github.com/repos/alexpusch/blog/milestones{/number}","notifications_url":"https://api.github.com/repos/alexpusch/blog/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alexpusch/blog/labels{/name}","releases_url":"https://api.github.com/repos/alexpusch/blog/releases{/id}","deployments_url":"https://api.github.com/repos/alexpusch/blog/deployments","created_at":"2016-08-05T22:46:43Z","updated_at":"2016-08-05T22:46:43Z","pushed_at":"2016-08-11T11:10:18Z","git_url":"git://github.com/alexpusch/blog.git","ssh_url":"git@github.com:alexpusch/blog.git","clone_url":"https://github.com/alexpusch/blog.git","svn_url":"https://github.com/alexpusch/blog","homepage":null,"size":7,"stargazers_count":0,"watchers_count":0,"language":null,"has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"monkey-patchs"}},"_links":{"self":{"href":"https://api.github.com/repos/alexpusch/blog/pulls/1"},"html":{"href":"https://github.com/alexpusch/blog/pull/1"},"issue":{"href":"https://api.github.com/repos/alexpusch/blog/issues/1"},"comments":{"href":"https://api.github.com/repos/alexpusch/blog/issues/1/comments"},"review_comments":{"href":"https://api.github.com/repos/alexpusch/blog/pulls/1/comments"},"review_comment":{"href":"https://api.github.com/repos/alexpusch/blog/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/alexpusch/blog/pulls/1/commits"},"statuses":{"href":"https://api.github.com/repos/alexpusch/blog/statuses/25bc5fb4ddda08b8114aee1cb28f4df042d8063a"}}}}
{"actor":{"display_login":"alexpusch"}}