You might have guessed that Google would celebrate the 200th birthday of George Boole, the man who invented the logic that computers and programmers use, with a Doodle. This one is Boolean logic and a complete lesson in itself.

Mathematician and logician George Boole was born on November 2, 1815. Events to mark his bicentenary have been organised by University College Cork, Ireland where he was its first Professor of Mathematics in 1849. These include Boole2School - lessons in logic for school children in 30 countries.

Google has joined in the celebrations with an appropriate doodle that is well worth seeing. At first the new doodle looks like a mess of colors with no particular pattern but look more closely - this is Boolean logic in action:

Notice that under each of the letters is a logical expression. Start with the one under the G which reads x AND y. This is a simple Boolean expression and it is only true is x is true and y is true. Now look at the two circles where the Google g should be. Notice that it is cycling though showing all combinations of x and y. When either letter is showing then it is taken as true in the evaluation of all of the Boolean expressions in the doodle.

So when you see both x and y on display x is true and y is true and this means x AND y is true and so G has its usual blue color.

The rule is x and y are true if they are on display. All of the Boolean expressions are evaluated using the current state of x and y and if true the letter above shows in the usual color - if false the letter shows as a grey.

Now you should be able to see the pattern even if you are new to Boolean logic. For example, the first o only shows when x XOR y is true. The XOR logical operator is only true if exactly one of x or y is true. That is its "truth table" is:

Given how deep learning is cropping everywhere it was only a matter of time before it would be applied to facial reenactment. This will have a big impact in animation and computer graphics.

Oracle wants to deprecate the Nashorn JavaScript Engine and remove it from all future Java Development Kits. The details emerged as part of a JDK Enhancement Proposal.