This commit is contained in:
gferg 2000-08-03 18:24:33 +00:00
parent 74e0c77aea
commit 4f12232cd9
7 changed files with 1295 additions and 474 deletions

View File

@ -238,7 +238,7 @@ How to install, configure and use a busmouse under Linux. </Para>
C++Programming-HOWTO</ULink>,
<CiteTitle>C++ Programming HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: July 2000</CiteTitle>.
<CiteTitle>Updated: August 2000</CiteTitle>.
Discusses methods to avoid memory problems in C++ and
also will help you to program properly in C++ language.
Applies to all operating sytems. </Para>
@ -250,7 +250,7 @@ Applies to all operating sytems. </Para>
C-C++Beautifier-HOWTO</ULink>,
<CiteTitle>C-C++ Beautifier HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: July 2000</CiteTitle>.
<CiteTitle>Updated: August 2000</CiteTitle>.
Helps you to format (beautify) C/C++ programs so that they are more readable
and conform to your site coding standards. Applies to all operating sytems. </Para>
</ListItem>

View File

@ -546,7 +546,7 @@ Leased-Line</ULink>, <CiteTitle>
Leased line mini-HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>
Updated: April 2000</CiteTitle>.
Updated: August 2000</CiteTitle>.
Configuring your modem and pppd to use a 2 wire twisted pair leased line. </Para>
</ListItem>

View File

@ -50,7 +50,7 @@ basic-to-intermediate shell scripts. </Para>
C++Programming-HOWTO</ULink>,
<CiteTitle>C++ Programming HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: July 2000</CiteTitle>.
<CiteTitle>Updated: August 2000</CiteTitle>.
Discusses methods to avoid memory problems in C++ and
also will help you to program properly in C++ language.
Applies to all operating sytems. </Para>
@ -62,7 +62,7 @@ Applies to all operating sytems. </Para>
C-C++Beautifier-HOWTO</ULink>,
<CiteTitle>C-C++ Beautifier HOWTO</CiteTitle>
</Para><Para>
<CiteTitle>Updated: July 2000</CiteTitle>.
<CiteTitle>Updated: August 2000</CiteTitle>.
Helps you to format (beautify) C/C++ programs so that they are more readable
and conform to your site coding standards. Applies to all operating sytems. </Para>
</ListItem>

File diff suppressed because it is too large Load Diff

View File

@ -42,7 +42,7 @@ C-C++ Beautifier HOW-TO
<author>Al Dev (Alavoor Vasudevan)
<htmlurl url="mailto:alavoor@yahoo.com"
name="alavoor@yahoo.com">
<date>v5.0, 10 July 2000
<date>v6.0, 1 Aug 2000
<abstract>
This document will help you to format (beautify) the C/C++ programs so
that it is more readable and confirms to your site C/C++ coding standards.
@ -194,6 +194,7 @@ HTML, SQL, Java, Perl, Fortran.
<item> HTML : <url url="http://www.watson-net.com/free/perl/s_fhtml.asp">
<item> SQL : <url url="http://www.netbula.com/products/sqlb">
<item> Java : <url url="http://home.wtal.de/software-solutions/jindent/frameset.html">
<item> Java JPretty : <url url="http://www.mmsindia.com/index.html">
<item> Perl : <url url="http://www.consultix-inc.com/www.consultix-inc.com/talk.htm">
<item> Perl : <url url="http://www.consultix-inc.com/www.consultix-inc.com/perl_beautifier.html">
<item> Fortran beautifier : <url url="http://www.aeem.iastate.edu/Fortran/tools.html">

View File

