Monday, November 24, 2014

Apple Streatches the Truth - Just a bit...

Greetings:

OK, new OS X has been out for a while now so I thinks to my self think I that I shall upgrade my MacBookPro to the latest and greatest.  But I did stop to read the comments.  Apple said that the comments were running about 4.2 or something out of 5.0 possible.  Cool, thinks I to m'self.  So I went to read of the glowing comments.  Here is how 17 of them lined up.



Comments on upgrades to Apple Yosimite
Total
Score 1 2 3 4 5
Number of Ratings 13

1 3 17
Number * Score 13 0 0 4 15 32
Average Score



1.882352941

2 hours to install
So far so good Amazing

Chrome does not work

Great job

Missing applications

Runs great on my PC  ???

Three hous to downloand and will not install


Error in installing




Slow





Won't download for Mac Mini



WiFi disconnects evry 4-5 min



Cannot get it to download



Won't download




Bad design.  And I can't UN-Install



Won't download




Won't download




The comments under the score of 1 are how 13 of the comments lined up.  Not very flattering.  I think the one where the person said that they had missing applications was the most disturbing.  The others were that it took so long to install.  Now, admittedly, that person or persons might have had a really slow internet connection.  At any rate, what I saw (and only 17 most recent comments were viewable) was that Apple only scored about a 1.89 / 5.00.  That is a D+ or C-, depending on the curve.  (I figure that anything below a 1.0 is an F and anything between 1.00 and 1.99 is a D so that would be D+, right?)

What I did see was that those three persons with a good experience were all 5s and one 4.  No 2s.  No 3s.  Only one 4.  And only three 5s.  Well, anyway, just to prove that I do not have lot of common sense, I updated my iPhone to 8.1.1 - So far, so goo.  It took over two hours to download and install.  I am running at 15Mb from my IP so that might have something to do with it but everything else download rather quickly - even very large 250MB files take only a few minutes to download.  Maybe it is the iPhone itself that is so blinking slow...

Shalom,
James

Sunday, November 16, 2014

Benchmarks 2015

Greetings:

Yes, we will be doing benchmarks for 2015 with a presentation (maybe) at either Decision Camp 2014 and/or at Business Rules and Decisions Forum 2015.  In either case, I would like to have a panel discussion  of some kind after the one-hour (or less) presentation, much like we did back in BRF 2006.  Back then, it was a two-hour afternoon presentation that year when Dr. Forgy (PST OPSJ), Dr. Friedman-Hill (Sandia Labs Jess), Mark Proctor (Red Hat Rules and Drools), Daniel Selman (ILOG JRules now IBM ODM) and Pedram Abrari (Corticon) were all on the panel.  My part should be far briefer since all I want to do is to introduce the concept of BRMS/RuleBase benchmarks, show what we have done over the years, where we are today, and then moderate the panel discussion.

Maybe this year we could expand to 10 representatives comprised of the above plus Gary Riley (NASA CLIPS), Dr. Jacob Feldman (Open Rules), D/M/M X (Visual Rules), Carlos Seranno-Morales (Sparkling Logic SMARTS), D/M/M X (FICO Blaze Advisor).  The more participants the more confusion but I will do my best to moderate and not let someone "hog" the microphone nor to interrupt others until they are finished without being heavy-handed.

I will probably send out invitations to all of them and ask that they be represented.  Likely, only those blatantly opposed to benchmarks of any kind or those champions of the past years will be there so it should be a lively discussion. 

Another thing that I have done in the past was to allow only those "interpreted" version of the rulebase to run.  This year the vendor will be allowed to use the compiled Java version as well as "interpreted" version of the rulebase.  I will try and run both versions if available and will report on the difference in two different tables, one compiled and the other interpreted.  The interpreted versions will probably be a bit smaller since most modern rulebases do not run an interpreted version, only the compiled Java or Compiled-C/C++ versions.

Me?  I really like the idea of "Standardized" Benchmark(s) where everyone can compete with whatever rules they like so long as it solves the problem.  I am not a fan of micro-benchmarks since they do not measure the overall performance of the engine.  The old OPS-type benchmarks were, seemingly, deliberately designed wrong just to task the engine by loading and unloading the Agenda Table with as much junk as possible.  Probably I will still run the Waltz-50, WaltzDB-16 and WaltzDB-200 and add the Cliques and Vector Cover benchmarks.  Both of the latter are NP-Hard benchmarks and are, for all practical purposes, impossible to cheat.  And the vendors will have a free hand with the last two.

The first three are standard and will be dependent only on the Conflict Resolution Process (CRP), as so adroitly pointed out by Gary Riley at http://rileyonlife.blogspot.com/2014/05/river-benchmark.html .  As Gary pointed out there, the speed of the benchmark is highly dependent on the CRP but it also dependent on the number and type of CPUs used, the Hard Drive type and speed, the amount of RAM used and the command line used in either Java or CLIPS to give the process the "correct" amount of RAM and Swap space.  The original code for all of the OPS benchmarks are at http://www.cs.utexas.edu/ftp/ops5-benchmark-suite/ if you want to start at ground zero.

Oh, one other thing:  Later (probably in June or July) I will publish what I have so far on the benchmarks and try to get some suggestions on improving them, discarding them or adding other benchmarks that are more "real world" (as some have suggested.)  If you want the full nitty-gritty please request such in the comments section and I will send you one.   I do not plan on publishing them until the conference.

Shalom,
James

Tuesday, November 4, 2014

Not Really Appropriate - Part One

Greetings:

