Difference between revisions of "Dr.Octo"

From WA2IAC Wiki
Jump to: navigation, search
m (Version 4.1)
 
Line 13: Line 13:
  
 
== Version 3.0 ==
 
== Version 3.0 ==
In the 2002-2003 timeframe, Dr.Octo Version 3.0 evolved from 2.0. Still using the massive jukeboxes, the main improvement was an X-Widows GUI, a Web Interface (allowing listeners to see what was playing and interact to a limited degree), and various internal improvements that allowed more fine-grained scheduling to be done, as well as improved DJ-Assist mode (not present in Version 2). This system was in production until the fall of 2005. This version was hampered by the entire library being on CD. It wasn't quite possible to put even some of it on hard disk yet, as the necessary codecs just weren't there yet. The original vision remained incomplete despite the improvements. Strangely, the GUI functionality got little use, and so was discontinued in later versions... perhaps to be picked up again at some point in the future if desired.
+
In the 2002-2003 timeframe, Dr.Octo Version 3.0 evolved from 2.0. Still using the massive jukeboxes, the main improvement was an X-Widows GUI, a Web Interface (allowing listeners to see what was playing and interact to a limited degree), and various internal improvements that allowed more fine-grained scheduling to be done, as well as improved DJ-Assist mode (not present in Version 2 although present in Version 1). This system was in production until the fall of 2005. The version was hampered by the entire library being on CD. It wasn't quite possible to put even some of it on hard disk, as the necessary codecs just weren't there yet. The original vision remained incomplete despite the improvements. Strangely, the GUI functionality got little use, and so was discontinued in later versions... perhaps to be picked up again at some point in the future if desired.
  
 
== Development Hiatus ==
 
== Development Hiatus ==
Line 23: Line 23:
 
== Version 4.1 ==
 
== Version 4.1 ==
 
Version 4.1 introduces the use of a networked RDBMS for various and nefarious reasons. The DBI interface is used, so this functionality is potentially database-flavor agnostic. In this version, data is "written through" on both legacy and RDBMS systems, so in the event of RDBMS failure, the system will trudge forward, albeit with some loss of (new) functionality.
 
Version 4.1 introduces the use of a networked RDBMS for various and nefarious reasons. The DBI interface is used, so this functionality is potentially database-flavor agnostic. In this version, data is "written through" on both legacy and RDBMS systems, so in the event of RDBMS failure, the system will trudge forward, albeit with some loss of (new) functionality.
 +
 +
SystemV shared memory and semaphores were integrated to support communications between a rapidly increasing number of components and handle contention for resources.
  
 
Work on this version began on the unique date of 11/12/13.
 
Work on this version began on the unique date of 11/12/13.
 +
 +
== Version 4.2 ==
 +
A great deal of development was done during the year following version 4.1.
 +
 +
* This release represented code cleanup, breaking the system into smaller, less monolithic pieces.
 +
* A function library was created.
 +
* Startup and shutdown processes were improved and stabilized.
 +
* An extensive logging system was added to allow extremely fine-grained control over logging.
 +
 +
 +
== Version 4.3 ==
 +
Version 4.3
 +
 +
* A web server based UI was created, which focused on reporting from the RDBMS, but also allows for some control of the system.
 +
* The web server was leveraged to provide some integration of all the pieces of the system that have developed.
 +
* A hybrid data approach allows the system to run with nearly full functionality if RDBMS connections fail for any reason.
 +
* Support for multiple, communicating instances was implemented but is not yet used in production.
 +
* The rate of development steadily built from April, 2014, reaching a peak toward the end of 2014 and the release of Version 4.4
 +
 +
== Version 4.4 ==
 +
A great deal of development was done during the year following version 4.1.
 +
 +
* Dr. Octo molted (was rehosted) onto more capacious hardware and a newer OS release during 2/2015.
 +
** Rehosting was a pleasant experience. The RDBMS did not move.
 +
** The changeover was transparent to listeners and to functionality.
 +
** Mysteriously, the hourly "ding" added in version 4.3 ceased working after the molt. Cause still unknown.
 +
* A web server based UI was created, which focused on reporting from the RDBMS, but also allows for some control of the system.
 +
* The web server was leveraged to provide some integration of all the pieces of the system that have developed.
 +
* A hybrid data approach allows the system to run with nearly full functionality if RDBMS connections fail for any reason.
 +
* Artificial Intelligence concepts were added.
 +
* The software was altered to allow it to self-modify both synchronously and asynchronously. Both modes are required as Linux doesn't fully support this implementation.
 +
* Sections of the code that could not support self-modification were re-written. This effort is ongoing.
 +
* Many real-time knobs, dials, and switches were added, a benefit of the work on supporting self-modification to support AI.
 +
* Many program features, such as timechecks were added.
 +
* Scheduling features were added, although the system continues to be 100% "scheduled" in real time.
 +
 +
 +
This update was added 3/18/2015

Latest revision as of 19:25, 18 March 2015