diff --git a/checkin_notes b/checkin_notes index af2a827015..b5bf23b119 100644 --- a/checkin_notes +++ b/checkin_notes @@ -7908,7 +7908,7 @@ Charlie 26 Dec 2012 NoticeListCtrl.cpp sg_DlgMessages.cpp,.h -David 27 Dec 2012 +David 26 Dec 2012 - eliminate use of alloca() and strdupa(). - don't include malloc.h - fix compile warnings @@ -7920,4 +7920,3 @@ David 27 Dec 2012 str_util.cpp sched/ hr_info.cpp - diff --git a/client/sim.cpp b/client/sim.cpp index 60c60e4fe3..f4bfc49738 100644 --- a/client/sim.cpp +++ b/client/sim.cpp @@ -1366,6 +1366,8 @@ void do_client_simulation() { exit(1); } + // if tasks have pending transfers, mark as completed + // for (unsigned int i=0; istate() < RESULT_FILES_DOWNLOADED) { diff --git a/doc/docutil.php b/doc/docutil.php index 5f9f353dfc..3acd83ef6c 100644 --- a/doc/docutil.php +++ b/doc/docutil.php @@ -42,7 +42,7 @@ function html_tag() { } } -function page_head($title) { +function page_head($title, $extra="") { global $book; global $chap_num; if ($book) { @@ -59,6 +59,7 @@ function page_head($title) { $title + $extra diff --git a/doc/projects.inc b/doc/projects.inc index 7acda50440..00f5ff4e58 100644 --- a/doc/projects.inc +++ b/doc/projects.inc @@ -19,6 +19,7 @@ $sensing = array( tra("Stanford University"), tra("Seismology"), tra("The Quake-Catcher Network is developing the world's largest seismic network using sensors attached to Internet-connected computers. You must buy a sensor to participate."), + "" ), array( "Radioactive@Home", @@ -35,6 +36,14 @@ $sensing = array( $cogsci = array( tra("Cognitive science and artifical intelligence"), array( +// array( +// "MindModeling@Home", +// "http://mindmodeling.org/", +// "University of Dayton and Wright State University", +// "Cognitive Science", +// "MindModeling@Home uses computational cognitive process modeling to better understand the human mind, and specifically to study the mechanisms and processes that enable and moderate human performance and learning.", +// "" +// ), array( "FreeHAL", "http://www.freehal.net/freehal_at_home/", @@ -408,7 +417,7 @@ $math = array( tra("Mathematical Institute of Leiden University / Kennislink"), tra("Mathematics"), tra("Search for 'abc-triples': positive integers a,b,c such that a+b=c, a < b < c, a,b,c have no common divisors and c > rad(abc), where rad(n) is the product of the distinct prime factors of n. The ABC conjecture says that there are only finitely many a,b,c such that log(c)/log(rad(abc)) > h for any real h > 1. The ABC conjecture is currently one of the greatest open problems in mathematics. If it is proven to be true, a lot of other open problems can be answered directly from it."), - "" + "abclogo.jpg" ), array( "PrimeGrid", @@ -471,7 +480,7 @@ $math = array( "http://sudoku.nctu.edu.tw/", "National Chiao Tung University, Taiwan", tra("Mathematics"), - "Sudoku@vtaiwan seeks to solve the minimum Sudoku problem, which is a well-known problem in mathematics and computer science.", + "Sudoku@vtaiwan seeks to solve the minimum Sudoku problem, a well-known problem in mathematics and computer science.", "sudoku.png" ), array( diff --git a/doc/projects.php b/doc/projects.php index 895b5d795c..4c34bbb6bf 100644 --- a/doc/projects.php +++ b/doc/projects.php @@ -2,7 +2,10 @@ require_once("docutil.php"); require_once("projects.inc"); require_once("get_platforms.inc"); -page_head("Choosing BOINC projects"); +page_head("Choosing BOINC projects", + ' + ' +); echo "

@@ -15,14 +18,14 @@ In deciding whether to participate in a project, read its web site and consider the following questions:

@@ -40,20 +43,88 @@ If your computer is equipped with a Graphics Processing Unit (GPU), you may be able to use it to compute faster. "; -list_start("cellpadding=2 width=100%"); -list_heading_array(array( - "Project
Mouse over for details; click to visit web site", - "Home", - "Research area", - "Supported platforms" - )); -shuffle($areas); -foreach ($areas as $area) { - $title = $area[0]; - if (sizeof($area)==3) $title .= $area[2]; - list_bar($title); - $projects = $area[1]; - shuffle($projects); + +// Display projects grouped by area. +// Randomize order of areas, and of projects within an area +// +function grouped_display($areas) { + list_start("cellpadding=2 width=100%"); + list_heading_array(array( + "Project
Mouse over for details; click to visit web site", + "Home", + "Research area", + "Supported platforms" + ) + ); + shuffle($areas); + foreach ($areas as $area) { + $title = $area[0]; + if (sizeof($area)==3) $title .= $area[2]; + list_bar($title); + $projects = $area[1]; + shuffle($projects); + $n = 0; + foreach ($projects as $p) { + $img = ""; + if (array_key_exists(5, $p) && $p[5]) { + $img= ""; + } + $desc = addslashes($p[4]); + $x = "Sponsor: $p[2]


Area: $p[3]
Goal: $desc')\">$p[0]
"; + $home = $p[2]; + $area = $p[3]; + $master_url = $p[1]; + if (array_key_exists(6, $p)) { + $master_url = $p[6]; + } + $p = get_platforms_string($master_url); + echo " + + + + + + "; + $n = 1-$n; + } + } + list_end(); +} + +function comp_name($p1, $p2) { + return strcasecmp($p1[0], $p2[0]); +} +function comp_area($p1, $p2) { + if ($p1['area'] == $p2['area']) { + return strcasecmp($p1[0], $p2[0]); + } + return $p1['area'] > $p2['area']; +} + +function ordered_display($areas, $sort) { + // make a list of projects + // + $projects = null; + foreach ($areas as $area) { + $title = $area[0]; + if (sizeof($area)==3) $title .= $area[2]; + $projs = $area[1]; + foreach ($projs as $p) { + $p['area'] = $title; + $projects[] = $p; + } + } + usort($projects, $sort=="area"?'comp_area':'comp_name'); + list_start("cellpadding=2 width=100%"); + list_heading_array(array( + (($sort=="area")?"Name":"Name") + ."
Mouse over for details; click to visit web site", + ($sort!="area")?"Category":"Category", + "Area", + "Sponsor", + "Supported platforms" + ) + ); $n = 0; foreach ($projects as $p) { $img = ""; @@ -61,9 +132,10 @@ foreach ($areas as $area) { $img= ""; } $desc = addslashes($p[4]); - $x = "Home: $p[2]
Area: $p[3]
Goal: $desc')\">$p[0]
"; + $x = "Sponsor: $p[2]
Area: $p[3]
Goal: $desc')\">$p[0]
"; $home = $p[2]; - $area = $p[3]; + $area = $p['area']; + $spec_area = $p[3]; $master_url = $p[1]; if (array_key_exists(6, $p)) { $master_url = $p[6]; @@ -71,15 +143,21 @@ foreach ($areas as $area) { $p = get_platforms_string($master_url); echo " - + + "; $n = 1-$n; } + list_end(); } -list_end(); + +//grouped_display($areas); + +$sort = $_GET['sort']; +ordered_display($areas, $sort); echo " diff --git a/doc/white.css b/doc/white.css index 561384c6c7..72e10bb6c2 100644 --- a/doc/white.css +++ b/doc/white.css @@ -212,3 +212,16 @@ input.btn { } .dev { color: red; font-weight: bold } + +#pup { + position:absolute; + z-index:200; /* aaaalways on top*/ + padding: 3px; + margin-left: 10px; + margin-top: 5px; + width: 650px; + border: 1px solid black; + background-color: #fff; + color: black; + font-size: 0.95em; +}
$x$home$area$p
$x$home $area$spec_area$home $p