By "Not Really Appropriate" I mean that this is not the appropriate blog for this subject.  But, since I have WAY more readers on this blog than the "Nothing Technical" blog, and since I feel the need to get information out, I am using my technical blog.  There!

A long time ago, my step-son developed Phlebitis, an inflammation of the leg vessels.   Eddie was both a high-line worker (HV lines that run across the country) and later a truck driver, and this was extremely painful, but he endured it for many years - after all, he was a Country Boy and everyone knows that Country Boys are tough.  Eventually, he had to quit both jobs because of the pain and seek treatment.

Since he did not have health insurance, and, at the time, I had a bit of extra cash, I tried to pay for his treatments.  I even found a clinic in Southampton, UK, where they specialize in this one problem.  But he was fiercely independent and he went to a "Charity" hospital in Monroe, Louisiana, where he could get treatment and not have to pay for it.  It was there where a "quack" doctor from India ripped out the clogged veins.  He agreed to the procedure because the pain was excruciating and the doctor had assured him that this was the only solution.  Unfortunately, that was not a good idea.  It was a TERRIBLE idea.

He still had the pain and now his left leg would swell up to twice the size of the right leg.  It was normal size when he woke up in the morning but from the time that he got up and walked to the kitchen for coffee it had swollen and pain started for the day.  "The Pain" was constant and there was little relief, not even from the machine that they provided that "squeezed" the blood from heel to knee.  He had to wear size 3X running pants and his left leg filled up entire leg part in the left side.  It was a miserable life.  They (the quack doctors in Louisiana) gave him Hydrocodone 5, three times a day, for the pain but never did "fix" the legs.  But the Hydrocodone 5 didn't cut it.  That stuff is just a bit stronger than asprin.  He asked for more or something stronger but they said that they did not want to get him addicted to the pain killers.  (I take Hydrocodone 10 for migraines and it is not addictive!)  So, in his own youthful wisdom, he supplemented it with Jack Daniels three times a day.  Not what you would call  a "drunk" or even a "drinker" but not good when mixed with pain killers and cirrhosis.  

For many months he lived hand-to-mouth and with assistance from myself and his mother.  Finally, the State of Louisiana declared him to be disabled and he began to receive about $650 per month.  This barely covered his rent, gas for an old pickup, and food.  No movies.  No going out to supper.  No dates.  None of that.  Whenever I had a good month, which was frequent during some years,  I gave him what I could in cash. I tried and his mother tried to get him to move to Fort Worth where he would live with and the rent and food was free, Texas has MUCH better doctors, etc.    But, he had many friends out where he lived in Farmerville, LA, an he really loved living on the lake.

Eventually, as his health began to deteriorate, his mother bought a mobile home and moved near where he lived so that she could help take care of him when he needed it.  After about living there for three years, Eddie finally had to move in with his mother so that she could take care of him.  His weight over the years due to water-retention went slowly from  225 to 250 to 300 to 350 and, near the end, something over 400 pounds.   At the end, he could not walk without a walker to help him get around.  I won't bore you with the details, but eventually he had to be hospitalized for his problems again.  And, again, his mother cared for him even in the hospital because the hospitals there were pretty much third-world quality.

The State of Louisiana did send a technician around once a week to check his vitals and, on one visit, the technician told his mother that if Eddie did not get to the hospital right away he would die.  After many rounds of antibiotics  and bed rest, he made it back.  But the doctor told his mother that he probably would not live out the year due to the cirrhosis problem.  Sure enough, about three months later the paramedics had to take him to the hospital again where he lived only until the next morning.  By this time his kidneys had shut down completely and he was not in his right mind.  He never regained consciousness while at the hospital; which was a blessing for both him and his mom.

What was the solution?  First, not hiring quacks at public hospitals.  Secondly, had they given him enough pain killers (Norco-10 or equivalent) he might have developed a dependency on it but he would not have had to turn to Jack Daniels for help.  Think about this for a moment:  I am dependent on Metformin 1000mg twice daily for my diabetes - am I addicted to Metformin?  I sincerely believe that had they counseled him correctly, given him enough pain medication to kill the pain (or severely reduce it) then he might have lived a much longer, much better life.  I still believe that the doctors in Louisiana killed my step-son.

So, what should you take away from this little diatribe?  Don't trust doctors!  Get a second or third opinion if one of them recommends any kind of procedure that involves cutting anything on your body!  This includes backs, knees, necks and any other part of your anatomy.  Secondly, pain killers are here for a reason - to reduce pain.  When my wife had her knee replaced, they kept her on pain killers in the hospital, again in the rehab facility and still some more here at home.  The new theory is that you cannot heal as quickly while you are in pain.  Lower pain means faster healing.  Had those quacks in Louisiana followed that line of thought for Eddie, he might still be alive and very well today.

And, yes, there is a part two of this diatribe which will come later.  But, for now, trust no one!  Especially doctors who do not speak English very well or who look like they should be in high-school.

Ya'akov

Sunday, October 12, 2014

It's HERE! Decision Camp 2014 !!

Greetings, Programs:
(MCP in move, "Tron")

OK- Decision Camp 2014 starts tomorrow!
If
     ! DC2014.there()
Then
     U.B^2

OK, that was bad even for me.  :-)  Seriously, if you live ANYWHERE in Silly Valley, you really need to take some time to attend the Decision Camp 2014 being held at Pay Pal in San José, CA.  Even if you do not live in Silly Valley, you might want to attend just because of all of the really great speakers who will be there.  Check out the Agenda on the home page, http://www.Decision-Camp.com and see for yourself.

