IBM PSP Developer Support News - 1994 - Issue 9

IBM Personal Software Products

Developer Support News

1994 Issue 9 - 27 July 1994


 * NOTICE

This is an extra issue of DSNEWS, being published so that timely news can be distributed as soon as possible.

 | Contents

o OS/2 for Windows Now Compatible with Microsoft Windows 3.11 and Microsoft Windows for Workgroups 3.11 Update to OS/2 2.1 for Windows. Enables OS/2 for Windows to work with Windows 3.11 and Windows for Workgroups 3.11. Networking functions available through dual-boot. Update available in national languages. Where to find the update. Questions and answers.

o Additional FREE Multimedia Device-Driver Workshop, 22 through 26 August Responding to demand. Emphasis on video and audio capture and replay. Registration. More information. Let us know your needs!

o ColoradOS/2 Developers Conference, 30 October through 4 November 1994 Conference overview. Conference topics. Featured presentations. Tutorial presentations. Additional workshops. Hotel information. Discount travel. Conference registration information. EARLY-BIRD REGISTRATION EXPIRES AFTER 28 AUGUST. Cancellation policy. Registration form. NOTE: This item is 1,525 lines long.

o Client/Server East Conference and Exposition, 29 August through 1 September, Washington DC    Dedicated to client/server computing. Seminar subjects. IBM speakers. Product exposition. More information.

o Trademarks, Registered Trademarks, Service Marks

OS/2 for Windows Compatibility with Microsoft Windows 3.11 and Microsoft Windows for Workgroups 3.11
For customers desiring OS/2 2.1 for Windows compatibility with Microsoft Windows 3.11, a software update is now available. The purpose of this update is to enable OS/2 2.1 for Windows to interoperate with Microsoft Windows 3.11, and to enable OS/2 2.1 for Windows to interoperate with Microsoft Windows for Workgroups 3.11.

This update applies to OS/2 2.1 for Windows, CSD level XR02011, as well as CSD level XR06300, which is the level that results from applying ServicePak XR06300 to OS/2 2.1 for Windows.

OS/2 2.1 for Windows users who do not have Windows 3.11 or Windows for Workgroups 3.11 installed do not require this update.

This update can be downloaded from various OS/2 forums on bulletin boards that include OS2BBS, PRODIGY, and CompuServe. The name of this software update is WIN311.ZIP.

WIN311.ZIP is not a general-purpose ServicePak for OS/2 2.1 for Windows. Instead, it is a software update based on a development level of code that necessarily includes some amount of maintenance.

Applying this update allows users who have Windows 3.11 or Windows for Workgroups 3.11 installed to interact with those products from an OS/2 environment. Installation of this code on your OS/2 for Windows system does not affect the operation of Windows 3.11 or Windows for Workgroups 3.11 on a DOS system.

The networking functions in Windows for Workgroups 3.11 are available to the native DOS and Windows for Workgroups environment via the OS/2 for Windows dual-boot capability. Applying this update does not make the Windows for Workgroups networking functions available to the OS/2 for Windows environment.

There is no charge for the update, other than your on-line access charges.

Because this update is being made available "as is," no service entitlement number has been included with the package.

This update is available world-wide in national-language versions.

Customers may make as many copies of WIN311.ZIP as they have licensed copies of OS/2 2.1 for Windows.


 * Where to Find the Update

WIN311.ZIP can be found on the following on-line systems:

o CompuServe, in the OS/2 Support forum (GO OS2SUPPO), in Library 17.

o OS2BBS, in the OS2FIXES section of the SOFTWARE LIBRARY.

o PRODIGY, in the Fixes section of the DOWNLOAD LIBRARY, IBM Files.

o Internet: at FTP server software.watson.ibm.com (129.34.139.5), in   /pub/os2/os2fixes.


 * Questions and Answers

Q1. What does this code do?

A1. This code modifies OS/2 code to allow it to interoperate with Microsoft Windows 3.11.

Q2. How does this code install?

A2. This code installs on OS/2 2.1 for Windows by typing "A:install".

Q3. Do I have to have Windows 3.11 installed already?

A3. Yes, either Windows 3.11 by itself or Windows for Workgroups 3.11.

Q4. If I install this code on OS/2 for Windows, can I still use Windows 3.11 from DOS?

A4. Yes. For example, if you have a dual-boot or boot-manager system, you can run Windows 3.11 from DOS just as you did before you install this code on OS/2 for Windows.

Q5. Does this code upgrade my Windows 3.1 system to Windows 3.11?

A5. No. This code modifies OS/2 for Windows.

Q6. Will this code work if I have OS/2 for Windows with ServicePak XR06300 applied?

A6. Yes. This code can be installed on OS/2 for Windows CSD levels XR02011 (the original OS/2 for Windows) and XR06300 (OS/2 for Windows plus ServicePak XR06300).

Q7. Does this code affect my Windows for Workgroups function?

A7. No. The networking functions of Windows for Workgroups 3.11 are available via OS/2 for Windows' dual-boot capability to the native DOS and Windows for Workgroups environment. Applying this update does not make the Windows for Workgroups networking functions available to the OS/2 for Windows environment.

Q8. If I install this code, will I see performance changes in running Windows 3.11 under OS/2 for Windows?

A8. We have not measured the performance of running Windows 3.11 under OS/2 for Windows versus running Windows 3.1 under OS/2 for Windows.

Q9. Why didn't OS/2 2.1 for Windows support Windows 3.11 when OS/2 2.1 for Windows was released?

A9. Availability of Windows 3.11 occurred after the availability of OS/2 2.1 for Windows.

Q10. What happens if I try to use Windows 3.11 from OS/2 for Windows without installing this update first?

A10. You will get a SYS3176 error message that tells you "A program in this session encountered a problem and cannot continue." Your system will not trap or hang. You will be able to recover and perform other functions in the OS/2 for Windows environment.

Additional FREE Multimedia Device Driver Workshop, 22 through 26 August
The summer weather isn't the only thing sizzling in Boca Raton ... multimedia is HOT!

The IBM Driver Developer Support Center, home of the DUDE, announces an important change in the workshop schedule for 1994!

In our ongoing effort to tailor our workshops to meet your needs, we respond to shifts in demand for workshops. We are pleased to announce the replacement of the Printer Workshop, previously scheduled for 22 through 26 August, with an ADDITIONAL Multimedia Workshop during that week.

This multimedia device-driver workshop will place special emphasis on video and audio capture and replay.

If your schedule didn't permit you to attend our last Multimedia Workshop, now is the time! Seating is limited, so sign up now!

22-26 August 1994   Writing OS/2 2.x Multimedia Device Drivers

For additional details, download from the INFO file area of the DUDE: (1-407-982-3217, N,8,1, 14.4 KBPS) - OS2DD309.TXT for the Multimedia Device-Driver Workshop - REGISTER.TXT for the workshop registration form


 * Registration

To register for the workshop electronically, on the DUDE, download the registration form, fill in the blanks, and then upload the file. After we receive your completed form, you will get a D-MAIL (DUDE-MAIL) confirming your registration in the workshop. It's that easy!


 * More Information

If you don't have immediate access to the DUDE, call or fax for assistance:

Bob Peterson, 1-407-443-8289, fax 1-407-443-3241 or Jim Bennett,  1-407-982-4143, fax 1-407-443-3241


 * Let Us Know Your Needs!

The DDSC team is in place to support you, the Device-Driver Developer, and these no-fee workshops are a valuable resource that we make available to aid you in expediting your development efforts.

We look to you to let us know which workshops you need and we currently don't have. Don't be shy ... send us a D-MAIL today!

ColoradOS/2 Developers Conference, 30 October through 4 November 1994
On 30 October 1994, OS/2 developers from throughout the nation and around the world will gather at the foot of the Rocky Mountains and change the world. Where will you be?

Find out exactly what's happening in OS/2. Directly from the people who are making it happen.

The Third International Colorado OS/2 Developers Conference (ColoradOS/2) is unlike any conference, anywhere.

From 30 October through 4 November, the world's top OS/2 technical experts will gather and share their experiences, information, and insights in a dynamic conference devoted exclusively to OS/2 programming. Here, within sight of world-famous Pikes Peak and Colorado Springs, Colorado, you can meet and mingle with the greatest names in OS/2. Many of them have been responsible for the architecture or implementation of major OS/2 features. Others are among the emerging leaders in developing commercial OS/2 applications. They will all be together at the Cheyenne Mountain Conference Resort, nestled against the Front Range of Colorado's breathtakingly beautiful Rocky Mountains, for ColoradOS/2.

The combined knowledge of the unquestioned leaders of your industry, all yours for the taking in a magnificent setting.

ColoradOS/2. It just might be the most important five days of your career!

If you are a software engineer, consultant, software architect, independent developer, technical manager, technical educator, or hobbyist programmer who designs and writes OS/2 applications, or plans to do so, then ColoradOS/2 was designed for you. To get the most from the conference, you should be a moderately experienced programmer comfortable with at least one of the following languages: C or C++, Smalltalk, Pascal, PL/1, or assembly language for the 80x86 family.

