• Welcome to OS2World OLD-STATIC-BACKUP Forum.
 

News:

This is an old OS2World backup forum for reference only. IT IS READ ONLY!!!

If you need help with OS/2 - eComStation visit http://www.os2world.com/forum

Main Menu
Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - RobertM

#1
    Quote from: danielnez1 on 2012.08.15, 00:28:26
    Quote from: miturbide on 2012.08.15, 00:10:29
    The OS/2 distinctive technology is the WPS constructed over SOM

    I like the the idea of the Voyager project, but it's a shame it never seemed to really take off. However I would argue that there is more to the OS/2 user experience than just WPS and SOM, it also includes things like backwards computability and little things like drive letters etc.

    I agree with your earlier point about Linux, while its "Good Enough" for a lot of things, I personally find its directory structure and general OS paradigm a mess. While OS X is BSD based, it gives generally good level of abstraction to "shield" the end user from what lies beneath.

    In that, WPS is something that would excel in making it more abstracted. As it is, WPS doesn't really need letters - or can assign them.

    And still in this area, WPS and HPFS (and JFS) excel:

    • no issues with path\path\path\filename>254 like Windows still has.

      (each portion of the entry can be the full length on OS/2 without various complaints or problems moving things - every time I perform a backup for a customer, I run into issues since their folder is named "G:\Customer Backups\YYYY-MM-DD - Customer Name" - and often, once Explorer touches things, it mangles them. When I moved my music collection onto my Windows laptop (from OS/2), it truncated names that were deep in sub-folders)
    • no issues/complaints about making a directory named ".MyDirectory"

    seem like a silly problem? Here's a tip... let's say you have a folder full of resources containing a lot of sub-folders for each, BUT, there are ones you use frequently that you'd like to be able to find quickly. Put a period in front of them (and sort by name). You'll get something like this (the equivalent of TWO (or three - see the end of the example) sorted lists):

    .Common Objects
    .Shared Images
    .Shared Code
    Analytics Data
    Project 01
    Project 02
    Project 10
    _Archives
    _Backup Files


    Note: I have ".A-.Z", "A-Z", "_A-_Z" - three sets of alphabetical sorting (of course, numbers fit in there too - but for simplicity sake, I simply represent the sorting as "A-Z").


    Anyway, I always have to use a separate program to add a leading period to a folder or file name in Windows (Windows Explorer refuses to allow it).
    [/list]
    #2
    Quote from: dryeo on 2012.08.14, 17:26:32
    What about the version of the Workplace shell that was written for AIX and other Unixes in the form of the Common Desktop Environment (CDE)? http://en.wikipedia.org/wiki/Common_Desktop_Environment
    This has recently been opensourced and should run on Linux, http://sourceforge.net/projects/cdesktopenv/

    Wikipedia has some of the details incorrect. I've just fixed it. It SHOULD NOT have read "IBM contributed its Common User Access model and Workplace Shell." - but should have read "IBM contributed its Common User Access model FROM the Workplace Shell."

    For those who don't know, it refers to CUA'91 (87) which made its way into OS/2 v2. It was a definition/roadmap on how things should be universally accessible - and something carried through in various operating systems, such as "Alt-F"

    http://en.wikipedia.org/wiki/IBM_Common_User_Access
    (also incomplete)

    Either way, the above article needs revision, as CUA wasn't just a WPS thing. While some aspects were moved into the AIX GUI, the WPS was not. As noted on the CDE article, CDE is actually far more largely based off other technologies than anything else (including WPS).
    #3
    Quote from: danielnez1 on 2012.08.13, 20:49:33
    One more thing, around 2010 there were a few rumours about IBM producing a Linux distro with OS/2 services running on top of it. The rumour seemed to fade after that, but was there any truth to it, or was it just wild speculation?

    Since earlier than that (and the effort died off earlier as well - and more than once), there was interest to "port" the Workplace Shell to Linux and elsewhere. The history, 20 years in the making, goes something like this:

    1990's:

    • In the VERY early 1990's, IBM started plans for a version of OS/2, the Workplace Shell and a kernel system that was device independent

    • This effort was announced by IBM (the corporate entity) in various press releases now "lost"

    • This effort was made more publicly known in 1993 (and later years) by David Barnes, who, in various presentation, detailed IBM's plans for such a thing

    • This effort DID succeed in creating a version of the WPS that was device independent. It was OS/2 Warp for PPC and was released on the IBM Thinkpad 801 (and possibly a few other rare machines). It never reached beyond "incomplete" or "beta" if memory serves, but did run on IBM's Mach kernel (a BSD based *nix variant)

    • This effort was to expand to IBM's announced "Workplace OS" as well.

    • THUS: there is a very real Workplace Shell that DOES run on a *nix based underlying system.

    Early to Mid 2000's:

    • As IBM's "roadmap" for OS/2 began hinting at a slowdown in further development (culminating in the mid 2000's final roadmaps), interest in the Linux community (largely by those trying to implement an OS/2 replacement) for porting the Workplace Shell started again.

      At this time, IBM was assisting the *nix world with such things as ports of JFS and a LOT of help in improving Linux's threading (or virtual lack thereof) engine.

    • There were MANY flaws in the expectations, and no true *EFFORT* ever came of it - the ony thing that came to fruition was a *DESIRE* to do so. The desires were NEVER based (at THAT time) in either the technical reality or in the legal reality.

    • The Workplace Shell is encumbered by numerous copyrights and patents (various owned by non-IBM and non-Microsoft entities) - these were the *legal* hurdles that would not allow source to be released into the public or to the Linux community.

    • There were, at the time, various technical hurdles that could NOT be overcome, due to the state in which Linux operated. The largest one was Linux's threading engine. The Workplace Shell is highly threaded - and "highly threaded" increases to "very very highly threaded" once one starts adding new sub-classes and new features to it (for instance, all the WPS enhancement utilities available (or bundled with eComStation)). Any operating system unable to handle *BOTH* a large number of threads (especially in comparison to the hardware available at the time) *AND* a large number that often interacted with each other would be a VERY poor fit for the Workplace Shell - thus a port wasn't really a viable option - and a less threaded rewrite (which would cut out some of the WPS's amazing capability to speed aspects) would have been the only viable option.

    • Many seemed to hope, without researching either end of it, that IBM would magically release the code and it would be easy to create such a port - obviously, for both reasons above, that wasn't going to happen (and thus didn't)

    In the late 2000's to today:

    • Interest and movements to get the WPS open sourced spawned again. At least due to the patent and copyright issues, that still is a virtual impossibility.

    • Serenity Systems, later followed my Mensys, has indicated that a kernel agnostic approach to a future version of OS/2 is a future consideration (since various parts of OS/2 couldn't be enhanced without such an effort). That of course would include a rewrite of the WPS. Note: I said (accurately) *rewrite* and not *port*.

    • Various other "OS/2 Clone" projects have been announced, with efforts at some level of planning, coding or documenting (ie: API documenting) by others who have planned (or perhaps are still planning) on creating a WPS clone that is not tied to x86 32bit OS/2 and its kernel.

    During that time, various "migration methods" for running OS/2 type apps have been suggested by IBM - but no (that I can find or are aware of) plans for a Linux distro with an OS/2 personality seem to have ever surfaced in their press releases since the aborted OS/2 PPC version.

    Also during that time, there were efforts to allow an OS/2 based server to distributively run OS/2 based apps on other clients - it was a similar but far more elegant version of how (in the Windows world) one could remote into another machine, run various apps, and so on from a different client (which was pretty much only drawing the interfaces). A similar thing already exists in the OS/2 world in the form of *SEAMLESS* WinOS2 (except that the Win Code is run locally), where OS/2 dialogs are redrawn as Win3.x dialogs (when in SEAMLESS mode) - which is why they inherit *OS/2's* object settings (such as border size, etc), because they are largely redressed OS/2 objects.

    And finally, Citrix and Connectix had initiatives in this area (client, server and VM based) that suffered the following demises: Connectix's were all killed when Microsoft bought them. Citrix dropped efforts in the OS/2 arena over time as (1) their partnership with Microsoft strengthened, and (2) OS/2's demise was made known by IBM.

    Hope that history (which may not be all inclusive) gives you some idea of what went on in that arena.

    Best,
    Rob
    #4
    Programming / Re: WPS Classes
    2012.06.16, 08:40:27
    Quote from: aschn on 2012.06.15, 21:25:31
    Quote from: ALT on 2012.06.15, 16:19:52
    Surely all the developers who wrote WPS-aware programs back in the heydey must have gotten their training from somewhere...

    They were probably taught in IBM courses. Training is a major part of the business -- now and then.

    Andreas

    Yup - with references, code snippets, example code and programs and such given away on floppies or printed form or both. Members of BesTEAM and IBM SD (and other partner/developer groups IBM had) also were given the above (sans the training part unless chosen by the member as something they wanted to attend).
    #5
    Programming / Re: WPS Classes
    2012.06.16, 08:37:14
    Hmmm... actually, I *know* it was one of the books I relied on.
    - http://books.google.com/books/about/OS_2_Warp_Workplace_Shell_API.html?id=3cBQAAAAMAAJ

    These are others I owned or borrowed - but cannot recall much about them:
    - http://books.google.com/books?id=FqVQAAAAMAAJ
    - http://books.google.com/books?id=HlUAAAAACAAJ
    - http://books.google.com/books?id=2l2qQgAACAAJ
    - http://books.google.com/books?id=Z7ZQAAAAMAAJ

    And perhaps the best suggestion (especially since they have been doing this far more recently than those of us responding) is to send messages to the people who worked on xWorkplace, Nice, WPSWizard and so on to ask them what they used/use as references.



    Quote from: ALT on 2012.06.15, 16:19:52
    Quote
    http://www.amazon.com/OS-2-1-Workplace-Shell-Programming/dp/0679791620
    - (good starting point at that price, even with its age)

    According to the reviews, this book is actually about PM programming and contains no WPS information at all.

    Last year I tried to dip my toes into WPS programming, but I hit a wall when I realized that there are (apparently) no clearly-written, comprehensive guides to be found anywhere.  I looked through the information on EDM/2 but it's all confusing and/or incomplete snippets, half of which seem to be using an obsolete version of the SOM compiler with a different programming syntax.

    I just want a good, solid, methodical and comprehensive text on the subject, much the same way that Petzold's book was for Presentation Manager.  Is that too much to ask?  Surely all the developers who wrote WPS-aware programs back in the heydey must have gotten their training from somewhere... but I've never been able to find anything like that.

    Sorry for the griping but as you can tell I got a bit (OK, a lot) discouraged about the whole topic.

    It probably is... though I wonder how much of the information might be in VAC++'s docs. I have v3 (and I think I might have v4, but I suspect it may be lacking in such in depth docs). I do know that C-Set/2 had some pretty detailed information in it (though outdated - and probably the "obsolete... SOM compiler" you reference above) - but point is I suspect that during the VAC++ v3 timeframe, the docs may have been still somewhat decently updated and somewhat complete.
    #6
    Programming / Re: WPS Classes
    2012.06.16, 08:26:46
    Quote from: ALT on 2012.06.15, 16:19:52
    Quote from: RobertM on 2012.06.14, 03:49:22
    There are a few books that are great on the topic.

    I'd love to know where, I haven't been able to find any.

    I *THINK* this is what I first used as a reference (and the other books mentioned lower in the page: OS/2 Warp Control Program API and OS/2 Warp Presentation Manager API):
    - http://www.amazon.com/OS-Warp-Workplace-Shell-API/dp/0471038725

    It will be out of date in numerous aspects, and is probably directed at IBM C-Set/2 (ie: their OS/2 C++ compiler that predates VAC++). But, if it is the book I remember, it was still a very helpful reference (even later on as it became more out of date) for many of the things that were difficult to find elsewhere.

    #7
    Rexx / Re: Database engine written in rexx
    2012.06.14, 22:56:16
    Jan-Erik, please email me. I have a present for you. It addresses login and IP uses, count, insert, bulk insert, delete, and virtually any statement execute. It reduces all SQL calls to one of five (or is it four?) Rexx statements.

    R
    #8
    Quote from: DougB on 2012.06.09, 18:24:26
    QuoteAs for IBM, I've always been puzzled by their attitude to OS/2 migration.

    I worked for IBM for 25 years. For the first 20, they were a company that went out of their way to be sure that the customer got the best service, and products. In the last 5 years (ending in 1992, when I retired), the whole thing changed to "make money, or you're outa here". OS/2 had a solid customer base, but IBM was not making much money from it. Development was expensive, and there was not a lot of service to be done.

    What many people don't know about that time is that IBM Global Services was a multi-billion dollar division with a massive net to gross percentage. IBMGS was (though rarely mentioned) one of the largest "enemies" of OS/2. Companies were transitioning to smaller solutions and away from IBM's big metal (which were a large part of the bread and butter of IBMGS's support money). Like you said, there wasn't much in making money supporting OS/2. "Hey... it's still running, right?" "Yup"...

    When I was "consulting" with IBMGS and we (one of their teams and I) were working on getting the Bank of America/Riggs Bank contract, I would have supported a MASSIVE chunk of the country. I as in *me* - not a team of people (as is the current banking situation with much switching to Windows)... that's a TINY profit potential compared to the current situation. (we lost to another IBM GS team - though I earned some very expensive OS/2 related packages, such as IBM CM/2, multiple OS/2 Warp Server licenses and a variety of other Lotus and IBM server and client licenses - and free training and certification on the also mostly unknown (but thoroughly amazing) IBM DSS for OS/2 and related products).

    When it comes to "big metal", high support costs are expected due to the machine's and operating system's nature (and the massive up-front prices). Not so much when it came to PCs and PC based servers. Thus, already, OS/2 had a problem. One couldn't demand such massive premiums for supporting Intel based PCs and servers - and the support needs were drastically smaller than the competitors. IBM GS eventually transitioned into supporting what made them money - through the steps Doug posted and into Windows where the support money was.

    This also impacted their server business. When the Netfinity line was transformed into the eServer xSeries line, the "cream of the crop" was to be the IBM eServer xSeries 430. It was a SIXTY FOUR CPU box that OS/2 was targeted for. Truth be told, OS/2 was the ONLY "PC OS" that could really run on it. Windows couldn't even handle 32 CPUs at the time. IBM re-focused at that time to such a massive extent that THEY helped Microsoft get 32 CPU support running and segmentation was implemented on the x430 to allow a fully configured version to act as two 32 CPU machines. And that was the death knell for OS/2 on the xSeries. Since then, only a small handful of basic xSeries servers would run OS/2 - which is why machines like the x440 and x445 have issues with it.

    On top of that, something I've hinted at before... improvements to OS/2 *WERE* written - including things that would allow it to more fully utilize the x430. The extent of those improvements is largely unknown to me (only got into some of the details with IBM when I was dying for access to an x430) - and none ever saw the light of day.

    WE will NEVER see those enhancements (YES folks, Warp Server 5 in some form *DID* exist. SO SICKENINGLY TIRED OF ARGUING ON THAT). They were never "completed" and fully tested as the project was killed. IBM *does* release beta code and even alpha code at various points for testing - heck, I've even gotten pre-alpha code for testing when I was part of their "real" beta/alpha test team - including code (yes as in code) and binaries for the "new" (at the time) 32bit print subsystem. But for integration into a production product? The binaries or code will never see the light of day except for rare instances where it's been compiled for a specific client for a specific scenario to honor a support contract (which is why some big companies have some interesting "fixes" - one of which myself and a few other companies got was fixes to the 32 bit TCP/IP stack to fix a stack hang on certain types of attacks - THAT set of binaries lasted (ie: were available - and only to a select few) for only a few hours, and on day two a more official fix was released and made available to others.

    Much like the code we know about that is "lost", the code most people *don't* know about is even more "lost".




    Now as for licensing and copyrights on the actual OS/2 components, sorry folks, Microsoft is a TINY piece of the problem. MUCH of OS/2 work was sub-contracted to or licensed from others, including WPS components. The actual list is daunting, including work licensed from companies that no longer exist (which doesn't invalidate the copyrights sadly - at least not in this country). Much of the remaining portions that Microsoft holds any claim to are HORRENDOUS and should have died DECADES ago - like the LanManager/MPTS configuration/installation disaster. There aren't many such places - and they all need to be replaced anyway.
    #9
    Programming / Re: WPS Classes
    2012.06.14, 03:49:22
    There are a few books that are great on the topic. there are also references on EDM/2 and Hobbes. Basically, the WPS is a set of subclasses and "superclasses" based off its default 3 classes (OS/2 only has three main classes: WPAbstract, WPFileSystem and WPTransient). The biggest and most important thing to learn is how OS/2 handles objects - or inotherwords, how OS/2's object oriented nature is *DRASTICALLY* different from Windows, and has various levels of differences from other oo methods.

    This all also applies to how any true OS/2 GUI based program that utilizes WPS features works and can behave (which the WPS is just one of). Learning about the message queue and how it is handled is also vitally important. Everything gets done with messages of some sort. The default classes handle all things by default. BUT, when a sub-class is registered, it will handle certain messages (either system-wide or for specific things). A "super-class" is basically a replacement class for a class (or sub-class) that does just that - replaces the entire class.

    If a subclass exists (that is intended to override an existing class) that handles certain things, those messages get passed to it. That sub-class has the option of handling the message, or "sending it back" to be handled by the parent class. Again, that applies to all "PM programs" including the WPS.

    If a subclass exists that does NOT override an existing class, it can instead be (usually is) something that extends the capabilities of the main class. For instance, the main classes (such as WPFileSystem) are really "dumb" in that they are rather unaware of much of anything and simply provide a basic framework - the subclasses linked to them are what provide the additional functionality beyond that framework. As an example, WPFilesystem knows virtually nothing about multimedia files - the MM sub-classes give it that "knowledge".

    Almost anything can be sub-classed or "super-classed" - and ALL of that is defined in what becomes system DLLs. (inotherwords, sub-classes and "super-classes" get handled by their DLLs - thus, that is what defines them. Once the DLL is registered, the WPS suddenly becomes aware it knows more and knows how to do more - the rest being transparent).

    The class lists will of course vary on various installations of OS/2 depending on what additional DLLs are loaded as part of the WPS.

    Here's some resources on the topic:
    http://www.edm2.com/0510/wps1.html
    http://www.amazon.com/OS-2-1-Workplace-Shell-Programming/dp/0679791620
    - (good starting point at that price, even with its age)
    http://www.warpspeed.com.au/cgi-bin/inf2html.cmd?..%5Chtml%5Cbook%5CToolkt40%5CWPSGUIDE.INF+326
    #10
    Networking / Re: Samba and utime()
    2012.06.05, 21:39:48
    No experience with the Samba/utime combo, but i do know other things that use utime have problems with eCS's tz variable. Changing it in the config.sys to the "standard" EDT4 or similar format resolves the issue - but you also must go into the eCS clock/nettime app and prevent it from changing the tz variable back.
    #11
    Quote from: DougB on 2012.06.05, 00:53:49
    Quote from: DaveS on 2012.06.04, 22:16:11
    http://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

    Thanks. That reads like the fine print in a crooked contract, but it got me to the FAQ (which has a link in the SAMBA server folder). Again. it reads a lot like the fine print in a crooked contract, but suggested using "os level = 40" on the server that I want to be the DMB machine. I tried that, and now it seems that all of the machines think they are DMB (DUMB??).  

    LoL... Domain Master Browser and Local Master Browser. The DMB should be properly storing the collection of all names from all LMBs for lookup and reference, including WINS stuff (which are pretty much simply NetBEUI to TCP/IP resolves which aren't supported by DNS of course). It *should* also be keeping all the LMBs updated with the information it has gathered from all of them.

    Quote
    In the following section, it is suggested to also use "domain master = yes". Well, that changed the machine that I want to be DMB to LMB.

    And thus, that seems very weird.  :-\
    #12
    Stefan,

    I agree - but that's my point. With the issues even Windows is having with smartphones (there are literally thousands of threads on the issue), it means since OS/2 and eCS already have a slew of issues of its own with USB MSDs, that we have a MUCH harder road to travel.  :-\
    #13
    Quote from: ivan on 2012.05.31, 23:38:26
    Hi Robert,  

    When I set up the VM I tried to copy the computer I used when I first installed Warp 4.  It had 512MB memory and a nice AMD processor.  OK, I overdid it on the virtual hard disk just to see if that could cause problems.

    My original install disks were modified with Dani's drivers from my experience with Warp 3 Connect.

    As I said the strange thing is that it will install from a bootable CD (made using the instructions from CDBOOT2) but not using the install floppies (in my case disk images) and the standard CD.  Unfortunately, I have not had the time to investigate the differences and so work out why.

    This has a few of us here intrigued, so much so we are thinking of putting together a scrap computer just to run vbox and do a number of tests because the clients computer I have been using got its new hard disk and video card today so goes back on Saturday.

    ivan  

    I have had the most luck with actually replacing the particular files on the floppies, then, during the first reboot, forcing a boot from floppies and overwriting the ones on disk (with relevant config.sys changes, if appropriate).

    SETCOPYFROMFLOPPY doesn't seem to work in every scenario, and after the reboot, all sorts of "helpful" errors may occur (obviously, which ones depending on what component did not get updated). The best success I have had with "SETCOPY..." is when I have physically changed driver names to match, such as DANIS506 -> IBM1S506 and overwritten the original. But that doesn't work with all drivers (as some we simply cannot name the replacement the same as the original OS/2 one).

    One way I've used recently (where Warp 3/4 is required on the machine) is to use an eCS or Aurora/Merlin boot CD right after the reboot (instead of the floppies) as it is generally quicker to get to a commandline to replace files that way - taking care that I do not use "FDISK" (LVM) for anything.



    QuoteAs I said the strange thing is that it will install from a bootable CD (made using the instructions from CDBOOT2) but not using the install floppies (in my case disk images) and the standard CD

    Forces loading the correct files (since you've presumably modified the CD with those files) as opposed to relying on "SETCOPYFROM..." to actually work. :/
    #14
    512MB RAM? Try 64 to start. After install, and fixpacks, then you can increase the memory. But honestly, only Windows needs so much to install. And there are some chipsets that have issues with greater than 64MB of RAM until Warp is updated.

    #15
    Though I have never done a setup with this version of Virtualbox, Bootmanager is a necessary requirement for some Warp 4 setups. Not for the operating system itself, but for functionality required by the "real machine" setup trying to be replicated, even with only one boot partition. It is IBM's (ancient yet) recommended method of easy reboot control, via the "setboot" tool that gets installed with it, which allows any app or script to call a reboot without the coder needing to know anything about how to tell OS/2 to reboot.

    I've seen various industrial setups that rely on it -compatibility for testing in a virtual environment would thus require such as well... and quite a few "hobbyist types" who come here are actually support people with little to no OS/2 background who are charged with supporting or virtualizing their existing OS/2 setups...

    So, re: bootmanager and such (in a virtualized endvironment), the true question is whether it is possible - not whether it is a good or bad idea.