20180901 – Code cleanups and new features

Work continues on clode cleanup and updates on the OpenTG code. Below is a summary of the recent changes in the codebase that have made a significant impact toward a 1.0 release:

The Input module had used a Java library “JLine-0.9.4”, a quite old and no longer supported jar file. Special thanks to the JRuby team for their help in resolving the issues.  A newer feature in Ruby’s library ‘io/console’ provides features similar to JLine which allows for ‘raw’ console input.  This allowed the code to replace several methods in the Tgio library. Benefits include a memory reduction, removal of an outdated jar file, and usage of a native ruby library.

Timebank feature has been implemented, which allows users to deposit and withdraw time from user sessions,

Database simplification has been made by removing the option for non-embedded databases. All future development will focus on using and optimizing the H2 database.

Other minor cleanups and code enhancements have been made.

Roadmap Published

Today I have published an updated project roadmap with a goal of reaching a 1.0 release by February 2019.  This is an aggressive goal, but with the code in a positive state and many features nearly implemented, I believe this date is achievable.  While the first release will not meet all of the project’s final objectives, a minimal viable product will be made available for community download.  This is an important step to gain interest in the project, and plan for the next milestone.

 

 

Project Restart with screenshots and video tour

In 2008, I started writing a modern clone of the Telegard BBS software. I spent about 3 years coding until life and full-time work dictated my full attention. Several weeks ago I pushed the shelved code to GitHub, with the intention of posting it for reference, so that others might find it useful.   With the thought in the back of mind, I began to wonder if I could get it working after almost 8 years of neglect.  Much had happened in the software world since then.  Java had gone through some tough bouts with the OpenSource community following the Oracle v Google battle.  Apache Hibernate, the JRE I had embedded was retired. JRuby had made significant leaps going from MRI 1.9 to 2.5.  The Sequel ORM had been significantly updated, deprecating features I had relied upon. Other libraries had released new versions.  I took the challenge.

After two days of work, I was able to get the toolchain updated and fixed parts of the code that had stopped working. I wrote several new Rake tasks to help automate some things and make getting the system working easier.  Finally, I wrote a short, 16 step INSTALL document so that others might be able to use the development snapshot. While I prefer mercurial ‘hg’ as my VCS, I decided to push the code to GITHUB for the time being.

https://github.com/sharkos/opentelegard

Screenshot

Video