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.


Messages - Dariusz Piatkowski

Pages: 1 ... 20 21 [22] 23 24 ... 89
316
Utilities / Re: OS/2 Keyboard Layout
« on: November 12, 2021, 03:48:28 pm »
I've been using WIN95KEY here for years now, primarily to map the Win keys to convenient OS/2 functions, so I cannot comment re: additional key mapping. However, as ivan noted, I think this should be possible.

317
Applications / Re: Calibre for ebooks etc...
« on: November 12, 2021, 03:41:45 pm »
Wow, this seems to be a pretty feature packed application.

There is a nice DEMO of it's capabilities https://calibre-ebook.com/demo, about 10 mins video.

As to the question you asked Remy: judging by the details in the d/l section (Linux) it would appear there are numerous dependencies, probably the challenge for us would be in making sure all of these are available.

318
Mark,

...And it was staring me in the face in the CONFIG.SYS on the working installation - STUPID STUPID STUPID

My friend, when you've been burning the proverbial "midnight oil" in hopes of finding the root cause, and have tried numerous solutions in the meantime, it is far too easy to misplace a character...

...Thats an interesting method of starting Virtualbox using a CMD file - is it because you were having problems, like Doug described, with other things if config.sys loaded SET LIBCX_HIGHMEM=2 to start?

Yup, starting with a CMD for precisely the reason Doug highlighted: I did not want that setting to be impacting every other application on my box.

...But a huge thanks to you Sir, and I owe you one back someday...

No worries, we all benefit from the community involvement here, especially given our tiny, itsy bitsy size!!!

ha ha...OS/2 in 2021 right? who knew right? Cheers to us all..

Troubleshooting seems to be the name of our game, but it's impressive if you take a step back and note how many significant milestones have been achieved on what is otherwised completely locked down platform!

319
Applications / Re: XWP v1.0.14
« on: November 04, 2021, 03:30:19 pm »
Hi Rich!

Short answer: No.  Long-winded answer:

...

The problem arises when you use that same window to navigate to the original folder whose shadow you expanded earlier. If you recall, an object can only be inserted once. Consequently, when you expand the original folder, it will have no subfolders because their records were used above as children of the shadow. Here's a demonstration: open your boot drive in tree view, then expand these folders: Desktop->Computer->Drives. Notice that your boot drive is missing from Drives - that's because it's record was already inserted at the top as the root record for this tree.

It's a zero-sum game at best, and hopelessly confusing if you don't understand the mechanics of why stuff "disappears" in tree view. I'd rather not go there. Instead, I'll see if there are any non-kludgy alternatives.

That is a superb explanation, at least I understand the wider limitation. Thank you sir!

I have never actually encountered the boot drive example you walked through, so that is indeed very clear now.

However, what I'm curious about is the following:

1) what happens if the object shadow I am trying to show does NOT actually point to a folder object that is a CHILD of the top-level object
- so my boot drive is G:, and while opening a folder in Xview which is a CHILD folder of drive G: I want to display the contents of the shadow of a Samba share, the being drive V: as defined by NetDrive
- I am thinking that V: shadow is NOT a child of boot drive G:, therefore, attempting to show it, or any of it's CHILD folders, within a boot drive tree that belongs to G:, should succeeed, no?

Anyways, I think I understant the PARENT<=>CHILD folder/object limitations, however I'm not at all clear as to why the DRIVE level stuff would not behave independently of each other?

Perhaps these drive objects, since they all belong to the Drives folder at the PARENT level, are impacted by each other the same way that a drive and it's CHILD folder objects are?

320
Hey Mark,

...Building a new system (but with a comparable era motherboard) from the ground up about a year ago, I attempted to install VirtualBox v5.0.51 on that system in exactly the same configuration as worked successfully on my other system, only to run into the following error window on starting up VirtualBox.exe

______________

Failed to Create the VirtualBoxClient COM Object

The Application will now terminate

Callee RC: NS_ERROR_ABORT
(0x80004004}

____________

...

Added the following to CONFIG.SYS
(in the appropriate locations based on the working Config.sys in the other system)

- A dot (.) in the LIBPATH statement in CONFIG.SYS, at the beginning.
- DEVICE=D:\Programs\VirtualBox\Bin\VBoxDrv.sys
- SET LIBCX_HIMEM=2
- VIRTUALADDRESSLIMIT=1536...

Alright, so I'm seeing exactly the same error here, meaning: the same COM object critical error, however the actual root cause may still be different. I am running 5.0.51r159 release here.

The root cause of your problem is the incorrect statement in your CONFIG.SYS re: LIBCx highmem usage, it should actually be:

Code: [Select]
SET LIBCX_HIGHMEM=2

