Dec 01
Sunday

Main Menu

Home
News
Research
Coding
Experimental Stuff
Teaching
Articles
Action
AboutMe
On-Site

Simple Applications PDF Print E-mail
Written by Harris Georgiou   
Saturday, 26 September 2009 17:33

NOTE: This code repository is depricated and no longer maintained. Please fefer to the current one at: https://github.com/xgeorgio

WARNING: The author does not guarantee the correctness or completeness of material in the code sources, documents and supporting data provided here. Neither he nor any other party (whether or not involved in producing, maintaining or delivering this material), shall be liability or responsible for any kind of loss or damage that may result to you or a third party as a result of your or their use of them. Please keep in mind that several of these pacakges are almost two decades old and and there is no way to validate their proper behavior today...

 

PEGASUS - Java-based Protein Prediction Web Service

Distributed Internet application in Java for DNA sequence analysis and protein prediction. This is an enhanced version of an earlier project developed in parallel with the BSc thesis during 1996-1997. The final version is written entirely in Java (no external programs), employing an applet-based client module and a multi-threaded stand-alone Java server that implements the core service. The server modules that feature the neural network classifiers implement several processing enhancements like state-full processing (sessions), priority queues, results caching, configurable thread pool for neuron firing (in parallel), etc. (see: "Theses"). [download: zip ]

USanal - Texture Analysis in Ultrasound Images

Software package in C/C++ for image processing and textural feature extraction, designed specifically for medical images (ultrasound) as part of computer-aided diagnosis systems. This is a re-compiled package of earlier projects developed in parallel with the MsC thesis during 2000 (see: "Theses"). [download: zip ]

ERATOSTHENES 2002

Complete library management system in MS-Access. It contains a full database of books, journals, newspapers, publishers, authors and registered readers, as well as support for loaned material. The management system implementes the full Dewey catalog for complete material organization according to international standards. Although it was originally developed as an educational software for programming in MS-Access, it can be used in practice by small or medium-sized libraries (e.g. in schools). The current version has been re-compiled for MS-Access ver.2002 and maximum compatibility with OpenOffice Base. [download: zip ]

MediaCase

Simple MS-Access application for the management of storage media. [download: zip ]

Sparrow

A simple off-line email generator, automating e-shopping management procedures. The client submits a new odrer on-line (website), the Sparrow program uses the order tokenID to generate a hashed-name file for secure upload and a corresponding email to the client, in order to access the purchased digital package. This application was developed as supporting software for a commercial e-shopping website, but is fully customizable (external email template files) and it can be easily adapted for any similar use. Full C++ Builder project and test files. [download: zip ]

Prototype Database Management System in WWW (CGI)

Design and implementation of a simple DB service for the WWW using standard CGI and JavaScript programming. The package was developed in SunSPARC/Solaris platform (C programs) for any standard HTTP server. [download: zip ]

Basic Image Processing (B.I.P.)

Design and implementation of a simple image processing suite in Borland Delphi (ver.4.0). The application is a VCL-based GUI project, it supports .bmp format and it implements various image enhancements (CDF-equalization, normalization, windowing), image thresholding, edge detection and enhanhement (standard, Robert, Sobel, generic mask), image sharpening (standard, Robert, Sobel, generic mask), etc. [download: zip , pdf ]

Windows ID

Retrieve and display all hardware-related and Windows-related information using simple Windows SDK functionality. Please use wisely, since it displays productID and similar 'sensitive" data on screen. Full C++ Builder project. [download: zip ]

FCR - File Character Replacer

Replace selected characters in text and binary files. [download: zip ]

WWC

The standard word-counting program from Unix, now in Windows (console mode). Counts lines, words and characters in any text file. It can be used for statistics and logging in software development (LOC metrics). [download: rar ]

AirData

Programming example in C/C++ for calculating basic atmospheric parameters. The implemented models are analytic non-linear equations and provide realistic approximations of pressure (P), temperature (T) and density (d) in the two major metric systems (US, SI). The program was developed in Borland C++Builder 5.0 as a console application in the ANSI standard for C++ and it contains various features (I/O streams, etc). [download: zip ]

Quantum

