NeuroCache 1.2.3 is out with a new support for SSL/TLS and new configuration system

For git users :

$ git clone https://bitbucket.org/hyw3/neurocache-dev.git

CHANGES :

CHANGES in NeuroCache 1.2.3:
   * Add a new library 'sslcryptonsc' to implement SSL/TLS (based on OpenSSL) for the
     cryptographic appliances in NeuroCache. The source codes are added to 'cryptonsc'
     directory. See README file for the introduction to this tool.
   * Add a file 'doc/sslcryptonsc.pod' for a man page 'sslcryptonsc.1'.
   * The configuration system for NeuroCache is now using 'hyang CMD setup' command
     therefore the following files are added to the top-level of source tree :

         init.hyang, nscsetup.hyang, configdef.hyang

     and other two files 'execname.hyang' and 'VERSION' are also added to support them.

     The following files are no longer needed so are removed :

         acinclude.m4, aclocal.m4, configure, configure.ac, depcomp, config.h.in,
         stamp-h.in and all Makefile.am files in each directory/subdirectory.

     The 'config.h' file is now auto-generated by 'hyang CMD setup' command without
     the need for a pre-defined 'config.h.in' file.

     The files 'config.guess', 'config.sub', 'mkinstalldirs', 'install-sh', 'ltmain.sh'
     are still needed by NeuroCache initialization system.

     The built-in 'libtool' file is added by default to support the library creations.

   * The shared and static library in NeuroCache are now supported by default.
   * The 'urandom' is now unused; the function fread() to buffer from '/dev/urandom' in
     the file 'test/nsc_test.c' is now commented to avoid '-Werror=unused-result' because
     of the use of 'RAND_pseudo_bytes' from OpenSSL.
   * Add a header file 'neural_ssl.h' in 'include/libneural' subdirectory.
   * Update versioning system by using HySCM and show some in NeuroCache initialization
     setup summary and in version info flag '-v' or '-version' in NeuroCache binaries
     including mandor, nsc_client, nsc_inteli, nsc_server, and nsc_test, e.g. :

            $ nsc_server -v
            $ nsc_server -version

    and using '-v' or '--version' in sslcrytonsc:

            $ sslcryptonsc -v
            $ sslcryptonsc --version

   * Update LDFLAGS '-version-info' for shared objects in NeuroCache including libneral,
     libneurocache, and libneurocacheserver to 3:3:2 (the interface number is 3, and the
     age is 2). This will populate the shared object files ending in '.so', '.so.1' and
     '.so.1.2.3'.
   * Update file README, INSTALL, and other files to adjust the above changes.
   * Use email address 'hyangcontrib@gmail.com' for bug reporting.

Hyang 1.3.1 (“Dua Sawo”) and HySCM 1.2.1 are out!

The source codes of Hyang and HySCM are available at Bitbucket (using git repository) and OSDN (using svn repository). The current version of Hyang is version 1.3.1 (“Dua Sawo”), and the current version of HySCM is version 1.2.1.

Getting Hyang source codes from git repository :

$ git clone https://bitbucket.org/hyw3/hyang-core.git

Getting Hyang source codes from svn repository :

$ svn checkout https://svn.osdn.net/svnroot/hyang-core/

Getting HySCM source codes from git repository :

$ git clone https://bitbucket.org/hyw3/hyscm-dev.git

Getting HySCM source codes from svn repository :

$ svn checkout https://svn.osdn.net/svnroot/hyscm-dev/

The services from Hyang website, hyang.org, is currently unavailable due to the lack of money to pay for the service.. Use the email address ‘hyangcontrib@gmail.com’ for contacting Hyang, reporting bugs or contributing to Hyang and HySCM works.

CHANGES in Hyang 1.3.1 :