Technical sessions range from introductory for intermediate-level programmers, to highly advanced. During this week, you will learn valuable tips, hints, and tricks that will benefit even the most experienced OS/2 programmers, and bring new power to their applications. And if you're new to OS/2, this single week will teach you skills that would have otherwise required months of tedious trial and error.

Practical knowledge that will start saving you time, money and effort the day you return. That's what ColoradOS/2 offers you and your company.


 * Conference Topics

At ColoradOS/2, you will take part in the first in-depth analysis, discussion and demonstration of exciting new technologies like OpenDoc, WorkPlace OS, and the first new object-oriented frameworks from the Taligent partnership. You will also get the very latest word on SOM/DSOM and WPS.

Furthermore, you will have an unique opportunity to learn about object-oriented design directly from Grady Booch, the man who wrote the book on it.

You won't get secondhand news from ColoradOS/2. When we discuss the REXX language, you hear about it directly from its creator, IBM Fellow Mike Cowlishaw. When the topic turns to Object Technology, you'll get the inside story directly from IBM's Director of Object Technology Products, Cliff Reeves. And we'll explore the internal workings of HPFS, plus subjects such as internationalization, SOM/DSOM, and more.

Space at this extraordinary conference is limited, so be sure to register today for ColoradOS/2. Don't miss this opportunity to meet the masters, explore the topics ... and catch a rare glimpse of the future.


 * Featured Presentations

Conference Keynote Presentation                            John Soyring Monday, 31 October

John Soyring is Director of Strategic Relations in the Personal Software Products Division of IBM, with worldwide responsibility for managing relationships with a broad range of companies and organizations within IBM which are supporting Personal Software Products. Mr. Soyring's 17-year career with IBM has included various engineering, programming, and managerial assignments for IBM's midrange systems, finance industry systems, and personal systems.

Objects Now                                                Cliff Reeves Tuesday, 1 November

You will get a rare inside look at IBM's plans for Object Technology against a background of changing technical, business, and competitive pressures. Cliff will describe IBM's plans for distributed object computing and new tools, including Taligent's advanced application frameworks.

Cliff Reeves is Director of Object Technology Products in IBM's Personal Software Products Division, where he is responsible for object-based products; this includes responsibility for the IBM/Taligent partnership. Cliff joined IBM as a programmer in England in 1971, and he has held a variety of software development, planning, and product management positions. He was the recipient of the Thomas J. Watson, Jr. Design Excellence Award for Outstanding Achievement of Architecture for the Common User Access (CUA) component of Systems Network Architecture (SAA), 1991-1992. Cliff holds an MBA degree from Southern Methodist University.

The Industry Transition to Component Software                Jed Harris Wednesday, 2 November

The term "software component" was coined in 1968, but until recently there was no market in software components comparable to the market in hardware components. As a result, most software is still built from scratch, with the natural result that software development is slow, expensive, hard to plan, and tends to provide less function than desired.

Recent trends in object technology and increasing industry maturity have combined to make software components a commercial reality. Software components are now available off the shelf, and developers can use them to build impressive custom applications in hours. In a few years, all custom applications will be constructed mainly from off-the-shelf software components.

In this presentation, you will learn about the recent changes in technology, receive descriptions of current products based on software components, and explore how you will be able to take advantage of software components over the next two to three years.

Jed Harris began working with object technology in 1974 at the Xerox PARC Learning Research Group, in the early days of Smalltalk. He directed the development of tools for object-oriented operating system development at Data General from 1976 to 1982, and contributed to the design of an object-oriented operating system at Intel from 1983 to 1985. He was one of the organizers of the first OOPSLA conference in 1986. Since 1987, he has been developing a cross-platform architecture for software components and compound documents at Apple Computer. Jed is currently Executive Director of Component Integration Laboratories (CI Labs).

REXX -- The Language Designed by Users                   Mike Cowlishaw Thursday, 3 November

REXX is a flexible language that was designed with particular attention to feedback from users. It has proved to be effective and easy to use, yet it is sufficiently general and powerful to fulfill the needs of demanding professional applications. As a result, it is very widely used, with implementations for all major computing platforms.

In this presentation, you will learn about the underlying design principles and philosophies that were followed in developing the language, and discover how these have led to its use today as the standard scripting and macro language for OS/2.

Mike Cowlishaw, IBM Fellow, is the creator of the REXX language. He has long been interested in the human aspects of computing, working on  the design and implementation of languages, editors, displays, image processing systems, and text formatters. Today, he programs almost exclusively on OS/2, writing programs such as PMGlobe to explore interactive techniques. His current technical interests (in addition, of course, to REXX) include user interfaces, lightweight computers, and neural networks.

Well-Structured Object-Oriented Architectures               Grady Booch Friday, 4 November

A well-structured object-oriented system is always anchored by a well-defined architecture, consisting of a sea of classes and a set of mechanisms that animate those classes. The best object-oriented architectures all seem to have a certain unnameable quality that is a reflection of its simplicity and elegance. This talk will explore the nature of such systems, and the practices that lead to their creation.

Grady Booch is Chief Scientist at Rational. Booch has pioneered the development of object-oriented analysis and design methods. His work centers primarily around complex software systems. Booch is a member of the American Association for the Advancement of Science, the Association for Computing Machinery, the Institute of Electrical and Electronic Engineers, and Computer Professionals for Social Responsibility.

OS/2 Planning and Strategy                                 Lois Dimpfel Thursday, 3 November

Lois Dimpfel is the PSP Director of Personal Operating Systems for IBM, with responsibility for the development of industry-standard operating software extensions, including OS/2, PC DOS, multimedia, and Pen extensions. A key player in OS/2 from its inception and development, Lois brings a comprehensive, big-picture perspective to the conference. Her remarks and input will bring you as up-to-date on OS/2 as anyone could, while providing insights that simply would not be available from any other individual or source in the industry.

Conference Closing Presentation                           David Barnes Friday, November 4

David Barnes is Senior Product Manager in the Personal Software Products Division of IBM. Since joining IBM in 1979, David has worked as a hardware engineer supporting water-cooled mainframes, a software engineer supporting MVS and VM, and a systems engineer and marketing representative supporting LAN-based systems. David's current position takes him around the world delivering IBM's personal software strategy to key industry leaders.


 * Tutorial Presentations

(listed alphabetically by speaker)

Introduction to Internationalization                        Lisa Abbott

Approximately half of the users of OS/2 reside outside the United States. Developing applications for the OS/2 and Workplace OS world marketplace requires an internationalized approach to software design and implementation. In this session, you will learn about the existing OS/2 internationalization API and discover the new features provided by the Workplace OS (and future releases of OS/2). We will pay special attention to the contributions of the Unicode standard.

Universal Language Support (ULS)                            Lisa Abbott

ULS is a new feature which will be offered in future releases of Workplace OS, supporting Internationalization of our products and applications. Through a set of APIs and utilities, ULS facilitates manipulating characters and character strings conforming to the Unicode standard, accessing culturally sensitive information, and converting character data between code pages. This session will teach you all about the ULS API set and utilities, as well as the internationalized programming model surrounding them.

Lisa Abbott is Lead Developer of the internationalization components in Workplace OS. Lisa has been with IBM since 1988, working on OS/2 in various roles including development of the translated version of OS/2. Since 1992, she has been working in Workplace OS development.

Writing High-Performance OS/2 Applications                  Ian Ameline

In this session, you will learn to identify and fix performance problems in OS/2 applications. Ian will discuss methods for finding slow execution "hot spots", memory hogs and leaks, and techniques for solving these problems. In the process, you will become familiar with tools including EXTRA (the Execution tracer provided with C Set ++), and SPM/2 (System Performance Monitor). Ian will also present methods for page tuning (which can dramatically reduce working set memory), and discuss I/O performance issues.

Direct to SOM with IBM C Set ++                             Ian Ameline

This presentation will cover the Direct To SOM (DTS) support in the coming release of C Set ++. A discussion of the underlying mechanisms, caveats, and usage scenarios will be explained. This presentation will tell you why you would want to use DTS, what it will and won't do for you, and what you can accomplish with it.

Ian Ameline is a Senior Associate Development Analyst with IBM Canada. Working on the OS/2 Common Code Generator and Optimizer since 1988, Ian has been responsible for a significant part of the design and implementation of the C Set ++ optimizing code generator, which is currently in use by C, C++ and PL/1 on OS/2. Ian has more than ten years' experience programming in C and Assembler for OS/2 and DOS, and he has been very active in assisting C Set ++ users on CompuServe's OS2DF1 forum.

Inside OS/2's High-Performance File System (HPFS)         Doug Azzarito

In this presentation, you will discover the details behind OS/2's High-Performance File System, including the disk structure and performance features. Learn how to decipher the layout of an HPFS partition, so you can recover files and repair damaged HPFS structures.

