Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 12/28/23 in all areas

  1. Today, almost all computer security relies on asymmetric cryptography and X.509 certificates as file or hardware modules. And the RSA algorithm is still used to sign the vast majority of those certificates. Even if there are better options (like ECC-256), RSA-2048 seems the actual standard, at least still allowed for a few years. So we added pure pascal RSA cryptography and X.509 certificates support in mORMot 2. Last but not least, we also added Hardware Security Modules support via the PKCS#11 standard. Until now, we were mostly relying on OpenSSL, but a native embedded solution would be smaller in code size, better for reducing dependencies, and easier to work with (especially for HSM). The main idea is to offer only safe algorithms and methods, so that you can write reliable software, even if you are no cryptographic expert. 😉 More information in our blog article about this almost unique features set in Delphi (and FPC): https://blog.synopse.info/?post/2023/12/09/Native-X.509-and-RSA-Support
  2. None about this, but I want suggest to use the WinApi.Wtsapi32 (It is the wrapper distributed with Delphi 12). It's a little bit different from yours.
  3. Anders Melander

    Free profiler?

    ...or AMD uProf with map2pdb - if your system has an AMD processor.
  4. https://learn.microsoft.com/en-us/visualstudio/ide/ai-assisted-development-visual-studio You can use GitHub Copilot with VS Code. My current problem with those AI tools is accuracy (which is less of a problem if you know what you are doing and you are using it for small code snippets completion), potential legal issues (they trained on open source, but that does not mean that they haven't violated open source licenses), and next question is how much of my code ends up in training data which may leak security sensitive data.
  5. Der schöne GĂŒnther

    Favorite feature(s) of other editors that Delphi does not offer

    One of my favourite was when an editor (obviously not RAD Studio) suggested me to rename a function slightly, so that it would become clearer that the data is processed in a specific way. Meanwhile, Delphis compiler won't even tell you when you're accidentally reading uninitialized values from records.
  6. MSVS does even better that that, it also suggests how to improve your code. (Well it does for me, but perhaps not for you if your code can't be improved 😜.) Over almost 30yrs, I've written a lot of very useful (ie reuseable) Delphi code, otherwise I would have ditched Delphi years ago.
  7. I like mutex approach more (with one little difference that I use events). It will work for any application while Findwindow is for GUI-only (or you have to create a dummy window just for that). For some apps I allow running from different paths so I'm retrieving folder of Application.ExeName and adding it to event name.
  8. It should be helpful if you have an older Mac and are unable to update macOS/Xcode. The link I posted is for the exact moment that @Ian Barker discusses how to solve the macOS/Xcode upgrade issue.
  9. I have just noticed you have a version of Xcode that may not even have the Swift support mentioned earlier. Delphi 12 is able to use Xcode 15.1, so I suggest updating. If your Mac is too old to update macOS/Xcode, I suggest watching this part of this video.
  10. There's some instructions for adding Swift support, here. You will also need to ensure you have the Linker Options configured correctly in Project Options as per these instructions.
  11. Angus Robertson

    TCP ping

    Indeed, no need for threads in ICS. But Windows uses a thread to connect a TCP socket, and typically waits 30 to 40 seconds for a response before the Close event is called with an error, you can not abort it earlier. So the socket can not be re-used for another connection immediately, unlike ICMP. If you are checking a lot of hosts, you need a socket pool where they are not re-used until closed by Windows. Angus
  12. Anders Melander

    Delphi 12 is available

    I have a client who wants to use DWScript to do structural load analysis of large models (thousands to millions of nodes). Since DWScript compiles to an AST (Abstract Syntax Tree) and then executes the objects in that tree, he was a bit concerned about performance. He had tried various other scripting systems and they were just too slow. So we did some benchmarking of a sequence of typical calculations in Delphi vs DWScript. As expected the Delphi compiled code was about 4 times faster than DWScript. The client thought that that was acceptable but I decided to try out the DWScript jitter anyway... As it turns out there might just be something to David's complaints about Delphi's math performance 😉 because with the jitter enabled DWScript was now more than twice as fast as the native Delphi code. Also, Delphi 64-bit was about 25% slower than 32-bit and 64-bit "optimized" was slower than "unoptimized". Not to take anything away from Eric Grange's amazing work on DWScript, but I would be embarrassed if my native code compiler was outperformed by a scripting system.
  13. Lars Fosdal

    Removing String

  14. Anders Melander

    Change Install Location

    I miss it every single time I need to install/update. Apparently, there are no UXers left at Embarcadero. Left-aligning the button would likely solve the problem but ideally, it should not be placed on the EULA page where one habitually just clicks through.
  15. Kas Ob.

    Delphi 12 is available

    That will not work, your finally is missing a try before hand and an end afterward.
×