{"id":13397,"date":"2014-05-27T20:33:03","date_gmt":"2014-05-28T01:33:03","guid":{"rendered":"http:\/\/bucktownbell.com\/?p=13397"},"modified":"2014-05-27T20:33:03","modified_gmt":"2014-05-28T01:33:03","slug":"be-a-kernel-hacker","status":"publish","type":"post","link":"http:\/\/bucktownbell.com\/?p=13397","title":{"rendered":"Be a kernel hacker"},"content":{"rendered":"<blockquote><p>In this tutorial, we\u2019ll develop a simple kernel module that creates a \/dev\/reverse device. A string written to this device is read back with the word order reversed (\u201cHello World\u201d becomes \u201cWorld Hello\u201d). It is a popular programmer interview puzzle, and you are likely to get some bonus points when you show the ability to implement it at the kernel level as well. A word of warning before we start: a bug in your module may lead to a system crash and (unlikely, but possible) data loss.<\/p><\/blockquote>\n<p>via <a href=\"http:\/\/www.linuxvoice.com\/be-a-kernel-hacker\/\">Be a kernel hacker | Linux Voice<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this tutorial, we\u2019ll develop a simple kernel module that creates a \/dev\/reverse device. A string written to this device is read back with the word order reversed (\u201cHello World\u201d becomes \u201cWorld Hello\u201d). It is a popular programmer interview puzzle, &hellip; <a href=\"http:\/\/bucktownbell.com\/?p=13397\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[35],"tags":[702,217,61,494],"class_list":["post-13397","post","type-post","status-publish","format-standard","hentry","category-operating-systems","tag-educational","tag-kernel","tag-linux","tag-tutorial"],"_links":{"self":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts\/13397","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13397"}],"version-history":[{"count":1,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts\/13397\/revisions"}],"predecessor-version":[{"id":13398,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=\/wp\/v2\/posts\/13397\/revisions\/13398"}],"wp:attachment":[{"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13397"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13397"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/bucktownbell.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13397"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}