Doug Azzarito is an Advisory Programmer, working on the OS/2 development team in Boca Raton, FL. He has been involved in OS/2 development since 1986, and is currently working on OS/2 file systems. Doug is also co-author of RBBS-PC, the award-winning electronic bulletin board software for personal computers.

Extending the IBM C Set ++ User Interface Library            Mark Benge

This presentation will show you how to encapsulate your own PM custom control window classes in C++. Mark will go over the complete analysis and design of the new control, handler, and event classes needed to integrate a new control into the IBM C Set ++ User Interface Library. The discussion will also provide insight into the basic design of the UI library, and help you to better use its standard set of controls.

Programming Notebook Controls Using C++                      Mark Benge

This presentation will explain the basics of programming the Presentation Manager notebook control, and describe how to put these controls to use in your C++ applications. It will provide a quick overview of the PM control and discuss how to model notebooks as C++ objects. Examples of where and how to use notebooks in your applications will be provided, using the INotebook component of the IBM C Set ++ User Interface Library.

Mark Benge, IBM Software Solutions Laboratory, Cary, N.C., has been involved with various aspects of OS/2 development since he joined IBM in 1989. In the past, he has worked on projects such as OS/2 Help Manager, PM, and CCL/2, as well as various CUA '91 controls for OS/2 2.x. He currently works in the C Set ++ User Interface Class Library development group. Additionally, he co-authors the "GUI Corner" column in OS/2 Developer magazine. Benge has a B.S. in Computer Science from Western Carolina University.

Writing Industrial-Strength Applications for OS/2         Michael Brown

You will leave this talk with a firm grasp of the concepts that must be part of an application that will receive rave reviews in the mostly untapped OS/2 marketplace. Real-world issues will be discussed that will aid you during the conception, design, coding, testing, and support phases of your project, emphasizing the available options and tradeoffs under OS/2.

Michael Brown is founder and president of Austin, Texas-based SES Computing, Inc. He provides consulting services and has also developed a shipping voice-mail application for NeXTStep. Mike has written software under DOS, OS/2, Unix, NeXTStep, and embedded processors, and has six years of OS/2 experience both inside and outside PM. He is currently a consultant to IBM, providing programming assistance from the launch of official CompuServe support and currently with key ISVs. Internet: mbrown@sescomp.com

Storing Objects in DB2: The Ultimate Object Datastore   Guylaine Cantin

The OMG's Persistence Object Service specification describes, among other things, how objects can be stored in existing relational databases. We believe DB2 will be the first industrial-strength relational database to offer full compatibility with the SOM implementation of the OMG Persistence specification. There will be many advantages to using DB2 as a full-fledged storage facility for objects. OO developers will have an industry-standard way of accessing existing corporate-centric data, and storing object data in a format compatible with existing multi-billion-dollar software investments. Application users will be able to exploit a mature relational technology to ensure the reliability and integrity of their data. In this presentation, you will learn about the DB2 implementation of the OMG Persistence Object Service specification, and how to use it.

Prerequisite: Participants should be familiar with OO programming, and should have attended the talk titled "Persistence Object Service for SOM: Many Datastores, One Object Interface."

Guylaine Cantin is the lead OO specialist for IBM's Workstation Database Technology (DBT) Center, the group responsible for DB2 on OS/2 and AIX. Guylaine is currently on assignment with IBM's Object Services Technology Center, and is serving as technical lead for the design and implementation of the DB2 components of the Object Persistence Service. She spent the previous two years working on the DB2 database engine in Toronto.

IBM Object-Oriented Technology Directions                     John Cook

Many new software products incorporate "object technology", which has come to mean many things to many people. This session will introduce you to the object technology available on OS/2 and AIX today, as well as directions for the future, including object-oriented application frameworks, toolkits, and visual programming tools. IBM, HP, and Apple's joint object alliance, Taligent, will be presented, as well as the path from today's environment to the future Taligent software system and development environment, including a discussion of Taligent and OpenDoc.

John A. Cook is a senior programmer responsible for the implementation of the Taligent Application Frameworks on OS/2 and Workplace OS operating systems. His current specializations are in graphics, printing, and OpenDoc interfaces. Previously, Mr. Cook was the senior architect for the graphics architecture of IBM RISC workstations and AIX graphics software. He has also worked extensively in the field of digital satellite high-speed communications. He received his BEE and MSEE from the Georgia Institute of Technology, Atlanta, GA.

Interesting Corners of REXX                              Mike Cowlishaw

REXX is a powerful and concise language. However, even though it is small, there are many features of the language which are underutilized or not always fully understood. In this session, you will learn in detail about some of these features, such as PARSE and the more esoteric built-in functions. There will be plenty of time for questions and discussion on any aspect of the REXX language.

Mike Cowlishaw, IBM Fellow, is the creator of the REXX language. He has long been interested in the human aspects of computing, working on  the design and implementation of languages, editors, displays, image processing systems, and text formatters. Today, he programs almost exclusively on OS/2, writing programs such as PMGlobe to explore interactive techniques. His current technical interests (in addition, of course, to REXX) include user interfaces, lightweight computers, and neural networks.

OS/2 C++ Wrappers for IPC and Control Programming        Paul Duncanson

All real-world OS/2 programs, including PM programs, need to use Inter-Process Communications (IPC) and other control program-level APIs extensively. Learn how to write classes to encapsulate these OS/2 components for use alone or with UICL-based PM programs. The session will include large code fragments and complete program examples. Complete source code will be provided.

OS/2 C++ Wrappers for Flat File Databases and Serial     Paul Duncanson Communications

Many real-world OS/2 PM programs need to include simple flat-file databases such as Novell's 16-bit Btrieve. C++ encapsulating classes (or "wrappers") can simplify database use and make them callable as 32-bit code. Wrappers can also provide simple interfaces to serial communication functions. This session will provide UICL-compatible C++ classes that can be used in your programs, either standalone or as a base for your own designs. The session will include large code fragments and complete program examples. Complete source code will be provided.

Paul Duncanson is the Technical Director, European Operations, of Equinox Industries, and now resides in the Netherlands. Previously he was Vice President of Iconisys, a Los Angeles-based consulting firm specializing in object-oriented and OS/2 software development, and training end users and programmers. He is founder and president of the Los Angeles OS/2 Users Group. In addition, he has taught computer architecture, operating-system design, OS/2 courses, and programming courses at California State University Northridge, Los Angeles Pierce College, and Valley College. He has contributed articles to several computer magazines, and has over 20 years' experience in the computer field. Before co-founding Iconisys, Paul was Advisory Scientist at IBM Corporation.

The Workplace OS Registry                                   Doug Elkins

The Registry APIs provide access to fine-grained named information. Many kinds of information are accessible, regardless of how the information is stored. Registry utilities make it easy for applications and users to access and manipulate information. The Registry uses a standard information model and naming model that yields a single documentation style of information. The Registry APIs are the same as those provided by the IBM microkernel's Name Server (NS). The name space content of the Registry and NS API is identical. User-friendly access to information, one API set, one documentation style, and access to system global information from all programs reduces time and cost to develop, manage, and service Workplace OS products.

Doug Elkins is an Advisory Programmer in IBM Personal Software Products. His recent responsibilities include architecture and design of Workplace OS components, and he has been focusing his efforts on the Workplace Registry. Prior, he was responsible for architecture and design of OS/2 2.0 components. Doug has spent the past 12 years developing operating-system software. He has an MS in computer systems from the University of Florida.

Programming Notebook Controls                              Rick Fishman

In this session, you'll learn how to program the Notebook control. You will come out of this session knowing how to build a notebook and tailor it to any application requirement. In addition to demonstrating all the messages involved in Notebook programming with C, Rick will cover the IBM UICL Notebook methods. He will provide plenty of sample source code to take with you from this session.

Container Control Basics                                   Rick Fishman

The Container control is the most flexible PM control. For this reason, it is also the most difficult to program. Topics in this basic session include creating the control, MINIRECORDCORE versus RECORDCORE, inserting records, and changing between various views and tips that are not documented in the manuals. This is a detailed session, so you will come away with all the information you need to create basic containers. The session will also provide sample source code.

Advanced Container Programming                             Rick Fishman

This is the second Container session, and is meant to build on the first one, "Container Control Basics." Here, Rick covers advanced features, such as direct editing, context menus, source emphasis, record-sharing, background bitmaps, and the Container's drag/drop interface. You'll learn about programming the Container with the UICL class library. Rick will provide plenty of sample source code, plus tips that are not in the manuals.

Adding Drag-and-Drop to Your Application                   Rick Fishman

Drag-and-Drop is one of the features that separates PM applications from Windows applications and makes them ultimately more functional. This session shows you how to add Drag-and-Drop capabilities to your application so it can converse between its own windows, other applications, and the Workplace Shell. Rick will demonstrate all aspects of the protocol, including source-rendering. In addition, he will provide sample source code.

