Jump to content

Tommi Prami

Members
  • Content Count

    598
  • Joined

  • Last visited

  • Days Won

    7

Posts posted by Tommi Prami


  1. 13 hours ago, pyscripter said:

    hydrobyte/TestJSON: A simple project to test JSON libraries with Delphi and C++Builder. presents JSON library benchmarks comparing a large number of alternatives.

    Way cool! 

    Is there test/comparison is Objects and/or Record serialization supported and speed etc?? Did not check code, because bit busy...

    I've used Grijjy in one of my hobby projects for serializing objects and/or records. Can't remember which they all are, poossibly both)


  2. 20 hours ago, Brian Evans said:

    The integer part is seconds since the Unix Epoch so is a Unix timestamp. Some sources add fractional seconds so they can contain timestamps with more accuracy.

     

    Unix Epoch is seconds, maybe fractions of seconds.

    But never the less, to me it seems to be agaisnt the standard. That it should be integer.


  3. {
      "aud": "1",
      "jti": "c455147e32d593e35fe",
      "iat": 1746708640.21844,
      "nbf": 1746708640.218443,
      "exp": 1746715840.20109,
      "sub": "8314",
      "scopes": [
    
      ],
      "user": {
        "name": "Prami Tommi",
      ...

    I've got JWToken that to me seems that is not standard.

    exp etc should not be float, but "UnixDate" is integer (Can't remeber what it is called on top of my head.)

    Is this some weird standard or just plain wrong? Did some googling but did not find any JWToken standard that would accept this.

    -Tee-


  4. 15 hours ago, Angus Robertson said:

    Currently, SSL/TLS certificates may be issued for a maximum period of 398 days, before renewal is required. The CA/Browser Forum recently voted to reduce this life span period in steps over the next four years.

     

    From 15th March 2026, life span is reduced to 200 days.

    ...

    Do you have any good sources of this? (To send people that might be interested)


  5. 19 hours ago, Anders Melander said:

    Yet you did.

     

    If you couldn't remember where you got the code from then you simply shouldn't have posted it without proper attribution.

    People tend to forget things. Right?

    As I recall ChatGPT gave virtually identical code also, but does not change the fact that I messed up...

    (EDIT: What I tried to say with that ChatGPT thing wea that I think (if recall) made ChatGPT implementation first. Checked out the API calls made, Google search and found the Grahics32 implementation and went with that.

    I think I had no intention to make the reposiotory public of that extracted version.  As I was just testing the effect of the performance cores only thing out of curiocity, but at some point thought that mayeb some one also would like to use that. At that point most likely did not even think of the origin of the code any more. etc. I should have, for sure.

    Would not like to hijack more this thread on this, hope all is good now as the license is changed and added reference to the oigin, make issue on the project if something else is needed to fix)


  6. 17 hours ago, Anders Melander said:

    It is mostly from there. I think. I thought I made it clear in code or GitHUB, let me check. I think I found few starting points, when searching the solution for the problem.

    If you’re referring to what I said earlier, that I did write it. I honestly did no  longer remembered where it originally came from. I’ll make sure to give credit to the project. In other words, I had no intention of taking credit for something that isn’t mine.

    -Tee-


  7. On 4/2/2025 at 1:42 AM, Alex7691 said:

    Improvements (Readme contains a more detailed list):  

    • Fixed multiple bugs  
    • Refactored and streamlined the code  
    • Removed some unused code  
    • Added 123 unit tests, creating a comprehensive test suite

    Could you please make the benchmark results like in the original version has.

    And possibly add the original into the mix, so can see how much the bugfixes ads overhear, correctness sometimes sadly has some penalty 😉

    But anyhow, would be good addition.

    • Like 1

  8. 2 hours ago, Celebr0 said:

    Hi, where and to whom have I been disrespectful, arrogant, or insulting? Why are you blatantly lying about it ?


     

    He was most likely talking to me, not to you, but he started it ans for sure not been insulting everyone, so...  Not sorry...

     


  9. On 3/28/2025 at 9:10 PM, Celebr0 said:

    How much are you betting ?

    Heh..

    You seem to have no crasp of Multi threaded development, and fail to listen ones that REALLY know what tey are talking about,. (No need to listen me, but above there are messagews from people, that really know their shit, but...)

    -Tee-


  10. 12 hours ago, Celebr0 said:

    I checked and solved this issue, and yes, that is indeed the case:

    ...

     

    No memory Leak:

    ....

    parallel.ForEach(0, List.Count - 1).NoWait.Execute(
    ...

    I bet you did not fix the actual problem here.

    -Tee-


  11. 12 hours ago, Celebr0 said:

    Delphi XE2 

    I wrote my own module for parallelizing threads using the same code as here, and there are no memory leaks at all!

    If you write and/or access same string from multiple threads, is not thread safe. 

    If you did not get errors or memory leaks is pure luck, or you did not check memory leaks with tool, that actually will report you the actual horror of updating strigg from multiple thread without proper protection (not a condom)

    -Tee-

    • Like 2

  12. On 3/18/2025 at 6:53 PM, Günther Schoch said:

    Hi 

     

    while testing a Delphi syntax parser, we struggled over a few line in the Delphi "Winapi.ShellAPI" interface. In opposite to 99.99% of similar declarations, 3 lines have no semicolon at the end

    
    function SHLoadNonloadedIconOverlayIdentifiers; external shell32 name 'SHLoadNonloadedIconOverlayIdentifiers';
    function SHQueryRecycleBin; external shell32 name 'SHQueryRecycleBinW'
    function SHQueryRecycleBinA; external shell32 name 'SHQueryRecycleBinA'
    function SHQueryRecycleBinW; external shell32 name 'SHQueryRecycleBinW'
    function SHQueryUserNotificationState; external shell32 name 'SHQueryUserNotificationState' delayed;

    the 3 lines in the middle have no ending ';' (lines 1825 - 1827 for delphi 12.2). 
    Is this really a valid Delphi syntax or just a glitch in the compiler?

    Maybe you could make bug report to emba, maybe they fixit or not.

    -Tee-


  13. 23 minutes ago, Hans♫ said:

    I think the answer is in this text from the FreeAndNil article linked above:

     

    ... [ref], which forces the compiler to pass a const parameter as a reference. Without it, the compiler can optimize passing of const parameter depending on the size of the parameter. 

    Tried that with record as parameter, did not see any speedup, const and const [ref] had same performance. 

    Winning clearly if it was passed as by value eith const ore var.

    I was jsut thinkin that could there be places and code (in my code ba se for example) thjat could benefit from [ref]?

    -Tee-


  14. Hello,

     

    Tried to find the documentation of [ref] attribute, famously used in FreeAndNil -implementation lately, but could not find it from Embacdero help.
    (FreeAndNil is defined as: procedure FreeAndNil(const [ref] Obj: TObject);)

    So could someone point me to the documentation of the attribute ands/or explain what it actually does?

     

    -Tee-


  15. Yellow, again...

     

    Did Quick tests with PPL, seems that tested code it self did not work wery well when runniing in parallel.

    Do'h

    Heve to to think of this later... Code should be about thread safe, but did not cope, or at least I did not saw anything that was obviously not thhread safee and protected few spots with Critical section.

    -Tee-

    • Like 1

  16. Yellow,

    Has anyone done parallel tests, of some kind. 

    Some tests I have to run takles quite a long time, and might be nice to run those in parallel.,

    In this case tests are just procedure with all code, that does something for different inputs (from predefined array etc). So in theory it would be simple, with TTask from PPL. I was just thinking what I have to take into consideration if test fails etc. I would need to use PPL, for these, sadly OTL is not possibility. 

    As far as I know, there is nothing built in in the DUnitX.

    -Tee-

     

    • Like 1
×