(notice the HIMEM vs HIGHMEM)

The details of what the various settings are can be found here https://github.com/bitwiseworks/libcx, check the section titled "Notes on C heap displacement" (https://github.com/bitwiseworks/libcx#notes-on-spawn2-api-usage).

In my case, I have a stand-alone vBox CMD which sets this variable first and calls the virtualbox.exe afterwards. That allows me to start vBox, otherwise, attempting to just start the EXE on it's own produces the COM object error.

So unless there is something else that's contributing, give this thing a try and that should bring vBox up for you.

321
Applications / Re: XWP v1.0.14
« on: November 01, 2021, 07:46:33 pm »
Thanks Rich for doing this!

I'm curious: any plans to enable the Xview to show DRIVE object SHADOWs in the left-hand-side TREE view pane? (I'm guessing this may be called the ICON view?)

I'm asking b/c no no such objects have every shown up in any of my Xview folders, although they do show up as an actual OBJECT in the Details pane, which is a bit counter-intuitive, since the whole point of having a drive shadow is to treat it as a traverseable hierarchy, therefore ideally suited for the left-hand-side view pane.

Let me know if I need to capture a couple of screenshots to illustrate?

Thanks as always!

322
Storage / Re: JFS cache sizing, and system "speed-up"
« on: October 29, 2021, 03:34:13 pm »
Hi Roderick,

Why is standard Sysbench not sufficient ? Its much more consistant. It tests small file I/O large file I/O.  Also it measures the timing very accurate!

...because SysBench and diskio measure the raw speed of the hardware and mostly bypass the cache I believe (there is a single cache/bus xfer test in both).

So the attempt here is to optimize the 'runtime' environment by balancing the raw speed of the storage device (that being a SSD in my case) with the system resources (4Gig of RAM) in order to avoid a constant storage device seek for the pertinent data (increasing the cache should allow the most recently used stuff to be available much quicker).

In other words: it's not about sheer performance, rather it's about how all the various controls available to us can produce better application performance.

323
Utilities / Re: Backup solutions
« on: October 28, 2021, 03:59:30 am »
...At least I'm not uncomfortable with REXX :) and would like to see the script...

Take a peek at the attached REXX script, re-named to rsync_backup.txt from rsync_backup.cmd per attachment rules.

Anyways, I have several instances of that script scheduled through CRON/2 utility, each one being a call to a stand alone CMD script.

Here is what that looks like for a LOCAL SOURCE & TARGET,

Code: [Select]
[G:\util\misc]type rsync_backup_F_H.cmd
@echo off
rsync_backup.cmd LOCAL "F:/" "H:/"

...and here is what I do to copy a LOCAL directory over to my NAS box:

Code: [Select]
[G:\util\misc]type rsync_backup_AUTOMOTIVE.cmd
@echo off
rsync_backup.cmd REMOTE "G:/DESKTOP/Automotive" "V:/public/documents"

Keep in mind that the NAS box is mapped through NetDrive, so it has a real OS/2 drive letter assigned to it. Of course you don't need to do this, but that's just how I implemented the config on my machine.

Typical LOCAL to LOCAL backup for my full OS/2 volume (boot, all apps and data) takes about 1/2 hr with this RSYNC approach, that's about a 150Gig of data:

Quote
==========================================================================
RSYNC started:     10/27/21 - 01:25:05...

SOURCE_FOLDER => G:/
TARGET_FOLDER => I:/

RSYNC CLI =>--archive --delete --progress --stats --whole-file --xattrs --os2-perms --human-readable --quiet  --exclude-from=G:\mptn\etc\rsync_exclude --log-file=G:\tmp\log\rsync_LOCAL_backup.log G:/ I:/

...whole bunch of file listing detail snipped here...

2021/10/27 01:51:39 [795] Number of files: 330651
2021/10/27 01:51:39 [795] Number of files transferred: 298
2021/10/27 01:51:39 [795] Total file size: 148.54G bytes
2021/10/27 01:51:39 [795] Total transferred file size: 3.34G bytes
2021/10/27 01:51:39 [795] Literal data: 3.34G bytes
2021/10/27 01:51:39 [795] Matched data: 0 bytes
2021/10/27 01:51:39 [795] File list size: 30.11M
2021/10/27 01:51:39 [795] File list generation time: 0.060 seconds
2021/10/27 01:51:39 [795] File list transfer time: 0.000 seconds
2021/10/27 01:51:39 [795] Total bytes sent: 3.37G
2021/10/27 01:51:39 [795] Total bytes received: 29.69K
2021/10/27 01:51:39 [795] sent 3.37G bytes  received 29.69K bytes  2.11M bytes/sec  elapsed 00:26:35
2021/10/27 01:51:39 [795] total size is 148.54G  speedup is 44.08
-----------------------------------------