Rick Fishman is President of Code Blazers, Inc., a company specializing in OS/2 application development and consulting. He has over 11 years of programming experience, and has been involved with OS/2 since its inception. He is a member of IBM's OS/2 Advisor team, and is active on the CompuServe OS/2 developer forums.

Installable File Systems                              Peter Fitzsimmons

Internally, OS/2 only supports the FAT file system. The IFS mechanism is used to support other file systems, such as HPFS (High-Performance File System), CDFS (CD ROM), and LAN. By way of walking through a sample, the IFS mechanism and the tools required to build one will be discussed. Attendees should be familiar with how to build an OS/2 device driver.

Peter Fitzsimmons, founder and president of A:WARE Inc. in Toronto, Ontario, Canada, has been developing OS/2 applications and device drivers since version 1.0. He developed LH/2 (*.lzh compression program) and Subst IFS for OS/2, and co-developed Maximus BBS for OS/2.

Asynch Programming with OS/2 2.x                          Brady Flowers

This session offers intermediate-to-advanced-level discussion of topics regarding accessing the asynchronous communications port under OS/2 2.x, using kernel and device IOCTL programming with examples in C. We will cover basic port access methods using DosOpen, DosRead, DosWrite, and DosClose. The session also includes an introduction to DosDevIOCtl and its use with the asynch port for setting and querying port settings, and a close look at the uses of the various Device Control Block settings.

Asynch Programming: Multithreading and PM                 Brady Flowers

In this session, we will discuss and examine examples of techniques for using OS/2 multithreading to facilitate use of the asynchronous communications port in character- and PM-based programs. Included is an examination of issues involved when monitoring incoming data in a secondary thread, as well as intra-process communication with the main thread via semaphores, the PM message queue and other methods, and example data structures for buffered input and output handlers.

Brady Flowers is owner and founder of Oberon Software. He is also author and designer of the Oberon telecomm programs TE/2 and Teleport. Previously he was a Senior Systems Analyst for CWC, Inc., a high school math instructor, career student, and professional rock-and-roll musician.

OS/2 Internationalization                              Mark Frederiksen

In 1993, 40 percent of OS/2 application sales were outside of North America. OS/2's international support is one of the most extensive of any operating system. This seminar explains the strategy of first enabling your product for an international environment, and then later implementing (translating) for a non-English language. We will review the use of specific international APIs, and learn how to reduce the complexities of internationalization down to four easy-to-remember concepts. European and Asian Double-Byte Character Sets (DBCS) languages will be covered. Examples will be shown of office products operating on European and Japanese versions of OS/2.

Asian Double-Byte Character Set Internationalization   Mark Frederiksen

Double-Byte Character Sets (DBCS) are used for Japanese, Korean, and Chinese versions of OS/2. You will see the strategy of enabling English applications for DBCS, along with the specific APIs that are necessary for DBCS. Run-time/compile-time language switching techniques and the maintenance of one set of source code for different languages will be explained. The complexities and pitfalls of Asian keyboard front-end processors will be explained and demonstrated. Examples will be shown of word processing and database applications.

Mark Frederiksen, President of MicroBurst Inc., has developed European and Asian language office automation applications for over 10 years, including the development of word processors in 42 different languages. MicroBurst has developed a 32-bit native OS/2 integrated application that is published by IBM Europe in 10 languages and IBM Asia/Pacific in four languages. In conjunction with IBM Japan PSP, MicroBurst provides technical support to developers (both corporate and independent software vendors) of OS/2 applications who are porting their software to Japanese, Korean, and Chinese versions of OS/2. Mark earned a Ph.D. degree at George Washington University in Business Economics.

Practical SOM Programming                                  Eric Giguere

What is SOM really about? Why should you use it? Or not use it? This session will cover SOM from a practical point of view, teaching you how to manage SOM class files, use metaclasses, convert from SOM-1 to SOM-2, define class hierarchies, and use SOM resources. Practical examples will be drawn from the SOM-based VX-REXX run-time library and from the VX-REXX Object Development Kit, but the session will be relevant to anyone who is interested in real SOM programming not in the context of the Workplace Shell.

Designing REXX-Aware Presentation Manager Applications     Eric Giguere

Adding REXX support to Presentation Manager applications is not hard, but there are some issues to be aware of. This session will show you how to do it right, with tips on avoiding system lockups, I/O redirection, merging REXX and DDE, adding support for menu and dialog customization, and supporting GUI-based REXX development environments.

Eric Giguere is a software developer with WATCOM International, a leading vendor of professional software development tools, including VX-REXX and WATCOM C/C++. He is the chief architect of the VX-REXX run-time system and its associated Object Development Kit. Eric has had extensive experience with both GUI and REXX development, including Motif and Microsoft Windows as well as OS/2, and is the author of a number of papers and articles on these and related subjects.

Introduction to PM Programming Using C Set ++              Peter Haggar

In this session, we will explore the IBM C++ User Interface Class Library. This C++ class library enables you to create Presentation Manager applications more quickly, while at the same time providing the benefits of a truly object-oriented framework. A general overview of the library will be given, along with some coding examples of how to get started.

What's New with the C Set ++ User Interface Library        Peter Haggar

Be among the first to hear about the new features under development for future releases of IBM's User Interface Class Library. You'll get up-to-the-minute information, straight from a member of the development team. Peter will give an overview of the new features that should be in beta-test. You'll see all the new classes and sample programs that show you how to exploit the new capabilities in your C++ applications.

Peter Haggar is a Staff Programmer at the IBM Software Solutions Lab in Cary, North Carolina. Peter has worked for IBM since 1987 and has been involved with OS/2 since 1989. Peter was the team lead for the Container component of the OS/2 2.0 operating system, and has more recently worked on the User Interface Class Library component of the IBM C Set ++ product set.

Client/Server with Distributed Objects        Dan Harkey and Bob Orfali

In this workshop, you will learn what CORBA can do for you as a client/server developer, and the state of the OMG Object Services. Other topics that will be covered include DSOM, which is a CORBA-compliant ORB (object request broker), as well as distributed object applications using DSOM, OpenDoc, and SOM. You will learn what distribution means to objects, and understand how to exploit a modern commercial ORB that runs on Windows, OS/2, and AIX.

Client/Server Survival Guide                  Dan Harkey and Bob Orfali

Do you feel overwhelmed by client/server choices? This session features two seasoned guides -- Bob Orfali and Dan Harkey -- who have recently completed their newest book: Client/Server Survival Guide with OS/2 (VNR, 1994). You can hear directly from the Guides' mouth about which technology they're betting on. Bob and Dan have generated a survival roadmap that can guide you through some rough client/server terrain. They've been through it themselves, and lived to tell about it. Bob and Dan invite you to join them in a session where you can catch your breath and get a strong dose of speculation on where client/server and distributed objects are going.

Bob Orfali and Dan Harkey are the authors of the best-selling book Client/Server Programming with OS/2 (VNR, 1993). Bob's and Dan's most recent book is Client/Server Survival Guide with OS/2 (VNR,1994). This 930-page book contains over 150 pages on distributed objects. Bob and Dan have been developing client/server applications and tools for the last eight years. They currently work on the application of distributed object technology. Bob and Dan are affiliated with IBM Austin (PSP); they work from the San Francisco Bay Area.

Database Design and Programming with IBM's DB2/2              Dave Hock

This session provides a plain-English tour of DB2/2 programming. You will receive an introduction to visual database design using Entity/Relationship (E/R) diagrams, and learn about all aspects of database programming, including database structure definition, data manipulation using Structured Query Language (SQL), and transaction processing. An example of an order-entry system is used to reinforce the topics presented.

User-Interface Design for IBM's CUA'91                        Dave Hock

What are the true elements of a CUA'91-compliant application? With so many products claiming CUA'91 compliance, this session helps you net out the required elements to implement CUA'91 in both detail and spirit. Putting the user in control, object orientation, multiple concurrent views, direct manipulation, visual cues, and cross-application sharing of data are just some of the topics covered in this session.

Dave Hock is President of HockWare, Incorporated, makers of the OS/2 visual programming tool VisPro/REXX. Dave is widely recognized as an industry expert on user interface design and implementation. He has a long history of independently creating visually appealing, easy-to-use software products and bringing them successfully to the market. Dave was a member of the Common User Access (CUA) group while at IBM, and he served on the OS/2 Workplace Shell team. He is well known within IBM for two internal OS/2 products he created to illustrate the principles of CUA: a drawing tool and a paint program.

Multi-threading and the GPI: Graphic Engine Design I        Nick Hodapp

This session will focus primarily upon what it takes to design an efficient graphics engine in PM. Topics will include utilizing multiple threads to ease coding while gaining performance, as well as techniques such as background refreshing and processing of user input. You'll learn to keep your graphics engine lean and efficient while still providing power and flexibility. Source code will be available demonstrating the concepts discussed. Attendees should be familiar with PM programming and C or C++.