OK, if you do not want to hunt for them, I will tell you about some of them:
  • Doug Beeferman, Sift Science
  • Carole Ann Berlioz-Matignon, Co-Founder and CEO of Sparkling Logic
  • Matthew M. Burton, M.D., Mayo Clinic
  • Erwin De Ley, iSencia Belgium
  •  Mariano Nicolas De Maio, PlugTree (and Drools Engineer) 
  • Dr. Jacob Feldman,Founder and CTO, Open Rules
  • Dr. Charles Forgy, Inventor of Rete, Rete 2, Rete III, Rete NT and now Co-Founder and Chief Scientist with Sparkling Logic
  • Dr. Marcia Gottgtroy, Inland Revenue New Zealand
  •  Alex Karman, Revolutionary Machines
  • Colleen McClintock, Co-Founder and Product Manager at Sparkling Logic
  • Erik Marutian
  • James Owen, Founder and CEO of KnowledgeBased Systems Corporation
  • Mark Proctor, Co-Founder of Drools, Red Hat Platform Architect- aka Drools and Red Hat Rules
  • Chris Purdum, PayPal
  • Howard Rogers, RapidGen Software
  • Kenny Shi,Engineering Manager for UBER Technologies
  •  Carlos Seranno-Morales, Co-Founder and Chief Architect at Sparkling Logic
  • James Taylor, Founder, Decision Management Systems
  • Tobias Vigmostad, Decisive AS

