Recent

Author Topic: Practical Ways to Help Lazarus and Free Pascal Thrive?  (Read 5349 times)

CM630

  • Hero Member
  • *****
  • Posts: 1340
  • Не съм сигурен, че те разбирам.
    • http://sourceforge.net/u/cm630/profile/
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #15 on: May 09, 2025, 09:55:53 am »
Write killer apps, like e.g. doublecommander which is quite popular in the Linux community and advertises Freepascal at startup.
Maybe someone with art skills can make one or more logos “Made with Lazarus”?
Tero subtitler (previously a Delphi app) seems to be popular, I would ask the dev to put some info about Lazarus.

And since Double Commander is mentioned... an excellent app, possibly without an alternative for Linux, but am I the only one who finds it too ugly?
Лазар 4,0 32 bit (sometimes 64 bit); FPC3,2,2

JD

  • Hero Member
  • *****
  • Posts: 1905
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #16 on: May 09, 2025, 10:30:56 am »
And since Double Commander is mentioned... an excellent app, possibly without an alternative for Linux, but am I the only one who finds it too ugly?

Choose your commander! I went from TotalCommander to FreeCommander to DoubleCommander. I've also used MultiCommander. None of them looks very good visually, but I really appreciate the usefulness they bring.

The funny thing is I believe ALL of the above were written in Delphi or Lazarus/FPC.
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

Thaddy

  • Hero Member
  • *****
  • Posts: 16945
  • Ceterum censeo Trump esse delendam
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #17 on: May 09, 2025, 10:43:32 am »
Yes, I believe that too. All of them have plusses and minusses, but I happen to like double commander and its author is active on this forum, which is a pre.
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

silvercoder70

  • Full Member
  • ***
  • Posts: 183
    • Tim Coates
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #18 on: May 09, 2025, 10:44:21 am »
@Martin_fr,

Regarding item 2. How YouTube does things is anyone's guess. As far as recommended videos are concerned, I can have videos from 3 unrelated categories pop up. Otherwise,I would love to be able to do some videos with users from the community here to talk the about the language and/or how they use it, share some of their skills/knowledge.

Regarding item 3. I would like to help there.

@Thaddy,

I wanted to do a video on doublecommander at one time. Cannot remember what stopped me at the time.

@Joanna,

I get the frustration. It is the same in my neck of the woods so I look outside and started something on YouTube.

@440bx,

Yes! :)

@dbannon,

On Credibility. I hear you and have my own thoughts here which is too long to put here. Hopefully I will remember later, but it takes time and people to help.

@JD,

Thanks for the other apps to look at :)

@CM630,

I'm not much of an artist in that respect... someone else would have to look at that.

🔥 Pascal Isn’t Dead -> See What It Can Do: @silvercoder70 on YouTube

JD

  • Hero Member
  • *****
  • Posts: 1905
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #19 on: May 09, 2025, 11:01:40 am »
A hard core killer app written in FPC.  An app that would attract hard core programmers towards Pascal.  That's not easy to create.

Yes, a hard core killer app would definitely help.  I got one in the back of my mind that I occasionally work on but, other people who have done that app have taken over 30 years to develop it and/or benefit from having a team of superbly knowledgeable and qualified people working on it.  That's tough to match and tougher to exceed.  Not going to happen but, it's my pipe dream and it's free, what's unfortunate is, it's rather unlikely I'll provide the helpful killer app.

@440bx
Maybe this will give you some new ideas since you like peeking into Windows Internals. Unfortunately, flamerOn is no longer on this forum and BigChimp passed away.

Lazarus applications with source provided by flamerOn
https://forum.lazarus.freepascal.org/index.php?topic=22225.5
« Last Edit: May 09, 2025, 11:11:33 am by JD »
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11164
  • Debugger - SynEdit - and more
    • wiki
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #20 on: May 09, 2025, 11:09:38 am »
@Martin_fr,

Regarding item 3. I would like to help there.