Multi-threading and the GPI: Graphic Engine Design II       Nick Hodapp

In this session, you will learn to implement such advanced features as real-time scrolling, preprocessing of refresh regions, and techniques for correlation and segment manipulation. Methods for manipulating thread priority and IPC will be presented. Nick will discuss problems of thread synchronization, as well as common pitfalls of the GPI. Extensive sample code will be available.

Nick Hodapp is a Senior Programmer with Power System Engineering, Inc. in Madison, WI. He is the architect of PSE's PSMap software, which provides viewing and redlining of CableCad files for electric, telephone, and gas utilities worldwide. Additionally, Nick has developed plotting routines and optimizers on the OS/2 platform. Nick participated in the 1993 ACM Scholastic Programming Finals. His team (Macalester College) placed 12th nationwide.

A Guided Tour of the Workplace OS                           Ian Holland

As the Workplace OS has evolved from concept through architecture and design to implementation, the people most closely involved in that process, and especially in the implementation phase, have learned what its particular strengths are, and how to take maximum advantage of the resulting product. This session will present an overview of and introduction to the Workplace OS, focusing on actual experience with the implementation more than just the architecture.

Ian Holland is Lead Designer of the internationalization components of the Workplace OS. Prior to joining IBM Boca Raton, Ian completed a Ph.D. in object-oriented software reuse at Northeastern University in  Boston. In collaboration with colleagues at NU and IBM Research, he presented a number of papers on this topic at ACM's annual OOPSLA and ECOOP conferences. Prior to his move to the United States, Ian was a systems engineer in Germany and a consumer of fine Irish stout in his hometown of Cork City, Ireland.

OS/2 Multithreaded Programming                            Aidon Jennery

This session will discuss and examine the details of the multi-threaded programming environment provided by the OS/2 2.x API. You will learn about uses and problems of multi-threading, along with techniques suitable for extracting the most from the multi-threaded concept while remaining a "well-behaved" application. You'll also learn about using threads and semaphores, and receive an introduction to multi-threading under Presentation Manager. Performance issues will also be discussed. This session is suitable for attendees who have a basic knowledge of OS/2 2.x programming but come from a DOS, Windows or other non-threaded environment, or those who wish to learn the details about multithreading under OS/2 2.x.

OS/2 Inter-Process Communication                          Aidon Jennery

In this session, you will learn about the OS/2 2.x protection model, the need for Inter-Process Communication systems, and the IPC methods themselves. You will study the OS/2 2.x APIs for Pipes, Queues, Semaphores, Named Pipes, and Shared Memory, along with criteria for their use, common pitfalls, and simple examples. An introduction to Presentation Manager IPC will be provided. This session is suitable for attendees who have a basic knowledge of OS/2 2.x programming and wish to exploit the system by making use of multiple processes with a need for cross-process communication.

Aidon Jennery is a Senior Consultant employed by Keane, Inc., the leading provider of IS services and consultancy. He is currently working on the development of OS/2 at IBM in Boca Raton, Florida. Aidon is responsible for the design and implementation of Presentation Manager with the PMWIN team, for future OS/2 releases. He has worked in the industry for over 15 years, and has spent considerable time concentrating on OS/2, particularly in the area of architecture and design of subsystems and applications. Aidon has presented numerous courses, seminars, and technical briefings on many OS/2 subjects all over Europe and the United States, and is a very popular speaker at the ColoradOS/2 conferences. He has provided OS/2 consultancy and training services to many of the industry's top companies and corporations.

Adding Help to Your OS/2 Applications                     Michael Kaply

This session provides an overview of the Information Presentation Facility, and shows you how to enable the OS/2 help system within your applications. Topics include: help for controls, help for the standard system dialogs (message, font and file), and help for Workplace Shell icons.

The OS/2 Help Manager: Advanced Topics                    Michael Kaply

This session covers advanced OS/2 help topics, including Dynamic Data Formatting, the use of communication DLLs to control the help window, application-controlled viewports, and author-defined pushbuttons. Source code will be available.

Michael Kaply works for IBM on the OS/2 Help Manager development team in Boca Raton. He has been with IBM for four years in various positions, including one year as technical assistant to John Soyring, Director of Software Development Programs. Michael has been using OS/2 since version 1.1 and developing applications for it since version 1.3.

IBM Smalltalk -- The Foundation of VisualAge                   Dan Kehn

IBM's object-oriented client/server visual power tool, VisualAge, is built on IBM Smalltalk. IBM Smalltalk is a highly integrated, high-quality Smalltalk language and integrated development environment that enables programmers to rapidly develop applications, including mission-critical, line-of-business applications. Writing applications with VisualAge's IBM Smalltalk can be done with either the single-user or team version. The team version allows collaborative development in heterogeneous OS/2 and Windows LAN environments. Additionally, it provides runtime configuration management and packaging capability, version control, and change management. This presentation will cover the fundamental principles of team environment programming with IBM Smalltalk. Highlights of the class hierarchy and optional pluggable classes will be presented, plus a demonstration of tools designed to cut through your code jungles. Audience: OO-knowledgeable, technical developer/user.

Workplace Shell Programming                                    Dan Kehn

The OS/2 2.x Workplace Shell is the first IBM implementation of the user interface (UI) described by Object-Oriented Interface Design: IBM Common User Access (CUA) Guidelines. While the WPS certainly advances today's computer user interface, it does introduce new notions and complexities to those who program to it: What is System Object Model? What problems does it solve? How and why does the OS/2 Workplace Shell use it? This presentation is an overview of the WPS design and implementation to help the WPS programmer better understand how to exploit its value. You will also learn about the OS/2 Workplace Shell hierarchy, and discuss how to design and create WPS objects. Audience: Product developers wanting to exploit the WPS and the OO user interface it provides; you must know Presentation Manager and basic OO concepts.

Dan Kehn is a Staff Programmer at the IBM Software Solutions Lab in Cary. He joined IBM in 1984. Dan has extensive experience in object-oriented programming and design, and advanced user interface development. Dan is a former member of the OS/2 Workplace Shell (WPS) development team. He has since developed several software packages for the OS/2 Workplace Shell that are available through the OS/2 IBM Employee-Written Software program and the OS/2 Developer Connection CD:

Group Folder (GFOLDR.ZIP), an alternative folder view to help you better organize the Workplace objects you frequently use.

Address Book (SHR93.ZIP, on CompuServe, OS2DF1, library 3), a simple WPS address book with well-documented source.

ExCal (EXCAL.ZIP), co-authored with Diana Soost. ExCal is a WPS calendar with an object-oriented user interface.

Dan continues his work in object-oriented programming and design on soon-to-be-announced, follow-on products to IBM's VisualAge product suite.

Hyper-Portability and Interoperability in Smalltalk      Daniel Lanovaz

This talk describes the architecture of ParcPlace's Smalltalk implementation, and how it provides the extremely high degree of portability embodied in the VisualWorks ObjectEngine and Class Library implementation. You will also learn how to sidestep portability issues and interoperate with system objects by using the Smalltalk external language interface facility. We will describe how this language interface is used to provide a Smalltalk interface to SOM and DSOM.

Daniel Lanovaz is a member of ParcPlace's VisualWorks development team. He is the principal designer and developer of ParcPlace Smalltalk's external language interface facility, and was the principal developer of Objectworks\Smalltalk for NeXTStep. Daniel is a ParcPlace representative on the X3J20 Smalltalk ANSI standards committee.

Writing Multi-threaded PM Programs in C++                      Bill Law

OS/2's support for preemptive multitasking and multi-threaded processes is one of its key advantages. This presentation will help you learn how to take full advantage of multiple threads in your C++ programs, using C++ and the thread support classes of the C Set ++ User Interface Library. We will cover the basics of OS/2 threads and the system APIs that support them, how to start additional threads, how to synchronize the execution of multiple threads, and why and how to make Presentation manager programs multi-threaded.

Writing WorkPlace Model Applications in C++                    Bill Law

OS/2 v2.0 introduced the object-oriented user interface to the OS/2 desktop. In this presentation, you will learn about the key elements of this style of user interface, and see how to design and implement WorkPlace Model applications using the IBM C Set ++ User Interface Library. Bill will cover: containers, objects, context menus, settings views, and drag/drop.

Bill Law designs and implements components of the IBM C Set ++ User Interface Library. He has been a programmer at IBM since 1981 and has worked on OS/2 applications since 1986. He is co-author of OS/2 v2 C++ Class Library: Power GUI Programming in C Set ++, published by Van Nostrand Reinhold.

Power Programming with the OS/2 GPI                     Kelvin Lawrence

