Onyx
Onyx is a tool for rapid prototyping of database applications. The theory behind Onyx is that any application consists of the following:
Internal tables to store temporary data
Masks to view and edit the date
Transactions between the internal tables and the rest of the world
Transactions can be bound to a menu, an input field, a function key or to the change of the current row of the cursor. So if the user selects a menu item or leaves an input field by pressing return the transaction will automatically be started.
Unlike other 4GLs, Onyx doesn't hide your environment (UNIX/Linux) but gives you the full functionality of the shell. For example, this is how we could print letters using data in an Onyx table combined with the capabilities of shell commands.
export table to pipe {
awk | mailmerge | groff -Tps -mm | lpr -Pps; }
It is also possible to import a table using shell commands as in the example below:
import table from pipe {
tar xvf /dev/rmt0 | sed "s/ *-> */->/" | sed "s/ */ /g"
| sed "s/[^]*$/& &/"; }
And, of course, it is possible to export or import to an SQL statement.
Onyx needs a SQL database which is doing the real work. So its possible to use a SQL anywhere in your Net. I'm normally using Informix on a Sparc II or Ingres at home under Linux.
Databases are named as database%engine@host.domain. Supported engines are currently GNU-Awk, Informix, Ingres and SHQL.
The last one (SHQL) is a genius shell-hack which is parsing the SQL by the shell and doing the job by awk. Of course that's really slow. It is included because that is where my idea for the Onyx project came from. Also, you need SHQL because it is used to manage the schema definition (create table, etc) for gawk.
I started looking at Linux in late 91 and since MCC 95c+ I've thown away Xenix and am using Linux at home. As TCP/IP got into 98p1 kernel I thought about using Linux as a client for databases.
In winter 92 I began a project for the ”Wasserwirtschaftsamt Bremen“ called ”Verwaltung von Anlagen mit Wassergefaehrdenden Stoffen“. They had a Siemens MX 500 which was so slow that it was possible to roll a cigarette and smoke it to the end when somebody wants to do a query.
I told them that ”Client/Server computing is the only solution" and they installed my suggested hardware consisting of a Sparc II and 8 PCs. Having Linux in mind I gave the PCs 8 MB of RAM and a Tseng video card. This was the right idea as I saw later.
Informix SE and NET for the Sparc were delivered together with Informix for MS-DOS. The port of the old database and program was only a job of character conversation between DIN to MS-DOS. (In Germany we always have a umlaute problem.)
The hardware was installed as described above. It was fast enough to do the querys in just a second. Unfortunately, the MS-DOS systems were crashing nearly every hour! We didn't know if it's MS-DOS, PC-NFS, or Informix that was causing the problem. But we knew it was the time to look for a stable operating system. Of course Linux was my choice!
As an interim measure, the MS-DOS systems were used as terminals to telnet into the Sparc and jobs where run on the Sparc. The query times grew to up to half a minute and and I started to hack a better solution using Linux.
Two month later I installed the first version with Linux 99p6. It's now running 99p9. And I now have earned enough money (6,000 DM) to live for the next two years and I'm now rewriting this quick hack that I did in the first month. As there are some more Wasserwirtschaftsaemter (administration of installations with water endangering substances) for the Department of the Environment of the State of Bremen having interest in the program, I will continue the project earning more money and giving the Onyx-4GL to the Internet community. Onyx a killer application for Linux? Large databases are a place where the money is made. So let's talk about money. As I saw it, MS-DOS is bad choice as a possible platform for a database clients. I see two possible solutions:
Use a Mainframe for doing the job
Use Sparc or $CO Unix systems as clients
Both are really expensive choices. With Linux you only need a cheap PC to do the job in client/server computing and you don't have to pay a lot of money to a Unix vendor for every client.
Another possible scenario is needing to upsize an entry-level database from an MS-DOS platform. Let's think about the following configuration
First a 486-bases system with Linux and [university] Ingres as a server
If there are old 286 systems they can be used as terminals
Newer 86 can be upgraded to run the client locally
As the database is growing up you can use a faster (commercial) SQL on a commercial Unix as a server without trouble
DOS applications can be run by QuarterDeck DeskView-X without the posibilty of crashing the database in an xterm on any Linux box, if
DOS applications are really necessary
Such a configuration can be sold to any company and it cost less than a Novell Netware. And if the company has several locations in perhaps different cities its possible to mirror the transactions on normal modem lines which is impossible to do with a traditional database over a remote Novell FS.
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- Linux Systems Administrator
- New Products
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Using Salt Stack and Vagrant for Drupal Development
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




5 hours 43 min ago
10 hours 15 min ago
10 hours 16 min ago
12 hours 16 min ago
21 hours 1 min ago
21 hours 35 min ago
22 hours 34 min ago
23 hours 24 min ago
1 day 3 hours ago
1 day 7 hours ago