{"id":1827,"date":"2016-07-06T20:56:13","date_gmt":"2016-07-06T19:56:13","guid":{"rendered":"http:\/\/www.andrewj.com\/blog\/?p=1827"},"modified":"2016-07-06T20:56:13","modified_gmt":"2016-07-06T19:56:13","slug":"fashion-makes-doing-it-harder","status":"publish","type":"post","link":"https:\/\/www.andrewj.com\/blog\/2016\/fashion-makes-doing-it-harder\/","title":{"rendered":"Fashion Makes Doing IT Harder"},"content":{"rendered":"<p>I&#8217;m about to start building an expert system. Or maybe I might call it a &quot;knowledge base&quot;, or a &quot;rule based system&quot;. It&#8217;s not an &quot;AI&quot;, as at least in its early life it won&#8217;t have any self-learning capability, but will just take largely existing guidance from master technicians, and stick some code behind it to deliver the right advice at the right time. Expert system is a good term, or so I thought&#8230;<\/p>\n<p>It&#8217;s a while since I built a rule engine, and I&#8217;ve never truly designed an expert system before, so I thought it might be a good idea to do some reading and understand the state of the art. That&#8217;s when the the trouble started. My client recommended a book on analysis for knowledge based systems, which I managed to track down for 1p + postage (that should have warned me). I got through most of the introduction, but statements such as &quot;these new-fangled 4GLs might be interesting&quot; and &quot;we don&#8217;t hold with this iterative development malarkey&quot; (I paraphrase slightly, but not much) made me realise that the &quot;state of the art&quot; documented was at least a generation old. The book has a few sound ideas about data structure, but pretty much everything it says about technology or process is irrelevant. <\/p>\n<p>Back on Amazon, and I tried searching for &quot;expert system&quot;, &quot;knowledge base&quot; and &quot;rule based system&quot;. That generates a few hits, but nothing of any substance younger than about 12 years old, nothing on Kindle, and prices varying dramatically between a few pence and the best part of \u00a3100, both indications of &quot;this is an old, rare book&quot; and neither tempting me to make a punt. It doesn&#8217;t help that the summaries tend to be a list of technologies I&#8217;ve never heard of, and few seem to be focused on re-usable concepts and techniques.<\/p>\n<p>OK, I thought. There&#8217;s obviously just a new term and I don&#8217;t know it. Wikipedia wasn&#8217;t much help, observing that the term &quot;expert system&quot; has largely gone out of use, and offering two opposing views why. Either expert systems became discredited and no-one does them any longer (I don&#8217;t believe that), or they just became &quot;business as usual&quot; (quite possible, but a good reason why you might write a book about them, not the opposite). No indication of the &quot;modern&quot; term, and few recent references.<\/p>\n<p>Phone a friend. I emailed a couple of friends both of whom are quite knowledgeable in a breadth of IT topics hoping that one of them might say &quot;Oh yes, we now just call them XXX&quot;. Nope. Both suggested AI and one suggested &quot;cognitive computing&quot;, but as I&#8217;ve already observed, that&#8217;s a fundamentally different topic. Beyond that both were just suggesting the same terms I&#8217;d already tried.<\/p>\n<p>Googling a practical question such as &quot;rule based systems in .NET&quot; produces a few hits and suggests that the state of technology support is pretty good. For example, Microsoft put the &quot;Windows Workflow Foundation&quot; into .NET in about 2008, and this includes a powerful rule engine which is perfectly reusable in its own right. So the technology is there, but again there&#8217;s not much general information on how to use it. <\/p>\n<p>This appears to be a case where fashion is getting in the way. If something works, but is not &quot;in&quot;, then authors don&#8217;t want to write about it, and editors don&#8217;t actively commission material. If the &quot;thing&quot; is something where the technology has improved, but not in a &quot;sexy&quot; way, then it goes unreflected in deeper or third party literature. Maybe that explains why Oracle seem driven to rename all their technologies every couple of years, it&#8217;s their way of attracting at least a modicum of interest even if it does confuse the hell out of developers trying to work out what has changed, and what really hasn&#8217;t.<\/p>\n<p>So be it. I&#8217;m going to build a rule-based expert system knowledge base, and I don&#8217;t care if that&#8217;s not the modern term. It&#8217;s just frustrating that no-one seems to have written about how to do this with 2015 technology&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m about to start building an expert system. Or maybe I might call it a &quot;knowledge base&quot;, or a &quot;rule based system&quot;. It&#8217;s not an &quot;AI&quot;, as at least in its early life it won&#8217;t have any self-learning capability, but &hellip; <a href=\"https:\/\/www.andrewj.com\/blog\/2016\/fashion-makes-doing-it-harder\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,2],"tags":[],"_links":{"self":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/posts\/1827"}],"collection":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/comments?post=1827"}],"version-history":[{"count":0,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/posts\/1827\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/media?parent=1827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/categories?post=1827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.andrewj.com\/blog\/wp-json\/wp\/v2\/tags?post=1827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}