NGender Technology

Open Source Free Software

The OSFS movement now has more top-level programming talent working on useful software than is available to any commercial software house. It is particularly fertile because designers may freely build upon any work already done. NGender Consulting Group is committed to bringing the best of these programs, libraries & frameworks to solve the practical needs of NGender's clients.

We evaluate OSFS software according to a number of criteria, including:

There is a trade-off between always using the simplest tool to do the job & having to know lots of programs & control languages. A good collection of software tools contains a mixture of tools for addressing important application areas at different levels of complexity. It is not necessary & generally undesirable to provide all possible tools. One should particularly avoid tools whose complexity outweighs their functionality. We'll list a few important tools we use here.

Web Technology

Apache 2.0

Apache is the most popular web server today & is particularly powerful & efficient for building advanced web sites. Apache exploits multi-tasking, Multi-threading & data compression. Apache is highly extensible though a modules system.

ModTcl – a Tcl module for Apache

Allows efficient use of Tcl for web-site business logic. The Tcl interpreter & framework code need only be loaded when the web server is started.

NGender Web Framework

An advanced web-site framework which leverages Apache, ModTcl, postgresql & JavaScript to allow quick construction of high-end dynamic web-sites.

Command & Control

ksh – the Korn Shell

Command Shells are programs for controlling other programs. They can be used interactively or with scripts. ksh is the most efficient & powerful command shell for writing shell scripts. ksh is part of the Unix standard. ksh is compatible with (it was the inspiration for) the popular Gnu shell bash which is friendlier for interactive use.

tcl – the Tool Command Language

A remarkably clean & simple language for writing simple programs, it can be embedded in other programs to make them customizable, extensible, programmable & remote controllable. Tcl is great for web-site business logic. Tcl competes with other scripting languages such as Perl & Python. We believe that Tcl is easier to learn, more flexible & overall more productive than other scripting languages.

expect – controlling interactive programs

An extension of Tcl designed to automate interactive programs with scripts.

System Administration & Network Security

ssh & webmin – Secure Remote Access & Control

ssh allows secure remote interactive & scripting access to server & client systems. webmin allows secure interactive remote system monitoring & administration from any web browser.

OpenSwan – Virtual Private Networking

Allows remote client machines to become part of an organization's network from the outside, without compromising security. Particularly useful for employees who work from home or employees using notebook computers while traveling. All data transmitted or received is encrypted.

nmap – network mapping

Essential for auditing an organization's networks & checking for potential security vulnerabilities.

Programming & Software Development

The Gnu Compiler Collective

Translates code written in popular languages such as C, C++, Java, Ada, Fortran & Pascal into optimized machine language. Works with most popular kinds of computers, e.g. Intel Pentiums & compatible microprocessors, Power PCs (used by Apple & IBM), SPARC's (used by Sun Microsystems) & many more. Works on all OSFS OSs as well as Microsoft Windows & other proprietary platforms.

gvim & x/emacs – extensible programmer's editors

Multi-buffer multi-window syntax-aware editors which understand nearly every language & many important text file formats to optimize editing. Can work with or without a GUI, with or without a mouse, over high or low speed remote connections & can be extended or automated with a built-in scripting language.

Gnu Make – dependency management

A tool for automatically managing dependencies among files & running appropriate commands to bring files up to date when the files they depend upon change. Highly extensible.

RCS & CVS – revision management

Manage changes & revisions among individual files or collections. Manages integrity when multiple authors check files in & out. Preserves history of each file with author, time-stamp & date information. Provides many more features – very advanced.

Manipulating Text

sed/ed/ex – Automate editing of text streams & files

Particularly useful for xml/xhtml & system administration configuration files.

m4 – A general purpose macro processor.

Great for centralizing & factoring out common complex text structures. Particularly helpful for constructions.

awk – A text-oriented programming language.

Any text file can be viewed as a database. awk can arbitrarily transform that data by simple pattern/action rules.