Jump to content

Dany Marmur

  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by Dany Marmur

  1. Dany Marmur

    Let's Encrypt old root expiry and OpenSSL

    OT: I told a client their wordpress used letsencrypt on the same domain while caring a lot about my certificate (on my recommendation). Granted, the information stored in my systems are way more sensitive but as it is the same domain i still felt i should inform them... when i read about this earlier this week i went in to check, and it seems they have now paid for a "named" certificate for their worpress subdomain.
  2. Dany Marmur

    read integer value from database, best practice ?

    IMHO just think; RDBMS => handles Null (if you do not explicitely set "Not NULL" for the column. Delphi variables (mostly) do not handle null (var a: integer). Watch out for empty strings from nullable columns in the RDBMS - IMHO it is a bit of a special case.
  3. Brilliant! I have had a lot of use of this book. Add: It does feel a bit like a reference work in that it explains some legacy concepts. IMHO it should really be included with at least subscription.
  4. Dany Marmur

    Interbase - Update & Select

    AFAIR rbd$get_context and rdb$set_context was introduced not too long ago (2.0, 2.5?) in FB. Perhaps IB got something similar, but i would not know. IB and FB was compatible for a long time after the first fork (1.0 for FB). Would be interesting with a comprehensive "split" chart. But who would have the time? @Henry Olive, generators is an old and well working concept. The new number is incremented outside of transaction "control". This is key. So the difference would "only" be that you would have to explain to someone the "ordinal" concept. It does not matter if on series starts with 1 and another with 1001 and that there migt be "wholes" inte the series. Some colleagues and/or clients (though you should not have to show the actual values to the user) may frown upon the solution.
  5. Dany Marmur

    PGPool Linux Apache top performance Delphi11

    I do not understand at all. I use RTC and compile my http/s servers to win32/64. I wrote two different pooling units, one that pools a complete DataModule (for session based servers) and one that pools specific queries with parameters (for my REST-kind of severs). 15 years ago (used IW back then, blissfully rooted that out) and i have not had any reason to change any of that code since. My server can serve 15000 random and different mapi icons per second (the only thing i tested back when, no one has ever complained about performance so i have not needed to put effort into new "beches"). My confusion: why do you need a .so/.dll library to do that? What is the "magic"? What is difficult in implementing pooling in Delphi? Most DAC include connection pooling out of the box. But query pooling or DM pooling is not more complex, it's just about at what level you pool and with what parameters/how exactly you section off the items of the pool. No? I am a bit tired atm, and just want to make clear that i am not criticizing your decision, i am honestly curious.
  6. Dany Marmur

    How to manage feature changes during release cycle?

    Being a single developer, the only need for a VC system is when i forget what i am on about and need to refresh my memory on my own strategies from some months back, my own commit notes are gold and when they are not specific enough i can view the comparison, "Code you wrote 6 moths ago could as well be written by someone else". I agree with the sceptics when it comes to projects with one to three coders. Branching and merging is just a mess and way over the top. I also agree (though this exp points are from more that 15 years back) that if you really want to update "continuously" an elaborated flow/branch/merge approach will bog you down. I.e. there are other techniques and this being a Delphi forum, it should be apparent. Test and fix and use proper abstraction and those thingies should not have to be attached with the graveness that currently seems to be the case. Also - videos about coding sucks. Totally. Present a writeup, if they need to use facial expressions and audible cadence, they got something to hide. IMHO.
  7. Dany Marmur

    Interbase - Update & Select

    What essentially will happen if you succeed is that the "LINENO" field will reflect the "natural order" of the "Table-1". That does not sound very "planned" to me. First off, what order do you want that field to indicate? Or maybe you would like the lines sorted after "ITEM"? Then you won't need the extra column at all. If you want a "cronological" order as to when the user posted the record (in relation to other lines), then perhaps you should use a generator in a trigger (insert), does NOT have to correlate with the PK. You will be better off with a generator than for example rdb$key or some such (aka natural if we stretch things). And to add to all of this, neither Table-1 not Table-2 above seems to have a unique PK (?). To have a unique index (like not being able to add two lines with the same ITEM for the same CUSTNO/INVOICENO) and using that as the PK can seem very logical when you start but it's much better to use an (generator) index instead. Also remember, that if you get your sequence (ordinal) field right using a generator, if someone points out that there are "holes" in the number series, that not a problem at all. For a "series of auditable numbers", you need other techniques.
  8. When i worked with /another/ "engine" and had similar problems, i ran the payload through the engine in passes, changing the "template code" at each pass, %>, %%>, %%%>. A bit quirky and perhaps not the best approach for a server-side menu. Thought i'd post the idea anyway. Maybe this correlates to 2.
  9. Dany Marmur

    Using Expressions in the Group By Clause in Interbase

    select extract (month from HIRED_DATE) HIREDMONTH, count(*) EMPLOYEECOUNT from employee group by 1 Should work (at least in FB). What error(s) do you get?
  10. Dany Marmur

    web scraping or web parsing for project?

    Hmmm... sure parsing in Delphi may seem a bit more convoluted as the objects in JS are more "native". But you now have a "toolchain" of at least three npm/something libs. That in itself is a mess IMHO.
  11. Why would you dabble with that? Do you really see a future non-problematic increase in income? I am seriously interested in your use case. The GPTs and "AI"s in common are laden with problems and pitfalls both technical and political.
  12. Dany Marmur

    DevExpress PDF Viewer

    @Graham Murt, thank you for the feedback. It is sadly common that people that have begotten help just leaves it at that. Feedback is important. Good luck!
  13. Dany Marmur

    DevExpress PDF Viewer

    @Anders Melander, @Fr0sT.Brutal, my comment was about the visual appearance only, i should have made that more clear. Regarding disposition, in both site, doc and code that is quite another matter and in this area i agree with you both completely. I should apologise to Anders as i interpreted "designing web sites" as visual. That was my bad. Sry.
  14. Dany Marmur

    DevExpress PDF Viewer

    I do not think this is an ok comment. We have a load of well-written libs with very old sites. Not just Joe's. Another discourse is the thing when new kids look and Delphi stuff looks "old". That is another discourse altogether.
  15. If you are on the paranoid side, use asserts or throw an exception. You could wrap these raises in {$IFDEF DEBUG} compiler directives (or your own XTRADEBUG or some such) if you are hot on performance. HTH
  16. Dany Marmur

    DevExpress PDF Viewer

    Delphi 10.4.2 (Release) Delphi VCL 20.2 Ribbon Based Application (Empty Toolbar): 18 394 624 bytes Delphi VCL 20.2 Ribbon Based Application + TdxPDFViewer: 24 261 120 bytes Delphi VCL 20.2 Ribbon Based Application + TdxPDFViewer + Ribbon Toolbar: 24 375 808 Delphi Windows VCL Application: 2 578 432 bytes Delphi Windows VCL Application + TdxPDFViewer: 17 472 000 bytes Delphi Windows VCL Application + TdxPDFViewer + Toolbar* (2 TcxImageLists, an ActionList and a TdxBarManager ) 17 586 176 bytes DevExpress will allow you to convert docx, rtf through their TdxRichEditControl / TdxRichEditDocumentServer. That will, however add more to your exe size. I cannot access DevExpress site atm to see if PDFViewer is sold "standalone", but licence costs aside, @Alexander Sviridenkovs suggestion will probably lend you much more flexibility and smaller sizes. HTH
  17. Dany Marmur

    Send a message to App users??

    Well, a timer-based code chunk that creates and display an app modal window. Of course, i do not know your app, but that sounds a bit dangerous to me. Will it display properly if another modal is active?
  18. It comes to mind that Firebird (i know) have/had different architectures. I do not know about interbase these days. The classic would be faster to connect but would create a new process. The superserver (?) would be one process with shares cache. So it is conceivable that the first connection to a database would take longer even though another application/process is the active connection. But it's pure speculation as i have no knowledge of modern Interbase nor Datasnap.
  19. Dany Marmur

    Anybody changing FileVersion directly in dproj file?

    I can and do do that. And it's 10 minutes QC. Not a huge problem (yet). When it becomes a problem, i will solve it. That is my live "in a nutshell", solving problems for myself and my clients. Even for my friends. But in order to "stay on top of things" i need to have serious pipeline. Nothing more, nothing less. As much respect as i have for you and your posts, i'm sure there are stuff you struggle with that i got pinned down some 20 years ago. Or not. Anyhow, i am so OT. I'll stop now.
  20. Dany Marmur

    Anybody changing FileVersion directly in dproj file?

    Because i run a one-man shop. If i adhere to all best practices everywhere that would be the only thing i would have time to do. It will come, but it will come when i have the time to allocate mental capacity. Basically my non-technical problem is this: https://xkcd.com/1319/ So before i start to wrap my head around the alternatives, i cannot know if it will be the time-save that i need. Wrapping my head around the intricacies might even cost me more (in hours/mental juice) even if i find a good solution. So /my/ problem description is all but technical and actually, OT in this thread, apologies for that.
  21. Dany Marmur

    Anybody changing FileVersion directly in dproj file?

    Project management in the IDE is utterly broken. Quoting from another post. I still do (build for prod in the IDE) but i have a hand-written checklist that i fastidiously follow each and every time. It is painful, because sometimes i release several times a week. Edge cases more than one release per day. Dangerous and bad is my analysis.
  22. Sorry, but i cannot refrain. The OQ matches the OP's avatar name perfectly!
  23. Dany Marmur

    Console Manager for the Delphi IDE

    I do not know about political implication of charging. But managing a lot of $5-10 in as many different payment channels is a bit of a PITA. Embarcadero Play Store? Now that would probably be a bigger PITA. Or maybe we have it already and i am just ignorant. Running a one-man shop, these things plie up and becomes a resource-hog. For me personally (at least this year), the /price/ is not a problem, the adm. around it is.
  24. Dany Marmur

    Maximum static memory

    https://www.packtpub.com/product/delphi-high-performance/9781788625456 Not saying it will solve your problems, but if (by some reason) you have /not/ read it IMHO it will not hurt.