Category Archives: Thoughts on the World

Fashion Makes Doing IT Harder

I’m about to start building an expert system. Or maybe I might call it a "knowledge base", or a "rule based system". It’s not an "AI", as at least in its early life it won’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…

It’s a while since I built a rule engine, and I’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’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 "these new-fangled 4GLs might be interesting" and "we don’t hold with this iterative development malarkey" (I paraphrase slightly, but not much) made me realise that the "state of the art" 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.

Back on Amazon, and I tried searching for "expert system", "knowledge base" and "rule based system". 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 £100, both indications of "this is an old, rare book" and neither tempting me to make a punt. It doesn’t help that the summaries tend to be a list of technologies I’ve never heard of, and few seem to be focused on re-usable concepts and techniques.

OK, I thought. There’s obviously just a new term and I don’t know it. Wikipedia wasn’t much help, observing that the term "expert system" 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’t believe that), or they just became "business as usual" (quite possible, but a good reason why you might write a book about them, not the opposite). No indication of the "modern" term, and few recent references.

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 "Oh yes, we now just call them XXX". Nope. Both suggested AI and one suggested "cognitive computing", but as I’ve already observed, that’s a fundamentally different topic. Beyond that both were just suggesting the same terms I’d already tried.

Googling a practical question such as "rule based systems in .NET" produces a few hits and suggests that the state of technology support is pretty good. For example, Microsoft put the "Windows Workflow Foundation" 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’s not much general information on how to use it.

This appears to be a case where fashion is getting in the way. If something works, but is not "in", then authors don’t want to write about it, and editors don’t actively commission material. If the "thing" is something where the technology has improved, but not in a "sexy" 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’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’t.

So be it. I’m going to build a rule-based expert system knowledge base, and I don’t care if that’s not the modern term. It’s just frustrating that no-one seems to have written about how to do this with 2015 technology…

Posted in Agile & Architecture, Thoughts on the World | Leave a comment

Does Your Broadband Beat a Carrier Pigeon?

There’s a famous quote "never underestimate the bandwidth of a station wagon full of tapes bowling down a highway". Musing on this I decided to try and estimate the bandwidth of a carrier pigeon, given modern storage technology. According to Continue reading

Friday, May 6, 2016 in Agile & Architecture, Thoughts on the World

Going Greener!

After talking about it for over a year, I decided that my transport needed to be “greener”, and finally bit the bullet on the respray. This is “Vivianite Green”, actually an official Mercedes colour in the late 90s, but for Continue reading

Wednesday, May 4, 2016 in Thoughts on the World

All Tide Up

Like it’s predecessor, Man Up!, this is a knock-about farce based around the capable but somewhat cursed sports agent, Patrick Flynn. This time the key protegé is a nymphomaniac Russian tennis player, but otherwise the cast of gangsters, hit-men (& Continue reading

Monday, April 25, 2016 in Reviews, Thoughts on the World

Twin Tales of Sporting Daring-Do

The 1988 Winter Olympics brought us not only one, but two heart-warming stories of sporting heroism by unconventional outsiders. The story of the Jamaican Bobsleigh Team was told promptly in the wonderful 1993 Disney picture Cool Runnings, but we’ve had Continue reading

Monday, April 4, 2016 in Reviews, Thoughts on the World

Backing Up

Coming up with a reliable backup policy is a challenge as data volumes grow. My approach is as follows. On a weekly basis I do a full backup of the system disk of the more "volatile" PCs in our collection, Continue reading

Thursday, February 4, 2016 in PCs/Laptops, Photography, Santorini, Thoughts on the World

Snap!

As you know, I enjoy looking for patterns and coincidences. One potential source is the various ways I display my photo portfolios, and I occasionally spot the screensavers on two devices, for example, showing related images. This is interesting, but Continue reading

Thursday, January 28, 2016 in Photography, Thoughts on the World

Weinberg’s New Law, and the Upgrade Cascade

When I started the experiment of running Windows on a MacBook (continued here and here), I really expected it to just be a "travel" laptop, continuing with something like my Alienware R17X as primary machine. That changed rapidly when I Continue reading

Friday, January 22, 2016 in PCs/Laptops, Thoughts on the World

Platform Flexibility – It’s Alive!

The last post, written largely back in November and published just before Christmas suggested that camera manufacturers should focus on opening up their products as development platforms, much as has happened with mobile phones. While I can’t yet report on Continue reading

Monday, January 4, 2016 in Agile & Architecture, Android, Code & Development, Photography, Thoughts on the World

Do We Want Product Development, or Platform Flexibility?

There’s been a bit of noise recently in the photography blogosphere relating to how easy it is to make changes to camera software, and why, as a result, it feels like camera manufacturers are flat out not interested in the Continue reading

Tuesday, December 22, 2015 in Agile & Architecture, Code & Development, Photography, Thoughts on the World

From Nobgang to Bumthang…

Via Nobding (with more phalluses) – I couldn’t make this up if I tried! Today was essentially a very long and somewhat boring drive, to the “alpine” bit of Bhutan. Although start and end are probably only 50km apart as Continue reading

Saturday, November 21, 2015 in Bhutan Travel Blog, Thoughts on the World, Travel

SharePoint: Simply C%@p, or Really Complicated C%@p?

There’s a common requirement for professional users of online document management systems. Sometimes you want to have access to a subset of files offline, with the ability to upload changes when you have finished work and are connected again. Genuine Continue reading

Wednesday, November 4, 2015 in Agile & Architecture, Code & Development, Thoughts on the World