CHANGES in Hyang 1.3.1 ("Dua Sawo"):
    * Hyang core:
      - Add sawo library in src/sawo for the uses in various kind of programming and
        web scripting applications.
      - Update versioning system in Hyang (including in the Hyang script front-ends)
        by using HySCM versioning system.
      - Add HySCM UUID (first 10 digits of hyscmterm.id) to HYANG_HYSCM_CHECKIN in
        Hyang versioning system (see e.g. in tools/version.hyget, src/main/version.c,
        and src/unix/hyangscript.c). This also applies to the Hyang script front-ends,
        see below in changes in Hyang script front-ends).

    * Hyang scripting front-ends:
      - Bug fixes for failed version calls on some Hyang script front-ends: BATCH,
        COMPILE, config, f77_f2c, hyangtags, javareconf, and LINK.
      - Add 'hyang CMD setup' for the use in setting up and configuring the source
        packages (similar to running ./configure in GNU Autoconf). Usage example:

           $ hyang CMD setup init.hyang

        For more informations, type:

           $ hyang CMD setup --help
           $ hyang CMD setup --version

        For a case study, we have implemented this configurator in recent version
        of HySCM >= 1.2.1 in its initialization/configuration system by adding Hyang
        scripts in the top level of HySCM source tree. Thus HySCM >= 1.2.1 will need
        Hyang version >= 1.3.1 installed for the support of the 'hyang CMD setup'.

        Note that, the files config.guess and config.sub are still needed here for
        checking host/build system types during initialization/configuration time,
        and the 'make' utilities from GNU or similar are also needed for the support
        of Makefile rules during (and for testing) the build/compilation process.

      - Add 'hyang CMD sawo' for the use in various kind of programming and scripting
        applications. Usage example:

           $ hyang CMD sawo file.hyang

        For more informations, type:

           $ hyang CMD sawo --help
           $ hyang CMD sawo --version

      - Update versioning in some Hyang script front-ends by using HySCM versioning
        system extracted from files hyscmterm, hyscmterm.id and a configure-generated
        file hyscm.ver. The version and version name information from files VERSION
        and hyang.vername respectively are also used in some Hyang script front-ends.
        Thus these files MUST be kept exist in the Hyang installation destination
        directory (e.g. /usr/local/lib/hyang, by default) along with the file COPYING
        (see the list of files presented to variable INSTFILES in Makefile.in file
        at the top-level of Hyang source tree).

        This change applies to the following Hyang script front-ends:

           BATCH       Hyang script front-end for batch used particularly to run Hyang
                       in non-interactive mode to get the result from an input (.hyang)
                       file and place output in stdout and stderr to another (.hyout)
                       file.
           COMPILE     Hyang script front-end for other compilers supported by Hyang
                       including C ('.c'), C++ ('.cc' or '.cpp'), FORTRAN 77 ('.f'),
                       FORTRAN 90 ('.f90'), FORTRAN 95 ('.f95'), Objective C ('.m'),
                       and Objective C++ ('.M' or '.mm').
           config      Hyang script front-end to retrieve informations on some useful
                       variables in the current Hyang configuration.
           f77_f2c     Hyang script front-end for converting Fortran to C (f2c) operated
                       on the FORTRAN 77 source files ending in '.f'.
           hyangtags   Hyang script front-end to hyangtags/etags (tag C, hyang, and hyd
                       files under the directory).
           javareconf  Hyang script front-end to retrieve current Java setup and update
                       the corresponding configuration in Hyang.
           LINK        Hyang script front-end to the linker against Hyang shared library
                       used in particular when creating executables.

        Check them out with:

           $ hyang CMD BATCH --version
           $ hyang CMD COMPILE --version
           $ hyang CMD config --version
           $ hyang CMD f77_f2c --version
           $ hyang CMD hyangtags --version
           $ hyang CMD javareconf --version
           $ hyang CMD LINK --version

    * Hyang configure/build/install system:
      - Bug fixes for failed installation due to misconfigured of some variables in
        Makefile files in directory share and doc/manual, and missing install rules
        in the Makefile file in abah compiler directory.
      - Add configuration variables PACKAGE_VERNAME, PACKAGE_UUID, HYSCM_DATE_TIME,
        HYSCM_DATE, HYSCM_YEAR, HYSCM_MONTH, HYSCM_DAY and other variables extracted
        form the informations in the HySCM versioning system, and show some in the
        Hyang configuration summary when the results finished successfully.
      - File hyscm.ver is now automatically generated by configure script and contain
        information about HySCM timestamp, as a configuration variable HYSCM_STAMP.
      - Update INSTALL file: Adding some notes on default destination directories
        in the Hyang installation; Adding other two ways of getting Hyang sources
        from Git and SVN repository; and Adding alternative email address for bug
        reporting (i.e., 'hyangcontrib@gmail.com') if domain service for the email
        'contributing@hyang.org' is unavailable at the times.

    * Hyang doc/man:
      - Add sawo.1 script file in doc/sawo.1 for use of sawo man page.

CHANGES in HySCM 1.2.1 :

