Error message

  • Deprecated function: Return type of DatabaseStatementBase::execute($args = [], $options = []) should either be compatible with PDOStatement::execute(?array $params = null): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2244 of /home2/renealte/public_html/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home2/renealte/public_html/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home2/renealte/public_html/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home2/renealte/public_html/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home2/renealte/public_html/includes/database/database.inc).
  • Deprecated function: Return type of DatabaseStatementEmpty::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in require_once() (line 2346 of /home2/renealte/public_html/includes/database/database.inc).

In for the long haul [2015-06-07]

A big chunk of this trip is being devoted to updates to the Reneal IEO servers at each of the 14 schools in Cebu where we’ve installed the system.  Updates allow us to add new capabilities at each school, fix bugs, and just in general check out how things are going.  This time Neal is adding the PhET package to the server, a really fantastic collection of science simulations for students (http://phet.colorado.edu/). We have some science and math songs on different topics that we’ll store on the server, plus the FET timetabling program and updated templates for the new K-12 grading system.  Neal has also installed the PyCharm environment for teaching Python code development.  Bug fixes include a correction to the “RemoveStudentDirectories” program that will remove last year’s student files in preparation for the new school year, plus a fix to the interface configuration file. 

Updates are a way to keep improving the Reneal IEO system and adapting it to meet the evolving needs of the curriculum here.  However updates also have the potential to become a big configuration management headache, with the worst case being 14 schools each with a different configuration.

Neal has tried to position us for success for this challenge by carefully partitioning the hard disk.  One partition has the (relatively static) operating system, applications, and custom software loaded on it.  Another partition has the teacher files and educational material, which are of course constantly changing as people use the system.  A third partition has the student files, which get erased annually as the students complete the school year.  Neal also has a partition for an operating system backup, in case the main partition is corrupted.  And this is all in addition to the second hard disk, which is a dedicated backup and has its own set of partitions.

By defining and using these partitions carefully, Neal can make an update of the OS partition without disturbing the ever-changing data files of the students and teachers.  This allows us to synchronize the OS and applications for all 14 schools in a relatively easy operation.  This homogeneity across schools is extremely helpful in planning for and testing future updates.  We continue to learn as we go, but this approach seems to be a promising way to keep all of the schools up to date and ever-improving.