<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="AIHub News"
title_url="http://www.aihub.org"
directory_title="AIHub-AI and Chatbot News"
description="Artificial Intelligence and Chatbot News From Around the World"
render_inline="optional"
author="William Wynn"
author_email="webmaster@aihub.org"
author_location="Santa Barbara, CA"
screenshot="http://www.aihub.org/images/aigadgetscreenshot.png"
scrolling="true"
thumbnail="http://www.aihub.org/images/aihgadget.png"
category="news" category2="technology"
height="200"
width="320" >
<Require feature="tabs" />
</ModulePrefs>
<UserPref name="show_summ" display_name="Show Summaries?" datatype="bool" default_value="true"/>
<UserPref name="num_entries" display_name="Number of News Entries:" default_value="3" />
<UserPref name="num_articles" display_name="Number of Articles:" default_value="4" />
<UserPref name="show_quotes" display_name="Show Quotes:" datatype="enum" default_value="tab">
<EnumValue value="underNews" display_value="Under News"/>
<EnumValue value="tab" display_value="In a Tab"/>
<EnumValue value="nowhere" display_value="Nowhere"/>
</UserPref>
<Content type="html">
<![CDATA[
<style> #content_div { font-size: 80%; margin: 5px; background-color: #FFFFFF;} </style>
<div id=content_div></div>
<script type="text/javascript">

// Get userprefs
var prefs = new _IG_Prefs(__MODULE_ID__);
var summary = prefs.getBool("show_summ");
var entries = prefs.getInt("num_entries");
var articles = prefs.getInt("num_articles");
var quotes = prefs.getString("show_quotes");
var ads = true;

// If user wants to display more than 9 entries, display an error
// and set the value to 9, the max allowed.
if (entries > 9)
{
alert("You cannot display more than 9 nws posts.");
entries = 9;
}
if (articles > 10)
{
alert("You cannot display more than 10 articles.");
articles = 10;
}
if (ads == true)
{
var ad = "";
ad += "&lt;script type='text/javascript'&gt;&lt;!--\ngoogle_ad_client = 'pub-3331894021719064';\n/* Google Gadget - 234x60 */\ngoogle_ad_slot = '4528133710';\ngoogle_ad_width = 234;\ngoogle_ad_height = 60;\n//--&gt;&lt;/script&gt;\n&lt;script type='text/javascript'\nsrc='http://pagead2.googlesyndication.com/pagead/show_ads.js'&gt;\n&lt;/script&gt;";
// document.write(ad);
}
// Create Quote String
if (quotes != "nowhere")
{
// RANDOM QUOTE
function random_text()
{};
var random_text = new random_text();
var number = 0;

random_text[0] = "Artificial Intelligence: the art of making computers that behave like the ones in movies<br> &nbsp;&nbsp;-Bill Bulko"
random_text[1] = "Real stupidity beats artificial intelligence every time.<br> &nbsp;&nbsp;-Terry Pratchett, Hogfather"
random_text[2] = "Artificial Intelligence is no match for natural stupidity.<br> &nbsp;&nbsp;-Unknown"
random_text[3] = "Machines take me by surprise with great frequency.<br> &nbsp;&nbsp;-Alan Turing (1912 - 1954)"
random_text[4] = "One machine can do the work of fifty ordinary men. No machine can do the work of one extraordinary man.<br> &nbsp;&nbsp;-Elbert Hubbard (1856 - 1915)"
random_text[5] = "Our scientific power has outrun our spiritual power. We have guided missiles and misguided men.<br> &nbsp;&nbsp;-Martin Luther King Jr. (1929 - 1968), Strength to Love, 1963"
random_text[6] = "There is something fascinating about science. One gets such wholesale returns of conjecture out of such a trifling investment of fact.<br> &nbsp;&nbsp;-Mark Twain (1835 - 1910)"
random_text[7] = "Perfect as the wing of a bird may be, it will never enable the bird to fly if unsupported by the air. Facts are the air of science. Without them a man of science can never rise.<br> &nbsp;&nbsp;-Ivan Pavlov (1849 - 1936)"
random_text[8] = "Nothing shocks me. I'm a scientist.<br> &nbsp;&nbsp;-Harrison Ford (1942 - ), as Indiana Jones"
random_text[9] = "There are in fact two things, science and opinion; the former begets knowledge, the latter ignorance.<br> &nbsp;&nbsp;-Hippocrates (460 BC - 377 BC), Law"
random_text[10] = "Science without religion is lame, religion without science is blind.<br> &nbsp;&nbsp;-Albert Einstein (1879 - 1955), 'Science, Philosophy and Religion: a Symposium', 1941"
random_text[11] = "There is an evil tendency underlying all our technology - the tendency to do what is reasonable even when it isn't any good.<br> &nbsp;&nbsp;-Robert Pirsig, Zen and the Art of Motorcycle Maintenance"
random_text[12] = "For a successful technology, reality must take precedence over public relations, for Nature cannot be fooled.<br> &nbsp;&nbsp;-Richard Feynman (1918 - 1988)"
random_text[13] = "Humanity is acquiring all the right technology for all the wrong reasons.<br> &nbsp;&nbsp;-R. Buckminster Fuller (1895 - 1983)"
random_text[14] = "Technology is dominated by two types of people: those who understand what they do not manage, and those who manage what they do not understand.<br> &nbsp;&nbsp;-Putt's Law"
random_text[15] = "Technology is a way of organizing the universe so that man doesn't have to experience it.<br> &nbsp;&nbsp;-Max Frisch"
random_text[16] = "Any sufficiently advanced technology is indistinguishable from magic.<br> &nbsp;&nbsp;-Arthur C. Clarke (1917 - ), 'Profiles of The Future', 1961 (Clarke's third law)"
random_text[17] = "For a list of all the ways technology has failed to improve the quality of life, please press three.<br> &nbsp;&nbsp;-Alice Kahn"
random_text[18] = "Where a calculator on the ENIAC is equipped with 18,000 vacuum tubes and weighs 30 tons, computers in the future may have only 1,000 vaccuum tubes and perhaps weigh 1.5 tons.<br> &nbsp;&nbsp;-unknown, Popular Mechanics, March 1949]"
random_text[19] = "In a few minutes a computer can make a mistake so great that it would have taken many men many months to equal it.<br> &nbsp;&nbsp;-Unknown"
random_text[20] = "All programmers are playwrights and all computers are lousy actors.<br> &nbsp;&nbsp;-Unknown"
random_text[21] = "I think computer viruses should count as life. I think it says something about human nature that the only form of life we have created so far is purely destructive. We've created life in our own image.<br> &nbsp;&nbsp;-Stephen Hawking (1942 - )"
random_text[22] = "If the automobile had followed the same development cycle as the computer, a Rolls-Royce would today cost $100, get a million miles per gallon, and explode once a year, killing everyone inside.<br> &nbsp;&nbsp;-Robert X. Cringely, InfoWorld magazine]"
random_text[23] = "To err is human--and to blame it on a computer is even more so.<br> &nbsp;&nbsp;-Robert Orben"
random_text[24] = "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.<br> &nbsp;&nbsp;-Rick Cook, The Wizardry Compiled"
random_text[25] = "If you put tomfoolery into a computer, nothing comes out of it but tomfoolery. But this tomfoolery, having passed through a very expensive machine, is somehow ennobled and no-one dares criticize it.<br> &nbsp;&nbsp;-Pierre Gallois"
random_text[26] = "The computer is a moron.<br> &nbsp;&nbsp;-Peter Drucker (1909 - 2005)"
random_text[27] = "Computers are useless. They can only give you answers.<br> &nbsp;&nbsp;-Pablo Picasso (1881 - 1973)"
random_text[28] = "The most likely way for the world to be destroyed, most experts agree, is by accident. That's where we come in; we're computer professionals. We cause accidents.<br> &nbsp;&nbsp;-Nathaniel Borenstein (1957 - )"
random_text[29] = "There is no reason for any individual to have a computer in his home.<br> &nbsp;&nbsp;-Ken Olsen (1926 - ), President, Digital Equipment, 1977"
random_text[30] = "In all large corporations, there is a pervasive fear that someone, somewhere is having fun with a computer on company time. Networks help alleviate that fear.<br> &nbsp;&nbsp;-John C. Dvorak"
random_text[31] = "The most overlooked advantage to owning a computer is that if they foul up there's no law against wacking them around a little.<br> &nbsp;&nbsp;-Joe Martin, Porterfield"
random_text[32] = "Imagine if every Thursday your shoes exploded if you tied them the usual way. This happens to us all the time with computers, and nobody thinks of complaining.<br> &nbsp;&nbsp;-Jef Raskin, interviewed in Doctor Dobb's Journal"
random_text[33] = "Computers can figure out all kinds of problems, except the things in the world that just don't add up.<br> &nbsp;&nbsp;-James Magary"
random_text[34] = "To err is human, but to really foul things up requires a computer.<br> &nbsp;&nbsp;-Farmers' Almanac, 1978"
random_text[35] = "Not even computers will replace committees, because committees buy computers.<br> &nbsp;&nbsp;-Edward Shepherd Mead"
random_text[36] = "Computer Science is no more about computers than astronomy is about telescopes.<br> &nbsp;&nbsp;-E. W. Dijkstra"
random_text[37] = "Why is it drug addicts and computer afficionados are both called users?<br> &nbsp;&nbsp;-Clifford Stoll"
random_text[38] = "If computers get too powerful, we can organize them into a committee -- that will do them in.<br> &nbsp;&nbsp;-Bradley's Bromide"
random_text[39] = "Computers make it easier to do a lot of things, but most of the things they make it easier to do don't need to be done.<br> &nbsp;&nbsp;-Andy Rooney (1919 - )"
random_text[40] = "The computing field is always in need of new cliches.<br> &nbsp;&nbsp;-Alan Perlis"
random_text[41] = "Science can be introduced to children well or poorly. If poorly, children can be turned away from science; they can develop a lifelong antipathy; they will be in a far worse condition than if they had never been introduced to science at all.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[42] = "You must keep sending work out; you must never let a manuscript do nothing but eat its head off in a drawer. You send that work out again and again, while you're working on another one. If you have talent, you will receive some measure of success - but only if you persist.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[43] = "Violence is the last refuge of the incompetent.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992), Salvor Hardin in 'Foundation'"
random_text[44] = "If knowledge can create problems, it is not through ignorance that we can solve them.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[45] = "Never let your sense of morals get in the way of doing what's right.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[46] = "Part of the inhumanity of the computer is that, once it is competently programmed and working smoothly, it is completely honest.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[47] = "Life is pleasant. Death is peaceful. It's the transition that's troublesome.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[48] = "I do not fear computers. I fear the lack of them.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[49] = "It pays to be obvious, especially if you have a reputation for subtlety.<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[50] = "The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' (I found it!) but 'That's funny ...'<br> &nbsp;&nbsp;-Isaac Asimov (1920 - 1992)"
random_text[51] = "The computer is incredibly fast, accurate, and stupid. Man is unbelievably slow, inaccurate, and brilliant. The marriage of the two is a force beyond calculation.<br> &nbsp;&nbsp;-Leo Cherne (1912 - 1999)"
random_text[52] = "The real problem is not whether machines think but whether men do.<br> &nbsp;&nbsp;-B. F. Skinner (1904 - 1990)"

var random_number = Math.floor(Math.random() * 52);
var quote = random_text[random_number];
}


// Initialize tabs, designate the tab named "news" as
// the tab selected by default.
var tabs = new _IG_Tabs(__MODULE_ID__, "News");
function init() {
// Capture the tab's ID, and use the ID
// to add content to the tab's corresponding <div>.
var news_Id = tabs.addTab("News");
var articles_Id = tabs.addTab("Articles");
if (quotes == "tab")
{
var quotes_Id = tabs.addTab("Quotes");
}
// Use the _IG_FetchFeedAsJSON() function to retrieve core feed data from
// the specified URL. Then combine the data with HTML markup for display in
// the gadget.
_IG_FetchFeedAsJSON(
"http://feeds.feedburner.com/aihub",
function(feed) {
if (feed == null){
alert("There is no data. The site appears to be down. Let's hope it comes back soon!");
return;
}
// Start building HTML string that will be displayed in gadget.
var html = "";
// Access the fields in the feed
html += "<sup><b><u>AIHub.org News</u></b></sup><br><br>";

// Access the data for a given entry
if (feed.Entry) {
for (var i = 0; i < feed.Entry.length; i++) {
html += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<sup><img src='http://www.aihub.org/images/circle.gif' width='8' height='7'> <a target='_blank' href='" + feed.Entry[i].Link + "'><b>"
+ feed.Entry[i].Title
+ "</b></a></sup><br><br>";
if (summary==true) {
html += "<sup><i>" + feed.Entry[i].Summary + "</i></sup><hr width='50%'>";
}
}
}
if (quotes == "underNews") {
html += "<br>" + quote;
}
_gel(news_Id).innerHTML = html;
// The rest of the function parameters, which are optional: the number
// of entries to return, and whether to return summaries.
}, entries, summary);

// Use the _IG_FetchFeedAsJSON() function to retrieve core feed data from
// the specified URL. Then combine the data with HTML markup for display in
// the gadget.
_IG_FetchFeedAsJSON(
"http://feeds.feedburner.com/aihub/articles",
function(feed) {
if (feed == null){
alert("There is no data. The site appears to be down. Let's hope it comes back soon!");
return;
}
// Start building HTML string that will be displayed in gadget.
var html2 = "";
// Access the fields in the feed
html2 += "<sup><b><u>AIHub.org Articles</u></b></sup><br><br>";

// Access the data for a given entry
if (feed.Entry) {
for (var i = 0; i < feed.Entry.length; i++) {
html2 += "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<sup><img src='http://www.aihub.org/images/circle.gif' width='8' height='7'> <a target='_blank' href='" + feed.Entry[i].Link + "'><b>"
+ feed.Entry[i].Title + "</b></a></sup><br><br>";
if (summary==true) {
html2 += "<sup><i>" + feed.Entry[i].Summary + "</i></sup><hr width='50%'>";
}
}
}
_gel(articles_Id).innerHTML = html2;
// The rest of the function parameters, which are optional: the number
// of entries to return, and whether to return summaries.
}, articles, summary);

if (quotes == "tab")
{
_gel(quotes_Id).innerHTML = "<sup><b><u>AI Quote of the Moment</u></b><br><br>" + quote + "</sup>";
}
}
// Call init function to initialize and display tabs.
_IG_RegisterOnloadHandler(init);
</script>
]]>
</Content>
</Module>