CHANGES in HySCM 1.2.1:
   * Change a configure-generated file 'autoconfig.h' due to the changes in HySCM setup
     and configure system below. Now this file is 'hyscmsetup.h'.
   * Setup and configure system:
       - The configuration for HySCM initialization setup is now using 'hyang CMD setup'
         command that is implemented in Hyang version >= 1.3.1. This command can be used
         at best for setting up and configuring source packages, similar to GNU Autoconf.

       - At initialization/configuration time of HySCM, the 'hyang CMD setup' command will
         search for Hyang interpreter with sawo support (Hyang version >= 1.3.1) for backward
         compatibility.

       - The initialization/configuration file to be invoked by 'hyang CMD setup' command is
         'init.hyang' file.

       - The configuration routines consist of 8 major parts, written in 'hyscmsetup.hyang'
         file.

       - The configuration definitions are written in 'configdef.hyang' file.

       - The configuration logs are recorded to 'setuplog.hyout' file (similar to 'config.log'
         file).

       - The header file used for HySCM source during compilation (included in src/config.h file)
         is auto-generated by the 'hyang CMD setup' command, and now it's a 'hyscmsetup.h' file.
         This follows the 'HAVE_HYSCMSETUP_H' definition for compiler flags.

       - The HySCM setup script files are also versioned separated from HySCM version that you
         can check using 'hyang CMD setup' command. At the top-level of HySCM source tree (where
         the 'init.hyang' file is there), you can type

              $ hyang CMD setup init.hyang --version

         for the version information of HySCM setup script files, or type

              $ hyang CMD setup init.hyang --help

         for more informations.

         The current version of 'hyscmsetup' is v0.2.1.

       - The files 'config.guess' and 'config.sub' from GNU are needed here for checking the host
         and build system types.

   * Updating the 'make' files:
       - The 'hyang CMD setup' command can also be used to update various 'make' files in 'src'
         and 'win' directory. The file to be invoked by this command is 'src/buildmake.hyang'.

   * Testing for compilation result:
       - The 'make test' will run on 'hyangtest' directory containing some Hyang script files,
         instead of running on 'test' directory (the 'test' directory is now removed).

   * HySCM Book:
       - A previous book on HySCM version 1.1 is now added to 'book' directory.

E-Book Sistem Manajemen Kode Sumber Menggunakan HySCM

Telah tersedia e-book saya yang kedua di HLF,

Prakata :

Mengelola kode sumber adalah kegiatan yang tidak dapat dipisahkan dari proyek pengembangan perangkat lunak apa pun, baik yang open source maupun tidak.

Buku ini adalah tentang HySCM sebagai sistem manajamen kode sumber, yang dapat digunakan untuk mengontrol versi (SVC), yang terdistribusi, berbasis blockchain, dan terintegrasi dengan sistem pelaporan bug dan pentiketan issue, sistem wiki, forum, pencabangan, tag, sistem penulisan catatan teknis dan dokumentasi, dan dapat di-host sendiri baik menggunakan web server built-in yang dibangun sendiri melalui baris-perintah di hyscm maupun dijalankan bersama dengan web server yang sudah terpasang di server untuk menampilkan antarmuka pengguna berbasis web.

HySCM sepenuhnya mandiri dan agnostik. Implementasi akhir HySCM adalah dalam bentuk berkas biner tunggal executable bernama hyscm. Terdapat beberapa kelebihan HySCM dibandingkan sistem kontrol versi yang sudah ada saat ini, yang dapat Anda temukan di buku ini. Hal ini dikarenakan HySCM didesain, diimplementasikan dan diuji pada saat lebih kekinian, setelah penulis mempelajari sistem-sistem kontrol versi yang ada saat ini kemudian mengatasi setiap kekurangan yang ada, dan mengintegrasikan seluruh fitur-fitur yang diperlukan oleh proyek pengembangan perangkat lunak ke dalam satu berkas executable sehingga lebih efisien.

HySCM dapat digunakan oleh pengguna tunggal atau pun kolaborasi. Buku ini hanya membahas praktik dasar untuk pengguna tunggal, dan membahas berbagai baris-printah dasar, yaitu sebagian kecil saja dari praktik menggunakan HySCM. Sedangkan penggunaan HySCM untuk kolaborasi atau banyak pengguna, dan tiga kelompok baris-perintah HySCM lainnya (yaitu kelompok baris-perintah pemeliharaan, lain-lain, dan lanjut) tidak dibahas dalam buku ini.

 

A Developers Guide to the Release Plans for Hyang 1.3.0 “Iced Avocado”