Well, here in Germany is a magazine called "CT". IIRC years ago the printed a small article (just a few lines) that someone must have sent them. But I don't know the exact details. I would assume in other countries there are similar magazines. And there may be some online too.

The entire idea is just to have the name appear somewhere. So people will have seen it. And people will have seen the word Pascal is still in circulation. It's not much, but it can add to the overall effort.

It means:
- finding publishers that will accept such articles and contact details
- writing a small article
- working with translators for different countries

The article must probably be small enough. E.g. the magazine I mention has a section (a few pages) with 4 or 5 articles per page, each just describing a new release of something. For example here is the online version of such a page: https://www.heise.de/select/ct/2025/10/2509214260237424602 (as you can see the articles include stuff even about small projects / so likely they would include our announcement too)

Thaddy

  • Hero Member
  • *****
  • Posts: 16945
  • Ceterum censeo Trump esse delendam
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #21 on: May 09, 2025, 11:44:45 am »
side note: Ah, yes, Ct. Famed for including at one time a complete D7 pro! (Yes, pro, with rtl/vcl sources and all) on their CD. Great source. Attick is full of Ct disks. Where are those days?
« Last Edit: May 09, 2025, 11:46:38 am by Thaddy »
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

LV

  • Sr. Member
  • ****
  • Posts: 272
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #22 on: May 09, 2025, 11:51:43 am »
It seems CudaText wasn’t mentioned here, even though it has 2.5 million downloads on SourceForge alone.
https://sourceforge.net/projects/cudatext/files/stats/timeline?dates=2005-02-08+to+2025-05-09
This project is written in Free Pascal using Lazarus, which serves as great promotion for the platform.
https://github.com/Alexey-T/CudaText

440bx

  • Hero Member
  • *****
  • Posts: 5302
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #23 on: May 09, 2025, 12:10:51 pm »
@440bx
Maybe this will give you some new ideas since you like peeking into Windows Internals. Unfortunately, flamerOn is no longer on this forum and BigChimp passed away.

Lazarus applications with source provided by flamerOn
https://forum.lazarus.freepascal.org/index.php?topic=22225.5
@JD
Those are interesting.  Thank you for the link.

My pipe dream app which I work on only every now and then is a dis-assembler a la IDA Pro or Ghidra but, more accurate and much more informative.  My thinking is that if there was an app like that but _much better_ than either one of those, that would attract some really hard core programmers to further enhance it.  I doubt I'll ever get it to what I consider is the "minimum acceptable" (which is way beyond what any other similar utility does today.)  My ultimate goal is to emit FPC assembly routines that, when compiled, generate the same code as the original (that would require an additional utility to patch the resulting .exe to remove FPC's library (which is obviously not needed.)  That would allow creating a Lazarus project for it, which after compiled with debug symbols could be run and debugged in the Lazarus IDE.   That's how I envision porting C code to Pascal. Disassemble the executable to Pascal assembly functions, no darn C headers and macros and all that C junk to deal with.  A "sidebar" to it is generating DWARF debug symbols for disassembled Windows dlls, that would allow the Lazarus IDE to operate like Visual Studio does, when stepping in a system dll, Visual Studio automatically downloads the PDB file.  Lazarus would have a "bank" of external DWARF debug files for the Windows dlls and best of all, since the disassembly can be edited better symbols can be had as the disassembly gets better and better.  That would attract some reverse engineers and, there would be no alternative for them but to use Lazarus and Pascal :)

One thing I completed a number of years ago is a "wrapper" to turn a .exe into a callable dll.  For instance, I fully implemented it for Delphi 2.  I have a program that loads Delphi 2's dcc32.exe as a dll and compiles all the .dpr files it finds in a directory and its subdirectories.  A bonus is that, it executes _faster_ than the original .exe because its I/O no longer needs to use IPC (for it to be done by the console) and the wrapper does a little bit of caching.  The result is close to twice the speed of executing dcc32.exe (one of the reasons is because the .exe doesn't have to be loaded for every compile.)  It also does it for BRCC32.exe (the resource compiler).  Therefore the utility can do a full build of resources and exes. 

