{"id":4979,"date":"2013-06-03T13:56:31","date_gmt":"2013-06-03T11:56:31","guid":{"rendered":"http:\/\/daniel.haxx.se\/blog\/?p=4979"},"modified":"2013-06-03T13:56:31","modified_gmt":"2013-06-03T11:56:31","slug":"embedded-hacking-contest-2-decoded","status":"publish","type":"post","link":"https:\/\/daniel.haxx.se\/blog\/2013\/06\/03\/embedded-hacking-contest-2-decoded\/","title":{"rendered":"Embedded hacking contest #2, decoded"},"content":{"rendered":"<p>Okay, so here are the correct answers to the <a href=\"http:\/\/daniel.haxx.se\/blog\/2013\/06\/03\/embedded-hacking-contest-2\/\">embedded hacking #2 contest<\/a> (click for larger pictures):<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/quiz-answers.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-4980  aligncenter\" title=\"The contests correct answers marked\" src=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/quiz-answers-300x226.png\" alt=\"The contests correct answers marked\" width=\"300\" height=\"226\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/quiz-answers-300x226.png 300w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/quiz-answers-150x113.png 150w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/quiz-answers.png 989w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">The fact that you get the clues as hexadecimal uppercase ASCII was pretty quickly clear to everybody. I found it interesting to hear how people attacked the problem of decoding the hex into letters. Most people seem to have made a lookup-table fairly soon, and at least one contestant I talked to made a mistake in his table that turned W into X instead! This year&#8217;s winner did the conversion completely without a written down table&#8230;<\/p>\n<p style=\"text-align: left;\">So all the pieces are decoded like this:<\/p>\n<p style=\"text-align: center;\"><a href=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/final-question.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-4981  aligncenter\" title=\"The final question\" src=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/final-question-300x36.png\" alt=\"The final question\" width=\"300\" height=\"36\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/final-question-300x36.png 300w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/final-question-150x18.png 150w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/final-question-1024x124.png 1024w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/final-question.png 1130w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\">Of course, now a pedant would argue that FORK() isn&#8217;t correct, but I decided to use all uppercase just to make the conversion slightly easier. At least I think converting only uppercase ASCII as hex is easier. So the question is &#8220;What does fork() return in the child process?&#8221;<\/p>\n<p style=\"text-align: left;\">The answer to the question is 0 (zero). Short and simple. See <a href=\"http:\/\/linux.die.net\/man\/2\/fork\">fork&#8217;s man page<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-4982 alignright\" title=\"Linus Nielsen Feltzing is the happy winner!\" src=\"http:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/IMG_20130601_132656-225x300.jpg\" alt=\"Linus Nielsen Feltzing is the happy winner!\" width=\"225\" height=\"300\" srcset=\"https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/IMG_20130601_132656-225x300.jpg 225w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/IMG_20130601_132656-112x150.jpg 112w, https:\/\/daniel.haxx.se\/blog\/wp-content\/uploads\/2013\/06\/IMG_20130601_132656-768x1024.jpg 768w\" sizes=\"auto, (max-width: 225px) 100vw, 225px\" \/><\/p>\n<p style=\"text-align: justify;\">After <strong>13 minutes and 20 seconds<\/strong> since I clicked start on the timer, Linus Nielsen Feltzing approached me with a little note with the correct answer and we had a winner!<\/p>\n<p style=\"text-align: justify;\">The very happy Linus was very disappointed in the <a href=\"http:\/\/daniel.haxx.se\/blog\/2012\/10\/22\/embedded-linux-contest\/\">previous competition<\/a> when he was very close to winning but was beaten just within seconds by last time&#8217;s winner.<\/p>\n<p style=\"text-align: justify;\">Now, the Chromebook that Enea donated to the winner of the contest was handed over to Linus. (The Samsung Cortex-A15 version.)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Okay, so here are the correct answers to the embedded hacking #2 contest (click for larger pictures): The fact that you get the clues as hexadecimal uppercase ASCII was pretty quickly clear to everybody. I found it interesting to hear how people attacked the problem of decoding the hex into letters. Most people seem to &hellip; <a href=\"https:\/\/daniel.haxx.se\/blog\/2013\/06\/03\/embedded-hacking-contest-2-decoded\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Embedded hacking contest #2, decoded<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11,14,6],"tags":[361,35,360,270],"class_list":["post-4979","post","type-post","status-publish","format-standard","hentry","category-development","category-linux","category-floss","tag-contest","tag-embedded","tag-enea","tag-foss-sthlm"],"_links":{"self":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/4979","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/comments?post=4979"}],"version-history":[{"count":15,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/4979\/revisions"}],"predecessor-version":[{"id":5040,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/posts\/4979\/revisions\/5040"}],"wp:attachment":[{"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/media?parent=4979"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/categories?post=4979"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/daniel.haxx.se\/blog\/wp-json\/wp\/v2\/tags?post=4979"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}