Laman web hyang.org sekarang punya halaman khusus untuk informasi rencana rilis, catatan rilis, dan berita rilis dari para pengembang, bisa diakses di sini ( https://hyang.org/release/index.html ).

Beberapa update dari rencana rilis Hyang 1.3.0 “Iced Avocado” bisa diakses melalui : A Developers Guide to the Release Plans for Hyang 1.3.0 “Iced Avocado” ( https://hyang.org/release/hyang-1.3.0_release_plan.html )

Gambar dari akun IG Hyang Research Center (@balairiset) :

A Developers Guide to the Release Plans for Hyang 1.3.0 "Iced Avocado"

Update (26/04/2019)
Bacaan lainnya : About the Changes in Hyang “Iced Avocado” (Will Imply the Changes in OwlGalunggung). Thanks Dara dan juga untuk tim pengembang OwlGalunggung.

Preparing for the Hyang 1.3.0 Release

[This blog post describes the release plans of Hyang 1.3.0 from the Hyang Programming Language writer and creator, Hilman P. Alisabana. This blog post is licensed under the same license as the license of this blog (Creative Common License Attribution-ShareAlike version 3.0). You can email the writer’s email address <alisabana@hyang.org> for further informations about this blog post.]

Hyang 1.3.0 is planned to be released this year. This is the “heavyweight” version of Hyang because a lot of additions, new features, and some big changes. It will come with so many default packages and libraries (including Abah compiler and a number of base packages) and about 15+ prebuilt packages. The Abah compiler of Hyang and its JIT capabilitias (called Jitabah) will be integrated and natively registered within Hyang 1.3.0 distribution, and it’s used by default when starting Hyang prompt.

Hyang 1.3.0 will also have a version name “Iced Avocado”; the “heavyweight” version of Hyang but with a fruitful and nutritious packages.

What’s really new on the next in this world is that Hyang 1.3.0 will have an interface to deal with Alisabana’s Constant. This is another good news for Alisabana’s Constant fans worldwide. 🙂

Although Hyang 1.3.0 was built under Debian GNU/Linux, as below :

system info

Hyang 1.3.0 source code is being developed for Unix-like machines, so it will configure and build under a number of common platforms including platforms of CPU-linux-gnu for the i386, amd64/x86_64, alpha, arm, arm64, hppa, mips/mipsel, powerpc, s390x and sparc CPUs, i386-hurd-gnu, CPU-kfreebsd-gnu for i386 and amd64, i386-pc-solaris, rs6000-ibm-aix, sparc-sun-solaris, x86_64-apple-darwin, x86_64-unknown-freebsd and x86_64-unknown-openbsd.

In addition to Unix-likes, with helps the GNU Compiler Collection (GCC) manuals, Hyang 1.3.0 source code is also being developed for Windows and Mac OS families of operating systems, although all Hyang developers did not have access to Windows and Mac.

Below is the screenshot of a successful configure result of hyang-devel (Hyang 1.3.0 latest development), after running the ./configure command :

Hyang 1.3.0 Configuration Output

Hyang 1.3.0 will have interfaces to procedures written in the C, C++, Obj-C, Fortran and Java for efficiency. If your installed GCC versions do not support C++17 compiler and Obj-C compiler, try a later version of GCC, at least GCC 7.4, or later. (Update: see my next post on sharing about how to build and install GCC version 8.3 : In bahasa Indonesia).

Below is the screenshot of compilation result (after running the make command) to hyang-devel. When hyang is called from the terminal it’ll look something like this :

Hyang 1.3.0 - Welcome Prompt

With the ./configure and make command, everything should run well. You don’t need to install Hyang 1.3.0 to run Hyang. But for a large sets of project it is recommended to install Hyang with the root access, for instance using the command sudo make install.

Unlike Hyang 1.2.x series which are licensed under the terms of MIT license, Hyang 1.3.0 will be distributed mainly under the terms of GNU General Public License version 3 or later, and some files still use version 2. Below is the screenshot of output to the function license() :

Hyang 1.3.0 Licenses

A copy from above :

Hyang software package is distributed under the terms of GNU
General Public License, either Version 2 or Version 3.
The terms of version 3 of the license are in a file called COPYING
which you should have received with this software package
and which can be displayed using hyangShowDoc("COPYING").
Version 2 can be displayed using hyangShowDoc("GPL-2").

You should have received copies of the licenses along with this
software package. If not, see <http://www.gnu.org/licenses/>.

A small number of files (the API header files listed in the
HYANG_DOC_DIR/COPYRIGHTS) are distributed under the terms of
LESSER GNU GENERAL PUBLIC LICENSE, version 2.1 or later.
This can be displayed using hyangShowDoc("LGPL-2.1").
Version 3 of LGPL can be displayed using hyangShowDoc("LGPL-3").

'Thank you for using Hyang, and enjoy coding!'
>

Hyang 1.3.0 provides a modern interface to mathematical and statistical algorithms, and some modern computational tasks including AI and data sciences. The Hyang 1.3.0 distribution also contains utilities for parallel computations, neural networks, spatial correlation and “monadic” space analysis, genetic algorithms, survival analysis, recursive partitions, some algorithms to deal with lattice stuffs, bootstrapping tools, kernel smoothing, and many more to come later.

On mathematics and statistics, Hyang 1.3.0 has a large sets of functionality for a large number of modern research topics, including linear and generalized linear analysis, nonlinear regression analysis, time series analysis, parametric and nonparametric tests, clustering, smoothing, structural equation modeling (SEM), partial least square (PLS), fuzzy logic, etc etc…, also provides a flexible graphical environment for creating various kinds of data visualization.

Hyang 1.3.0 consists of a language; an interpreter plus a compiler (Abah) with a JIT (Just-In-Time) capabilities (Jitabah); run-time environment with graphics, a debugger, access to certain system functions, and the ability to run programs within script files.

Hyang 1.3.0 is a programming and scripting language that is influenced by GNU software projects, and inspired by a number of programming languages including C, C++, Obj-C, Fortran, Lua, Scheme, R, Java, Python and Perl.

Below is a screenshot of the output from function contributors() :

Hyang 1.3.0 Contributors

Complete output from function contributors() above is here :

Authors of Hyang.

Hyang was initially written by Hilman P. Alisabana in early 2017.
On its develepment Hyang was influenced and inspired by many other
programming and scripting language including C, C++, Java, Fortran,
Perl, Python, Scheme, Lua and R.

There has been a list of contibutors of Hyang, currently consisting of

M. Sindu Natama
Inne Susanti
Yazid Amini
Ervina Larasati
Nadya
Dara Irawan
Lena C. S.
Tedja Arsyad
Dhian Shaphira
Rida Farida
Anna Nita
Aldi Dinata
Nikita Yusuf
Yan

A list of authors of code from other projects outside Hyang included
in the Hyang distribution are listed in the COPYRIGHTS files.

Hyang is a programming and scripting language that was influenced
by GNU software projects, and inspired by a number of programming
languages including C, C++, Obj-C, Fortran, Lua, Scheme, R, Java,
Python and Perl.

Hyang would say thanks to the open source communities worldwide
for the invaluable helps with the codes and documentations that
has been adopted by Hyang and is acknowledged in the code files.

Other contributors outside the Hyang Language Foundation have
written codes that has been adopted and modified accordingly by
Hyang and is acknowledged in the source code files, including :

Lachlan Patrick, Catherine Loader, Ei-ji Nakama, Ulrich Drepper,
Bruno Haible, Gordon Matzigkeit, Gary V. Vaughan, Scott J. Remnant,
David MacKenzie, Paul Eggert, Patrick Daly, Achim Zeileis, Angus
North, Jim McDonald, Wim Rijnders, Ville Laurikari, Bjorn Reese,
Daniel Stenberg, Arthur D. Olson, Yukihiro Nakadaira, Martin F.
Gergeleit, Christopher R. Thewalt, DaviD W. Sanderson, Ross Ihaka,
Julian Seward, Alan Richardson, Noah Friedman and of course the GNU
project writers and the Free Software Foundation; many more, too
numerous to mention here.

The Hyang Language Foundation (HLF) may decide to give out email
address e.g., @hyang.org and an account from Hyang
websites to contributors to the Hyang project (even without making
them members of the HLF) when in the view of the HLF this would help
advance the Hyang project.

(END)

Other informations for Hyang 1.3.0 release plan :

  1. Plan for various kinds of file formats for any kind of Hyang documentations, manuals, FAQ, and NEWS files. These file formats including HTML, LaTeX and PDF. All and everything about making them are compiled within Hyang build system. From there, one can obtain formats converted to plain ASCII text, DVI, GNU info, HTML, PDF, PostScript, as well as the Texinfo source used for creating all these formats using the GNU Texinfo system. All of these codes can be built directly (and/or separately) during (and after) Hyang compilation process. For example, by issuing the following commands: make latex, make pdf, and make html after compilation process.
  2. Plan for Hyang bug tracking system placed at hyang.org website and integrate it within Hyang 1.3.0 distribution system.
  3. Plan for Hyang Package Archive (HYPA) placed at hyang.org website and integrate it within Hyang 1.3.0 distribution system.
  4. Plan for placing Hyang source code repositories and all Hyang default packages (including base and prebuilt packages) on public domain. Current versioning system of Hyang 1.3.0 development is using SVN and placed on private domain. Other plan is using git (in addition to svn one).
  5. Etc. (all other parts will be integrated within Hyang distribution system).