There, now you do not have to go look them up.  BUT, if you want to know more about them (other than they are the industry leaders in Decisioning and RuleBased (aka, BRMS) Systems, then visit the web page above and take a look.

See you in San Jose?

Shalom,
James


Friday, September 26, 2014

BAD iOS 8

Greetings:

I received this from Chelanie Israel this morning.  If you are running a recent iPhone and want to upgrade to iOS 8 - OR - if you updated to iOS8 already, PLEASE read the following message (onlhy slightly edited for content and space).

===================================
iOS UPATE:  The update (8.02) to the bad code was released Thursday night (9/25/14) about 10 pm. I have tested the new update and we are ready to update iOS devices (iPads and iPhones) from 8.0 to 8.02 or you can move from 7 to 8.02 safely. Please do so as quickly as you can.

FYI: The original code that was effected was 8.01. It was released Thursday morning (9/25/14) at 6:00 am CST and pulled from the Apple servers at 9:00 am CST.

On the same note there is a vulnerability that was found early yesterday and confirmed all
  • Linux
  • BSD
  • MacOS
  • iOS if Jailbroken
  • Android with bash services turned on
  • Windows machines running IISS (server software).

If you haven’t upgraded to iOS 8.02, please do so as this will protect your iPads and iPhones (which are not suppose to be effected, but this is something that is being suggested by Apple), if you have a jailbroken phone, you will need to restore your iPhone to factory settings until they can fix the cydia breakpoint.

All versions of MacOS are vulnerable at this point. I have a call with Apple this morning (9/26/14) to find out if they will have a software update today.  So far, nothing.  I will be updating both of my servers this evening.

All versions of Mac OS Computers have the Shellshock vulnerability. However, some are more susceptible than others. To be completely safe you will need to update your bash (part of your command line from the BSD which is part of your operating system) from 3.2.51 to 3.2.53. This is done via one of two ways:

1. You can manually update the machine through the terminal
2. You can use the software update to do the update when it is available.  It looks as though this will be sometime within the next week.

Most personal machines are not vulnerable to Shellshock as someone would have to crack the firewall or router to which you are connected, to access your machine.  If you are only accessing the internet via your home or office network, then you have reasonable safety.  If you have a double firewall, again you have reasonable safety, but your machine is still vulnerable to Shellshock.

You can also make sure that Sharing, Remote Login and Remote Management are turned off. Although this helps, this does not fix the vulnerability to Shellshock.

The reason you may want to update manually is because your machine either sits on the web for people to access (i.e. servers) or you travel and use public WiFi (i.e. hotels, McDonald's, Starbucks, etc) often. If you are using a private MiFi device, that is not a public WiFi.

What is Shellshock? It is a vulnerability or hole in the code that allows someone to take over your computer without you giving them permission. It is definitely something that needs to be protected from.

______________________________________
Chelanie Israel aka Miss Mac

email:    chelanie@missmac.ch • missmac@mac.com
web:    http://www.designbymissmac.com
blog:    http://www.dearmissmac.com
twitter:     MissMacsMuses
                c: 214.718.1967  • f: 469.327.0843

======================================
Later on Chelanie sent this out:

From a terminal window:

$ mkdir bash-fix
$ cd bash-fix
$ curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -
$ cd bash-92/bash-3.2
$ curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0   
$ # Note: The bash23-053 patch does not apply cleanly on OSX because
$ # of a missing y.tab.c file. This can be ignored or the alblue
$ # one used instead. Upstream commits the y.tab.c file so doesn't
$ # have that problem.
$ # Not-yet-released-patch - replace alblue.bandlem.com line with:
$ # curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0 
$ curl http://alblue.bandlem.com/bash32-053.patch | patch -p0
$ cd ..
$ sudo xcodebuild
$ sudo cp /bin/bash /bin/bash.old
$ sudo cp /bin/sh /bin/sh.old
$ build/Release/bash --version # GNU bash, version 3.2.53(1)-release
$ build/Release/sh --version   # GNU bash, version 3.2.53(1)-release
$ sudo cp build/Release/bash /bin
$ sudo cp build/Release/sh /bin

To verify it worked:

$ bash --version

Source: http://apple.stackexchange.com/questions/146849/how-do-i-recompile-bash-to-avoid-shellshock-the-remote-exploit-cve-2014-6271-an


======================================

Here is a link to an InfoWorld article on Shellshock:

http://www.infoworld.com/article/2687975/security/four-no-bull-facts-to-know-about-the-shellshock-bash-bug.html

 I hope this helps some of you.  If not, contact Apple Support - if you can get through their clogged telephone lines right now.  And, as normal, it is a crisis with the weekend coming up.

Shalom
Ya'akov

Thursday, September 4, 2014

Wet Blankets Throughout History

Greetings:

To help develop an open-minded and defiant attitude to other' rejection of your ideas, remember that many creative contributions are initially met with skepticism if not outright hostility.  Keep a list of creative contributions that we now know to be significant but that were once thought to be crazy, stupid, useless, offensive and doomed to failure.  The next time you or someone you know has an idea, give an idea a chance - or at least to not immediately shoot it down - than to be one of those who always say, "That wor't work." or "That is a bad idea" or "That is too risky" and, hence, never do anything great.  Here are some examples to begin your list:
  • "This 'telephone' has too many shortcomings to be seriously considered as a means of communications.  The device is inherently of no value to us." [Western Union internal memo, 1876]
  • "The wireless music box has no imaginable commercial value.  Who would pay for a message sent to nobody in particular?" [David Sarnoff's associates in response to his urgings for investment in the radio in the 1920's]
  • "The concept is interesting and well-formed, but in order to earn better than a 'C,' the idea must be feasible." [A Yale University management professor in response to Fred Smith's paper proposing reliable overnight delivery service.  Smith on on to found Federal Express Corp.]
  • "Who the hell wants to hear actors talk?" [H. M. Warner, Warner Brothers, 1927]
  • "I'm just glad it'll be Clark Gable who's falling on his face and not Gary Cooper."  [Gary Cooper on his decision not to take the leading role in "Gone With The Wind."]
  • "A cookie store is a bad idea.  Besides, the market research reports say American likes crispy cookies, not soft and chewy cookies like you made." [Response to Debbie Fields' idea of starting Mrs. Fields's Cookies]
  • "We don't like their sound, and guitar music is on the way out." [Decca Recording Company rejecting the Beatles, 1962]
  • "Heavier-than-air flying machines are impossible." [Lord Kelvin, President, Royal Society, 1895]
  • "If I had thought about, I wouldn't have doen the experiment.  The literature was full of examples that said you can't do this."  [Spencer Silver on the work that led to the unique adhesive for 3-M "Post-It" notepads.]
  • "So we went to Atari and said, 'Hey, we've got this amazing thing, even built with some of your parts, and what do you thing about funding us?  Or, we'sll give it to you.  We just want to do it.  Pay our salary, we'll come work for you.'  And they said, 'No.'  So then we went to Hewlett-Packard, and they said, 'Hey, we don't need you.  You havent' got through college yet.' "  Apple Computer Inc. founder Steve jobs on attempts to get Atari and H-P interested in his and Steve Wozniak's personal computer.
  • Professor Goddard does not know the relations between action and reaction and the need to have something better than a vacuum against which to react.  He seems to lack the basic knowledge ladled out daily in high schools." [1921 New York Times editorial about Robert Goddard's revolutionary rocket work.]
  • "Your want to have consistent and uniform muscle development across all of uyour muscles?  It can't be done.  It just a fact of life.  You just have to accept inconsistent muscle development as an unalterable condition of weight training." [Resons to Arthur Jones, who solved the "unsolvable" problem by inventing Nautilus.]
  • "Drill for oil?  You mean drill into the ground to try and find oil?  You're crazy!" [Drillers whom Edwin L. Drake tried to enlist to his project to drill for oil in 1859.]
I am not sure of the original author of the above but this went the rounds when I was at FedEx back in 1995-1997.  I think that Fred Smith must have been the instigator but we could never prove it.  :-)  If you have any more "documented" Wet Blankets, please send them to me or post them in the comments section.  Thanks,

Shalom,
James

Thursday, June 26, 2014

Where Can I Find a Good Rulebase ?

Greetings:
[Updated 10 July 2014]
[Updated 20 July 2014]

Basically, this is a major part of Chapter Four of our new book that should be coming out the first of next year.  If you work for one of these products or companies and I have made an error, please contact me at jco@kbsc.com rather than making a comment here.  Thanks,


Shareware

-        C/C++, LISP, et. al.  Most of the early AI engines were written in List Processor (LISP) language that, while very descriptive and modular, was, nevertheless, quite slow.  There were also many that were written in languages such as BASIC, Pascal, C/C++ and even in COBOL.  However, very few of those were commercial engines.  LISP was a beautiful language (except for the over use of the parenthesis) and was the darling of most of the academia.  Nevertheless, LISP was so exceedingly slow that there were LISP machines dedicated to doing only one job; running programs in LISP.  Most of the early (and even some of the later incarnations) of the Production Systems rulebase programs were written in LISP.

-        Common LISP Reasoner : The Common Lisp Reasoner extends the Common Lisp Object System (CLOS) to incorporate a powerful rule language suitable for all kinds of reasoning tasks, vanilla XML and RDF/XML interfaces, and support for a variety of AI-related applications, such as scheduling, planning and diagnosis.  The main site is http://sourceforge.net/projects/reasoner/?source=pdlp and the download site is http://sourceforge.net/projects/reasoner/files/latest/download?source=pdlp .

-        CLIPS (C-Language Interface to Production Systems): Written mainly by Gary Riley (when he was still at NASA) it was one of the first to have book associated with just one particular RuleBased System:  Girratano and Riley, Introduction to Expert Systems.  The syntax is still OPS-style but it will run almost any Jess rulebase if the classes are re-written into C/C++ syntax.  It also has many, many FORTRAN-like subroutines because that was what NASA wanted at the time.  This can still be obtained free from http://sourceforge.net/projects/clipsrules/?source=directory.  Also available are

o   CLIPS with Lock Support: CLIPS is a forward-chaining rule-based programming language written in C that also provides procedural and object-oriented programming facilities.  CLIPS is probably one of the first implementations of a “modern-langauge” Rulebase outside of OPS environments.  It can be found at http://sourceforge.net/projects/clipswl/?source=directory  

o   CLIPSwl is a modified project based on CLIPS(C Language Integrated Production System)(https://sourceforge.net/projects/clipsrules/), a public domain open-source software tool for building expert systems. CLIPS(ver. 6.24) is unsafe when access simultaneously occurs at the same environment, because the environment data of CLIPS are not protected for simultaneous access.

We modified the CLIPS (ver. 6.24) to support lock/unlock functions in a flexible way.
CLIPSwl doesn't use complicated logic such as platform-independent mutex,
but newly defines 4 abstract functions (i.e. using function pointers) for allocating, acquiring, releasing and deallocating locks of the environment data.
Users may define their own functions that fit for their system by using their platform-dependent mutex.  My Note:  CLIPS 6.24 is significantly slower than CLIPS 6.3.

CLIPSwl also support the safe string-related functions treating the rules,
and refining the warning parts of the code when compiling with gnu g++ compiler.

o   CLIPS Editor: An editor just for CLIPS: http://sourceforge.net/projects/clipseditor/?source=directory

o   Interface to CLIPS Library: clipsmm is a C++ interface to the CLIPS libray, a C library for developing expert systems. http://sourceforge.net/projects/clipsmm/?source=directory

o   DCLIPS or OO-CLIPS: Implementation of Rete pattern-matching algorithm, with scripting language based on COOL (CLIPS Object Oriented Language): http://sourceforge.net/projects/clips-sharp/?source=directory

(Comments by Gary Riley - 20 July 2014)  It was written mainly by myself and Brian Dantes.
I think Programming Expert Systems in OPS5, http://www.amazon.com/Programming-Expert-Systems-Ops5-Addison-Wesley/dp/0201106477, predated CLIPS as the first book associated with a particular language.
I'm not sure what the "many, many FORTRAN-like subroutines" statement is referring to. Being able to integrate with languages used operationally with NASA, such as C and FORTRAN, was a key goal for CLIPS, but  having FORTRAN-like subroutines, whatever that means, was never a consideration.

 (jco) Many of the sub-routines are FORTRAN-like and seem designed for engineers.  "Seem" being the operative word.
 

-        DROOLS (Dynamic Rule Object Oriented Language System - http://drools.jboss.org ) has the distinction of being one of the few (only one of which we are aware) XML-based rulebased systems and uses Java as it’s shell.  Source code is available.  Drools uses a slightly modified version of the Rete algorithm called the Rete-OO algorithm.  This has to do with root-nodes available in XML as part of OO languages.  However, one should also remember that anything to do with XML (at the time of this writing) also has a name space problem.  Meaning that there are many times that the same name can NOT be used, even with proper name space declaration.  In 2013 Mark Proctor (Drools inventor and project lead for JBoss) changed the main algorithm to a more OO approach and he is still dealing with the consequences as of the time of this writing.

-        Intelligent Agents for LISP -∫: Lisa is a production rule system for Common Lisp, whose purpose is to provide a foundation for the development of "intelligent" applications. Lisa employs a modern CLOS implementation of Rete and is based on CLIPS and Jess.

-        Jess (Java Expert System Shell - http://herzberg.ca.sandia.gov/jess/ )  is the brainchild of Dr. Ernest Freidman-Hill of Sandia labs. Initially, Dr. Friedman-Hill did some work on optimization of the Rete algorithm and it was quite fast for its time.  However, it has not improved much over the years and, as a result, seems to be lagging behind ReteNT, OPSJ, Blaze Advisor, ODM and Drools in terms of speed.  Source code is available but there is a charge for commercial use of the product with certain export limits for used outside the USA.  Dr. Freidman-Hill maintains an email list of Jess users and is quite quick in his response time on answers to questions; sometimes within seconds, but usually within a few hours and within 24 hours the very most.

o   There is a fuzzy logic addendum for Jess that can be obtained for a nominal charge from Bob Orchard, http://www.iit.nrc.ca/IR_public/fuzzy/fuzzyJToolkit2.html .  Please contact Bob.Orchard@nrc-cnrc.gc.ca for more details on Jess Fuzzy logic.  .

-        JEOPS: Jave Extended OPS: JEOPS is a Java based forward chaining RULE ENGINE.
This Rule Engine is used to power up the business process by rules in Java Application Servers, client applications, and Servlets.  The main page is http://sourceforge.net/projects/jeops/?source=pdl and the download link is http://sourceforge.net/projects/jeops/files/latest/download?source=recommended .

-        JLisa – Intelligent Agenst for LISP: JLisa, "Java Lisp-based Intelligent Software Agents", is based on Lisa, http://lisa.sourceforge.net/, a production rule system similar to Jess. It runs in java through ABL, armed-bear Lisp.  It can be found at and the download link is http://sourceforge.net/projects/jlisa/files/latest/download?source=recommended .

-        JRule Engine : The project consists of a library based on Java Specification Request 94, release 1.1, i.e. is a java rule engine. Please refer to "Java Rule Engine API - JSR-94" document (file jsr94_spec.pdf) included in JSR-94 distribution. The main page (from IBM – NOT JRules nor ODM) is at http://sourceforge.net/projects/jruleengine/?source=pdlp and is still downloadable at http://sourceforge.net/projects/jruleengine/files/latest/download?source=files .

-        JxBRE - Light-weight Java based Business Rules Engine (BRE) that uses XML as a way to control process flow for an application in an external entity. Soon to comply to JSR 94.  The home site is http://sourceforge.net/projects/jxbre/ and the download site is http://sourceforge.net/projects/jxbre/files/latest/download .

-        NxBRE is a lightweight Business Rule Engine (aka Rule Based Engine) for the .NET platform, composed of a forward-chaining inference engine and an XML-driven flow control engine. It supports RuleML 0.9 Naf Datalog and Visio 2003 modeling.  Their home page is at http://sourceforge.net/projects/nxbre/?source=recommended but I could not find anything that said anything about the Rete Algorithm.

Commercial

-        Aion is one of the elders statesmen of the industry.  It is most designed for mainframe applications.  Wikipedia describes it as such but thier website, http://en.wikipedia.org/wiki/Cleverpath_AION_Business_Rules_Expert , tells a different story.  They have many rulebase tools and even a Java interface as well as a C/C++ interface.  Further, Aion seems to be an IBM company in disguise.  Colossus, a computer program, developed by Computer Sciences Corporation, is the insurance industry’s leading expert system for assisting adjusters in the evaluation of bodily injury claims (aka "pain and suffering"). Colossus helps adjusters reduce variance in payouts on similar bodily injury claims through objective use of industry standard rules.  Kirk Wilson and Michael Parish are award winning Aion developers who have done much to advance the use of the tool within various industries.

-        Fair Isaac Corporation “Blaze Advisor” was originally founded as Neuron Data in about 1984 with their flagship product, Nexpert, a true full-opportunistic, backward-chaining rulebased system written in C.  Later, the product moved to the OO world with C++.  With the advent of Java in 1986-87, ND developed their version of a forward-chaining system called Advisor.  The original version, like Nexpert, did not use Rete but a home-grown version of an optimizer.  Version 2, introduced as a beta product in mid-1988 and as the full-blown version in February of 1989, did use the an updated version of the Rete algorithm.  By this time, the company was already moving to become public and had replaced the original founders with IBM-type corporate figure heads. 

o   When the company went public in April of 2000, they changed the name to Blaze Software to try to move away from the Artificial Intelligence stigma and toward a more business-like approach, though how in the world a corporate name like “Blaze” was supposed to do this one can hardly imagine.  At any rate, the company was bought by Brokat, a web consulting company in Germany for $585 million straight stock swap.  All this before the six-month lock-out period expired for the original stockholders.   With the stock market already in a downward spiral, Brokat never had a chance and they eventually sold the Blaze Advisor rulebase system, along with the personnel and software, to HNC.  HNC then sold it off to Fair Isaac Corporation (FICO) where it is at this time. 

o   Commercially, the Blaze Advisor is the Cadillac of all the rulebased systems; meaning that it has all of the comforts of home but at an extremely high price.  Before the acquisition of Rules Power, which gave FICO the Rete 2, aka Rete III, algorithm, it has the worst benchmarks on Solaris systems .  However, BlazeAdvisor performed with the best of the systems (except for OPSJ) on Windows NT, Win2K, Windows XP  and Windows 7/8.  Today, it ranks #3, right behind OPSJ-ReteNT (#10 and Sparkling Logic SMARTS (#2). 

-        ILOG JRules, now IBM ODM:  ILOG originally started in Paris, France (like Neuron Data) in 1987 and opened and office in Mountain View, CA, shortly thereafter.  The company was bought by IBM in 2009 and the product name was changed to IBM ODM (Optimized Decision Manager.)  The main link is http://www-01.ibm.com/software/info/ilog/ .  Originally the breadth of the ILOG products were (shown as IBM products for the main description):
·       IBM WebSphere ILOG JRules, a business rule management system (BRMS) that enables both business and IT users to write and maintain the logic applied by applications that automatically implement decisions.
·       IBM ILOG CPLEX, optimization software for mathematical programming
·       IBM ILOG JViews, a visualization development system based on Java and supported with add-ons for Gantt charts, graphs, maps and diagrams
·       IBM ILOG Elixir component sets for Adobe AIR and Adobe Flex platforms
·       ILOG Solver was considered the market leader in commercial constraint programming software as of 2006.[1]  
  • InRule: [InRule Marketing Blurb] A Microsoft Certified Gold Partner, InRule Technology has been delivering InRule, another .NET Business Rule Management System for the Microsoft platform, since 2002.  InRule Technology helps you turn your rules into measureable IT and business results by making it easy to align the logic of core applications with ever-changing marketplace and customer needs.  InRule Technology is trusted by hundreds of organizations for mission-critical and customer-facing applications.   [There was a major meeting of InRule with the National WIC in Dallas, TX, on 21 September 2013.
-        (PST) OPSJ is the latest invention of Dr. Charles Forgy, the inventor of the Rete Algorithm in about 1989. (Forgy-79)  The Rete algorithm has been credited with making commercialization of rulebased systems possible (Girratano-98) and has since been superceded by the proprietary Rete 2 algorithm.  Dr. Forgy also laid the ground work for Rete systems with CLIPS/R2 (a C/C++ version of CLIPS that uses the Rete 2 algorithm) and with OPS/R2, a LISP-based system that uses Rete 2.  (Yes, Dr. Forgy is also one of the authors of this book.)

o   OPSJ was delivered to the world in 1998 and is, at the time of the writing of this book, at version level 6.  It is still without peer in terms of speed and smallness of footprint, meaning that the runtime engine takes only about 100KB or less.  The speed has to do with the Rete 2 algorithm that optimizes memory space required and number of objects examined.  The size has to do with the absence of any API (at this time) and that OPSJ is a superset of Java rather than just using the Java engine.
o   Since that time, in about 2010, Dr. Forgy introduced Rete-NT.  This version of the Rete Algorithm can be used with almost any forward-chaining rulebase and is 10 times faster than Rete-2 (OPSJ) or Rete-III (Blaze Advisor) when using large datasets and complex rulebase queries such as those for Homeland Security and other massive applications.

-        Pega Systems used to have an independent rulebase system but has since rolled it back into their overall product system.

-        Sparkling Logic SMARTS : These are the new kids on the block.  The company is composed mostly of former FICO VP’s, tool designer and engineers along with a smattering of  former ILOG folks.  SMARTS is actually really cool with the way the basic rules, predictive analytics, decision tables, decision trees and decision graphs all work seamlessly.  They have a thing called a “Red Pen” and “Blue Pen” – the former being the rulebase and the other being the predictive analytics part of the tool.  I would that everyone would do this so that I did not have to bring one down in order to bring up the other.  Besides all of that, SMARTS uses the Rete-NT algorithm, the latest andgreatest from Dr. Charles Forgy, and ranks in performance on very large rulesets/datasets right behind OPSJ-Rete-NT. 


 



BRMS Benchmarks - Decision Camp 2014

Greetings:

Once again we will be covering BRMS Benchmarks, this time at Decision Camp 2014 in San Jose, CA.  I covered most of the BRMS Benchmarks in a previous article (above). The new benchmarks for 2014 come from a series of benchmarks known as “NP complete” benchmarks where NP stands for Non-deterministic Polynomial-time.  We have started using these this year, (3Q2014) since we have found that Manners and/or Waltz to be either (1) easy to cheat or (2) that the benchmark fires only one or two rules over and over.  Manners is guilty on both accounts.  So, this year we have include both the Clique Problem and the Vertex Cover Problem for starters.  Later we can expand this to other NP Complete problems. 

Either of these problems can be converted to Java or C syntax but, for starters, I plan on implementing these in Drools, Jess, CLIPS, Smarts, ODM and Blaze Advisor.  That should be enough for comparisons for this year.  Dr. Forgy has been kind enough to have already provided the initial code for these two NP-Complete problems in OPS syntax that we should be able to convert to Java, C/C++ or C#.   Or BASIC for that matter.  If you would like to work on the OPS syntax, here is his suggested code for the LHS of the rules.  If you do work on it, and would like to submit your code without copyrights (except for Apache Copyrights) for the presentation (with appropriate credit, of course) then please send to me.  Thanks.

-----------
CLIQUES:
(find (size 4))
(node (number ?n1))
(node (number ?n2&:(> ?n2 ?n1)))
(edge (from ?n1) (to ?n2))
(node (number ?n3&:(> ?n3 ?n2)))
(edge (from ?n1) (to ?n3))
(edge (from ?n2) (to ?n3))
(node (number ?n4&:(> ?n4 ?n3)))
(edge (from ?n1) (to ?n4))
(edge (from ?n2) (to ?n4))
(edge (from ?n3) (to ?n4))

VERTEX COVER:
(find (size 4))
(node (number ?n1))
(node (number ?n2&:(> ?n4 ?n3)))
(node (number ?n3&:(> ?n3 ?n2)))
(node (number ?n4&:(> ?n4 ?n3)))
(NOT (edge (from ?x&~?n1&~?n2&~?n3&~?n4)))

These assume that every link between two nodes is represented by two edge objects, one for each direction.
----------

Shalom,
jco

Tuesday, June 24, 2014

"The Loved One"

Greetings:

[Updated 16 Jan 2015]

Right now I am watching (with one eye and one ear) "The Loved One" while I write this blog with the other eye and ear.  I do not multi-task very well so probably I will re-write everything later.  (A complete listing of the cast is at the end of this blog so you won't have to go look them up.  (My listing is more in order of appearance than alphabetical.)  Anyway, this rather black comedy was made way back in 1965 in B/W by MGM. Everyone (I would hope) knows the legend of Jonathan Winters who, unfortunately, died recently.  I miss him already - he was one of the greatest "du jour" comedians of the time.  I first discovered Robert Morse in "How To Succeed In Business Without Really Trying."  Another classic - but more on that in another blog.

So, when watching the movie, watch for the really cool car in one of the opening scenes when Sir Francis picks up Dennis from the airport.  (See if you can identify it then rather than later.)

Spoiler Alert!!  Go watch the movie THEN come back to my comments.  Otherwise, you will know some of the plot and what is happening.  

Anyway, Sir Francis has been working at the same studio for 31 years. Henry Glenworthy (also played by Jonathan Winters) is first seen pitching a new movie.  Sir Fancis G., of course, is still riding along on his reputation while Henry G. also runs a Pet Cemetary.  (Sound familiar yet?)

In one of the early scenes, just before finding his uncle hanging, Dennis gets a drink of milk from a really old version of a refrigerator, one of which I had in my house in Welling, UK, when I stayed there.  Not exactly the same but really close.  Sometimes we tend to forget the really nice appliances that we have in the USA - something of which we only become aware when we actually travel abroad and have to use them.  I never did get used to having a refrigerator under the counter rather than eye level.  And the freezer compart was really tiny.  Think of a "dorm fridge" for comparison, only slightly larger.

Whispering Glades is the mortuary - a really old-fashioned view of what was actually a common conception in Hollywood in those days.  It is a parody of another real-world cemetery,  Meaning, extreme opulence, or over-the-top money-poorly-spent to impress the general public. It was drawn from a real-world cemetary, Forest Lawn Memorial Park in Glendale.  But, since the movie was obviously a parody, Forest Lawn could not sue them since it was not directly compared to Forest Lawn.   I  especially liked the part about "The Blessed Reverend Wilbur Glenworthy" description given by the Whispering Glades tour guide (Tab Hunter) at the beginning.  Hilarious!  This was really cool.  I wonder if any of our present-day TV Evangelists have seen this and wondered, in their hearts, "Could I do this and get away with it?"  Being a Jew myself, it is really cool when the "Old Jew" is turned away.  You probably would not see something like that in any comedy today.  Nor the statues of the nudes (naked men and women) in any PG movie.

Aimée Thanatogenos (played by Anjanette Comer) gives Dennis a tour.  She very aptly plays the air-headed tour guide who knows only what she has been told to say.  

Librace must have given them the expression, "Marvelous!  Simply marvelous!" This still has the world-wide recognition that we use today.  He is absolutely slimy in the role and, having had to bury several of my relatives in the last few years, I could see every one of the casket sales persons in his role. 

Mr. Joyboy (Rod Steiger) is perfect as the mortician.  I have always seen him is really serious roles and is superbly cast in this role, especially when getting Sir Henry ready for burial.  When Mr. Joyboy and company get rolling, this whole thing is simply too good to pass up.


Robert Morse (Dennis Barlow - Poet and Artificial Insemination Donor)
Jonathan Winters  as Henry and Wilbur Glenworthy (Both parts)
Roddy McDowell as D. J. Junior, BMOC in the movie
Rod Steiger as Mr. Joyboy (Chief embalmer at the mortuary)
James Coburn as the US Customs inspector
Sir John Gielgud as Sir Francis Hensley (Artist, Motion Pictures, etc. - Dennis' uncle and Movie Producer)
Robert Easton - (Dusty Acres)
Robert Morley (Sir Ambrose Ambercrombie)
Librace as Mr. Starker (the casket seller)

Enjoy,
Ya'akov

D-Day Reviewed 70 Years Later

Greetings:

June 6, 1944, Zero Hours USA, 0600 UMT:  By this time 70 years ago today, the 82nd and 101st Airborne were already in the air along with their British counterparts, the British 6th Airborne.  The Path Finders had gone along several hours before to mark the landing zones.  What will follow at 0600 (midnight here in the USA) will be the largest naval armada in history that will begin the bombardment of the coast of Normandy in preparation for the landing of between 130K to 150K troops, both airborne and ground assault.  There are many, many movies made about this day:

Time Line:
  • 6/4 1300 : Ike has the men start getting ready for D-Day.  Eisenhower predicts 94% casualties.
  • 6/5 2130 : 82nd and 101st Airborne prepare to board the C-47s for Normandy.
  • 6/5 2300 Airborne are already over the English Channel
  • 6/6 0130 : Paratroopers begin landing behind Omaha and Utah Beaches.  The Airborne units lost over 60 C-47s along with most of the men in the planes that morning due to AA fire.  
  • 6/6 0300 : Initial assault was loaded onto the LC (Landing Craft) from the troop carriers 
  • 6/6 0200 : 5,000 naval vessels move from the UK to Normandy.  This is the largest armada that the world has ever seen.  Over 600,000 men along with the associated tanks, jeeps, mortars, field rifles and trucks are on the way.
  •  6/6 0430 : 115th Reg, 29th Inf Div landing to knock out the big 88mm guns on the beach
  • 6/6 0630 : All forces are landed along a 60-mile front.  The USA landed over 314,000 men on the beach during the first 24 - 48 hours.  Quite an accomplishment for LC that carried on about 20 total men at one time.
  • 6/6 0650 : Rangers land at cliffs of Pointe du Hoc to take out the 88mm guns on the beach
  • 6/6 0830 : Field Marshall Rommel was still at home according to his son wondering if this was the real thing or whether it was just a fake attack since the main attack was expected at Pas de Calais up north of Normandy.  Pas de Calais was the closest point between England and France.
  • 6/6 0900 : Field Marshall Rommel calls for his car to go to Normandy.
  • 6/6 0930 : The beaches are declared as "secured" by the forces.
 Films
Personally, I highly recommend Band of Brothers, The Longest Day and Saving Private Ryan as being some of the more realistic, along with Stalingrad (1993) and Das Boot..  After that, maybe The Big Red One and/or Le Bataillon du ciel.  The best "first" film on D-Day was "The Longest Day" and starred, at the time, everyone who was anyone in Hollywood.  Regardless, the British landed 314K men while the USA landed another 314K men.  All with one goal, to be first to Berlin.  But, that job was left to the Russians because Ike did not want to lose his men in the street battles that would follow and the Russians really wanted Berlin.  After all, the Russians lost more than 20 MILLION people due to WW II.

Anway, shortly, about midnight here, at 0600 GMT, the main battle was started.  There were a lot of politicians there on June 6, 2014, to memorialize the event; most whom have never seen combat - maybe none.  Most have never served in the military, including our own President.  Sad but true.

So, for the D-Day weekend, or any other time, there are your movies.  And you might want to throw in "Kelly's Heroes" and a few others just for good measure.  Remember those who gave all for the rest of the world and eventually defeated the German Nazi strangle-hold on Europe.

Shalom
Yaakov