@ -0,0 +1,433 @@
<!doctype linuxdoc public "-//LinuxDoc//DTD LinuxDoc 97//EN">
<article>
<title>Leased line Mini HOWTO
<!-- Copyright (c) 1997-2000 R.J. van der Putten, Leiden, Holland
Copyright notice http://metalab.unc.edu/linux/HOWTO/HOWTO-INDEX-5.html
applies to this document
-->
<author>Rob van der Putten, <tt><htmlurl url="mailto:rob@sput.nl"
name="rob@sput.nl"></tt>
<date>v2.1, 3 August 2000
<abstract>
Configuring your modem and pppd to use a 2 wire twisted pair leased line.
</abstract>
<!-- Table of contents -->
<toc>
<p>
The most recent (beta) version of this HOWTO can be found at:
<htmlurl url="http://www.sput.nl/software/leased-line/"
name="http://www.sput.nl/software/leased-line/">
<!-- Begin the document -->
<p>
<sect><heading>Introduction
<sect1><heading>What is a leased line
<p>
Any fixed, that is permanent, point to point data communications link,
which is leased from a telco or similar organisation.
The leased line involves cables, such as twisted pair, coax or fiber optic,
and may involve all sorts of other hardware such as (pupin) coils,
transformers, amplifiers and regenerators.
<descrip>
<p><tag>This document deals with:</tag>
Configuring your modem and pppd to use a 2 wire twisted pair leased
line.
<p><tag>This document does <bf>NOT</bf> deal with:</tag>
SLIP, getting or installing pppd, synchronous data communication,
baseband modems, xDSL.
</descrip>
<sect1><heading>Assumptions
<p>
You should already have a working pppd on your system.
You also need Minicom or a similar program to configure your modems.
<sect><heading>Modem
<p>
A leased line is not connected to a telephone exchange and does not provide
DC power, dial tone, busy tone or ring signal. This means that your modems
are on their own and have to be able to deal with this situation.
<p>
You should have 2 identical (including firmware version) <bf>external</bf>
modems supporting both leased line and dumb mode. Make sure your modems can
actually do this! Also make sure your modem is properly documented.
You also need:
<itemize>
<item>2 fully wired shielded RS232 cables. The shield should be connected to
the connector shell (not pin 1) at both ends (not at one end).
<item>A RS232 test plug may be handy for test purposes.
<item>2 RJ11 cords, one for each end of the leased line.
<item>A basic understanding of `AT' commands.
</itemize>
<sect1><heading>Modem Configuration
<p>
A note on modem configuration and init strings in general:
Configure your modem software such as minicom or (m)getty to use the
highest possible speed; 57600 bps for 14k4 and 115200 bps for 28k8 or
faster modems.
Lots of people use very long and complicated init strings, often starting
with AT&amp;F and containing lots of modem brand and -type specific
commands. This however is needlessly complicated.
Most programs feel happy with the same modem settings, so why not write
these settings in the non volatile memory of all your modems, and only use
`ATZ' as an init string in all your programs. This way you can swap or
upgrade your modems without ever having to reconfigure any of your
software.
<p>
Most programs require you to use the following settings;
<itemize>
<item>Fixed baud rate (no auto baud)
<item>Hardware bidirectional RTS-CTS flow control (no x-on/x-off)
<item>8 Bits, no parity, 1 stopbit
<item>The modem should produce the <bf>TRUE</bf> DCD status (&amp;C1)
<item>The modem should <bf>NOT</bf> ignore the DTR status (&amp;D2 or &amp;D3)
</itemize>
Check this with AT&amp;V or AT&amp;Ix (consult your modem documentation)
<p>
These settings are not necessarily the same as the default factory profile
(&amp;F), so starting an init string with AT&amp;F is probably not a good
idea in the first place. The smart thing to do is probably to use AT&amp;F
only when you have reason to believe that the modem setup stored in the non
volatile memory is really screwed up.
If you think you have found the right setup for your modems, write it to
non volatile memory with AT&amp;W and test it thoroughly with Z-modem file
transfers of both ASCII text and binary files.
Only if all of this works perfectly should you configure your modems for
leased line.
<p>
Find out how to put your modem into dumb mode and, more importantly, how to
get it out of dumb mode; The modem can only be reconfigured when it is not
in dumb mode.
Make sure you actually configure your modems at the highest possible speed.
Once in dumb mode it will ignore all `AT' commands and consequently will
not adjust its speed to that of the COM port, but will use the speed at
which it was configured instead (this speed is stored in a S-register by
the AT&amp;W command).
<p>
Now configure your modem as follows;
<itemize>
<item>Reset on DTR toggle (&amp;D3, this is sometimes a S register). This
setting is required by some ISP's!
<item>Leased line mode (&amp;L1 or &amp;L2, consult your modem documentation)
<item>The remote modem auto answer (S0=1), the local originate (S0=0)
<item>Disable result codes (Q1, sometimes the dumb mode does this for you)
<item>Dumb mode (&bsol;D1 or %D1, this is sometimes a jumper)
In dumb mode the modem will ignore all AT commands (sometimes you need
to disable the ESC char as well).
</itemize>
Write the configuration to non-volatile memory (&amp;W).
<sect1><heading>Test
<p>
Now connect the modems to 2 computers using the RS232 cables and connect
the modems to each other using a RJ11 lead. Use a modem program such as
Minicom (Linux), procom or telix (DOS) on both computers to test the
modems.
You should be able to type text from one computer to the other and vice
versa. If the screen produces garbage check your COM port speed and other
settings.
Now disconnect and reconnect the RJ11 cord. Wait for the connection to
reestablish itself. Disconnect and reconnect the RS232 cables, switch the
modems on and off, stop and restart Minicom.
The modems should always reconnect at the highest possible speed (some
modems have speed indicator leds).
Check whether the modems actually ignores the ESC (+++) character. If
necessary disable the ESC character.
<p>
If all of this works you may want to reconfigure your modems;
Switch off the sound at the remote modem (M0) and put the local modem at
low volume (L1).
<sect1><heading>Examples
<sect2><heading>Hi-Tech
<p>
This is a rather vague `no name clone modem'. Its config string is however
typical and should work on most modems.
<descrip>
<p><tag>Originate (local):</tag>
ATL1&amp;C1&amp;D3&amp;L2%D1&amp;W&amp;W1
<p><tag>Answer (remote):</tag>
ATM0L1&amp;C1&amp;D3&amp;L2%D1S0=1&amp;W&amp;W1
</descrip>
<sect2><heading>Tornado FM 228 E
<p>
This is what should work;
<descrip>
<p><tag>Originate (local):</tag>
ATB15L1Q1&amp;C1&amp;D3&amp;L2&amp;W&amp;W1
<p><tag>Answer (remote):</tag>
ATM0B15M0Q1&amp;C1&amp;D3&amp;L2S0=1&amp;W&amp;W1
</descrip>
Move the dumb jumper from position 2-3 to 1-2.
<p>
Due to a firmware bug, the modems will only connect after being hard reset
(power off and on) while DTR is high. I designed a
<htmlurl url="http://www.sput.nl/hardware/modem-reset.html#l2h"
name="circuit">
which hard resets the modem on the low to high transition of DTR.
The FreeBSD pppd however, isn't very happy about this. By combining the
setting &amp;D0 with a
<htmlurl url="http://www.sput.nl/hardware/modem-reset.html#h2l"
name="circuit">
which resets on the high to low transition instead, this problem can be
avoided.
<sect2><heading>Tron DF
<p>
The ESC char should be disabled by setting S2 &gt; 127;
<descrip>
<p><tag>Originate:</tag>
ATL1&amp;L1Q1&amp;C1&amp;D3S2=171&bsol;D1&amp;W
<p><tag>Answer:</tag>
ATM0&amp;L2Q1&amp;C1&amp;D3S0=1S2=171&bsol;D1&amp;W
</descrip>
<sect2><heading>US Robotics Courier V-Everything
<p>
The USR Sportster and USR Courier-I do not support leased line. You need
the Courier V-everything version for this job.
There is a webpage on the USR site `explaining' how to set-up your Courier
for leased line. However, if you follow these instructions you will end up
with a completely brain dead modem, which can not be controlled or
monitored by your pppd.
<p>
The USR Courier can be configured with dip switches, however you need to
feed it the config string first.
First make sure it uses the right factory profile. Unlike most other modems
it has three; &amp;F0, &amp;F1 and &amp;F2. The default, which is also the
one you should use, is &amp;F1. If you send it an AT&amp;F, however it will
load the factory profile &amp;F0!
For the reset on DTR toggle you set bit 0 of S register 13. This means you
have to set S13 to 1. Furthermore you need set it to leased line mode with
&amp;L1;
ATS13=1&amp;L1&amp;W
The dip switches are all default except for the following:
<descrip>
<p><tag>3</tag>
OFF Disable result codes
<p><tag>4</tag>
ON Disable offline commands
<p><tag>5</tag>
ON For originate, OFF For answer
<p><tag>8</tag>
OFF Dumb mode
</descrip>
<sect><heading>PPPD
<p>
You need a pppd (Point to Point Protocol Daemon) and a reasonable knowledge
of how it works. Consult the relevant RFC's or the
<htmlurl url="http://www.linuxdoc.org/HOWTO/PPP-HOWTO/"
name="Linux PPP HOWTO"> if necessary.
Since you are not going to use a login procedure, you don't use (m)getty
and you do not need a (fake) user associated with the pppd controlling your
link. You are not going to dial so you don't need any chat scripts
either.
In fact, the modem circuit and configuration you have just build, are
rather like a fully wired null modem cable. This means you have to
configure your pppd the same way as you would with a null modem cable.
<p>
For a reliable link, your setup should meet the following criteria;
<itemize>
<item>Shortly after booting your system, pppd should raise the DTR signal in
your RS232 port, wait for DCD to go up, and negotiate the link.
<item>If the remote system is down, pppd should wait until it is up again.
<item>If the link is up and then goes down, pppd should reset the modem
(it does this by dropping and then raising DTR), and then try to
reconnect.
<item>If the quality of the link deteriorates too much, pppd should reset
the modem and then reestablish the link.
<item>If the process controlling the link, that is the pppd, dies, a watchdog
should restart the pppd.
</itemize>
<sect1><heading>Configuration
<p>
Suppose the modem is connected to COM2, the local IP address is `Loc_Ip'
and the remote IP address is `Rem_Ip'. We want to use 576 as our MTU.
The <file>/etc/ppp/options.ttyS1</file> would now be:
<tscreen><verb>
crtscts
mru 576
mtu 576
passive
Loc_Ip:Rem_Ip
-chap
modem
#noauth
-pap
persist
</verb></tscreen>
Stuff like `asyncmap 0', `lock', `modem' and `-detach' are probably already in
<file>/etc/ppp/options</file>. If not, add them to your
<file>/etc/ppp/options.ttyS1</file>.
So, if the local system is 192.168.1.1 and the remote system is 10.1.1.1,
then <file>/etc/ppp/options.ttyS1</file> on the local system would be:
<tscreen><verb>
crtscts
mru 576
mtu 576
passive
192.168.1.1:10.1.1.1
-chap
modem
#noauth
-pap
persist
</verb></tscreen>
The options.ttyS1 on the remote system would be:
<tscreen><verb>
crtscts
mru 576
mtu 576
passive
10.1.1.1:192.168.1.1
-chap
modem
#noauth
-pap
persist
</verb></tscreen>
The passive option limits the number of (re)connection attempts.
The persist option will keep pppd alive in case of a disconnect or when it
can't connect in the first place.
If you telnet a lot while doing filetransfers (FTP or webbrowsing) at the
same time, you might want to use a smaller MTU and MRU such as 296. This
will make the remote system more responsive.
If you don't care much about telnetting during FTP, you could set the MTU
and MRU to 1500.
Keep in mind though, that UDP cannot be fragmented. Speakfreely for instance
uses 512 byte UDP packets. So the minimum MTU for speakfreely is 552 bytes.
The noauth option may be necessary with some newer distributions.
<sect1><heading>Scripts
<sect2><heading>Starting the pppd and keeping it alive
<p>
You could start the pppd form a boot (rc) script. However, if you do this,
and the pppd dies, you are without a link.
A more stable solution, is to start the pppd from <file>/etc/inittab</file>;
<tscreen><verb>
s1:23:respawn:/usr/sbin/pppd /dev/ttyS1 115200
</verb></tscreen>
This way, the pppd will be restarted if it dies.
Make sure you have a `-detach' option (nodetach on newer systems) though,
otherwise inittab will start numerous instances of pppd, will complaining
about `respawning too fast'.
<p>
Note: Some older systems will not accept the speed `115200'. In this case
you will have to set the speed to 38400 en set the `spd_vhi' flag with
setserial.
Some systems expect you to use a `cua' instead of `ttyS' device.
<sect2><heading>Setting the routes
<p>
The default route can be set with the defaultroute option or with the
<file>/etc/ppp/ip-up</file> script;
<tscreen><verb>
#!/bin/bash
case $2 in
/dev/ttyS1)
/sbin/route add -net 0.0.0.0 gw Rem_Ip netmask 0.0.0.0
;;
esac
</verb></tscreen>
Ip-up can also be used to sync your clock using netdate.
<p>
Of course the route set in ip-up is not necessarily the default route.
Your ip-up sets the route to the remote network while the ip-up script on
the remote system sets the route to your network. If your network is
192.168.1.0 and your ppp interface 192.168.1.1, the ip-up script on the
remote machine looks like this;
<tscreen><verb>
#!/bin/bash
case $2 in
/dev/ttyS1)
/sbin/route add -net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0
;;
esac
</verb></tscreen>
The `case $2' and `/dev/ttyS1)' bits are there in case you use more than
one ppp link. Ip-up will run each time a link comes up, but only the part
between `/dev/ttySx)' and `;;' will be executed, setting the right route
for the right ttyS.
You can find more about routing in the
<htmlurl url="http://www.linuxdoc.org/HOWTO/Net-HOWTO/"
name="Linux Networking HOWTO"> section on routing.
<sect1><heading>Test
<p>
Test the whole thing just like the modem test.
If it works, get on your bike and bring the remote modem to the remote side
of your link.
If it doesn't work, one of the things you should check is the COM port
speed;
Apparently, a common mistake is to configure the modems with Minicom using
one speed and then configure the pppd to use an other. This will <bf>NOT</bf>
work! You have to use the same speed all of the time!
<p>
</article>

