Jump to content

Fr0sT.Brutal

Members
  • Content Count

    2268
  • Joined

  • Last visited

  • Days Won

    46

Posts posted by Fr0sT.Brutal


  1. On 12/7/2023 at 2:30 PM, DelphiUdIT said:

    I have customers with dozens of machines (industrial lines) who are tired of hearing about frameworks that must be constantly updated, incompatibilities between functional blocks (effectively DLLs and third-party components) with each update, technology changes for "opportunities" of suppliers (for example instead of working with .Net 4.0 there is now .Net CORE x.x) which make many solutions adopted on old machines incompatible with the new ones.

    MS finally listened to demands and now you can create self-sufficient C# apps (with all required DLLs located near the EXE). The same could be with Java, just use a starter that would set path to local JRE.

    • Like 1

  2. What I miss in Delphi is caused mainly by buggy/awkward implementation. Structure view is unusable as it always expands fully what is especially annoying when you want to navigate between classes (luckily they added navigation combobox). Method generation always uses alpha ordering while I prefer grouping by meaning. As for inlay hints, I find them handy for dynamic languages but never felt the need for compiled ones.

     

    2c's for Delphi compared to another editors...

    Currently I use VSCode more than RAD studio and features I really miss from the latter are

    1 - subject-aware folding. In Delphi I can fold regions, methods. Other editors I tried only have structure-aware folding - fold level 1, 2, etc. It is really boring and unhandy

    2 - sync edit (Ctrl-Shift-J) of a selected fragment. VSCode only can rename a variable (but it must be declared somewhere) or multi-edit but that's not the same.


  3. 21 hours ago, Angus Robertson said:

    why???

    He's doing it right testing both "device is up & software is listening" at the same time.

    22 hours ago, Clément said:

    My first "ping" is way off... 8ms... when all other are below 1ms...

    Nice thing with async networking is that you can start many connections simultaneously and react for connection/timeout in event handlers.


  4. 16 hours ago, Sherlock said:

    Well Google has no right to gloat..."Ice cream sandwich"? Stupid names. Numbers rule! Delphi 12.0 - Done. Pure. Simple. No room for mistakes or errors. Other than Debian: Bullseye, Buster or Bookworm...which one is oldest?

    Oops my fault. Debian has no order in names. But Android and Ubuntu have. However Ubuntu changes names inside major releases which is also confusing.

    Example of insane naming is also MS Windows.

    3.1, 95, 98, Millenium, NT, 2000, XP, Vista, 7, 8, 10, 11, ...

    In the same time server versions are named after years so you also have to remember - kernel of which "user" version has this server version 20XX?


  5. If only they chose city names sorted like do Google Android, Debian, Ubuntu... but no, pure random. And ridiculously loooong name for 11. I have some really wonderful options for Succ(v12) releases:

     

    Schmedeswurtherwesterdeich

    Llanfair­pwllgwyngyll­gogery­chwyrn­drobwll­llan­tysilio­gogo­goch

    Taumatawhakatangi­hangakoauauotamatea­turipukakapikimaunga­horonukupokaiwhen­uakitanatahu

     

    and many more really cool names here https://en.wikipedia.org/wiki/List_of_long_place_names


  6. On 11/17/2023 at 7:09 PM, Angus Robertson said:

    At the time the USP was no DLLs, but there are now two separate solutions that avoid distributing separate OpenSSL DLLs, so what do you now see as the benefit of SChannel?

    What's the 2nd solution? I guess it's not free?

    Well, the benefit is native implementation, free from insane upgrade policy of OpenSSL; moreover, RTL socket/http uses it as well, and so does default cURL build.

    To add more, there are some OpenSSL forks/analogs now (WolfSSL, BoringSSL) which could be more suitable for some needs. Abstraction of TLS layer would be awesome. Extending the subject wider, I periodically dream of a universal handler stack in TWSocket to enable things like

    Socket.handlers := [

      ThrottleHandler,

      TLSHandler,

      HTTPTunnelHandler,

      TLSHandler 

    ]

    (enable throttling, connect via TLS to HTTP tunnel proxy and do TLS connection to remote server) that would provide a simple interface for any combination of protocols. That way TTLSSocket would be nothing more than TWSocket with auto-created TLSHandler.

    Want cascade of 5 TLS HTTP tunnel proxies? No problem! Want HTTP inside MsgPack inside Protobuf inside TLS-encryption? Easy. Want custom encrypted protocol? Just write handler.

    Please don't take this as criticism, I admire your efforts to keep ICS up-to-date.


  7. On 11/14/2023 at 12:38 PM, David Heffernan said:

    Just as a general piece of advice, when new Delphi versions are released, you'd normally expect to go to the repo for latest source to work with that version. Getting used to using repos rather than relying on and waiting for packaged releases is a skill worth learning.

    And even if the lib is not ready, in most cases it's enough to use package for the latest version.


  8. On 11/14/2023 at 3:12 AM, Remy Lebeau said:

    So the typical "List.Count - 1" construction now emits "unsigned converted to signed" warning? Well done, EMB.

    From my experience: unsigned numbers are inconvenient. Once you want to use a subtraction op, you get lots of warnings. And the apogee of lurking bug:

     

    i: Cardinal;

    for i := 0 to List.Count - 1 do

     

    on an empty list which, with int overflow checks disabled, will either raise OutOfBounds on index 4B or loop 4B times - depending on a body.


  9. On 11/13/2023 at 5:14 PM, Angus Robertson said:

    Adding SSL to V10 is likely to be the hardest part due to the low level changes.  

    If you plan to rewrite it anyway, probably you could make it in some pluggable manner to easily integrate another TLS engines? From the client app's view, not much TLS details are ever needed at all - just be able to connect to TLS server. Some could need to accept custom certs, provide user certs or select cyphers. That's all!

×