RSYNC completed:   10/27/21 - 01:51:39...

RSYNC took 1594.320000 seconds to complete the LOCAL backup task!
==========================================================================

The various RSYNC options are controlled through the REXX script itself, just an array of 15 parameters that you can set to ON/OFF, but my config for the LOCAL copy is to do a FULL file as opposed to the incremental changes. I figured these are volumes on two local disks, so plenty of pipe to move whole files.

You can of course exclude certain files or directories, the script provides that option and you simply list those in the EXCLUDE file (which I do as well).

324
Utilities / Re: Backup solutions
« on: October 27, 2021, 07:31:22 pm »
Hi Per,

Well, the first thing that pops to mind is RSYNC...have you looked at that?

I had previously used dSync as well, but RSYNC is just more feature rich and being a Unix world creation has plenty of documentation and setup examples out there.

In fact, I have developed a RSYNC based REXX solution that I use here to backup both LOCAL and REMOTE devices. If you are comfortable with REXX and wish to pursue the RSYNC route let me know and I'll happily share the script.

325
Hardware / Re: OS/2 Video Performance
« on: October 23, 2021, 04:49:09 pm »
Neil!

I think a lot of newer graphics stuff, Mozilla and QT, don't use PM for graphics. We could use a better benchmark.

Great point, exactly what I speculated above, although I am not at all concluding in one sweep that they "don't use PM for graphics", after all, a simple window, along with MIN/MAX controls is a PM window after all. If someone who knows these apps can comment further, we all would be in a better position to assess.

...Be careful of confirmation bias; where you have a card that has better PM graphics so that must be what is important...

Umm, this is not at all the point I am trying to make. What is relevant to each one of us is the improvement we see on our systems, that of course being based on our "runtime": system settings along with the standard apps we all use. By discussing in our forum we perhaps can formulate a definition of a NEW benchmark that would allow us to measure the performance across various applications - think of a app simulation benchmark!

What might that look like?

1) PM apps
SysBench covers that with it's 'PM Graphics Marks' score

2) DIVE / SNAP / KVA
SysBench covers part of that, but we need to better understand what new testing (if any) is required to cover the remaining ones

3) QT
Ahhh...that would be the new addition, right?...and maybe we need a 'PM Graphics Marks' equivalent, call it 'QT Graphics Marks'?

4) anything else...
This will only be arrived at by establishing some kind of consesus as to what matters to all of us.

And on that very point, you started this thread with a specific assumption that SNAP would not be used, and so you arrived at some results that clearly put the 'Intel HDA Graphics' in the lead...but isn't that the VERY definition of BIAS???

326
Programming / Re: Function MACRO or #DEFINE?
« on: October 23, 2021, 04:08:18 pm »
You know, to complicate things further, even the IBMCPP 3.6.5 docs sometimes intermittently change the descriptions of what's a MACRO and what's a STATIC define, for example:

in reference to the following source contained in STDIO.H:

Code: [Select]
...
#define _IOFBF              1   /* Buffer modes */
   #define _IOLBF              2
   #define _IONBF              3
   #define BUFSIZ           4096   /* Default buffer size */
   #define EOF              (-1)
   #define L_tmpnam          260   /* Maximum length of temporary names */
   #define FOPEN_MAX          20   /* Minimum number of open files guaranteed */
   #define FILENAME_MAX      260   /* Maximum file name length */
   #define SEEK_SET            0   /* fseek constants */
   #define SEEK_CUR            1
   #define SEEK_END            2
   #define TMP_MAX        100000   /* Maximum guaranteed unique file names */

   #define _IOEOF         0x0001   /* EOF flag mask */
   #define _IOERR         0x0002   /* ERR flag mask */
...

the HTML docs actually state the following:

Quote
...The macros SEEK_CUR, SEEK_END, and SEEK_SET expand to integral constant expressions and can be used as the third argument to fseek.

The macros _IOFBF, _IOLBF, and _IONBF expand to integral constant expressions with distinct values suitable for use as the third argument to the setvbuf function...

Clearly, these #define statements all point to a real value, none of these have even a simple +/- type of a calculation in them...sigh!

327
Hardware / Re: OS/2 Video Performance
« on: October 23, 2021, 03:53:23 pm »
OK, so given the results everyone has shared so far, I interpret the classifications as:

1) PM Graphics Marks => higher value directly translates to FASTER WPS/PM updates
- majority of our applications today fall into this category