View File

@ -42,7 +42,7 @@ Covers PostgreSQL Version 6.5.3
<author>Al Dev (Alavoor Vasudevan)
<htmlurl url="mailto:alavoor@yahoo.com"
name="alavoor@yahoo.com">
<date>v28.0, 10 July 2000
<date>v30.0, 29 July 2000
<abstract>
This document is a "practical guide" to very quickly setup a SQL Database
engine and
@ -505,8 +505,26 @@ resources must be strongly discouraged. This already happened in case of
commercial database systems like Oracle, Sybase, Informix and MS SQL server
which caused splintering of user base and often they are incompatible.
<bf>WARNING: </bf> It is possible to create infinite number of database systems
for a given specification like ANSI SQL!!
You do not need hundreds of database systems, all you need is just one
best database server which happens to be 'PostgreSQL'.
<bf>WARNING: </bf> It is possible to create infinite number of
database systems for a given specification like ANSI SQL!!
Features which are missing in MySQL and which PostgreSQL supports are -
<itemize>
<item> Transactions
<item> Stored Procedures
<item> Triggers (update, insert and delete)
<item> Object oriented databases
<item> Advanced locking systems, concurrency management under multi-user, mutli-transactions environment
<item> Sub-queries
<item> Server-side cursors
<item> Query caching
<item> Locking of databases
<item> Better table join supports (JOIN, UNION, MINUS, INTERSECT, outer join)
<item> And many more advanced features - too numerous to list here.
</itemize>
MySQL is at <url url="http://www.tcx.se">
<!--
@ -699,6 +717,7 @@ bash$ cd /usr/lib/pgsql/python
bash$ createdb thilo
bash$ psql thilo
thilo=> create table test (aa char(30), bb char(30) );
thilo=> \q
bash$ /usr/bin/python
>>> import _pg
>>> db = _pg.connect('thilo', 'localhost')
@ -724,7 +743,8 @@ bash$ su - root
<p>
Install examples package, see <ref id="Examples RPM"> and then do -
<code>
bash$ cd /usr/doc/postgresql-6.5.3/examples/perl5
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/perl5
bash$ perl ./example.pl
</code>
Note: If the above command does not work then do this.
@ -747,16 +767,13 @@ Read the example.pl file for using perl interface.
<p>
Install examples package, see <ref id="Examples RPM"> and then do -
<code>
bash$ su root --> to change ownership of examples
# chown -R postgres /usr/doc/postgresql-6.5.3/examples
# exit
bash$ cd /usr/doc/postgresql-6.5.3/examples/libpq
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/libpq
bash$ gcc testlibpq.c -I/usr/include/pgsql -lpq
bash$ export PATH=$PATH:.
bash$ a.out
bash$ cd /usr/doc/postgresql-6.5.3/examples/libpq++
bash$ cd /var/lib/pgsql/examples/libpq++
bash$ g++ testlibpq0.cc -I/usr/include/pgsql -I/usr/include/pgsql/libpq++
-lpq++ -lpq -lcrypt
bash$ ./a.out (Note: Ignore Error messages if you get any - as below)
@ -795,14 +812,20 @@ or from <url url="http://www.blackdown.org">
<item> Get postgresql-jdbc-*.rpm <url url="ftp://ftp.redhat.com/pub/contrib/i386">
</itemize>
<code>
bash$ cd /usr/doc/postgresql-6.5.3/examples/jdbc
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/jdbc
bash$ echo $CLASSPATH
--> Should show CLASSPATH=/usr/lib/jdk-x.x.x/lib/classes.zip
where x.x.x is proper version numbers.
bash$ export CLASSPATH=$CLASSPATH:.:/usr/lib/pgsql/jdbc6.5-1.2.jar
--> Should show
CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:.:/home/java/jdk1.2.2/lib:/usr/lib/pgsql:/usr/lib/pgsql/classes.zip:/usr/lib/pgsql/pg.jar
with proper jdbc*.jar version numbers.
And the directories /usr/lib/pgsql and /usr/libjdk*/lib should contain *.jar files.
bash$ export CLASSPATH=/usr/lib/pgsql/jdbc7.0-1.2.jar:.:/home/java/jdk1.2.2/lib:/usr/lib/pgsql:/usr/lib/pgsql/classes.zip:/usr/lib/pgsql/pg.jar
Edit all psql.java file and comment out the 'package' line.
bash$ javac psql.java
bash$ java psql jdbc:postgresql:template1 postgres &lt password&gt
bash$ java psql jdbc:postgresql:template1 postgres &lt password &gt
[1] select * from pg_tables;
tablename tableowner hasindexes hasrules
pg_type postgres true false false
@ -823,7 +846,8 @@ bash$
<p>
Install examples package, see <ref id="Examples RPM"> and then do -
<code>
bash$ cd /usr/doc/postgresql-6.5.3/examples/ecpg
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/ecpg
bash$ ecpg test1.pgc -I/usr/include/pgsql
bash$ cc test1.c -I/usr/include/pgsql -lecpg -lpq -lcrypt
bash$ createdb mm
@ -841,7 +865,8 @@ bash$ ./a.out
<p>
Install examples package, see <ref id="Examples RPM"> and then do -
<code>
bash$ cd /usr/doc/postgresql-6.5.3/examples/sql
root# chown -R postgres.postgres /var/lib/pgsql/examples
bash$ cd /var/lib/pgsql/examples/sql
Under-development..
</code>
<!--
@ -2450,15 +2475,21 @@ CPUs run Linux.
Now there is collaboration between Samsumg, Compaq of USA on Alpha CPU
<item> Intel IA 64 <url url="http://developer.intel.com/design/ia-64">
<item> Transmeta crusoe CPU and in near future Transmeta's 64-bit CPU
<url url="http://www.transmeta.com">
<item> Sun Ultra-sparc 64-bit CPU
<url url="http://www.sun.com">
or <url url="http://www.sunmicrosystems.com">
<item> Silicon Graphics MIPS Architecture CPUs <url url="http://www.sgi.com/processors">
<item> IBM Power PC (motorola) <url url="http://www.motorola.com/SPS/PowerPC/index.html">
<item> Hitachi SuperH 64-bit RISC processor SH7750 <url url="http://www.hitachi.com"> sold at $40 per cpu in quantities of 10,000
<item> Fujitsu 64-bit processor <url url="http://www.fujitsu.com">
<item> HAL (California) Super-Sparc 64-bit processor <url url="http://www.hal.com"> also compatible to Sun's sparc architecture.
<item> Seimens Pyramid CPU from Pyramid Technologies
<item> Intel X86 series 32-bit CPUs Pentiums, Celeron etc..
<item> AMDs X86 series 32-bit CPUs K-6, Athlon etc..
<item> National's Cyrix X86 series 32-bit CPUs Cyrix etc..
<item> European Space Agency's ESA-32bit and ESA-64bit CPUs
<item> Other CPUs from other countries ?? Let me know...
<item> Other CPUs from other countries (Taiwan, Korea, Japan) ?? Let me know...
</itemize>
<!--
*******************************************
@ -8431,8 +8462,12 @@ scripts is in the directory src/tutorial
<p>
The SQL tutorial for beginners can be found at
<itemize>
<item> <url url="http://w3.one.net/~jhoffman/sqltut.htm">
<item> Jim Hoffman's tutorial <url url="http://w3.one.net/~jhoffman/sqltut.htm">
<item> Carnegie Mellon Univ <url url="http://www.heinz.cmu.edu/project/dbms">
Go here and click on 'technical'->'SQL_examples.html' and others.
<item> Concord Univ <url url="http://www.cs.concordia.ca/Course_Notes/oracle/browser/node1.html">
</itemize>
Comments or suggestions? Mail to
<itemize>
<item> Jim Hoffman <htmlurl url="mailto: jhoffman@one.net"