Programming example in C/C++ for calculating the four basic quantum numbers for any number of electrons. The program illustrates the proper use of nested iteration loops and I/O streams. It was developed in Borland C++Builder 5.0 as a console application in the ANSI standard for C++. [download: zip ]

Primes

Programming example in C/C++ for calculating prime numbers iteratively. The program illustrates the proper use of container and iterator classes using the Standard Template Library (STL). It was developed in Borland C++Builder 5.0 as a console application in the ANSI standard for C++. [download: zip ]

RegID

Programming exmaple for accessing the Windows Registry and Windows-related information using simple Windows SDK functionality. Please use wisely, since it displays productID and similar 'sensitive" data on screen. Full Borland Delphi (ver.5.0) project. (console app). [download: zip ]

SILCA

Programming example in Borland C++Builder (ver.5.0) for calculating the basic illumination setup parameters for interior lights. The program is a simplified variant of the professional engineering suites that calculate the proper intensity and layout of illumination elements for every room in a house or office. However, the data and formulas implemented are real and they can be used in practice for simple installations. The program illustrates the proper use of nested iteration loops and I/O streams. [download: zip ]

Split/Merge

Programming example in Borland C++Builder (ver.5.0) for splitting and merging text and binary files. Παράδειγμα προγραμματισμού σε C/C++ (C++Builder 5.0 project) για τον κατακερματισμό και την επανένωση μεγάλων αρχείων. Compatible with ANSI C/C++ (Unix/DOS console app). [download: zip ]

Rand64

Programming example in Borland C++Builder (ver.5.0) for generating very large (64-bit) random integer numbers. [download: zip ]

Timers

Programming example in Borland C++Builder (ver.5.0) for illustrating interface with the standard WIndows SDK for high-resolution timers. It contains a simple use of this API for implementing run-time resolution calculation, execution-time measurements, etc. Two executables, with and without any compile-time optimizations, in order to test the effects of embedded debugging information and checks to the stability of the timing functions. [download: zip ]

Splines

Simple library for 3rd-degree spline interpolation using C/C++. Implementations contain run-time estimation of interpolation error and minimum number of points required for a pre-defined (max) error. [download: zip ]

Simple Naming Service (SNS)

Prototype of a very simple distributed service that can be used as the base for a naming (directory) service. It illustrates the use of Java and Remote Object Invocation (RMI) technologies for multi-client, multi-server implementations, with dynamic node discovery and protocol redundancy. [download: zip ]

Simple Distributed Group Service (SDGS)

Prototype of a very simple distributed service that can be used as the base for a search engine service. It illustrates the use of Java and Remote Object Invocation (RMI) technologies for multi-client, multi-server implementations, with dynamic node discovery, voting ring configuration and protocol redundancy. [download: zip ]

Basic Neural Network Applications (MLP/BackProp, Kohonen)

Design and implementation of a software package for implementing a series of neural network architectures and training algorithms. The package contains a full set of training/testing programs for MLP-based back-propagation and Kohonen neural networks, with a sample dataset for noisy optical character recognition (OCR). [download: BackProp , Kohonen ]

System Uptime (win32)

The popoular 'uptime' program now for Windows. Diplay the system time elapsed since the last reboot/power-up. Full Borland Delphi (ver.5.0) project. [download: zip ]

Date/Time Reminder (win32)

A very simple and very useful program for displaying the days and time elasped or remaining for a specific calendar event. The program illustrates teh use of millisecond-resolution timers, date difference calculations, .ini files access and manipulation, etc. Full Borland Delphi (ver.5.0) project. [download: zip ]

Opposite/Othello (win32)

The popular Othello (Opposite) board game now for Windows. Originally developed for the evaluation of the search depth and computing power of similar applications for mobile devices, the program illustrates the implementation of game trees and minimax search algorithm, as well as various GUI features for creating a user-friendly interface. It supports zero, one or two computer players of adjustable AI difficulty, search depths up to four levels (enough to beat very strong human players). Full Borland Delphi (ver.5.0) project. [download: zip ]

Checkers (win32)