This session presents the OS/2 Presentation Manager Graphical Programming Interface (GPI) for those already familiar with PM but now wanting to exploit graphics in their applications. You will learn how to program with fonts, use color palettes and understand the Palette Manager, make use of polygons, use paths and regions, understand clipping to complex shapes, and understand coordinate spaces and transformations. Other topics include optimizing use of the graphics API, understanding limits and flexibility of graphics resources, understanding performance considerations, understanding dependencies on underlying graphics hardware, and understanding the underlying graphics architecture and device-driver model.

Exploiting Fonts in an OS/2 PM Application              Kelvin Lawrence

In this session, you'll learn how to select and use fonts from an OS/2 2.1 application. Topics will include discussing raster fonts versus outline fonts, querying and selecting available fonts, manipulating outline fonts (such as sizing, rotating, shearing), getting the best performance from outline fonts, managing font data effectively in your application, and using the font selection dialog.

Kelvin Lawrence was the lead programmer for the OS/2 Presentation Manager during the development of the 2.1 release of OS/2. Working in the OS/2 PM Graphics Subsystems group at IBM in Boca Raton, Florida, he had technical responsibility for and ownership of the PM Graphics Engine (PMGRE), PM Window Manager (PMWIN), and PM Graphical Programming Interface (PMGPI). He is currently working on the architecture, design, and implementation of OS/2 for PowerPC, based on the Workplace OS architecture running on the IBM Microkernel.

Kelvin was a member of the original IBM team that worked on the definition of the OS/2 Presentation Manager in 1986, and has been a key member of the OS/2 development and support community ever since. He has been a speaker at numerous OS/2 conferences and programming seminars. He was asked to present a paper on using the OS/2 Graphical Programming Interface at the 1994 Software Development Conference, and has been a regular speaker at the ColoradOS/2 conference. Kelvin has published several articles and papers on Workplace OS and OS/2. He has an Honours Degree in Computer Science from Brighton Polytechnic in  England.

Developing with KASE:Set                                    Jeff Mackay

Get a head-start developing graphical OS/2 applications by using KASE:Set, the visual design tool bundled with C Set ++. This session provides an introduction to using the tool in the early stages of application development. It will also cover using the tool to learn IBM Class Library programming techniques.

Mixing Object Models: Creating SOM/WPS Applications with    Jeff Mackay UICL

You will learn how to mix object models by creating both Workplace Shell and distributed SOM objects with IBM's User Interface Class Library. This is an advanced session, so prior knowledge of WPS, SOM, and UICL programming is recommended.

Jeff Mackay is a Principal Engineer at APPX Software in Atlanta, building a portable, object-oriented, 4th-generation language environment. Formerly a development manager at KASEWORKS, Jeff served as the technical lead for the KASE:Set visual design tool bundled with C Set ++ and the KASEWORKS C++ products. He is the author of Windows Programming with Borland C++.

OS/2 2.x Device Drivers: A Technical Overview         Steve Mastrianni

In this session, we discuss the basic architecture of OS/2 2.x physical and virtual device drivers, and you will learn how to write them quickly. Topics that will be covered are the types of compilers, assemblers, and debuggers which can be used, interrupt and timer handler design, application considerations, hardware and bus issues, performance issues, and the Device Helper routines which can be called by the device driver.

OS/2 Device Driver Directions                          Steve Mastrianni

This session will teach you about two important topics: device drivers for the symmetric multiprocessing version of OS/2, and the new device-driver models for OS/2 for PowerPC. You will learn how to use spinlocks, how to make your drivers MP-safe and MP-enabled, and typical pitfalls to avoid. The OS/2 for PowerPC topics include a discussion of the new device-driver models for display, printer, and base device drivers, and how they compare with the current OS/2 driver models. You will also learn how to migrate existing OS/2 2.x device drivers to OS/2 for PowerPC.

Steve Mastrianni is an industry consultant specializing in device drivers and real-time applications for OS/2. The author of the best-selling Writing OS/2 2.1 Device Drivers in C, Steve is regarded as one of the industry's leading experts in OS/2 and OS/2 device drivers. He is currently consulting for IBM in Boca Raton, FL.

Object REXX Technology                                     Rick McGuire

This session focuses on the changes being made to the REXX language to turn it into a completely object-oriented programming language with full access to the System Object Model (SOM) and the OS/2 Workplace Shell. The focus will be on the broad range of new capability that these extensions bring to the OS/2 user.

Rick McGuire is a Senior Programmer at the IBM Glendale Programming Laboratory in Endicott NY. He has been a developer of REXX implementations since the original VM/CMS implementation in 1982, and is currently the lead architect for all IBM REXX implementations, including Object REXX.

The Future of COBOL Development                             Dean Morris

CA-Realia II Workbench provides a full-featured, mainframe-compatible COBOL development environment on the OS/2 workstation. Moving the development process from the mainframe to the PC workstation revolutionizes the manner in which COBOL programs are developed, maintained, compiled, debugged, analyzed, and managed. This session will teach you to effectively take advantage of this COBOL workbench to build and maintain mainframe applications.

Developing Portable GUI-Based Applications                  Dean Morris

CA-REALIZER is the only multi-platform BASIC solution for developing applications that are portable between OS/2 and Windows. It features a structured superset of BASIC (a language that almost everyone knows and can use), a rich development environment (complete with visual development and code-generator tools, debugger, code editor, etc.), a wide array of built-in programmable objects (such as spreadsheets and charts), and straightforward access to all OS/2 and Windows objects and resources. In this session, you will learn how CA-REALIZER takes the drudge work out of developing portable GUI applications.

Dean Morris has been involved in all facets of the computer industry for more than a decade. The last three years have been with Computer Associates, where Mr. Morris has focused on downsizing and rightsizing technologies and providing solutions for a myriad of clients. More recently, Mr. Morris' focus has been on the marketing and strategic alignment of a series of Computer Associates' micro solutions. Over the past six years, Mr. Morris' experience has grown from the mainframe application development environment to encompass the PC and microcomputer application development world.

User-Centric OS/2 Application Design                    David Moskowitz

Any environment or operating system affects the types of problems and solutions that are available to the programmer. Most programmers are used to MS-DOS, and need to understand the additional effort and changes required to write good programs for OS/2. This workshop will teach you about the changes in thinking, design, and programming required to design applications that are responsive to the end-user and take full advantage of the new environment. With a bit of work up front, the process becomes much easier than developing for DOS, and the resulting applications perform much better.

Note: This workshop covers principles of good OS/2 application design. Specific coding techniques are covered in David's presentation titled "Writing OS/2 Multithreaded Applications", and a presentation by Aidon Jennery titled "OS/2 Multithreaded Programming".

Writing OS/2 Multithreaded Applications                 David Moskowitz

Other sessions being presented at this conference will show the mechanics of how to use threads in an OS/2 application; this session focuses more on when and why to use them, and how to manage them. The proper motivation for using threads -- to create applications that are responsive to the end-user -- will be a springboard for our exploration of various methods for employing threads in an OS/2 application, and why we might choose one over another.

Note: This session is an extension of "User-Centric OS/2 Application Design". This session employs code examples that illustrate the principles covered in the design workshop.

Introduction to the Presentation Manager API            David Moskowitz

This workshop provides an overview of the OS/2 Presentation Manager API. It covers the basic structure of an OS/2 application with an emphasis on using the API to write responsive applications. The workshop also demonstrates the relationship between API functions. The workshop provides real-world examples including the relationship between messages and API calls, global versus local variables, and error-checking.

David Moskowitz is President of Productivity Solutions, a Norristown, Pennsylvania-based consulting firm that specializes in helping clients deal with technology change. He is a featured author with David Kerr of OS/2 2.1 Unleashed, published in March 1993 by SAMS Publishing. David is the author of Converting Applications to OS/2 (1989, Brady Books), the supplement editor of the OS/2 Supplement for the April 1993 issue of Computer Language magazine, contributing editor to OS/2 Monthly magazine (the Object Objective column) and the VAR Herald newspaper. He developed and presented the first workshops offered in 1989 as part of the IBM Developer Assistance Program on converting applications to OS/2. Since then, he has worked with many developers to help them make full use of OS/2.

The Human-Centered Characteristics of Workplace OS and the     Brad Noe PowerPC

This session will discuss the human-centered characteristics of Workplace OS and the PowerPC. Some of the human-centered technologies are multimedia, speech, pen, text-to-speech, natural-language computing, user interface, etc. The focus of the session will be on the human-centered technologies, and you will learn how users and applications can utilize these technologies to enhance the usefulness and productivity of Workplace OS and the PowerPC.

Brad Noe is an Advisory Programmer in IBM's Workplace OS group. He has worked for IBM for 11 years in software development. For the last four years, he has been involved with MMPM/2 as a team lead and lead programmer. Brad is currently the multimedia architect for Workplace OS. He received a B.S. degree in Computer Engineering from the University of Florida in 1993, and a M.S. degree in Computer Science from Florida Atlantic University in 1994.

Programming the OS/2 Print Subsystem                      Michael Perks

