{"id":346,"date":"2012-03-24T15:48:24","date_gmt":"2012-03-24T19:48:24","guid":{"rendered":"http:\/\/www.deadcodersociety.org\/?p=346"},"modified":"2012-04-29T13:49:30","modified_gmt":"2012-04-29T17:49:30","slug":"process-substitution-apaches-velocity-php-eval-and-hexagonal-game-boards-and-more","status":"publish","type":"post","link":"http:\/\/www.deadcodersociety.org\/blog\/process-substitution-apaches-velocity-php-eval-and-hexagonal-game-boards-and-more\/","title":{"rendered":"Process substitution, Apache&#8217;s Velocity, PHP Eval, and Hexagonal Game Boards and More"},"content":{"rendered":"<p>We held a DCS meeting on the 23rd of March and had the following presentations:<\/p>\n<p><a title=\"Jason Schollenberger\" href=\"http:\/\/www.deadcodersociety.org\/blog\/about\/members\/jason-schollenberger\/\" target=\"_blank\">Jason Schollenberger<\/a> presented on some of the different features he&#8217;s added to his IRC bot, and on a quick-and-dirty script for parsing Google widget data. His PHP code takes a Javascript array, prepends a <a title=\"Sigil\" href=\"http:\/\/en.wikipedia.org\/wiki\/Sigil_(computer_programming)\" target=\"_blank\">sigil<\/a> ($) and appends a semicolon. At this point, the array is a valid PHP script. This string is passed to PHP&#8217;s <a title=\"PHP Eval\" href=\"http:\/\/php.net\/manual\/en\/function.eval.php\" target=\"_blank\">eval<\/a>\u00a0function to become a valid PHP array. From there, the code is able to choose the desired element. Jason also presented an overview of recent improvements to his IRC bot that allow users to query several JSON-based APIs.<\/p>\n<p>Stan Schwertly presented on several different topic and prepared slides, which are available at:<\/p>\n<p><a title=\"Stan Schwertly's DCS slides\" href=\"http:\/\/wiki.schwertly.com\/everyone\/dcs-mar-23-12.html\" target=\"_blank\">http:\/\/wiki.schwertly.com\/everyone\/dcs-mar-23-12.html<\/a><\/p>\n<p>Among the topics presented are a song downloader for wearehunted.com, Bash&#8217;s process substitution, a scraper for stat information for etsy.com, an <a title=\"HTTPD\" href=\"http:\/\/httpd.apache.org\/\" target=\"_blank\">Apache HTTPD<\/a> directory size counter, strace example, and an explanation of improvements to his IRC bot.<\/p>\n<p>Aniello DiSpigna presented a demonstration detailing the usage of <a title=\"Velocity\" href=\"http:\/\/velocity.apache.org\/\" target=\"_blank\">Apache&#8217;s Velocity<\/a>, a &#8220;simple yet powerful template language to reference objects defined in Java code.&#8221; Aniello is a long-standing attendee of DCS and this marks his first presentation and meeting as member of the group.<\/p>\n<p><a title=\"Tom Rush\" href=\"http:\/\/www.deadcodersociety.org\/blog\/about\/members\/tom-rush\/\" target=\"_blank\">Thomas Rush<\/a>\u00a0presented on his work constructing a hexagonal gameboard in Python using <a title=\"pygame\" href=\"http:\/\/www.pygame.org\/news.html\" target=\"_blank\">pygame<\/a>, along with some of the struggles that come along with using this style of map. He reviewed some existing perspectives on coordinate systems for hexagonal maps, and discussed his own algorithms for line-of-sight detection and pathfinding.<\/p>\n<p>Cheers to the Dead Coder Society<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Jason Schollenberger, Stan Schwertly, Aniello DiSpigna, and Thomas Rush presented several topics at this month&#8217;s DCS meeting.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_links_to":"","_links_to_target":""},"categories":[3],"tags":[12,18,9,19,11,17,8,10],"aioseo_notices":[],"_links":{"self":[{"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/posts\/346"}],"collection":[{"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/comments?post=346"}],"version-history":[{"count":5,"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/posts\/346\/revisions"}],"predecessor-version":[{"id":446,"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/posts\/346\/revisions\/446"}],"wp:attachment":[{"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/media?parent=346"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/categories?post=346"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.deadcodersociety.org\/blog\/wp-json\/wp\/v2\/tags?post=346"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}