-
Content Count
135 -
Joined
-
Last visited
-
Days Won
4
Everything posted by GabrielMoraru
-
From what I know they collect these numbers as reported by the browser when your browser connects to some websites. (At least that was still true until some years ago... I don't know if they collect the data in the same way. But my second links seems to confirm that they still collect the data this way.) If this is true, then the fridges will never visit those websites. But yeah, collecting reliable data is hard. _______ According to Gartner, the number of Windows users (shipped devices) seems even lower. But on the other hands, they will not count devices built at home without Windows pre-installed. https://en.wikipedia.org/wiki/Usage_share_of_operating_systems But both sources confirms what we already can see with our own eyes: it is clear that Android (phones and tables) wins by far.
-
Am I asking for that much? Why should we be second-hand class citizens? Others have it in their editor. Why shouldn't we? If I use VSCode instead of Delphi, why not switching to VSCode permanently? (joking) I have seen how people look at me when I tell them I work in Delphi. They ask me: "Does Delphi still have that thing with the VAR that needs to be declared separately"?
-
I 100% agree with that - if the change will happen in the near future. But I was thinking about a bit more distant future. Sorry I haven't been clear on that π >There are huge amounts of code out there that use VCL, and moving all those to FMX would be impossible. I know this also (but I wouldn't quite call it impossible). Unfortunately, this is what will make the adoption of FMX close to impossible. Embarcadero has to invest its resources in two places. Since the resources are so limited, one of the frameworks suffers. I have seen so many companies that were ditching Delphi for something else (because they needed cross-platform support) without even considering FMX. A company I worked with recently chose to keep its current Windows code in Delphi VCL, but for the cross-platform, they moved to C#. So, the code base is duplicated ANYWAY. Again, FMX was not deemed worthy (there was also a second reason that does not relate directly to this discussion: lack of trained Delphi programmers). >There are huge amounts of code out there that use VCL This means that Delphi will remain a successful developing platform for Windows. And the statement will remain valid for as long as Windows will be the king among the operating systems: https://gs.statcounter.com/os-market-share#monthly-200901-202506 (the "king" lineage is in blue color). So, in general I agree with you... as long as we can look more than 5 years into the future. For the moment the "king" lineage does not seem to decelerate its falling. It lost another (almost) 15% in the last 5 year. Another 5 years and Windows popularity will be comparable with Linux (ha ha). Looking at the "king" line is anybody here that, with open mind and hand on his heart, feels like VCL should remain the high priority framework? This forum will hopeful remain here for many years. I am sure it will come a day when we will look back and see that FMX had to become the main (if not the only) Delphi framework. -------- Clarification 1: Again, I apologize that I gave the impression that the shift in focus (from VCL to FMX) should happen overnight. An the other hand, if there will be "no more Windows", all companies that are Windows-centric will have no choice but to move to FMX (or... Java/etc)... and this, maybe in less than 5 years! In the end it is not you, me, Delphi, or Microsoft that dictates this. It is the amount of customers you have left on the "king" platform. Clarification 2: I am not saying all these about the MS Windows as pejorative. I truly loved some of Windows versions. And I don't want to buy two computers and switch constantly between Windows and Mac, for my daily use. I would love to stay on Delphi/Window. Clarification 3: I am not a proponent of FMX. I don't like it. But I need it. I already lost a battle were one of my products (VCL) was popular for many years on Windows but then the customers (academia) moved to Mac and Linux. Back at that time, compared to VCL, FMX was lumping behind (but I did some successful projects for Linux with FPC/Lazarus)
-
What I am trying to say here (and raise an alarm) is that I have seen this trend where AI lacks (compared with other languages) when you try to use it for Delphi (VCL). Initially I thought it was only an impression, but later tests (for example, generating a full program with Replit in Delphi and then in other languages) turned an "impression" into a confirmation. FMX is out of the discussion. As Windows OS is losing market share, I hope that Embarcadero will focus on FMX. I understand that most paying customers have huge systems built only for Windows, but that will not last forever. So, 1) We need more libraries/code on GitHub (etc.) to train the AI (I published some of my libraries on GitHub in the last two years; more to come). 2) We need tools like Replit or Copilot for VS that can better integrate with the IDE (I am writing one, but I am a beginner at OTA) 3) We need to look more into the future, ditching the VCL for FMX (here Embarcadero has the last word). Now, the AI is already good at writing all by itself small web applications. If AI will get far superior at writing medium (and in the next 2-4 years even million SLOC sized) applications, Delphi will lose the battle. It is a positive feedback loop: the better the AI gets at JS, C# (etc., the less Delphi code will be out there.
-
I want to create an IDE plugin like Copilot for Visual Studio or like Cursor. I already started with OTA but now I wonder if it would have been better to go for NTA (Native Tools API). NTA seems more brittle but also more complete (and way less boiler plate code). Opinions?
-
The documentation claim that the new API (since Delphi 11) allows access to the compiler messages. I am working on this... but slowly as the weekend is gone... π > well, tested on few old IDEs, up to XE8, if that will help then i can search for that fun project and try to adjust it for you. That would be interesting to see since I will have to make it work also for users that do not have the new OTA API (Delphi 11) Thanks π
-
I think the most important part for my plugin is the capability to interact with the compilation/debugging system so the AI can automatically check for compilation errors.
-
I know... I know... (On the other hand I sold all my Tesla stocks).
-
I see that the question is in the VCL domain, where I like Grok. ______ But I can also tell you about FMX where the best AI is... drum roll please.................................................. none. They all suck terribly as FMX. Probably not their fault. Probably because of lack of code on GitHub.... π And what the AI does when it does not know the answer to a question?????? It hallucinates things. So, all your queries MUST contain "check your answer for hallucinations" .
-
[Info & Feedback] DelphiGenAI v1.1.0 β Sharing Updates and an Educational Approach
GabrielMoraru replied to Maxidonkey's topic in I made this
Hi. Two comments here: 1. Library description Many libraries use big words to describe what they do. In the end you don't get it - unless you invest some time to look deep into the code or documentation. So, maybe you can "dumb down" a bit the project description. Maybe something like: "if you use this library right now in your Delphi project your will be able to xyz", where xyz is the most important feature of your library. It is like when you go to the store and you see a can and you instantly know that inside is tomato soup. Then add the rest of the "complicated" description π PS: I read the documentation and now I think I get it. But it took a while. 2. asynchronous In general when I use the AI, I ask then I wait for the answer. Is there something you can do if you work in asynchronous mode, while waiting for the answer from the AI? Maybe starting a second request??? If no, then there is no point in using asynchronous. Great library! Thanks for sharing. -
NGC (normalized grey-scale correlation) - Image Recognition Library for Delphi
GabrielMoraru posted a topic in I made this
I just released my NCG library as open source on GitHub. The full library description and documentation here. Discussions: I think it might be the only NGS Pascal library out there... The program works quite fine but it speed is not impressive... on the other hand is does not have any optimization and it is single threaded. If you have multiple patterns to look into the "big" image, each one could go into a thread. On a CPU with 12 cores, like mine, this code could easily behave as and OCR π Pre-compiled demo program also available. Enjoy. ____ Related to image processing: You will find also some basic image processing code in my LightSaber lib. There is another library that I will make it also open source that adds metadata to an image, so you can autorotate it based on exif, add "stars" to it (how much you like, it), pregenerated thumbnail (to save some time CPU next time you show it), etc. So, stay tuned... π ____ PS: On Git hub, vote only the libraries you like π π π I invest time in those that get votes π -
NGC (normalized grey-scale correlation) - Image Recognition Library for Delphi
GabrielMoraru replied to GabrielMoraru's topic in I made this
> The GitHub link at the end does not work That's just WordPress being dumb... It won't let me insert links to GitHub. It tries to present a screenshot of the repository and fails. I had to type the address manually. PS: I also have a website generator - much much better and stable than WordPress.... but... not the pages generated are not that pretty. I have to integrate some Boostrap support. One day I will make also that one open source π _______________ This comes from a promise that I made a while ago that I will "free" some of my private libraries. So, as the time allows, more and more code will be released. -
I'm organizing a group trip to Delphi Summit!!!
GabrielMoraru replied to Moskw@'s topic in Tips / Blogs / Tutorials / Videos
Hi Marci, Next year I might come with you. We talk next year in April... π -
Delphi TOIOBE index lifted in May 2022?
GabrielMoraru replied to wuwuxin's topic in RTL and Delphi Object Pascal
July will start soon... let's see how Delphi will appear in the top.... -
Delphi bug reports or feature requests to "vote"/comment for (important, fatal etc)/
GabrielMoraru replied to Tommi Prami's topic in Delphi IDE and APIs
I think, under the new "bug report" portal it is not possible to "me too" (vote) anymore. π -
Error when installing custom package - Module not found
GabrielMoraru replied to JKNew's topic in Delphi IDE and APIs
@Pat Heuvel- Thanks. I tried the (relatively) new version from github and it works! -
Error when installing custom package - Module not found
GabrielMoraru replied to JKNew's topic in Delphi IDE and APIs
Somebody suggested ProcessMonitor, but there is a better tool for this: PE Explorer (although not freeware). It will show you a red dot like this where the dependency fails. There is also Dependency Walker 2.2 (freeware, but kind of old) but it freezes with Delphi BPLs. -
Delphi 11.1 + patches - No debug source / breakpoints?
GabrielMoraru replied to Lars Fosdal's topic in Delphi IDE and APIs
Thanks. But this is way beyond that. I think that under certain conditions, the linker simply does not put the debug information into the DCU or EXE file. Or if it is there, the debugger cannot use it. My environment is identical with Lars' except " current user has local admin rights". It is quite random... Today works, tomorrow not. Restarting the IDE helped in 2-3 cases but not in other 10-15. Until now only the code in packages (dpk) was not available for debugging. Once, I rebuilt all packages in a certain order and then I was able to debug again. Friday was the first time when it happen in the project (dpr) itself. But as I said... suddenly it fixed itself so I cannot experiment anymore. The DProj files are very old and I have seen strange lines in there. Lines that are not in a fresh DProj file. I tried to remove those lines one by one, trying to find the offending one. This (broken DProj file) is only a supposition. Until now I strongly believed that it has something to do with the package. But Friday I removed every reference to any external units from the dpr file (except VCL.Dialogs and VCL.forms), cleaned up the DCU folder and it still happened. So, IT IS NOT related to packages. There was only a ShowMessage in the DPR file and it still won't stop there, at that line. uses //FastMM4, vcl.Forms, vcl.Dialogs; begin //Application.Initialize; //Application.MainFormOnTaskbar := True; ShowMessage('Worked!'); // Breakpoint //Application.CreateForm(TForm1, Form1); //Application.Run; end. ______ Normally the exe file is 55MB, and the size is not coming from internal resources and images but from code π I backed up the exe file and the DCU folder, now that debugging works. I will wait until it doesn't and I will compare the binary files, see if they are smaller. -
Delphi 11.1 + patches - No debug source / breakpoints?
GabrielMoraru replied to Lars Fosdal's topic in Delphi IDE and APIs
I have some hints that it might be related to the DProj file. But then, suddenly the bug went away and I cannot reproduce it anymore. I will have to wait for it to reappear then I can continue the experiments. -
[Open Source] Delphi Youtube Downloader
GabrielMoraru replied to mesut61's topic in Delphi Third-Party
I built my own program (on top of yt-dl), more specialized in extracting the soundtrack of a very large Youtube playlist. I want to have all my music with me, on my faithful MP3 player, on the bicycle π The youtube download is fast (when they don't block you because you did too many downloads π per minute). I inserted some delays to make it slower π But the conversion (ffmpeg) to mp3 is crazy slow even on a 5GHz CPU. Any ideas on how to make this conversion faster? __ Edit: I was thinking about downloading all the videos first and then processing them in parallel (I have 11 cores doing nothing)... -
Delphi 11.1 + patches - No debug source / breakpoints?
GabrielMoraru replied to Lars Fosdal's topic in Delphi IDE and APIs
@Lars. Updates on this? I have a similar problem where debugging in Delphi 11.3 works.... for a while. Then suddenly all breakpoints are ignored. (Suddenly = I change one line a code and I recompile). I can't even put a breakpoint into the DPR! The project is properly set. I even turned on "map file" and "debug info into exe" in the Linker page. The project is really really large: Exe file (with debug info inside) 191MB. Exe file (without debug info inside) 51MB. Map file = 43MB. DCUs = 4MB (the rest is in (DPK) libraries). -
https://www.anoopcnair.com/windows-11-version-numbers-build-numbers-major/
-
[Open Source] Delphi Youtube Downloader
GabrielMoraru replied to mesut61's topic in Delphi Third-Party
Cool! -
Great tutorial!
-
Can you restart the LSP or do you have to restart the whole IDE?
GabrielMoraru replied to Der schΓΆne GΓΌnther's topic in Delphi IDE and APIs
In the Delphi 12 IDE, under Tools, there is a "Reload LSP server" menu: It would be so cool to have it as an icon in the tool bar. But thanks to the old gods and to the new ones, it has an accelerator!