Application printing under OS/2 is one of the least understood parts of writing an OS/2 application. This session describes the architecture of the OS/2 print subsystem, and gives a cookbook on how to print from an OS/2 application. Considerations for fonts, networks, and the Workplace Shell are presented.

Introduction to OpenDoc Open Scripting Architecture (OSA) Michael Perks

This session provides an introduction to OpenDoc Open Scripting Architecture, OSA Events, and the Standard Event Registry Suites. It builds on Robert Tycast's Part Handler session by describing the requirements for applications to support OSA events and record events.

Michael Perks (IBM Corporation) is an advisory programmer with the OS/2 Development Team, Boca Raton, Florida. He is the technical lead for OS/2 Presentation Manager. He was previously the PM Technical Planner and Designer for the OS/2 2.x print subsystem. He joined IBM in 1984 and has worked on many aspects of OS/2 since 1986. He received a B.Sc. from Loughborough University in the United Kingdom and earned a M.Sc. in Computer Science from Nova University in Florida.

File System Support in Workplace OS                       James Schoech

File system support in Workplace OS architecture is provided by a component called the File Server. This component, executing as a user-level task, uses the services of the IBM Microkernel and other microkernel tasks to implement all file system functions. The Workplace OS File Server provides support for multiple operating system personalities and supports the installation of multiple Physical File Systems.

James Schoech is an advisory programmer in WPOS Architecture within the IBM Personal Software Products division in Boca Raton, Florida.

Persistence Object Service for SOM: Many Datastores,     Roger Sessions One Object Interface

The OMG has finally passed a specification for the Persistence Object Service. This specification tells programmers how to write datastore independent code, and tells datastore providers how to plug existing datastores into this object storage framework. The adoption of the POS standard by this large industry consortium will likely have a major impact on the way object-oriented storage systems are designed and used in the next few years. IBM is proud to have led this industry standardization activity, and believes it will have the first full implementation of this standard, planned for the next release of SOM.

In this presentation, you will learn about the interfaces used for storing and restoring objects, and look at code that implements the concept of datastore independence.

Prerequisite: Participants should be familiar with OO programming.

Roger Sessions is a co-author of the OMG Persistence Object Service Specification, and is the technical lead for the IBM Persistence Object Service Implementation. Roger is the author of two books: Class Construction in C and C++; Object-Oriented Programming Fundamentals, and Reusable Data Structures for C. He is currently writing a book on the OMG Persistence Object Service, scheduled for release in the Fall of 1994. He is the co-author of many papers on the System Object Model (SOM), and has spoken at dozens of conferences throughout the world on the principles of Object-Oriented Programming, C++, SOM, and Object Persistence.

Exploiting the Workplace Shell                             James Taylor

The Workplace Shell programming interface allows the programmer to: create new classes of Workplace Shell objects; customize Workplace Shell object classes that are provided with OS/2; install and maintain objects within the Workplace Shell environment; and create applications that feel to the user like they are "built-in", or a part of the system. In this session, you will learn how to write applications that achieve a "built-in" look and feel with OS/2 2.1. Familiarity with SOM and Workplace Shell interfaces will help you get the most out of this session.

Using the Kernel Debugger                                  James Taylor

Last November, James' "ad hoc" evening session at ColoradOS/2 on using the kernel debugger was standing-room only. This unplanned session proved to be so popular and so valuable that we decided to make it part of the formal schedule this time. In this session, you will learn how to configure and use the kernel debugger to maximum advantage for debugging your OS/2 applications, including many tips and tricks that are not covered in any of the documentation. Although this powerful tool is useful for debugging both traps and hangs, techniques for debugging traps are fairly well known, so this session will concentrate on debugging hangs.

James Taylor is a Senior Programmer at IBM Personal Software Products in Boca Raton, Florida. James is the team lead for the Workplace Shell development group. He has worked on the OS/2 Workplace Shell since June 1991, and he has worked on the design and development of leading-edge graphical user interfaces since 1987. James was one of the lead programmers for the OfficeVision/2 project. Prior to working on OfficeVision/2 and the OS/2 Workplace Shell, James worked on a variety of System/370 operating systems.

OpenDoc for OS/2: Document-Centric Computing          Robert L. Tycast

OpenDoc is a new offering derived from technologies available from the Component Integration Laboratories (CILabs). CILabs is consortium providing a set of "open" technologies supporting the notion of "document-centric" computing. The founding members of CILabs include Apple, IBM, WordPerfect, Oracle, Xerox, Novell, Borland, and Taligent. OpenDoc enables users to create documents by assembling "parts" into a "shell" document. These parts can be in any format imaginable; text, images, drawings, etc. Even multimedia parts like video and audio can be used. Since OpenDoc is DSOM-based, the parts of the document can execute on a node remote from where the document is being assembled. This gives users great flexibility, since they can take full advantage of the network they are on, be it homogeneous or heterogeneous. This seminar will provide an overview of three of the four basic OpenDoc technologies: the compound document facilities, the Bento storage technology, and the Open Scripting Architecture based on OSA events (derived from Apple Events).

Writing OpenDoc Part Handlers for OS/2                 Robert L. Tycast

This seminar will cover the basics of creating parts for OpenDoc. We will cover both simple parts and containing parts. You will learn about building a part from scratch, adapting existing programs to be OpenDoc container applications, and fully converting an application into OpenDoc parts. We will also talk about factoring an application into an OSA-form (Open Scripting Architecture), gaining scriptability and recordability along the way.

Robert L. Tycast is an advisory programmer in the OS/2 Architecture and design group, where he leads the OpenDoc for OS/2 effort. Mr. Tycast joined IBM in 1989 from Digital Equipment Corporation, where he  served in a number of capacities within the software development group as well as providing software support in the U.S., Latin America and Europe. His project experience over the last 13 years includes X11, AI Technology (LISP and OPS5 support), and technical workstations (VMS  and ULTRIX). Mr. Tycast has a B.S. from MIT and has done graduate work at MIT in the computer science department.

Exploring the REXX Interface                               Bryan Walker

The REXX programming interface will be discussed from the perspective of writing extensions for REXX and using REXX as the macro language for existing applications. Topics will include the REXX Variable Pool interface, Macro interface, functions, subcommands, and exit routines. Discussions will include issues for registering functions, starting REXX programs, and passing data between your functions and the REXX procedure. This topic is not intended as a course on REXX programming. The REXX language will only be used where necessary to illustrate the subjects covered.

Executing and Communicating with Applications in the       Bryan Walker OS/2 Environment

This course discusses the issues regarding starting applications from within your program. The major API calls for starting programs will be discussed, with consideration for which to use in a given situation. These include DosExecPgm, DosStartSession, WinStartApp, and starting OS/2 applications from DOS and Windows applications. You will also learn the basics for communicating with the child process, including named pipes for DOS and Dynamic Data Exchange (DDE) for Windows.

Bryan Walker develops Voice Processing applications for Cortelco, Inc. using OS/2. He is also the developer of AlarmPro and Alarm Clock for OS/2. A native of Memphis, Tennessee, he has been developing OS/2 applications since 1989. His work has been featured in The Wall Street Journal, OS/2 Magazine, and PC Resources Magazine.

GPIPaint: A Practical Guide to High Performance GPI          John Webb Programming

The Graphics Programming Interface (GPI) is an extremely powerful, but oftentimes confusing and intimidating, subsystem. This session will explore the GPI by examining the implementation of GPIPaint, a Paint/Draw application. The features of GPIPaint present a survey of most aspects of the GPI: PS and DCs, Lines, Arcs, Paths, Areas, Patterns, Color Tables and Palettes, Fonts, Bitmaps, Clipping, Transformations, and Retained Segments. Design issues such as multithreaded painting and efficient blitting/clipping algorithms will also be covered. Source code will, of course, be provided.

ICSS: OS/2 Speech Recognition                                 John Webb

The IBM Continuous Speech System (ICSS) is breakthrough technology that makes speaker-independent speech recognition a reality today. This session will demonstrate that reality, showing how an OS/2 application can be speech-enabled. Topics will include the ICSS development environment, the ICSS API set, grammar development, phoneme dictionary maintenance, and profile tuning. Speech-enabled program structure and interface design issues will also be discussed. This session will definitely have people talking.

John Webb is an independent consultant currently working with the IBM OS/2 Application Development Technical Support group in Austin TX. John has been developing with OS/2 since version 1.1, and has been providing application development support since the introduction of OS/2 2.0. He was the sysop for both the PM and Object Technologies sections of IBM's CompuServe forums during 1992 and 1993. His source-code samples have been widely distributed on CompuServe and Internet, on the Developer Connection CD, on the Hobbes CD, and on the OS/2 Monthly utilities disk; his samples will also be included in  upcoming IBM OS/2 and Workplace OS Developer's Toolkits.


 * Additional Workshops

A Demonstration of HyperWrite and IPFEdit                 Michael Kaply

HyperWrite and IPFEdit are two tools that simplify the creation of on-line help files and on-line documentation. To augment his tutorial sessions on using the Information Presentation Facility to produce on-line help files, Michael will demonstrate these two tools.

