{"id":235,"date":"2017-04-09T12:16:03","date_gmt":"2017-04-09T16:16:03","guid":{"rendered":"http:\/\/coolskill.org\/site\/?page_id=235"},"modified":"2017-04-11T19:11:33","modified_gmt":"2017-04-11T23:11:33","slug":"coding","status":"publish","type":"page","link":"http:\/\/coolskill.org\/site\/coding\/","title":{"rendered":"Coding"},"content":{"rendered":"<p>By profession, I am a computer programmer. \u00a0A developer. \u00a0A software engineer. \u00a0The exact terms don&#8217;t really matter; what I do to make money is sit in front of a computer screen and input algorithms via a keyboard. \u00a0Sometimes I design the algorithms; sometimes, I just use pre-existing algorithms and apply them to effect the business requirements. \u00a0Sometimes I lead a team of developers in doing this; sometimes I just sit at my desk with headphones on and type away.<\/p>\n<p>This started in college; I had done a little bit of coding (BASIC on TRS-80 Model III computers) starting in middle school, but didn&#8217;t really consider it as a profession until my sophomore year of college. \u00a0I had intended to be a chemistry major, but when I couldn&#8217;t connect the homework to the tests I decided that I should probably look for another major. \u00a0I picked it up quickly, and by the time I had finished my course of study I had taught a computer how to learn to play a board game (<em>Adel Verpflichtet<\/em>, a game by Klaus Tueber). \u00a0This involved genetic algorithms, where the computer will start with random strategies and simulate games using those strategies. \u00a0It then looks at the winningest strategies, takes bits and pieces from them and combines them into new strategies, and runs more simulations. \u00a0Since this is based on the concept of &#8220;survival of the fittest&#8221; and is not unsimilar\u00a0to evolutionary genetics, this approach is called &#8220;genetic algorithms.&#8221; \u00a0And it worked. \u00a0By the time the simulations were ended, I sat down and played a game against the computer and it beat me soundly.<\/p>\n<p>I mostly enjoy this type of work, especially when it comes to designing new systems. \u00a0Building something from the ground up is, to me, much more interesting than simple maintenance. \u00a0But building new systems is very tedious; there are a lot of minutiae that go into building these systems. \u00a0Computers are unforgiving; missed little details can translate into big problems. \u00a0That&#8217;s why I wrote a program to write programs for me. \u00a0Called RACE, it doesn&#8217;t come up with new algorithms, but it does take away a lot of the tedious work and automates it. \u00a0It is template-based, so as I write new templates I can easily expand the scope of what RACE can accomplish.<\/p>\n<p>Of course, being able to create computer programs also helps in many of my other hobbies. \u00a0Not being satisfied with any available software, I wrote\u00a0a program to help organize my photographs into albums. \u00a0I have several cataloging applications, helping to manage my rounds collection, dance music, renaissance choir sources, magic tricks, and just about any thing else. \u00a0I have also written a program that creates brick movies. \u00a0This build on existing technology: \u00a0<a href=\"http:\/\/ldraw.org\" target=\"_blank\">LDRAW<\/a>, which is used to create virtual brick models, and\u00a0<a href=\"http:\/\/www.povray.org\/\" target=\"_blank\">POV-RAY<\/a>, which can be used to render those models in to photorealistic images. \u00a0My addition to this is <a href=\"http:\/\/coolskill.org\/site\/ldram\/\">LDRAM<\/a> (LDRAW Animation), which adds motion to this process.<\/p>\n<p>And that is what I do with a computer. \u00a0It&#8217;s not much; I don&#8217;t consider anything I do to be cutting-edge or groundbreaking, but it&#8217;s what I do.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>By profession, I am a computer programmer. \u00a0A developer. \u00a0A software engineer. \u00a0The exact terms don&#8217;t really matter; what I do to make money is sit in front of a computer screen and input algorithms via a keyboard. \u00a0Sometimes I design the algorithms; sometimes, I just use pre-existing algorithms and apply them to effect the &hellip; <\/p>\n<p class=\"link-more\"><a href=\"http:\/\/coolskill.org\/site\/coding\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Coding&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/pages\/235"}],"collection":[{"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/comments?post=235"}],"version-history":[{"count":2,"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/pages\/235\/revisions"}],"predecessor-version":[{"id":245,"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/pages\/235\/revisions\/245"}],"wp:attachment":[{"href":"http:\/\/coolskill.org\/site\/wp-json\/wp\/v2\/media?parent=235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}