Ideas to Broaden Your View


Edsger Dijkstra

Dutch computer-science pioneer Edsger W Dijkstra has died, aged 72. Link to the The Register newsletter.


SAPdb: Open-Source, Enterprise-Class Database

Duane Percox of QSS writes on 3000-L: "For our other applications we are choosing an open source database that is relational and sql-92 compatible. For those who believe that open source, freely available databases, are not worth investing your future product plans, I suggest you point your favorite web browser at www.sapdb.org and spend some time checking out their story. Not only will you have an entirely new perspective on the open source movement, you just might find the motivation and ammunition you have been waiting for to justify selling the last of your oracle stock holdings :-)"

So we at Robelle have installed the SAPdb enterprise-class open-source database and put it through some initial tests. SAPdb is designed for the business enterprise, with 24x7 uptime, scalability and high performance in mind. There are no limitations on database sizes or on the number of users. SAPdb is ACID compliant (fully supports ISO-SQL 92 Standards) and includes all RDBMS and enterprise features expected in an open DBMS such as Views, triggers, foreign keys, constraints of various kinds, stored procedures, versioning, hot backups, etc. ODBC and JDBC drivers are supported.

If you are thinking of using SAPdb as your migration target, you need to understand the datatypes available to you. They are similar to those in Oracle, SQL Server and other SQL databases. Read our explanation of the SAPdb datatypes.


PostgreSQL

PostgreSQL is an Object-Relational database management system that supports almost all SQL constructs, including subselects, transactions, and user-defined types and functions. It is free to download, use, and modify provided the included copyright notice is included. Also, it is able to run under many OS types, include Unix variants and Windows machines under the Cygwin environment. Click the link above to read our experiences with PostgreSQL.


Learn PHP

Robelle introduces the PHP language and gives you links to PHP web resources.


Learn Perl

Robelle introduces the Perl language and gives you links to Perl web resources.


Alfredo Rego: How to Read a Manual

Here is Alfredo Rego's classic on how close reading of the manual can lead to impressive improvements in results (from Robelle's HP Encyclopedia).


SAPdb: a test drive

We have installed the SAPdb enterprise-class open-source database and put it through some initial tests.

SAPdb is designed for the business enterprise, with 24x7 uptime, scalability and high performance in mind. There are no limitations on database sizes or on the number of users. SAPdb is ACID compliant (fully supports ISO-SQL 92 Standards) and includes all RDBMS and enterprise features expected in an open DBMS such as Views, triggers, foreign keys, constraints of various kinds, stored procedures, versioning, hot backups, etc. ODBC and JDBC drivers are supported.

Click the link above for a full report.


Web-Based Training

By Francois Desrochers, Robelle
Originally published in the 3000 News Wire

I was looking for training on Microsoft Foundation Class (MFC). This is taught at many sites across North-America, but only a couple are found in the Montreal area. The courses at these sites are scheduled at most twice a year. Last year I signed up for one, just to have it cancelled at the last minute.