Writing for OS/2                   Steve Mastrianni and David Moskowitz

At last November's ColoradOS/2, Steve and David were literally surrounded by conference participants as they led an impromptu discussion of what it takes to be a successful author specializing in OS/2. This proved to be so popular that they have agreed to repeat it as a planned seminar this time Drawing on their own experiences as successful authors and magazine columnists, they offer some very practical advice about how to get started, what to expect, working with publishers and editors, etc. This is a rare opportunity to learn from two well-known authors who have "been there, done that".

Getting the Most Out Of OS/2                            David Moskowitz

If you use OS/2, chances are you've wanted to tune your system to get optimal performance. This workshop teaches you how, covering the tricks and hints of the experts to help you get the most out of your system. It covers the changes in CONFIG.SYS and system objects that will allow you to coax maximum performance from your system. You'll also discover a wealth of hints and tricks that will make using OS/2 much easier!

The OS/2 Problem Solver                                 David Moskowitz

This session is designed for anyone who has had problems running OS/2. It teaches you the types of techniques and steps you can take to recover your system if you have problems. It covers the common problems, and the steps and tools you can use to recover from potential disaster. The workshop covers steps you can take to avoid problems and to troubleshoot common problems.

What Does It Take to Succeed as an OS/2 Consultant? David Moskowitz

This workshop is designed for people who perform a consulting role within their company, as well as for people who have either thought about going into business for themselves or who may find that they have no choice. We will define the role of a consultant, and examine the factors that determine whether you can be successful or not. We will also discuss the benefits, risks, and issues of going into business for yourself.


 * Hotel Information

The Cheyenne Mountain Conference Resort -- reserve your room for an exceptional experience!

ColoradOS/2 has reserved rooms at the Cheyenne Mountain Conference Resort at a special rate for conference attendees. The special room rate is 78 USD plus tax and gratuities for a single or double. Bring your family -- your spouse and children can stay with you for no additional charge.

You can make your room reservations when calling to register for the conference. Please note that the number of rooms available at the resort is less than the number of anticipated conference attendees. Therefore, be sure to register for the conference and reserve your room as early as possible. For those who register after the Cheyenne's rooms are committed, the Cheyenne Mountain Conference Resort will make your reservation for you at a nearby hotel; you will receive free shuttle service to the resort, with all of the same privileges and amenities as those available to conference participants registered at the Cheyenne Mountain Conference Resort.


 * Discount Travel

ColoradOS/2 has made special discount travel arrangements with International Conference Resorts of America (ICRA) Travel Services. As the parent corporation of the Cheyenne Mountain Conference Resort, ICRA Travel Services provides air and ground transportation to and from the resort. ICRA's air fares are typically 50 percent lower than published coach fares, though savings vary depending on city of origin, air carrier, and the season.

In addition to the normal ICRA discounted fare, you may be able to take advantage of special Ultra Saver fares, which require a 30-day advance purchase. The ICRA Travel Services representative can explain these fares and special requirements when you make your reservations.

To make your reservations for ICRA discounted fares, please call ICRA at 1-800-544-2432, or for international callers, 1-602-483-1072. You may also make reservations by faxing pertinent information to 1-602-948-6690. ICRA's hours are Monday through Friday, 9:30 a.m. to 8:00 p.m. Eastern Daylight time (GMT-4). Simply tell the reservationist you will be attending the ColoradOS/2 Conference at the Cheyenne Mountain Conference Resort.


 * Conference Registration Information

To register by phone:
 * If you are registering for ColoradOS/2 with a credit card, please call 1-800-648-5717 within the USA and Canada. Elsewhere, please call 1-719-576-5003.


 * Call Monday through Friday, from 9:30 a.m. to 7:00 p.m. Eastern Daylight time (GMT-4). Tell the reservationist that you wish to register for the ColoradOS/2 Conference. You may make your room reservation at the Cheyenne Mountain Conference Resort at that time.

To register by fax:
 * To register by fax, complete the registration form below with credit card payment, and fax the form to 1-719-576-2105.

To register by mail:
 * To register by mail, complete the registration form below and mail it with your payment to:

The Cheyenne Mountain Conference Resort Attn: Kathy Torline -- ColoradOS/2 3225 Broadmoor Valley Road Colorado Springs CO 80906

Space is limited ... time is passing! Call 1-800-648-5717 or 1-719-576-5003 today, and ensure your place in this one-of-a-kind conference!


 * Cancellation Policy

All cancellation and refund requests must be received in writing prior to 29 August 1994, and will be subject to a 100 USD cancellation fee. On and after 29 August 1994, your registration fee is non-refundable; however, you may send a substitute in your place. Kovsky Conference Productions Inc. reserves the right to modify or cancel the conference or segments of the conference.

Thanks to Lotus Development Corporation for co-sponsoring this event by providing a copy of Lotus Freelance Graphics for OS/2 to each speaker.

Indelible Blue, an exclusive dealer of OS/2 software, will be on hand at ColoradOS/2 with software available for purchase. If you order software during the conference, you can receive your purchase at the conference or have it shipped to your home.

Registration Form ColoradOS/2 Software Developers Conference October 30 -- November 4, 1994

Please fill out completely. Print or type all information as you wish it to appear on your badge. You may photocopy this form for additional registrants; please use one form for each registrant.

(Circle One) Mr. Mrs. Ms. ___________________________________________________________

Title  ___________________________________________________________

Company  ___________________________________________________________

Address 1  ___________________________________________________________

Address 2  ___________________________________________________________

City  ____________________________ State/Province _______________

Country  ____________________________  Zip/Postal Code _____________

Work Phone  ______________________ Work Fax  _____________________

Home Phone  ______________________ Home Fax  _____________________

___ Yes, please register me to stay at the Cheyenne Mountain Conference Resort

Number in Party ______    Arrive  _____________  Depart    ____________

Registration (Check One)

___ Early-Bird Registration -- 995 USD for registration and payment received before 29 August 1994

___ Registration payment received on or after 29 August -- 1295 USD per person

___ Corporate discount -- 1195 USD per person for three or more people from the same company location registering and prepaying at the same time. (Not valid with any other discounts; all registrations     must be submitted at the same time to receive the discount.)

Registration amount due:  ___________ USD

Method of payment: ___ Check  ___ Money Order  ___ Credit Card (Sorry, we do not accept purchase orders)

Enclose your check or money order with this registration form and make payable in U.S. dollars to Kovsky Conference Productions Inc. Space at the conference cannot be confirmed until payment is received.

___ MasterCard    ___ VISA           ___ Discover ___ Diners Club   ___ Carte Blanche

Card Number ________________________________ Expiration Date ___________

Signature as it appears on card _______________________________________

___ Please do not give my name and company name to other conference participants

Please tell us how you heard about ColoradOS/2:

________________________________________________________________________

________________________________________________________________________

Client/Server East Conference and Exposition, 29 August through 1 September, Washington DC
The Client/Server East Conference and Exposition will be held at the Washington Convention Center in Washington, DC from 29 August through 1 September 1994.

This conference and expo, now in its second year, is the only industry trade show that is entirely dedicated to client/server computing. It is aimed at senior I/S and business management.


 * Seminar Subjects

Conference seminars will focus on:
 * Client/Server Computing: Strategic Issues and Implementation Studies
 * Distributed and Cooperative Database Processing
 * Enterprise Networking and Middleware
 * Mobile and Wireless Computing
 * Client/Server Application Development
 * Enterprise Client/Server Systems Integration and Management


 * IBM Speakers

Among the IBM speakers are:
 * Thomas F. Brier, IBM Advanced Business Institute, presenting "The New World of the I/T Leader: Challenges for Survival"
 * Arthur G. Cannon, IBM Open Systems Center, presenting "Strategies for Distributed Enterprise Systems"
 * Dr. Sam Carter, IBM Client/Server Marketing, presenting the "IBM Client/Server Perspective"
 * Michael J. Sinneck, IBM End User Consulting Practice, presenting "The IBM Multi-Client Study"


 * Product Exposition

The expo is open:
 * Tuesday 30 August, 10:00 a.m. to 5:00 p.m.
 * Wednesday 31 August, 10:00 a.m. to 6:30 p.m.

The IBM booth (number 302) will highlight the company's expertise in building and operating multi-vendor business solutions. In addition to the "Client/Server Live" demonstration, more than 20 IBM products will be on display.

Admission to all four days of the conference is 1,295 USD.


 * More Information

For more information about the conference, call the CMP Conference and Exhibit Group at 1-800-972-5244 or 1-516-733-6770, or via fax at 1-800-858-0412 or 1-516-733-6730.

Trademarks, Registered Trademarks, Service Marks
This concludes 1994 Issue 9 of IBM PSP Developer Support News. Please let us know how we can improve it; see the beginning of the newsletter for ways to contact us. Thank you!