The popular Checkers board game now for Windows. Originally developed for the evaluation of the search depth and computing power of similar applications for mobile devices, the program illustrates the implementation of game trees and minimax search algorithm, as well as various GUI features for creating a user-friendly interface. It also illustrates how easy it is for this specific board game to create an unbeatable computer player. Full Borland Delphi (ver.5.0) project. [download: zip ]

e-Booking Web System for Airlines Company

Analysis, designa nd implementation of a web-based information and ticket booking system for an airlines company. Implemented in SunSPARC/Solaris platform using CGI and Java applets for any standard HTTP server.  [download: zip ]

TRN Simulator: Assembler/Executor/Shell for the TRN Virtual Processor

Analysis, design and implementation of a full emulation package for the TRN virtual processor. The virtual platform was implemented in ANSI C and it contains full emulation of hardware (control circuits, registers, microcode) and software (assembler, executor/shell) components. [download: zip ]

KASTORAS - Fur Shop Management

Analysis, design and implementation (in MS-Access) of a complete management system for a fur shop. The database implements client management, storage/stores, sales, accounting, etc. The system analysis contains a full set of requirements and design documentation documents (ISO-based). [download: ...]

Distributed Management for Virtual Company

Analysis, design and implementation (in Borland Delphi) of a complete management system for a virtual company. The application illustrates the use of routing algorithms (Dijkstra) for dscovering and storing optimal network paths, as well as simple distributed database storage. [download: ...]

D.I.S.: Management System for Company Logistics Support

Design and implementation of a database system (in MS-Access) for the complete management of orders, clients, service, employees, storage/stores, etc. This is a simplified version of an earlier product that was originally developed for internal use by a greek ICT company. [download: zip ]

DAEDALUS: Framework Libraries for ANN in Java

Backbone libraries for implementing general neural networks of any type in Java. The original framework supports centralized, parallel (multi-threaded) and distributed (networked) implementations, but very limited final functionality due to its nature. [download: zip ]

GANNO: Framework Libraries for Artificial Neural Networks in C++

Template library in C++ for supporting the implementation of neural network architectures and training algorithms. [download: ...]

J-GANNO: Framework Libraries for Artificial Neural Networks in Java

Generic library in Java for supporting the implementation of neural network architectures and training algorithms. [download: pdf ]

ANN32: Prototype MLP/Back-prop Suite for Artificial Neural Networks in C++

Prototype package for implementing MLP feed-forward neural networks and variants of the Back-propagation training algorithm, as well as a feed-forward testing program for already trained and stored instances. The training suite is based on an earlier set of console programs (BPM32), originally developed in SunSPARC/Solaris platform, while the testing suite (MLP32) is based on a Windows-based implementation. Both packages are ANSI-compatible and they can be ported to any other platform with minimum problems, they have already been tested in Linux (slackware, Fedora, RedHat) and OS/2 Warp (IBM). The Back-propagation training implements various options for momentum, activation functions (sigmoid, tanh), output function (standard, winner-takes-all), etc. [download: zip ]

J-GTREE: Framework Libraries for Graph-Search AI in Java

Generic library and example application for graph-search algorithms, commonly used for implementing computer players in board games. The base framework includes simple, parallel (multi-threaded) and distributed (networked) implementation. The example program includes a full implementation and solver of the 9-number (3x3 box) game. [download: zip ]

GTREE: Framework Libraries for Graph-Search AI in C++

Template library for graph-search algorithms, commonly used for implementing computer players in board games. [download: zip ]

M.E.S.S.: Framework Libraries for Expert Systems with Uncertainty in C++

Template library for supporting the implementation of rule-based inference systems (with uncertainty) in C++. The package conatins a simple rule compiler for the special logic description language, as well as a basic inference engine that implements standard CF-based models. [download: zip ]

HERMES: Framework Libraries for Cryptosystems in Java

Generic libraries for supporting the implementation of symmetric and asymmetric encryption algorithms in Java. The base package was implemented originally in the very first version of the Java Securoty API and Java Cryptography Architecture, which cintained extremely limited functionality. Later versions included various implementations of standard algorithms (RSA, DES, etc), thus rendering this package obsolete. Yet, it is still an illustrative programming example on how to use big-number classes and bit-level operations. [download: zip ]

