"; show_totals(); echo '

'.tra("Top 100 volunteers").' '.tra("Statistics").'

'; echo ""; include("piecharts/$i.html"); } ); } function show_totals() { $fn = "boinc_state.xml"; if (!file_exists($fn) || filemtime($fn) < time()-86400) { $uid = time(); $x = file_get_contents("https://boincstats.com/en/xml/boincState?uid=$uid"); if ($x) { $f = fopen($fn, "w"); fwrite($f, $x); } else return; } $x = file_get_contents($fn); $users = parse_element($x, ""); $hosts = parse_element($x, ""); $credit_day = parse_element($x, ""); $users = number_format($users); $hosts = number_format($hosts); $petaflops = number_format($credit_day/200000000, 3); echo tra("24-hour average:")." $petaflops ".tra("PetaFLOPS.")."
".tra("Active:")." $users ".tra("volunteers,")." $hosts ".tra("computers. ")." "; } function show_news_items() { panel( tra("News"), function() { if (!file_exists("stop_web")) { show_news(0, 5); } else { echo "

".tra("Database not available; please try again later."); } } ); } function show_participate() { panel( // "Volunteer" is used as a verb tra("Volunteer"), function () { echo tra("Use the idle time on your computer (Windows, Mac, Linux, or Android) to cure diseases, study global warming, discover pulsars, and do many other types of scientific research. It's safe, secure, and easy:"); echo '

'.tra("Download").'

'.tra("For Android devices, get the BOINC app from the Google Play Store; for Kindle, get it from the Amazon App Store.").'

'; echo tra( "You can choose to support %1projects%2 such as %3, %4, and %5, among many others.", '', '', 'Einstein@Home', 'IBM World Community Grid', 'SETI@home' ); echo " "; echo tra("If you run several projects, try an %1account manager%2 such as %3GridRepublic%4 or %5BAM!%6. ", "", "", "", "", "", "" ); echo '

'.tra("Learn more:").'

'.tra("Message boards").' '.tra("Projects").' '.tra("Manual").' '.tra("Help").' '.tra("Add-ons").' '.tra("Links").'
'; echo '

'.tra("Other ways to help:").'

'.tra("Overview").' '.tra("Translate").' '.tra("Test").' '.tra("Document").' '.tra("Publicize").' '.tra("Report bugs").'

'; } ); } function show_science() { panel( tra("High-throughput computing with BOINC"), function() { echo tra("%1Scientists%2: use BOINC to create a %3volunteer computing project%4, giving you the power of thousands of CPUs and GPUs.", "", "", "", "" ) .'

'. tra("%1Universities%2: use BOINC to create a %3Virtual Campus Supercomputing Center%4.", "", "", "", "" ) .'

'. tra("%1Companies%2: use BOINC for %3desktop Grid computing%4.", "", "", "", "" ) .'

'.tra("Documentation").' '.tra("BOINC and Docker").'
'; } ); } function show_software() { panel( tra("Software development"), function() { echo tra("BOINC is a software platform for volunteer computing. It includes client, server, and web components, and APIs for connecting other components.").'

'.tra("Source code").' '.tra("Building BOINC").' APIs '.tra("Design documents").'

'.tra("We're always looking for programmers to help us maintain and develop BOINC.").'

'.tra("Development process").' '.tra("Development tasks").'

'.tra("BOINC is distributed under the LGPL open-source license.").' '; } ); } function show_boinc() { panel( tra("The BOINC project"), function() { echo tra("BOINC is a community-based project. Everyone is welcome to participate.").'

Contact '.tra("Email lists").' '.tra("Events").' '.tra("Graphics").' '.tra("Governance").'
'; } ); } function show_nsf() { echo " \"NSF BOINC is supported by the National Science Foundation through awards SCI-0221529, SCI-0438443, SCI-0506411, PHY/0555655, and OCI-0721124. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. "; } header("Content-type: text/html; charset=utf-8"); //html_tag(); $rh_col_width = 390; echo ' BOINC
'; function left() { echo '
'; show_participate(); show_science(); show_software(); show_boinc(); show_participant(); //show_nsf(); echo '
'; } function right() { echo '
'; show_news_items(); echo '
'; } page_head("BOINC", null, true); grid(null, 'left', 'right'); page_tail(true, true); ?>