|
In the metaindex of the site you can find links to the articles that were
published in EDM/2, sorted by topic.
Some notes:
- Some articles are referenced under more than one topic.
- Three of the columns are presented as a whole, the rest are found
under various topics.
- The more general columns, like 'From the Editor',
'News' and 'Off the Beaten Track' are not linked. To
read those columns, Read The Past Issues.
- An overview of 'The Codesmith's Library' can be found in the Bookstore.
- The most recent articles are at the top. Series are placed according
to the date of the last article. Links are provided to all parts.
- Series that are courses are placed at the top of each topic. They have
only one link, to the first article.
Most of the topic names are self-explanatory, but a few could use an
explanation:
- Development - Contains the more general articles about development
(languages, tools, etc).
- Programming (other) - Articles about programming that belong to the
more specialized programming topics (code-protection, multilingual, etc).
- Software - Reviews and comparisons of software.
- Miscellaneous - Everything that didn't fit into the other categories,
mostly on OS/2's past, present and future.
Last, but not least: comments, suggestions and so on for this page are
welcome. You can send them to the EDM/2 editor.
top |
C Programming |
Introduction to C Programming. Part 1 |
An online course which will introduce you to the art of C Programming.
The series has ten parts which are all reachable from the first one. Best
read in sequence. |
Building a REXX DLL in C |
This article shows how to build a DLL in the C programming language
containing functions that can be called from REXX. |
12
Common C Errors |
In this list 12 common pitfalls that are made in C. The checklist is
meant as a list of things for beginners to avoid. |
Stupid Enumeration Tricks |
Some things to do and some things not to do with C and C++
enumerations. |
top |
C++ |
OOPS Avenue |
More articles about C++ can be found under the topic OOPS Avenue, an
overview of Gordon Zeglinski's column from early years. |
Introduction to C++
Programming Part 1 |
An online course which will introduce you to the art of C++
Programming. The series has thirteen parts which are all reachable from
the first one. Read them in sequence. |
V - A Free C++ Graphical User Interface Framework |
An introduction to V, a cross-platform GUI framework that has
recently been ported to OS/2. |
VisualAge C++ Version 4.0 |
A review of the latest C++ compiler from IBM |
Programming the OS/2 File Dialog in
C++ |
C programmers have had this great dialog for opening and saving files,
but with C++ programming, you can make things even easier. |
A Progress-indicating Status Line in
C++ Part 1 Part 2 Part 3 |
How to build a progress indicator in C++. Part 1: The
progress-indicating status line and the needed message handler. Part
2: A simple base file class which is wrapped around the API-calls and a
derived class which sends status messages to a given status line. Part
3: The use of them in a sample application. |
Using Semaphores in C++ |
How to embed semaphores in a C++ wrapper in order to simplify and
bullet-proof the use of them. |
Encapsulating Extended
Attributes Part 1 Part 2 |
Encapsulating the normally tedious and complicated extended
attributes. Part 1: How to program extended attributes with the OS/2
API. Part 2: The design of a C++ frame work called "Your Extended
Attribute Helper" (YEA.H for short) and its free class library |
Stupid Enumeration Tricks |
What to do and not do with C/C++ enumerations. |
C++
Encapsulation of PM |
The purpose of this article is to illustrate some of the concepts of
PM encapsulation and some of the methods that can be used to implement
this encapsulation. |
Thread
Safe STL |
An Allocator Class For The C++ Standard Template Library That Uses The
OS/2 API Memory Functions |
Hunting Memory Bugs |
Some interesting C++ classes to deal with aggravating memory overwrite
bugs. |
C++ Compiler Review Part 1
Part 2 Part 3 |
A review of C++ compilers for OS/2 Part 1: Watcom C/C++ 10.a and
IBM's Visual Age C++ (C-Set++3.0) Part 2: Borland C++ 2.0 and Metaware
High C/C++ 3.32 Part 3: Watcom C/C++ 10.5 |
Debugging Classes in Borland C++ |
Some solutions to problems arising when debugging code. |
Writing a C++ Thread Class |
This article will introduce a basic hierarchy for encapsulating thread
specific variables and other thread creation/maintenance related
details. |
A
Review of C++ Compilers |
This article examines various real-world aspects of the primary C++
compilers available for OS/2: Borland C++ 1.0; Watcom C/C++ 9.5; IBM
CSet++ 2.0 and EMX/gcc 0.8g. |
top |
Database |
Introduction to Relational Database
Design |
This article will teach the basis of Relational Database design, so
the readers can make more ambitious projects using mSQL or any other
Relational Database under OS/2. |
Installing and Configuring the Sybase SQL
Anywhere Server for OS/2 |
A detailed explanation of which (standalone) version you should get.
How to install and configure it, and what problems (with solutions) could
arise. Also some info on the architecture of the database server. |
RAD for
the Web |
The intent of this article is to leverage w3-msql as a RAD tool for
the web. An Application Template that you can use and reuse is developed,
and we will also learn how to create and work with function libraries,
allowing code to be reused between web pages from different web
applications built with w3-msql. |
Accessing Databases Using Java and JDBC |
How a Java Application, Applet or Servlet can access data stored in
relational databases using the JDBC API. |
mSQL
Revisited |
An update on the mSQL Database Server, with new features and syntax of
mSQL-2 |
An
introduction to mSQL |
A short history of the mSQL Database Server. How to install and
configure it, together with the building of a test table and some programs
to manipulate data in that table. |
top |
Device Drivers |
A Note on the OS/2 Warp Boot Sequence |
More details on the Warp boot sequence. |
SMP Considerations for OS/2 Device Drivers |
The tale of four areas of concern when writing drivers for OS/2 that may
be used in an SMP environment. |
Inside
the OS/2 Kernel |
An expedition into the little-seen but fundamental workings of the
system kernel. |
High
Resolution Timing Under OS/2 |
Various options for how to get access to timers, including using Timur
Tabi's timer device driver for high resolution. |
The
Case of the Invisible Corpse |
A story about debugging in the OS/2 environment. Recount of a highly
controversial tale of OS/2 debugging in a way never seen before. |
SMP -
Symmetrical Multiprocessing |
What it takes to write fast and safe SMP code for OS/2.
(Note: the information in here about SMP and drivers may not be correct) |
ICAT:
The New Remote Source-code Debugger for OS/2 |
An introduction to this incredibly capable new debugger from IBM. |
From Hello World to Real World
Part 1
Part 2
Part 3
Part 4
Part 5
Part 6 |
A very hot subject in OS/2 programming is the writing of a device
driver. Here is a how-to. Part 1: The Driver Part 2: Putting
your driver to work Part 3: Passing Your Own Data To and From Your
Device Driver Part 4: Writing a Device Driver for your own Data
Acquisition Card Part 5: Making I/O Calls Part 6: Interrupt
Processing |
Adventures in Kernel Debugging |
This article discusses the use of the OS/2 Kernel Debugger (KDB), an
essential tool for anyone interested in the internal workings of OS/2, or
with a need to debug a device driver or file system driver. |
32-Bit I/O With Warp Speed |
How to circumvent the systems I/O-handling and give the application
direct I/O-management. |
OS/2 Installable File Systems Part 1
Part 2 Part 3 |
This series explores the IFS API in depth with working
examples in order to take the mystery out of writing them. Part 1: A
brief overview of the IFS concept to give a feel for what's involved in
writing one. Part 2: The code that does initialization and
communication between ring 0 and ring 3. Part 3: Problems with the code
and solutions for them. |
OS/2 Presentation Drivers in a
Nutshell |
A brief introduction to the Presentation Drivers that provide OS/2's
device independence. |
top |
Networking |
OS/2 Routes Part 1
Part 2 Part 3 Part 4
Part 5 |
This entry and intermediate level articles are dedicated to network
related issues. Part 1: Shared Nothing Part 2: Network
Protocols Part 3: TCP/IP-1 IP Part 4: TCP/IP-2
TCP,UDP,ICMP Part 5: TCP/IP-3 PPP Automation |
Plugging Into OS/2 Socket
Programming Part 1 Part 2
Part 3 |
A series of articles about socket programming. Part 1: An
introduction to the basic functions in the socket API. Part 2: Some
more about the socket interface API functions. In particular, the socket
utility functions. Part 3: A more advanced client-server setup. |
TCP/IP Socket Programming in REXX |
This article shows how to write programs in REXX that access TCP/IP
sockets. |
Beginning Client/Server Programming: Named
Pipes |
This article is an introduction to client server applications, and
their interface in OS/2. |
top |
OS/2 |
Implementing Flyout Menus in OS/2 |
How to construct Windows-style jumping menus in an OS/2 application. |
A Warped RCS/CVS HowTo |
In fine Linux style, a step-by-step "HowTo" on installing RCS and CVS for OS/2.
|
OS2LDR and OS2KRNL The Secret Handshake |
In which we reveal a previously unknown API between two of OS/2's
most essential system components. |
|
A Keystroke Recorder |
An article on recording and playing back keystrokes, using IBM's OCL. |
A Note on the OS/2 Warp Boot Sequence |
More details on the Warp boot sequence. |
Programming Dynamic Job Properties Under OS/2 |
How to extend your printing to use dynamic job properties. |
SMP Considerations for OS/2 Device Drivers |
The tale of four areas of concern when writing drivers for OS/2 that may
be used in an SMP environment. |
Memory-Mapped Files in OS/2 |
Building a small library that implements the use of Memory Mapped
Files in OS/2. With some explanation about memory-mapped files and their
presence in OS/2 |
Managing DOS Settings |
Accessing and setting DOS settings programmatically is the topic in
this article. |
Measuring
CPU Usage |
Several techniques to measure the workload on the CPU, which can be
used to build a measurement application. |
Inside
the OS/2 Kernel |
An expedition into the little-seen but fundamental workings of the
system kernel. |
Adding syntax highlighting to EPM |
Adding automatic syntax generation and/or syntax colouring to EPM 6,
IBM's programmable 32bit PM text editor. The language used is Oberon, a
descendant of Pascal and Modula. |
OS/2
v4.0 Notebooks |
A simple process of creating an OS/2 v4.0 style notebook. |
High
Resolution Timing Under OS/2 |
Various options for how to get access to timers, including using Timur
Tabi's timer device driver for high resolution. |
The
Case of the Invisible Corpse |
A story about debugging in the OS/2 environment. Recount of a highly
controversial tale of OS/2 debugging in a way never seen before. |
Rebooting OS/2 |
How to reboot OS/2 programmatically. |
Thread
Safe STL |
An Allocator Class For The C++ Standard Template Library That Uses The
OS/2 API Memory Functions |
SMP -
Symmetrical Multiprocessing |
What it takes to write fast and safe SMP code for OS/2.
(Note: the information in here about SMP and drivers may not be correct) |
Adding BLDLEVEL information to
executables |
The BLDLEVEL (Build Level) is a signature that OS/2 modules (*.EXE and
*.DLL files) contain, which allows one to easily identify the version
and/or build date of that modules. The steps to add this signature are
explained in this article. |
Digital
Sound & Music Interface for OS/2 |
How to program for this exciting method of adding multiple channels of
sound to applications, even for sound cards which only support one. |
Inside the High Performace File
System Part 1 Part 2 Part
3 Part 4 Part 5 Part
6 |
After finishing working your way through this series you will have a
detailed knowledge of the structures of the HPFS. Part1:
Preface Part 2: Introduction Part 3: The SuperBlock and the
SpareBlock Part 4: Fragmentation, Diskspace Bitmaps and Code
Pages Part 5: B-Trees, DIRBLKs, and DIRENTs Part 6: FNODEs, ALSECs
and B+trees |
From Hello World to Real World
Part 1
Part 2
Part 3
Part 4
Part 5
Part 6 |
A very hot subject in OS/2 programming is the writing of a device
driver. Here is a how-to. Part 1: The Driver Part 2: Putting
your driver to work Part 3: Passing Your Own Data To and From Your
Device Driver Part 4: Writing a Device Driver for your own Data
Acquisition Card Part 5: Making I/O Calls Part 6: Interrupt
Processing |
Adventures in Kernel Debugging |
This article discusses the use of the OS/2 Kernel Debugger (KDB), an
essential tool for anyone interested in the internal workings of OS/2, or
with a need to debug a device driver or file system driver. |
Encapsulating Extended
Attributes Part 1 Part 2 |
Encapsulating the normally tedious and complicated extended
attributes. Part 1: How to program extended attributes with the OS/2
API. Part 2: The design of a C++ frame work called "Your Extended
Attribute Helper" (YEA.H for short) and it's free class library |
Multimedia I/O Procedures |
About I/O procedures (aka IOProcs), part of OS/2's complex multimedia
system. |
Plugging Into OS/2 Socket
Programming Part 1 Part 2
Part 3 |
A series of articles about socket programming. Part 1: An
introduction to the basic functions in the socket API. Part 2: Some
more about the socket interface API functions. In particular, the socket
utility functions. Part 3: A more advanced client-server setup. |
A Look at
EPM 6.0x |
The new release of this venerable old programmer's editor. |
Inside
INF |
Presenting an overview of the OS/2 INF/HLP file format in such a
manner that a cursory read will leave the reader with a general idea of
the file format. |
Gearing Up For Games Part 1 Part
2 Part 3 |
Some technical information you need to know in order to write games
under OS/2. Part 1: Dive and the Canvas Class. Part 2: Palettes and
PCX. Part 3: Threads, semaphores and an approach to sprites. |
32-Bit I/O With Warp Speed |
How to circumvent the systems I/O-handling and give the application
direct I/O-management. |
IPC
Between DOS Processes |
Pipes is one of three forms of interprocess communication (IPC)
supported by OS/2, and the only one that can be used in connection with
DOS processes. |
Reducing the Code Load |
How application code enters memory, the performance issues involved
and some techniques and a new development tool designed to
optimize the process. |
RMX-OS2: An In-Depth View Part 1
Part 2 Part 3 Part 4 |
A series of articles describing ReMote eXecution for OS/2 - RMX-OS2,
or simply RMX. Part 1: Overview. Part 2: Implementing the Remote
Procedure Calls. Part 3: Replacing the Local Procedure Calls with
Remote Procedure Calls. Part 4: Starting the remote application. |
Building Smaller OS/2
Executables Part 1 Part 2 |
Series of articles describing five simple steps you can take to get
your OS/2 executables down to size. Part 1: Compressing resources and
Linker possibilities Part 2: Changing compilers, Compiler switches and
API wrapper functions |
KEYBOARD.DCP File Format |
This article describes the OS/2 2.x KEYBOARD.DCP file format. |
Controlling Yourself: A Framework for
Configurable Options |
This article discusses an approach to uniform management of option
sets that may reside in a profile (INI file) or on a file's extended
attributes (EA's). |
Resources and Decompiling Them |
Extracting resources from EXE- and DLL-files. |
Using SYSLEVEL Files in Your
Applications |
Creating SYSLEVEL-files to set your application's version number and
maintenance level. |
Making Noise with MMPM/2 Part 1 Part
2 |
An overview of MMPM/2 which introduces programming for multimedia using
the REXX language, which is sufficient for many cases. Part 1: Overview,
Media Control Interface and using the MCI from REXX Part 2: Limitations
of REXX, EMX-considerations, Two ways of programming, MMPM/2 System Values
and the MMIO Subsystem. |
Adding
Sounds to Your OS/2 Application |
"How can I add sound to my program in the shortest amount of time
possible without trudging through the enormous and very complex
MMPM/2-subsystem?" |
OS/2 Installable File Systems Part 1
Part 2 Part 3 |
This series explores the IFS API in depth with working
examples in order to take the mystery out of writing them. Part 1: A
brief overview of the IFS concept to give a feel for what's involved in
writing one. Part 2: The code that does initialization and
communication between ring 0 and ring 3. Part 3: Problems with the code
and solutions for them. |
Using
OS/2 2.x bitmap files |
This article discusses the OS/2 2.x bitmap file format and how to use
it in your applications. |
Customizing the Enhanced Editor |
This article will cover custom configuration of your editor using this
toolkit and - through examples - provide you with some nice additional
features such as file autoloading and positioning and keyboard undo. |
The Help Manager and Online
Documentation |
Article about the creation of online Help and/or online Books. |
DOS
Development Tools Under OS/2 |
Developing for DOS with OS/2 tools. |
OS/2 Presentation Drivers in a
Nutshell |
A brief introduction to the Presentation Drivers that provide OS/2's
device independence. |
The
Unofficial Guide to the Palette Manager |
An excellent introduction to the mysterious black area of OS/2
programming, the 256 colour palette. |
Advanced
GPI: Retained Segments and Transformations |
Learn how to use retained graphics in OS/2, and how this comes in
extremely handy for certain types of programs. |
top |
PM-Programming |
Introduction to
PM Programming |
More articles on PM progamming (especially the basics) can be found
under the topic Introduction to PM Programming, an early years column in
which Gavin Baker and Larry Salomon, Jr. explore the basics of PM
programming. |
Mnemonics in Dialog Boxes |
How to implement the use of Mnemonics in static text controls under
OS/2 |
Calling PM APIs from AVIO Sessions |
A way to call PM APIs from an AVIO-session, so you can start programs
with the attribute WINDOWCOMPAT as PM-sessions. |
Adding syntax highlighting to EPM |
Adding automatic syntax generation and/or syntax colouring to EPM 6,
IBM's programmable 32bit PM text editor. The language used is Oberon, a
descendant of Pascal and Modula. |
Split
Views and Toolbars |
Some techniques which can be used to build PM applications with
more-or-less modern user interfaces. In this case adjustable split views
and toolbar(s). |
OS/2
v4.0 Notebooks |
A simple process of creating an OS/2 v4.0 style notebook. |
Dynamic
Control Formatting |
How to make your controls dockable. |
Disabling a Window Rectangle) |
How to disable a window, and why to do this. |
Notebook Key Processing |
A short tutorial on how to process key strokes better in notebooks. |
Fitting a Notebook into a Dialog |
How to create dialog-based notebooks. |
Hooking: TSRs Invade PM |
This article will introduce PM system hooks, giving tips along the way
to allow you to get your hands dirty without having to stare at the boot
logo all day long. |
Bubble help |
The hows and whys of bubble help for PM applications. |
OS/2
Frequently Asked Questions |
A number of topics that revolve around popular misconceptions or
obscurities related to PM programming. |
Building an Editor Part 1 Part
2 Part 3 |
How to build a small editor using the MLE control Part 1: Custom
Controls. Part 2: File handling. Part 3: Font changing. |
Easy Buttonbars |
A very simple approach to build a buttonbar. |
The Design and Implementation of
VIOWIN Part 1 Part 2 Part
3 Part 4 Part 5 Part
6 Part 7 Part 8 |
This series describes the design and implementation of VIOWIN, a
library that implements a subset of the Win APIs provided by PM for use
in fullscreen sessions. Part 1: Data Structures Anchor Block, Class
Information, Window and Message Queue. Part 2: Keyboard device
monitor. Part 3: Remaining Functions Classes, Windows,
Messages Part 4: Window Management Part 5: Rest of the base
library Timers, Resources, Drawing, Cursors Part 6:
VWWC_ENTRYFIELD class Utility Functions Part 7:
VWWC_STATIC classStatic Controls Part 8: VWWC_BUTTON
class Button Controls |
The
Infinitely Floating Spinbutton |
How to create a spinbutton that handles an infinite range of
undetermined values. |
Sprites and Animation Part 1
Part 2 Part 3 Reprise |
The design and implementation of a sprite library; using the
sprite library for animation is briefly discussed. Part 1: Basic library
design;Drawing, masking and moving a sprite Part 2:
Basic library design;Background and work-area and delving
into the code itself. Part 3: Animating a set of sprites Reprise:
Necessary changes to implement z-ordering within the library |
Writing a Direct Manipulation Spy |
A PM application which creates a "standard window" and within that a
container window is created as a child of the client window. The container
is initialized in detail view. |
Threads in PM Applications |
This article attempts to design an architecture that deals with
the issue of communication between the user-interface and additional
threads created by the user-interface |
Programming the Container
Control Part 1 Part 2 Part 3 |
This is a multi-part series on how to program the container and will
describe the container control from a developer's perspective as well as
introduce some of the basic programming concepts that can be used in you
applications. Part 1: Introduction and programming basics. Part 2:
The tree view and a sample Part 3: Detail view, direct editing and
sample upgrading. |
C++
Encapsulation of PM |
The purpose of this article is to illustrate some of the concepts of
PM encapsulation and some of the methods that can be used to implement
this encapsulation. |
top |
Programming Other |
The Anon CVS Bazaar
Part I
Part II
|
A series of articles on CVS, a source code control system which
may figure prominently in future OS/2 development efforts.
Part 1: Introduction and History
Part 2: Branches, Source file keywords, Accessing revision logs and more
|
The
Partition Table |
A way to read and study the partition tables. |
A
Fast and Efficient Solution to the Backpack Problem |
The backpack problem, and some NP-complete variations of this problem,
and discussion of some solutions. |
Safe Document Handling |
How do you ensure that when your user handles data, your program keeps
it completely safe, even in the event of crashes? |
Let's Talk About... Singleton |
A discussion of the issues involved in implementing Singleton classes,
and some possible solutions. |
Real
Glass |
A look at some traditional and some better ways to achieve realistic
looking glass effect. |
Multilingual Resources |
What is needed to give the user a language-choice for the application
on the desktop . |
Manage Your Configuration Files and
Data |
An outline of the steps required to set up configuration and
initialization data for your application. |
Hunting Memory Bugs |
Some interesting C++ classes to deal with aggravating memory overwrite
bugs. |
Adding
Native Compression To Your Application |
Two DLLs and an article on how to add compression to your
application's file saving and loading. |
Watermarking Your Printouts |
Watermarking in OS/2 and a brief coverage of topics such as color
use, fonts, graphics boundary determination, and rotational
transformations. |
Coding
for Dollars: Copy Protection and Prevention |
This article will attempt to develop code that will enable an
application to keep track of the number of licenses available and prevent
unauthorized copying of the application. |
top |
REXX |
Dr.
Dialog |
How to install and use Dr. Dialog, the Rexx GUI-builder. |
Building a REXX DLL in C |
This article shows how to build a DLL in the C programming language
containing functions that can be called from REXX. |
A Look
at OREXX |
A commentary on poly.cmd, introducing concepts from
ORexx as needed. Poly.cmd is a polynomial class of objects written by the
author. |
REXX Inside and Out Part 1 Part
2 Part 3
Part 4 |
Some articles about the REXX language. Part 1: File
handling Part 2:The EDM/2 Rexx Utility Library and the translate()
function. Part 3: Date manipulation Part 4: Rexx and automation:
the interpret function. Some thoughts about "dynamically self-violating
code". |
Sending Mail with REXX |
Sending email to a list of addresses using REXX, SMTP, and TCP
Sockets. |
A
Brief Look at Personal REXX |
An overview of Personal REXX by Quercus Systems. |
REXX,
The Developer's Best Friend |
This article focuses on one feature of OS/2 that can really help
improve the way you build software, perhaps more than any other -
REXX. |
Visual REXX Faceoff Part 1 Part
2 Part 3 |
Reviews and comparison of three Visual REXX builders Part 1:
Watcom's VX-REXX Part 2: Hockware's VisPro REXX/Bronze 2.0 Part 3:
Hockware's VisPro REXX/Gold 2.03 |
A
Review of Personal REXX for OS/2 |
An indepth review of Quercus Sytems Personal REXX. |
TCP/IP Socket Programming in REXX |
This article shows how to write programs in REXX that access TCP/IP
sockets. |
REXX-ercising Your
Applications Part 1 Part 2 |
Articles about the incorporation of REXX abilities in
applications. Part 1: Creating external functions and executing them
from apps; intro to RexxStart() Part 2: More on RexxStart(), external
command handlers and REXX macrospace. |
top |
Software |
Designing Web Pages with Home Page Publisher
2.0 |
An indepth review of Home Page Publisher 2.0 |
InJoy
Internet Dialer V1.1 |
A hard look at one of the premier dialers of the OS/2 Internet
community. |
Building a CD Player Part 1
Part 2 Part 3 Part 4 |
This series of articles will present the steps necessary to build a
simple application that plays audio CDs. The interface will present menus
for all possible actions, buttons for the most common action, and display
some information about the currently inserted CD, such as the number of
the current track and some form of time display (eg. the time remaining in
the current track). Finally, dialogs will present and request various
information. |
The
Making of CandyBarZ |
The author of a popular shareware utility drops by in his little spare
time to let us know how he did it (or some of it anyway). |
The
Internet Adventurer |
An in-depth review of the Internet Adventurer, a "suite"-program for
the electronic highway. |
Embellish 2.0 |
This graphics program gets a thorough first look as the new and old
features it offers are examined. |
SecureIt
v2.0 |
Protect Your Software Against Piracy, an overview of SecureIt
v2.0 |
OS/2
E-mail Client 3-Way Review |
Review of the top three most popular e-mail programs in the OS/2
market, with a large comparison along the way. |
The Making of WarpTris Part 1
Part 2 |
This article is about the concept and design of WarpTris, a small game. |
PMView
1.00 |
Review of the graphics viewer PMView. |
ICAT:
The New Remote Source-code Debugger for OS/2 |
An introduction to this incredibly capable new debugger from IBM.
|
Xit
2.3 |
A look at the ubiquitous WPS enhancement, Xit. |
Partition Magic 3.0 |
Partition Magic 3.0 as the first review in the new power-user
direction of EDM/2. |
Under the Scope Part 1 Part
2 Part 3
Part 4 Part 5 |
Some software reviews Part 1: PSTAT PM/2 v5.10 + EditINI Part 2:
Guidelines 3.1j Base Pack Part 3: Mr. Ed 1.04 + UniMaint 4.0 Part 4:
Guidelines 3.2 Part 5: WebExplorer Toolkit + JOT |
Visual REXX Faceoff Part 1 Part
2 Part 3 |
Reviews and comparison of three Visual REXX builders Part 1:
Watcom's VX-REXX Part 2: Hockware's VisPro REXX/Bronze 2.0 Part 3:
Hockware's VisPro REXX/Gold 2.03 |
The Making of MineSweeper |
A very detailed description of the implementation of this old favorite
game. |
top |
Work Place Shell |
Calling PM APIs from AVIO Sessions |
A way to call PM APIs from an AVIO-session, so you can start programs
with the attribute WINDOWCOMPAT as PM-sessions. |
Work Place Shell Programming
Part 1
Part 2
Part 3
Part4 |
How to integrate an application with the OS/2 Work Place
Shell. PART 1: Creating the SOM IDL module; Compile the IDL code; Make
the C++ DLL; Register the new WPS class; Create objects of the new
class. PART 2: The code that needs to be added to the C++ program from
part 1; How to write a settings page dialog in C++. PART 3: Referencing
WPS objects from a C++ program; Referencing the EA's attached to a
WPDataFile child object; Saving EA's when a file is overwritten. PART
4: The creation of the ChartFolder class. |
Programming the WPS Using the
UICL |
Some shared experiences to easily write applications which are
completely integrated into the WPS using the UICL. |
WPS Programming the Easy Way Part 1 Part
2 |
An introduction to WPS programming Part 1: Overview of
Object-oriented and SOM-programming, the first WPS-class. Part 2:
Expanding the class and improving WPs integration. |
Workplace Shell Development 101 |
Creating a class that can send all the files dropped on the program
object to the associated program as a series of parameters. |
Utilizing Hooks for Added Capabilities |
This article discusses what hooks are, what the different types of
hooks are, and the uses of some of the various types of hooks. |
Writing a Direct Manipulation Spy |
A PM application which creates a "standard window" and within that a
container window is created as a child of the client window. The container
is initialized in detail view. |
Threads in PM Applications |
This article will attempt to design an architecture that deals with
the issue of communication between the user-interface and additional
threads created by the user-interface |
Development of a New Window
Class Part 1 Part 2 |
This article is a multi-part series which will ultimately result in
the development of a new window class. Part 1: Function and design
considerations. Part 2: Implementing the components. |
Road Map for the Workplace Shell |
An introduction to the internal structure of the WPS. |
|