KERVEROS: Programming Library for Application Serialization and Locking

Design and implementation of a general-purpose library and example applications for protecting commercial software. The library implements a wide variety of cryptographic, hardware-based functionality, as well as time-variant encryption keys, which are combined to uniquely identify the execution environment/platform/installation and provide identification details to a main (client) application. [download: zip ]

OPT-FLOW: Εφαρμογή σχεδίασης δικτύου βέλτιστης κατανομής πόρων

Design and implementation fo a generic tool for calculating optimal flows in a network. The program can be used for a variety of applications, from network and protocol design to logistics support. The base functionality includes delays and time windows in storage and transfers, installation and connections costs, etc. The optimization stage can use any compatible algorithm, such as Simplex, genetic programming, etc. The simulation mode can be used to study queueing requirements, performance analysis, etc. [download: ... ]

GENESIS: Virtual Environment for Evaluating Multi-Agent Adaptive Models

The GENESIS project is an idea realized by a group of researchers and postgraduate students from Greece, with common interests in artificial intelligence, adaptive agents and distributed systems. Based in the concepts of A-life, the main goal is to create a useful, modular, robust, distributed virtual environment which will be used for the deployment of various kinds of "intelligent" agents. Using a common framework for both environment and agents' basic architecture, different kinds of agents will be deployed dynamically, with the one and common goal of survival through genetic optimization and behavioral adaptation to the environment. Using various control schemes for each agent class, from genetic algorithms, neural networks, fuzzy rule set, even linear optimization, the effectiveness of each method in a competitive environment will be studied in an interactive and illustrative way, observing real-world eco-society attributes like survivability ratios, robustness to harsh environmental conditions, fight-or-flee mechnisms, etc. [download: pdf ]

A3CS/Sentinel: Integrated Distributed System for Versioning, Licencing and Protection of Networked Commercial Software

The A3CS/Sentinel is a modular architecture and layered software system that covers all the main aspects of commercial software versioning, licencing and protection. A3CS stands for "Authorization, Access, Authentication & Crypto Services", implementing simple yet effective mechanisms for installation checking, program locking, licence distribution, etc. The main project contains pilot implementations for a front-end service (client gateway), as well as several back-end (multi-tier) server modules implementing the core functionality of the system. At present state, the A3CS/Sentinel model design has been completed and a prototype has been developed in Java RMI. It is still in "alpha" state and currently considered for a full commercial release. [download: ... ]

A3CS/Sentry: Ολοκληρωμένο πακέτο υποστήριξης για τη έκδοση, έλεγχο και διαχείριση αδειών χρήσης για εμπορικές εφαρμογές.

The A3CS/Sentry is a stand-alone client-side supplement for the A3CS/Sentinel suite, specifically designed for commercial software without any direct, reliable or permanent access to the Internet. It has been modelled primarily for MS-Windows (win32) platforms and it employs several mechanisms for identifying and serializing several hardware, software and OS-related features. It also implements several strong cryptographic features, including hashing functions, time-variant keys, digital signatures, etc. The A3CS/Sentry suite includes a supporting library with general-purpose functionality for application development, specifically focused on similar run-time environment checks and executable integrity checks. At present state, the A3CS/Sentry model design has been completed and a prototype has been developed in Borland C++Builder and x86 Assembler. It is still in "alpha" state, currently tested for compatibility in several Windows platforms (9x/XP/NT/2000/Vista/7) and considered for a full commercial release. [download: ... ]

 

Acknowledgement: Several of these works are the result of collaborative effort with many good friends and co-workers throughout the years. The author wishes to express his very best gratitude to all the people he has worked with, in countless hours of sleepless writing, coding, and debugging. Every name and original affiliation has been preserved (of course) as-is in all the corresponding material.

Creative Commons License EU Public License
All the documents and related material by Harris Georgiou are licensed, in parts and as a whole, under a Creative Commons Attribution-Non-Commercial-Share Alike 3.0 Unported License. All the code sources and related material by Harris Georgiou are licensed, in parts and as a whole, under a EU Public License.

Last Updated on Saturday, 08 January 2022 20:13