{"action":"reopened","issue":{"url":"https://api.github.com/repos/matryer/goblueprints/issues/8","repository_url":"https://api.github.com/repos/matryer/goblueprints","labels_url":"https://api.github.com/repos/matryer/goblueprints/issues/8/labels{/name}","comments_url":"https://api.github.com/repos/matryer/goblueprints/issues/8/comments","events_url":"https://api.github.com/repos/matryer/goblueprints/issues/8/events","html_url":"https://github.com/matryer/goblueprints/issues/8","id":63744884,"number":8,"title":"Typos/cognitive noise on page 78 of the PDF version involving the naming of variables associated with the Gravatar Avatar Implementation","user":{"login":"lozandier","id":1223224,"avatar_url":"https://avatars.githubusercontent.com/u/1223224?v=3","gravatar_id":"","url":"https://api.github.com/users/lozandier","html_url":"https://github.com/lozandier","followers_url":"https://api.github.com/users/lozandier/followers","following_url":"https://api.github.com/users/lozandier/following{/other_user}","gists_url":"https://api.github.com/users/lozandier/gists{/gist_id}","starred_url":"https://api.github.com/users/lozandier/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lozandier/subscriptions","organizations_url":"https://api.github.com/users/lozandier/orgs","repos_url":"https://api.github.com/users/lozandier/repos","events_url":"https://api.github.com/users/lozandier/events{/privacy}","received_events_url":"https://api.github.com/users/lozandier/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/matryer/goblueprints/labels/2nd%20edition","name":"2nd edition","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-23T15:02:08Z","updated_at":"2016-05-05T12:11:22Z","closed_at":null,"body":"Throughout page 78, there are inconsistencies associated with the naming of instances of and direct references of the `GravatarAvatar` type.\r\n\r\n```go\r\nfunc TestGravatarAvatar(t *testing.T) {\r\n  var gravatarAvitar GravatarAvatar\r\n  client := new(client)\r\n  client.userData = map[string]interface{}{\"email\":\r\n  \"MyEmailAddress@example.com\"}\r\n  url, err := gravatarAvitar.GetAvatarURL(client)\r\n  if err != nil {\r\n    t.Error(\"GravatarAvitar.GetAvatarURL should not return an error\")\r\n  }\r\n  if url != \"//www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346\" {\r\n    t.Errorf(\"GravatarAvitar.GetAvatarURL wrongly returned %s\", url)\r\n  }\r\n}\r\n```\r\n\r\nThe type is  seemingly accidentally referred to as `GravtarAvitar` in error messages compared to earlier and later references to the code snippet on the page. \r\n\r\nAlternatively, and what seems to be more likely) it's unclear if the variable is being intentionally misspelled, but then referred to as `GravtarAvitar` in the formatted error messages. \r\n\r\nIf the latter is the case, it's confusing why that is being done, and why the error message doesn't make that clearer by having the first letter of the formatted errors present on the page lowercased. \r\n\r\n## Code Snippet after suggested corrections\r\n\r\n```go\r\nfunc TestGravatarAvatar(t *testing.T) {\r\n  var gravatarAvatar GravatarAvatar\r\n  client := new(client)\r\n  client.userData = map[string]interface{}{\"email\":\r\n  \"MyEmailAddress@example.com\"}\r\n  url, err := gravatarAvatar.GetAvatarURL(client)\r\n  if err != nil {\r\n    t.Error(\"gravatarAvatar.GetAvatarURL should not return an error\")\r\n  }\r\n  if url != \"//www.gravatar.com/avatar/0bc83cb571cd1c50ba6f3e8a78ef1346\" {\r\n    t.Errorf(\"gravatarAvatar.GetAvatarURL wrongly returned %s\", url)\r\n  }\r\n}\r\n```"}}