Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 02/20/23 in all areas

  1. Just an excerpt from the mormot2 tests (win32, win64 numbers look similar) running on an i7-12700 10.4.2 - Custom RTL: 297,648 assertions passed 285.77ms FillChar in 9.37ms, 41.4 GB/s Move in 22.25ms, 14 GB/s small Move in 25.05ms, 4.3 GB/s big Move in 25.06ms, 15.5 GB/s FillCharFast in 8.21ms, 47.3 GB/s MoveFast in 42.99ms, 7.2 GB/s small MoveFast in 17.15ms, 6.3 GB/s big MoveFast in 26.59ms, 14.6 GB/s 11.3 - Custom RTL: 297,648 assertions passed 247.86ms FillChar in 6.37ms, 60.9 GB/s Move in 10.10ms, 30.9 GB/s small Move in 17.98ms, 6 GB/s big Move in 14.77ms, 26.4 GB/s FillCharFast in 7.37ms, 52.6 GB/s MoveFast in 42.76ms, 7.3 GB/s small MoveFast in 16.83ms, 6.5 GB/s big MoveFast in 27.69ms, 14.1 GB/s The first 4 are RTL functions, last 4 are mormot implementations. Take this with a grain of salt though as these are just unit tests and not a performance benchmark but it gives a little idea. FillChar has already been improved by me for 11.1 and Move will be in 11.3 (along with other improvements in the core RTL) No, this is not suddenly making your applications twice as fast but solves the old complaints of FillChar and Move being sooo slow. 😉
  2. osterhaegar

    OMG, that Edit Path expert is awesome

    @dummzeuch I just wanted to let you know that I just discovered that "new" Edit Path expert. And I only noticed it because I saw your last commit (10 minutes ago) with the bug fix. This expert is so much more convenient for editing the unit search path than the usual way through Project -> Options -> select the target with the mouse -> select the search path with the mouse -> Press Alt+Down -> (and then of course Press Alt+M to get to the memo view that GExperts provides). Every blody time I had to change something in that path I was cursing the person who came up with this cumbersome design of the dialog. Thanks a bucket, Thomas! A shame that I missed your blog post about it and discovered it only just now.
  3. It takes 10 minutes to create such generator. I have few that generate boring code based on my coding patterns. I just need to write field declaration, copy-paste that to generator and I get all property declarations and assign method out of it. Yes, I need to adjust some of them afterwards, depending on their type, but that is only because my generator is extremely dumb parser and I never bothered to improve it as I don't need it that often. I mean, if you find AI useful for some tasks, then by all means use it. But it is not a magical tool, and it has serious limitations. If you are aware of those, then you can get the most of it, but don't expect any intelligent solutions out of it.
  4. In my mind, a "professional" is simply someone who gets paid for their time and effort. I think you're confusing skill level with compensation. College Professors write lots of high-quality code, but often do it for no additional compensation. And there are plenty of people fresh out of a "bootcamp" who get paid to write code who barely know what they're doing. While I do agree with your point to a certain extent, there are plenty of problems that don't require much context to reach a viable solution. In my experience, 30%-50% of most coding involves moving data from here to there -- ETL if you will. That kind of thing can be done by a robot that has no understanding of the larger context. It's self-contained, and if you spend too much time on it, you're wasting your time. For example, the code to move things in one direction looks like this: aaa := bbb; while the code to copy the other way looks like this: bbb := aaa; Show me something that will take two classes with 5, 10, or 100 fields and generate the code for Assign methods both ways, especially if some of the members are records or objects themselves? This kind of stuff is B-O-R-I-N-G and SHOULD BE AUTOMATED, IMHO, but I don't know of anything that does it. If you then inject a data transfer in between, like aaa --> send --> rcv --> aaa and the data transfer might be JSON or an array, or Base64 encoding, with or without encryption/decryption ... again, it's a lot of work, and totally mechanical. The problem with this extremely common coding pattern is that it does not lend itself to anything we have in our current toolboxes. Copy-and-paste is out; regular expression search-and-replace won't work; and writing something that's general enough is just awfully complicated unless there's a lot more meta-data available from the compiler or IDE. Most vendors I know refuse to provide access to that level of meta-data even though their compilers gather it regularly and the IDEs often make use of it. So if something like ChatGPT can do it, I'm all for that. This is not something that needs to be "optimal" since there's not much to optimize; it needs to be done quickly and easily updated. I've been playig around wiht ChatGPT and am really surprised at how quickly it can generate useful code for specific needs. It might not compile or run properly right off the bat, but there's both "bones" and a lot of viable "meat" on them. I'd typically reorganize things before using it, but it's like having someone write a draft of an article and then using that material as the basis for a more complete article. That kind of thing is done all the time in the written world (magazines, books, ad copy, web sites, etc.). From what I've seen so far, ChatGPT is far more skilled than your basic intern at writing code that solves a specific problem, as long as you can describe what you want clearly. I would not expect the results to be drop-in ready. However, the time it takes to go from "problem statement" to "working code" is WAY SHORTER than doing it all yourself by hand. And THAT is where the VALUE lies here.
  5. programmerdelphi2k

    client pc database connection problem with interbase server

    basically, Interbase (as Firebird < 4.0) try found gds32.dll on path environment, on "system" folder, on exe folder... but Win 7...10 has problem with gds32.dll (conflicts) then sometimes was necessary rename it or have it only EXE folder. (this started on Win7) on XP it's ok https://github.com/FirebirdSQL/firebird/issues/1351
  6. aehimself

    client pc database connection problem with interbase server

    Hello, Are you still using Zeos to access the database? As all works fine it you have IB on the client, I do believe that you are missing some dependencies (like OpenSSL, Visual C runtime, etc) what the installation contains. I have no experience with IB, but Oracle needs a minimum of 3 .dlls for the library to function properly. You can try to copy all libraries from an IB installation to a specific folder, set the LibraryPath to the driver there and attempt to connect. If it works, rename a random file to .old for example and try again. Repeat until nothing else can be renamed without breaking the connection attempt. it's also possible that the installer puts additional files under any folder in your %PATH% environment variable, even extending it!
  7. dummzeuch

    OMG, that Edit Path expert is awesome

    Just so nobody gets disappointed: That expert is only available for Delphi 2009 and later. Delphi 2007 and older are lacking the OTAPI support for it. Here is the original blog post.
  8. While I'm impressed on ChatGPT's abilities to generate mechanic code, this very example is only good for quick MVP and not serious production. Modifying a field requires changes in 3 places. The best option would be universal RTTI-based approach or the class should be generated always based on JSON schema. Anyway it's kind of new generation RAD tool. However, just like with Delphi RAD features, there's a moment when you throw out almost all of them and just create/init components in code 🙂
  9. Fr0sT.Brutal

    The software industry has moved to the Web, why?

    Yes, unbeatable argument. All this mess of multiple OS-dependent builds, OS incompatibility, outdated versions and users that don't want to upgrade because they like everything and the new version is a piece of bell&whistle shit (I am the one!)... Moreover, multi-device adaptation is built-in. All you have to do is check UI on different types of devices and that's all.
  10. Lars Fosdal

    The software industry has moved to the Web, why?

    The enterprise loves this because of zero deployment As long as your desktop/laptop has the appropriate browser, all you need is the URL. No need to install, update, patch, and you can work from anywhere without an high-powered laptop. Rolling out apps to thousands of PCs is a chore - and maybe the user have installed something that interfers with the new version. Rolling out a new web version is simply a tweak of a URL redirect, rolling back - the same. No deployed files that can be copied and reverse engineered or used without credentials. As for the quality of the web apps - that varies a LOT - but the good ones are on par with the desktop editions.
  11. dummzeuch

    OMG, that Edit Path expert is awesome

    I call GExperts experimental because I don't want anybody thinking that it has been thoroughly tested. Way back, when there actually were several people working on it and many more testing it, there were stable releases. Today I'm the only developer (apart from some very few contributions from others, for which I'm very grateful) and my time is very limited. I simply can't test with all Delphi versions, so only those that I use regularly (currently 2007, 10.2 and some XE2) could be called kind of stable.
  12. David Schwartz

    VCL - DevExpress

    Yes, it reminds me of the learning curve involved with learning object-oriented programming. I find that authentication is one thing, but I'd prefer to be able to use a framework that has the DB and everything in place so I don't have to create all of that infrastructure. It's kind of like buying a lock and having to build your own doors and mechanisms to work with it. I'd rather have an entire doorframe and door with a lock already installed and a safe persistent store where users can register, you can collect money (once or on a recurring basis) and set the different membership levels if you want more than one. THAT seems like it would make for a valuable SaaS solution someone could offer. And generaing a complete Docker container sounds like a great idea as well. I'm in the process of trying to deploy my first rev of my back-end to a Windows host and it's not working as expected. Probably networking issues. Windows has lots of layers that I'm not familiar with -- I've aleays had IT people to help deal with that crap. Too many moving parts ... it needs to be simplified. 🙂
  13. How is it disingenuous? I'm stating pretty clearly that I believe it's an amateurish approach. A professional would look at the problem and then think about how best to solve it within the given constraints. The problem with ChatGPT is not the quality of the code. The problem is that you're delegating the most important element of software development, namely design and architecture, to a construct that has no grasp of these concepts. But okay, what do I know.
  14. Attila Kovacs

    OMG, that Edit Path expert is awesome

    Cool. I have almost made an expert for this too, the built in is such an annoying **** like the library path editor. @dummzeuch maybe you could size the controls less shy and the "inherited" area pops up too small.
  15. That's what I have done and it works. The trick is to use an empty template and then from WM_INITDIALOG create a parented Delphi VCL form.
  16. It seems it's free with limitations, and you can upgrade now for $20 / mo.
  17. Attila Kovacs

    VCL - DevExpress

    I'm not surprised then you don't even know who you agree with.
  18. dummzeuch

    VCL - DevExpress

    If I hadn't seen this post before reading the previous one, I wouldn't have recognised the sarcasm there either.
×