Most courses last 4-5 days and cost around $1500US. Of course, this excludes travel expenses. Since I did not want to travel, I decided to look at web-based training (a.k.a. e-learning). There were also a number of offerings. I decided to sign up with Digital Think (http://www.digitalthink.com).

They offered MFC Fundamentals I and II at $325US each or $575 for both. Each course should be completed in 15 hours.

After signing up, I was granted access to the course material for 6 months. Registration procedure was easy, all online if you want to use a credit card. You can register via fax or phone if you want to use a different means of payment. If you pay by credit card, you have immediate access.

These courses required that I had Visual C++ installed on my PC in order to do the exercises.

Digital Think's implementation used a fair number of Javascript scripts. I could submit questions to a human tutor via email. The tutor was also there to review exercises done throughout the course. The tutor typically provided feedback within a few hours. Students picked a name for themselves when registering. That's what other people saw. Digital Think forwards emails to their real email address and keeps it secret.

There were functions allowing interaction with other people taking the same course. I could post questions on a discussion list where everyone else could read and reply, if they wished. Sounds like a nice feature but, from what I could tell, it was not heavily used. Most messages on there dated back to 1999 or so. I didn't feel the need to post anything there either.

I could also have one-on-one chat sessions with other students. Again, it didn't seem like it was used. Of course, people are taking the course at their own pace. They have 6 months to go over 15-hours worth of material. I guess not many people were actually "on the same page" at the same time, which made it hard to find a match.

At regular intervals, there were interactive quizzes. These were short multiple-choice questionnaires. They were graded automatically as soon as I had done them. Along with the results, they provided a short explanation as to why each answer was wrong or right. There were also exercises where I was given a short problem to solve, typically working on a Visual C++ project that was enhanced as I went along. In most cases, they asked that I send pieces of code to the tutor to show I had done it, and to get graded.

Some features were shown as simulations. Screenshots of a Visual C++ session were displayed with step-by-step instructions. There were also "mouseover" graphics that displayed pieces of code. I simply moved the mouse over individual statements to see a short description. The mouseover graphics did not always display properly when scrolling with the wheel. I had to use the scroll bar to get it perfect.

Parts in the Orientation module were not up-to-date, actually dating back 2-3 years. Course material was also available as PDF files.

At the end of each course, I had to fill out a survey. I could also request a completion certificate (PDF) to print for my records.

Evaluation

Overall, the e-learning experience worked well but it was not that different from using self-paced training books such as SAMS's "Teach Yourself" series. A good book probably covers a lot more material. Most books don't provide quizzes and definitely not a tutor. I think the material covered in these courses was fairly basic for my needs. The tutor was also of limited use for me. My guess is the equivalent instructor-led training classes would have been a bit more complete. However, I wouldn't have known until the end of the week i.e. too late.

It was a lot cheaper than signing up for instructor-led classes but, for the same price, I could have bought a few good books and gone through them in a week or two.


mySQL: Importing HP e3000 Data

By Neil Armstrong and Aaron Holmes

Recently a friend needed to work with some data in mySQL to test a Web Application. I figured that I could provide some test data from one of our IMAGE databases and use our STExport program (part of the Suprtool product) to move the data over.

mySQL is an Open Source database that is commonly used as the backend database server for many Web applications for a huge number of Linux and Unix platforms as well as Windows machines.

The source and or binaries can be obtained from www.mysql.com or www.sourceforge.net and many other download mirrors around the globe.

In order to get started we decided to build a mySQL database that looked like an Image database, building a simple Master dataset and a single detail dataset. The byte type fields in Image were created as char fields. The I2 or J2 fields were created as int fields. The database resided on a small Windows 98 laptop system.

Having done this, we extracted data from the 3000 database and used default STExport settings to output a file that was comma delimited, with each field enclosed in quotes.

In investigating how to import data into mySQL, we first tried the mySQLImport program, but it didn't seem as robust and we could not figure out how to tell it what delimiters to use.

In looking at the documentation, we thought that the LOAD_FILE command might work, but further investigation showed that this command opens the file and returns the contents as a string. This feature is only used by Text and Blob columns of mySQL.

We finally had success with the LOAD_DATA statement after reading the documentation on the mySQL Website at:

http://www.mysql.com/doc/L/O/LOAD_DATA.html
We quickly tried importing the data with the default STExport settings. However, when we looked at the data, some records were not imported correctly. The records seemed to have the data offset by one field. We found the problem to be records with either quotes or commas in the data. Since these were also our delimiters and seperators we changed the Suprtool and STExport commands to the following:
 get m-customer
 out mcust,link
 xeq
 export in mcust
 export quote none
 export delim "?"
 export out mcustexp
 export exit
We got rid of the quotes surrounding each field by using the Quote None statement and changed the delimiter to a character that we knew did not exist in our data. In our case we chose the Question Mark.

Importing the data into our table then became a single simple command entered from within Mysql Monitor:

 load data infile 'm_customer_file.txt' into table m_customer
 fields terminated by '?';
Once we had the basics down for importing the datasets into the mySQL tables, we could then import the entire database into mySQL.

We were able to check the data using the mySQL admin tools, but for more flexible access we installed some PHP scripts for working with mySQL databases.

Overall, we found it relatively easy with STExport to duplicate our production IMAGE database structure and contents in mySQL. Of course, we did do a little studying in two books:


Double Spacing

Host-based Qedit
Here is the low down on double spacing in Suprtool and Host-Based Qedit:

Host-Based Qedit

When you use the List command on a file, you can use the $DBL option:

   /listq $dbl myfile lp
If you want to double-space your file (i.e., insert a blank line between all existing lines), use the Divide All command. The default is divide each line after the last nonblank character.

Qedit for Windows does not have a function for double spacing, although with the Qedit Scripting Language you could write a script to copy your file into a new workspace, insert a blank line after each existing line, and then print the file.
Suprtool
Suprtool

If you want your output for List Standard to be double-spaced, one sneaky but effective way to do this is to append a string of blanks to the extracted fields.

Insert enough blanks to force each record to wrap around to a second line:

   >extract field1,field2,field3,field4
   >extract "                       "

Another approach would be to extract a CR/LF (^13,^10) at the end of record, although this would probably only work on PC style printers, not line printers.


Weekend Link: The Earth at Night

Check the link above... The image is a panoramic view of the world from the new space station. You can scroll East-West and North-South (left and right and up and down). It's easy to spot London, Paris, Stockholm and Vienna. Note the Nile River. Look at the Australian Outback and the Trans-Siberian Rail Route. Moving east, the most striking thing is the difference between North and South Korea.


3000 NewsWire: Learn about LDAP

Curtis Larsen has written an excellent introduction to Lightweight Directory Access Protocol (LDAP). Curtis explains that LDAP allows you to create directories of information similar to what you would see in a telephone book. Any information you want to store for later quick retrieval: names, telephone numbers, conference room capacities, addresses, directions — even picture or sound files. Using directories such as these is an incredible time-saver (can’t you think of company applications for one already?), but LDAP can do so much more. The directories you create are wholly up to you, so the sky’s the limit.

This is a timely article, since LDAP is now available on the 3000.


ACE: Scott Hirsh and Keith Olson

Automated Computer Environment LLC provides management and technical services necessary for the automation of system and data center operations. They specialize in the integration of a variety of tools into management frameworks such as OpenView and TME for medium to large size companies. Scott Hirsh is well-known as former chairman of SIGSYSMAN and Keith Olson moderates the Maestro discussion list.

But you don't need a huge company, just a computer and a part-time person. So you don't need to have a 100-person company to develop that idea. You can do it in your spare time, you can really work on ideas and see if they take off -- rather than trying to raise tons of money, millions of dollars for an idea that may or may not work. And once you have the product and people are using it, it's very easy to raise investment.


Improve Your Internet Skills

Robelle regularly publishes tips on improving Internet productivity, including integrating your HP e3000 into the web: Internet Tips.


Daylight Savings Time

Daylight savings time is happening soon in North America. At 2AM on Sunday 1 April 2001 you need to set your clock forward one hour. Here is a jobstream we use at Robelle on our HP e3000 boxes. It is based on a job that was posted to 3000-L by Shawn Gordon. You will need to change the W7:00 to whatever is appropriate for your time zone. Then just do ":stream setclock; date=10/31/01; at=2:00"
!job setclock,manager.sys
!comment
!comment  Daylight Savings adjustments
!
!showtime
!
!IF HPMONTH = 10 AND HPDATE > 24 THEN
!    ECHO Back to Standard Time
!    SETCLOCK TIMEZONE = W8:00
!ENDIF
!IF HPMONTH = 4 AND HPDATE < 8 THEN
!    ECHO Ahead to Daylight Time
!    SETCLOCK TIMEZONE = W7:00
!
!ENDIF
!showtime
!eoj


Travel Tip: A Fridge in the Room

Stan Sieler, master software craftsman of Allegro, has the following tip for travellers:

It is very useful to have a small refrigerator in your room, for storing cold drinks, snacks, and something for breakfast. But many hotel rooms do not come with a refrigerator. Did you know that you can call the hotel desk and ask for a fridge in your room? Most hotels have them available, due to the requirement of diabetics to keep their insulin cooled, and will add one to your room if you just ask!


Improve Your UNIX Skills

Visit our "UNIX Tips for HP e3000 Sites" page and learn to work on a new operating system.


System Monitoring Tool

Outer Banks Solutions offers a new tool that will monitor the critical resources of your e3000 systems and alert you when something needs your attention. They call it SMS for System Monitoring Software and it can watch over jobs and sessions, system limits, outstanding REPLY's, disk space, disk fragmentation, disk drive availability, spooling resources, network server processes, network links, and network connectivity. Similar to our technique for Remote DBA, but more ambitious. We haven't tried it, but SMS sounds interesting.


Extreme Programming

Since moving to the Caribbean, Bob Green, Robelle's President, has met a number of interesting computer people outside the HP world. Some of them are involved in an offshoot of object-oriented programming called Extreme Programming (XP), which is similar to the Step By Step method developed by Michel Kohon. Robelle's methods for creating software derive from Step By Step and may evolve closer to XP in the future.


Learn to Inform by Displaying

By Gavin Scott of Allegro

I recently attended a one-day course on "Presenting Data and Information" given by Edward Tufte, author of the incredible books "The Visual Display of Quantitative Information", "Envisioning Information", and "Visual Explanations". Tufte is Professor Emeritus at Yale University, where he taught courses in statistical evidence, information design, and interface design. Read about this excellent tutorial.


Fred White Retires

One of the two creators of the IMAGE database for the e3000 has retired. Fred White is moving from the Adager lab to Arizona to spend more time with his children and grandchildren. Rene Woc of Adager tells us that Fred is 76 years old now and will be 77 in April. Fred is famous for his many conference papers, including our favorite, The Three Bears of Image. Fred White and Jon Bale will long be remembered as the programmers who created one of the software pillars of HP's success in the commercial market.


How To Keep Users From MPE Colon Access?

Brad Rish of Catalog Ventures, an Ecometry user in Chelmsford MA, asked how to keep users from getting MPE "colon" access. He wanted to be sure that his users could access only the programs he wanted them to use. Brad was unaware that as a user of Suprtool, he already had a Robelle utility that would do exactly what he wanted. SELECT, a bonus program that comes free with Suprtool and Qedit, is a menuing program that allows the system manager to setup exactly what choices he would like users to see when they logon. For more information, Suprtool and Qedit users can print the SELECT manual:
  :printdoc.pub.robelle select.doc.robelle


The Planiverse, a book review.

Bruce Toback of OPT Products Technology Inc. reports that A.K. Dewdney's The Planiverse has been reprinted by Copernicus Books. Originally written in 1984, The Planiverse is an account of computer contact with a 2-dimensional universe, a college term project in 2D simulation gone awry. Dewdney, who wrote Scientific American's "Computer Recreations" column for a while, weaves a delightful story around the mathematics and science of a two-dimensional Universe. Although this sounds superficially similar to Edwin Abbot's Flatland, the latter is intended more as political commentary, while Dewdney's book is more science and fun (with a little allegory and metaphysical speculation thrown in). The science ranges from astronomy to zoology, and is illustrated with the author's own somewhat whimsical drawings.

Unfortunately, this "millenium edition" contains a pre-preface which assures readers that what follows is a work of fiction. Dewdney's account is so completely matter-of-fact -- he is, after all, a college professor writing about students working on a class project -- that it's much more fun to pretend to read it as a documentary.

This is one book I've never been willing to lend out. I recommend it most highly. Amazon link. - Bruce Toback


Qedit and Helping Household Pets

We recently had dealings with a programmer who was developing a Visual Basic OCX control editor named 'Qedit'. What's interesting is that he works for 'Animals in Mind,' a charity in England that specializes in helping pets and pet owners. They currently have a campaign that is trying to raise UK ¯250,000 for a sanctuary for unwanted pets that would otherwise be destroyed.

Sounds like a good cause for all our UK customers ...

p.s. His editor will soon be renamed as 'RTF Edit control' if you're interested.

Paul Gobes, Robelle Technical Support.