Introduction to Prolog

Prolog is a logic programming language. It is a general purpose language often associated with artificial intelligence and computational linguistics. It has a purely logical subset, called “pure Prolog”, as well as a number of extralogical features.

Having its roots in formal logic, and unlike many other programming languages, Prolog is declarative: The program logic is expressed in terms of relations, and execution is triggered by running queries over these relations. Relations and queries are constructed using Prolog’s single data type, the term. Relations are defined by clauses. Given a query, the Prolog engine attempts to find a resolution refutation of the negated query. If the negated query can be refuted, i.e., an instantiation for all free variables is found that makes the union of clauses and the singleton set consisting of the negated query false, it follows that the original query, with the found instantiation applied, is a logical consequence of the program. This makes Prolog (and other logic programming languages) particularly useful for database, symbolic mathematics, and language parsing applications. Because Prolog allows impure predicates, checking the truth value of certain special predicates may have some deliberate side effect, such as printing a value to the screen. This permits the programmer to use some amount of conventional imperative programming when the logical paradigm is inconvenient. (Everything above is from Wikipedia)

Jud and Mike, get into character as they play the inventors of the programming language known as “Prolog”, in the “Introduction to Prolog”

Intoruction to Prolog *updated

I don’t know why someone would do this. But I was looking for some prolog videos and found this.

Google explains why all sites may harm your computer

This is Google’s response for informing all their users that every site on this world wide web is harmful to their computer. “Very simply, human error,” they confessed. It’s a huge mistake and definitely shaken people’s confidence a little. But by being truthful about the whole incident without using the word “whoops” (like Dreamhost) is good PR still.

“This site may harm your computer” on every search result?!?!

What happened? Very simply, human error. Google flags search results with the message “This site may harm your computer” if the site is known to install malicious software in the background or otherwise surreptitiously. We do this to protect our users against visiting sites that could harm their computers. We maintain a list of such sites through both manual and automated methods. We work with a non-profit called StopBadware.org to come up with criteria for maintaining this list, and to provide simple processes for webmasters to remove their site from the list.

We periodically update that list and released one such update to the site this morning. Unfortunately (and here’s the human error), the URL of ‘/’ was mistakenly checked in as a value to the file and ‘/’ expands to all URLs. Fortunately, our on-call site reliability team found the problem quickly and reverted the file. Since we push these updates in a staggered and rolling fashion, the errors began appearing between 6:27 a.m. and 6:40 a.m. and began disappearing between 7:10 and 7:25 a.m., so the duration of the problem for any particular user was approximately 40 minutes. (Source: Google Blog)

I was a little troubled yesterday and had to use Yahoo for searches but I wasn’t too concern. Here’s StopBadware’s side of the story.