2) DIVE Marks => higher value directly translatest to FASTER updates for those apps that specifically use DIVE
- possibly video playback such as VLC, SMPlayer, mplayer? (K's releases primarily use the kva output driver here, but I see that some allow the selection between 'kva snap mode' and 'kva slower dive mode' - that's directly from SMPlayer config)

Not sure if stuff like FF for example uses DIVE or not? But at least here that's probably the most demanding applicatin (given that it's all about on-going screen updates) and from my perspective it seems like a higher 'PM Graphics Marks' value impacts this the most.

328
Programming / Re: Function MACRO or #DEFINE?
« on: October 22, 2021, 03:13:09 pm »
Hey Guys!

Lars,
Yeah, you bring up an excellent point. I was driven by this definition as I covered the OS2_DevToolkit, and it seemed to work OK. The criteria that separated a static #DEFINE from a MACRO for me was whether the definition was specifying the use of a parameter. In hindsight I think this may have been a bit of an arbitrary call, after all, a macro does not necessairly have to use a parameter, it could be just as you pointed out, a multi-line statement.

However, that being the OS2_DevToolkit, I think it was pretty clean. Although I'm having to re-visit some of this in light of asking these types of questions, and learning a bit more about the structures as I look at the IBMCPP_DevToolkit.

Andreas,
Yes, MACROS are declared using a #DEFINE, and my challenge is in determing how to correctly (given the VSE limitations) differentiate a true static #define (so let's say "#define IMPORTANT_NUMBER 100") from a #DEFINE which actually creates a MACRO, or is a reference to an existing C library function (that may require a re-name given things like a single or multi-threaded library use, debug or not, unicode use, etc.).

I am nearly done with the IBMCPP_DevToolkit, and given the significant number of these library function dependencies I am going to consider all #DEFINEs of a function name to be a MACRO.

This will require me to go back through the OS2_DevToolkit though and make sure I catch all the multi-line MACRO definitions, as Lars brought up an excellent point I think.

Thanks you guys, appreciate the feedback.

The next big step is to embark on the GCC_DevToolkit pass.

329
Storage / Re: JFS cache sizing, and system "speed-up"
« on: October 21, 2021, 09:58:16 pm »
Hi Doug,

...
Quote
The apps are loading consistently faster, on multiple attempts.

A lot of that "improvement" depends on timing. If the program parts have not been flushed from the cache, the load time is faster (even when using a small cache). Using a larger cache does increase the probability that most of it will still be there, but it depends on what you do between starts...

So this point here is actually the crux of what I was trying to improve upon.

Consider a set of applications that you normally run, in my case that normally is a mix of:

1) FF
2) Thunderbird
3) Lotus 1-2-3
4) AOO
5) VSE & IBMCPP & GCC (compilation)
6) PMView

Therefore, by increasing the size of the cache (if the upper memory is rarely used otherwise) allows me to try to pull in more of that working set into the cache, and hopefully convert that into a quicker responding system.

In my case, that appears to have been the result of tripling the size of the cache, with the matching increase in the buffer settings.

Of course that that not mean ALL of these apps and their data (heck, FF has a 512M disk cache) are always there, the cache will of course always continue to be shuffled around as needed.

330
Programming / Function MACRO or #DEFINE?
« on: October 21, 2021, 09:44:07 pm »
Alright...so I'm going through the IBM CPP (3.6.5) header files and pulling the various constructs as I enhance my 'VSE Modern Theme' solution.

Now, here is where i'm running into a bit of a...umm...mental block??? LOL  ::)

Looking at tchar.h I have the following section:

Code: [Select]
...
#ifndef __tint
         typedef wint_t _TINT;
         #define __tint
      #endif

      #define _TEOF  WEOF

      #define __T(x) L ## x


      #define _tprintf     wprintf
      #define _ftprintf    fwprintf
      #define _stprintf    swprintf
      #define _vtprintf    vwprintf
      #define _vftprintf   vfwprintf
      #define _vstprintf   vswprintf
      #define _tscanf      wscanf
      #define _stscanf     swscanf
...

Alright...so one of my rules is to colour code all static DEFINEs in a certain way. However, the xxprintf & friends really do not fall in line with that approach. After all, these are genuine functions, and in this header file we are simply creating a pointer (MACRO really I think) that references the xxprintf library calls.

So for example:

"#define _tprintf     wprintf"

simply allows _tprintf to be used elsewhere and really being a MARCO it will get mapped to wprintf.

OK, so that's simple right? (and I'm assuming my thinking on this correct...smack me if it's not though!!! )

But if the above is right, I really should NOT colour code those #define statements that point to a function, they should really be colour coded as a MACRO instead.

Makes sense?

Pages: 1 ... 20 21 [22] 23 24 ... 89