One thought that has crossed my mind is to modify that wrapper to turn FPC into a service which Lazarus could use.  That would improve the edit-compile-run cycle.  It's been a recurring thought, maybe I'll scratch that itch someday.  I'd probably give it serious consideration and move it up the "priority queue" if I knew the Lazarus team would seriously consider using it.  Not a killer app but, I think it would be a nice "polishing" improvement.

Combine that FPC service with the dis-assembler I first mentioned and you got something that blows everything that's currently available out of the water.  (there are a few other "little" improvements I have in the back of my mind but, that's already enough to keep me busy until I kick the bucket.)

(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v4.0rc3) on Windows 7 SP1 64bit.

JD

  • Hero Member
  • *****
  • Posts: 1905
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #24 on: May 09, 2025, 12:40:29 pm »
It seems CudaText wasn’t mentioned here, even though it has 2.5 million downloads on SourceForge alone.
https://sourceforge.net/projects/cudatext/files/stats/timeline?dates=2005-02-08+to+2025-05-09
This project is written in Free Pascal using Lazarus, which serves as great promotion for the platform.
https://github.com/Alexey-T/CudaText

His handle on this forum is AlexTP
Linux Mint - Lazarus 4.0/FPC 3.2.2,
Windows - Lazarus 4.0/FPC 3.2.2

mORMot 2, PostgreSQL & MariaDB.

ccrause

  • Hero Member
  • *****
  • Posts: 1015
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #25 on: May 10, 2025, 09:20:37 am »
My pipe dream app which I work on only every now and then is a dis-assembler a la IDA Pro or Ghidra but, more accurate and much more informative.
It would be great if the (cross platform) disassembler can be integrated with fpdebug. This is one of the time consuming steps when adding new platform support in fpdebug.  Obviously your focus is different from "just debugging", but the disassembler functionality could potentially be shared between the projects.

Martin_fr

  • Administrator
  • Hero Member
  • *
  • Posts: 11164
  • Debugger - SynEdit - and more
    • wiki

Thaddy

  • Hero Member
  • *****
  • Posts: 16945
  • Ceterum censeo Trump esse delendam
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #27 on: May 10, 2025, 12:06:34 pm »
Wrong statement in the article: fpc is supported on all flavors of Raspberry pi including 1, not just 4 and later.
I still don't know who ported and packaged it but it has always been in the distribution from PI day one. (well that should be 3.14........)
« Last Edit: May 10, 2025, 12:09:09 pm by Thaddy »
Due to censorship, I changed this to "Nelly the Elephant". Keeps the message clear.

440bx

  • Hero Member
  • *****
  • Posts: 5302
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #28 on: May 10, 2025, 03:38:26 pm »
It would be great if the (cross platform) disassembler can be integrated with fpdebug. This is one of the time consuming steps when adding new platform support in fpdebug.  Obviously your focus is different from "just debugging", but the disassembler functionality could potentially be shared between the projects.
It used to be that writing the core part of a dis-assembler was not a big deal.  I'm thinking about the days of the i486.  I don't remember exactly but, IIRC, there were only about 140 instructions.  The only "difficult" part was dealing with a handful of undocumented functions or undocumented side effects in some instructions.  Typical programming bread and butter.

Today, writing a half-way decent dis-assembler is a whole lot of work (not to mention the necessary testing.)  That's why I was using Distorm for a while and now I'm using Zydis.  With today's modern processors, the dis-assembler alone is a real project.
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v4.0rc3) on Windows 7 SP1 64bit.

munair

  • Hero Member
  • *****
  • Posts: 855
  • compiler developer @SharpBASIC
    • SharpBASIC
Re: Practical Ways to Help Lazarus and Free Pascal Thrive?
« Reply #29 on: May 10, 2025, 04:53:09 pm »
Not sure if it qualifies as a "killer app", but it sure is unique software 100% written with Lazarus. The page also mentions that.
https://ssgeos.org/solpage.htm
It's only logical.

 

TinyPortal © 2005-2018