Jump to content

Bill Meyer

Members
  • Content Count

    655
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by Bill Meyer


  1. 3 hours ago, julkas said:

    I don't know much about PRNG.

    I just found xoroshiro128starstar - http://prng.di.unimi.it/.

    What you think about?

    See: https://en.wikipedia.org/wiki/Xoroshiro128%2B
    As the commentary indicates, all PRNGs have some deficiencies, and those may or may not be of concern in a given application. This one is reputedly of high statistical quality, and very fast. 
    I did not find an expression of the algorithm, so there remains the question of whether the implementation is accurate.


  2. 1 minute ago, limelect said:

    @Bill Meyer Nice idea. I guess you made the dll in D6 and used it with D2006. Great.

    Yes. The alternatives were ugly. Although the component supposedly implemented a standard encryption scheme, others which implemented the same yielded different results, and we had to support previously encrypted data in customers' systems.


  3. 19 minutes ago, Fr0sT.Brutal said:

    I've never had to use components without sources neither had to modify forms inside. My regrets if you face this case often

    Had just one experience with it. A former employer used an encryption component for which they had no source. And the publisher of the component was out of business. We needed to move form D6 to D2006, so wrapped the component in a DLL and moved on.

     

    Never use a component without source. Never.

    • Like 2

  4. 9 minutes ago, Lars Fosdal said:

    Whenever I am in VSCode, I am looking at the Delphi IDE and sighing.  Its age is starting to show.

    Er...   "starting to show"??


  5. 46 minutes ago, Lars Fosdal said:

    I freaking loathe those explicit... props.  Whoever introduced them should have had all their key caps removed.

    Not a fan of them, either, but I recognize the reasons they were added. There were also some attempts long ago to implement form scaling, for which the explicits would be helpful. Or would, if such scaling were practical. But it's not (see rounding errors) since we would need all visuals dimensioned in floating point to make that work.


  6. 30 minutes ago, dummzeuch said:

    Of course purists will tell you that exit is just a goto in disguise and that "everybody knows that "goto is considered harmful".

    But then, any high level language is just a collection of GOTOs in disguise. Any instance of a jump instruction in the machine code is a GOTO. Look in the CPU window, and you will see jmp and jz in many places. Moreover, Break and Continue are disguised GOTOs just as much as is Exit.

    There are good reasons to use GOTO, as has been pointed out by Knuth and others.

     


  7. 5 minutes ago, David Schwartz said:

    Ahh, this is what I was trying to avoid -- storage details. 🙂  Forget what's under the hood. What does it LOOK LIKE?

     

    A treelist is sort of my automatic go-to choice for the UI. What I'm looking for is ... something different. I'm curious what others might come up with.

    But data drives the presentation*. If you are a DevExpress licensee, then you could use their grid with grouping. (But it's still logically a tree.)

     

    *See Wirth: Algorithms + Data Structures = Programs


  8. Just now, David Schwartz said:

    There's clearly a hierarchy. I'm mostly curious how folks would handle it, which is why I didn't bring it up. (My mind seems to be locked-in on a tree-view, so I'm looking for some other ideas.)

     

    I'm guessing you'd start with what I showed (the main tasks) and then when one of those items is clicked you'd show this in a popup?

     

    Then once all of the required sub-steps is complete then the parent would show complete?


    I had not thought of this. Thanks!

    Given the obvious hierarchy, the TreeView seems an obvious approach. You have:

    Product

         Process

               Steps

                   Details, perhaps....

    A tree with checkboxes to show progress, and if necessary, a confirmation required for unchecking.

    The data hierarchy would keep your options open, and the TreeView would keep the UI compact and intuitive.

    • Thanks 1

  9. On 8/31/2020 at 2:53 AM, Anders Melander said:

    Oh, and another reason why this is wrong is that it's better for HDDs to run continuously. It's the power cycles that kills them (thermal wear).

    Thermal wear, yes, but not because of power cycles, which are indeed another stress. The best thing for a drive which runs 24/7 is to remove heat from it. Airflow can be part of the solution, but a more useful approach is to mount your drives between relatively thick aluminum plates. You might also use thermal paste where the drives contact the aluminum plates. I used that approach years ago in video servers where the SCSI drives were rated for 150F max, and if left in free air on a non-conductive bench, reached 149F from their own operation. With the use of aluminum plates and intelligent airflow -- drawn out, not blown in -- we kept things at 105F with no difficulty. 


  10. If your processes are stored in a table, and the steps in each are contained in delimited text in the process record, then you could stay with the radio button -- or checkbox -- group model, but easily customize per process.

     

    Alternately, you could use master/detail tables to contain the processes and their steps. As to the UI, a TreeList could also be a good approach.

    • Thanks 1

  11. 31 minutes ago, David Schwartz said:

    Well, I guess it's a matter of perspective. OGs like me who still have boxes of 3-1/2" floppies stashed away remember using them to set up rotations for backups. Sure, they failed, which is why we set them up in batched rotations! Ditto with tapes.

     

    I was looking around for some backups of work I did at one point back in the early 90's. It was between the "floppy-disk era" and the "writable CDs era" when I used one of them "super-high density and high-reliability" tape drives. Now I've got a few years of backup tapes with stuff on them and no way in the world to read them. I can still read those old DOS floppies and the CDs. But backup tapes? <shrug> 

    I have learned the hard way that trying to read an old 3-1/2" floppy is perilous. My experience has been that most of them shed oxide which is then very hard to remove from the head. And some of us OGs still have stacks of 5-1/4" floppies (which do not seem to share the shedding problem of their smaller cousins.)

     


  12. 33 minutes ago, Lars Fosdal said:

    You could always leave a comment here instead 🙂

    Too easy. 😉

    I briefly considered Hyper-V on my main machine, but I have a substantial commitment to VirtualBox and as it does not (yet) play well with Hyper-V, making the change is impractical. My VBox VMs pay the rent, and that trumps other considerations.
    I have also considered going dual-boot, but that leads into research regarding the UEFI complications with an SSD as my boot drive. And I am not willing to risk creating problems on my primary machine.


  13. Pascal Analyzer Lite is helpful; I have not used the full product. It is the only tool I have used which can advise as to uses references which can be demoted from interface to implementation. It does give some false positives, however.

    The CnPack Uses Cleaner is also helpful, though like Pascal Analyzer Lite, it will give some false positives. It doesn't take long, however, to build a mental list of the modules you can't remove, despite its advice.

    MMX is great for tabulating unit dependency cycles, and although the report it generates is huge, it is easily parsed, and I have built a simple tool to do that and present in a grid the cycle counts per unit, which is helpful.

    DUDS is quite fast, and its tree view seems to me to communicate a more useful sense of dependency relations than the Cartesian map in MMX.

     

    I have not found any single tool which does all that I could wish. The Pascal Analyzer Lite Uses report is very useful, and for demoting uses references, MMX is far superior to hand editing. 

    Pascal Analyzer Lite is slow, and if your project is large, definitely use the 64-bit version, or it will run out of memory. If you are in a VM, give it plenty of RAM. PAL has used about 2.6GB on the large project I have been reworking.

     

    The thing I really would like is to find a tool which can help you discover which modules in dependency cycle chains are villains, and which are victims. In a large legacy project, it is very difficult to identify the modules which are most in need of rework.

    • Like 2
×