Recent

Author Topic: Are We Dead Yet?  (Read 24493 times)

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1315
Re: Are We Dead Yet?
« Reply #120 on: June 03, 2023, 12:23:38 pm »
Windows nowadays has an X Windows client build in. Write your Lazarus app, drop it on a server, make a webpage to start it, create an X11 tunnel from the server to the client, and simply run it from the server. That's how I develop complex web services as well, much easier than cross-compiling.

Windows does not have a X11 server build in.

Then again...

Correction: you're right, in that it doesn't have an X-Windows client natively without WSL2. Which is probably what you mean.
« Last Edit: June 03, 2023, 12:34:27 pm by SymbolicFrank »

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1315
Re: Are We Dead Yet?
« Reply #121 on: June 03, 2023, 12:28:20 pm »
Windows nowadays has an X Windows client build in. Write your Lazarus app, drop it on a server, make a webpage to start it, create an X11 tunnel from the server to the client, and simply run it from the server. That's how I develop complex web services as well, much easier than cross-compiling.

Windows does not have a X11 server build in.

While delightfully ignorant of Windows, I ask you to consider the poor suffering Linux users being forced to use Wayland. We cannot (an exaggeration) use X11 because -
  • Its too complicated to maintain.
  • Its insecure.
  • Its too slow.

None of those issues seem to worry the promoters of cloud computing ....

Davo
 

Yes, that's why we ran CAD/CAM software on the SUN server, while using cheap Linux PC's for the interaction through X11 in 1995, at a small company I worked for.

It's more that most sysadmins only know about RDC. Ok, and Zoom/Teams, nowadays.

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1315
Re: Are We Dead Yet?
« Reply #122 on: June 03, 2023, 12:48:46 pm »
Anyway, I was making a case, that it is easy to make a Lazarus Desktop application and run it on a cloud platform, like Amazon EC2, while interacting with it from your Windows desktop. For such a use-case, RAD is far faster and more reliable than your average web app.

The main problem with it is, that "it has to run in a browser" is generally the first line in the project requirements for most software. And implicitly that stands for: "no software has to be installed client-side". And i agree with PascalDragon, that not every Windows box has an X-Windows client installed, so that's still a hurdle. (I install activate WSL2 + Ubuntu.) It's one AD checkbox for a large company, but it won't play nice for small companies.

Damn, foiled again! ;)

VisualLab

  • Hero Member
  • *****
  • Posts: 575
Re: Are We Dead Yet?
« Reply #123 on: June 03, 2023, 05:31:27 pm »
Somehow employees of government and big businesses are bestowed an automatic totally trustworthy status by default.
It depends heavily on the country and culture. For example here in Germany people are generally more privacy aware than for example in the northern countries (and the further east you go here in Germany the more distrustful they get)

This is even more evident in countries east of Germany. The reason is historical events from the times of communism. Trust is too serious an issue to be treated naively (as in the US).

The more problematic thing is actually with "free" products. Everyone knows Facebook, Google and co only profit from your data (directly or indirectly through ads), and most people think it's bad, yet still everyone uses them, because it's easy and does not cost. People rather pay the ambigous and non tracable cost of their privacy than the real cost of real money.
And there is the question on what you want to do about this. When people know it's bad and believe it's bad, but are doing it anyway, theres nothing you can do.

  • Its too complicated to maintain.
  • Its insecure.
  • Its too slow.

None of those issues seem to worry the promoters of cloud computing ....
I don't know where you get this impression from, these are exactly the selling points of cloud computing. It's easy because all the complicated stuff is made by the cloud providers. It's secure because instead of having to do all of the security architecture yourself, you can rely on a proven and developed one of the cloud provider, and also providing all the certifications for the infrastructure such as ISO/IEC 22237 and so on. And it's faster because all the complex computations are done by the cloud with near infinite computation power and you only need lightweight clients on the comparatively low powered machines.

So it's not like cloud promoters don't worry about these things, they actively sell those things.

I would see the reason for the popularity of "cloud solutions" in:

- greed (it's cheaper this way),
- laziness (why bother, someone has already done it),
- stupidity (these are big companies, so it's OK).

All three factors at once. This is closely related to a trend that has been around for many years in other industries as well: outsourcing. Meanwhile, the decision to use such solutions should be well thought out. Sometimes that's true - sometimes. Unfortunately, the scale of this phenomenon suggests that it is currently caused by "sheep rush" (fashion) rather than real needs.

VisualLab

  • Hero Member
  • *****
  • Posts: 575
Re: Are We Dead Yet?
« Reply #124 on: June 03, 2023, 05:52:15 pm »
My point was, and still is, "how can we abandon X11 (in favor of Wayland) for those issues when cloud computing, with the same, greatly exaggerated issues, is the next (or current) big thing ?"
But no one is seriously promoting using X11 based cloud computing. This comment from SymbolicFrank is probably the first time I've heard something like that as a non joke.

The closest thing I can think of may be Blazor, where you can write your code in C# and decide on how much you like to perform on the frontend and the backend. It has the Server mode, in which all computations are happening on the server and Blazor is, like an X11 server, just a dumb HTML frontend (this also has a no JavaScript version where all sites are static and any action requies a full page reload). But if I remember the release presentation correctly, this is specifically build for the case where the server is running in the same local network (I think the example used was a car shop, where you would have the Blazor server running in the basment, and just have an iPad or so for viewing in the same network), exactly because of latency and security reasons.
The more common alternatives are Blazor WebAssembly, where all the code is running in the frontend, and just using normal requests (or websockets) to receive data from a normal backend. Then there is Blazor Hybrid, which is like BlazorServer but the "server" is running on the same device as the Browser (think of it as an Browser based Widgetset in the Pascal world).

And even then, the Blazor SignalIR protocol was built specifically to be used with modern requirements for security and to reduce network delay, while X11 wasn't.

So I don't think we need to be afraid of cloud providers like Azure or AWS starting to make big advertisements for using X11 (or similar) cloud apps. I have never seen any push to have all the events being passed between cloud and client to have all the UI code running in the cloud. Infact, it is usally advertised to strictly seperate UI and buisness logic, with your logic running in the cloud, and all of the UI stuff running in the frontend.

If there is anything that is holding Wayland back, I'd argue it's most probably the case that it still, after 15 years, does not fully support the proprietary Nvidia drivers, which means when you want to be able to Play high demanding games, or heck, use a new Nvidida graphics card at all. When I bought my 2060, it took over 2 years until I could even boot without the proprietary drivers (because I have a Server CPU I don't have a fallback graphics chip on the CPU). I would like to use Wayland, it has a great advantage that you can scale on a Monitor by Monitor basis (and with 1x4K and 1x1080p monitor this is kindof a must have), but it simply does not work for me, but the last time I checked it still did not well with the proprietary drivers, and I couldn't get the full performance with the kernel drivers.

And isn't the whole idea of graphics support on Linux completely pointless? Why try hard in the 21st century to create an X11 replacement? After all, this comes from the days when minicomputers were used that were the size of a dresser and the price of a decent passenger car (and had lower performance than today's smartphones). This reminds me of a saying attributed to Henry Ford: "If I had asked people what they wanted, they would have said faster horses." Support for graphics, multimedia or specialized devices (laboratory, industry) in Linux resembles a bazaar in its worst variant. Computers have changed a lot. It's like someone trying to modernize a horse-drawn carriage. Technically possible, but does it make sense?

Warfley

  • Hero Member
  • *****
  • Posts: 1762
Re: Are We Dead Yet?
« Reply #125 on: June 03, 2023, 06:27:16 pm »
And isn't the whole idea of graphics support on Linux completely pointless? Why try hard in the 21st century to create an X11 replacement? After all, this comes from the days when minicomputers were used that were the size of a dresser and the price of a decent passenger car (and had lower performance than today's smartphones). This reminds me of a saying attributed to Henry Ford: "If I had asked people what they wanted, they would have said faster horses." Support for graphics, multimedia or specialized devices (laboratory, industry) in Linux resembles a bazaar in its worst variant. Computers have changed a lot. It's like someone trying to modernize a horse-drawn carriage. Technically possible, but does it make sense?
First, this quote by Ford rings differently once you know that Ford was a massive jerk who thought he knew better than anyone else and for example built company towns in south america for his workers, where he designed their whole work day, the free time activities they where allowed to have, how they could spend their income and so on, because he thought he knew best on how people should live their lives.
But thats just on a side note.

I think the biggest issue with Linux distros is that they don't really know what they want to be. Linux as a kernel can do basically anything if you want to. Look at Andorid, which completely re-imagined the idea of graphical user interfaces on Linux through their Activity based UI design (not commenting on if it's bad or good, haven't used it too much myself). You can do it differently if you have a clear target (and enough money to pull it off).

But most distros are still trying to simultaniously be the headless server, single user desktop or multi user mainframe at the same time. And you can ask yourself whats the matter with this. You could argue that most desktop systems do not need multi user support or to run in headless/textual mode. Meanwhile, you could argue that a well sanatized server should not be running any GUI apps, yet for some reason there is GTK installed on my server.

But there are a few things. First backwards compatibility. No one is using an OS where there are no applications for. Android had the oportunity to start on a "green field", as the classical Desktop Paradigms didn't matter for mobile, so it could re-invent itself. Also once Google pumped massive amounts of money into it, there was the push required to get it rolling. But for a normal Distro, thats not really an option. Even the big ones like Canonical with Ubuntu could not simply say: Here is now a completely re-imagined Linux Desktop system, but nothing except these few apps we've ported currently works on it. Let alone smaller OpenSource teams. Even Wayland does not get around providing an X11 translation layer to support existing software.

And it goes even further than just the Display server, the fact that GTK and QT applications are themed differently is also not helping. When I installed my OpenSuse with the Breeze Dark QT theme, I first needed to download a community GTK Breeze Dark Theme, so QT and GTK applications look similar (not identical because there are still differences in QT and GTK theming, but close enough). Those are issues you don't have on more centralized systems like Windows or Android, or Cocoa (Mac/iOS), where the UI APIs are fully provided by the OS.

It's a both the blessing and the curse of the Unixoid world. It's a system so flexible that from the star architecture mainframe days, to the home desktop, to even gaming consoles (steam deck), everything is possible, yet you can't really specialize on something.

VisualLab

  • Hero Member
  • *****
  • Posts: 575
Re: Are We Dead Yet?
« Reply #126 on: June 03, 2023, 07:07:00 pm »
And isn't the whole idea of graphics support on Linux completely pointless? Why try hard in the 21st century to create an X11 replacement? After all, this comes from the days when minicomputers were used that were the size of a dresser and the price of a decent passenger car (and had lower performance than today's smartphones). This reminds me of a saying attributed to Henry Ford: "If I had asked people what they wanted, they would have said faster horses." Support for graphics, multimedia or specialized devices (laboratory, industry) in Linux resembles a bazaar in its worst variant. Computers have changed a lot. It's like someone trying to modernize a horse-drawn carriage. Technically possible, but does it make sense?
First, this quote by Ford rings differently once you know that Ford was a massive jerk who thought he knew better than anyone else and for example built company towns in south america for his workers, where he designed their whole work day, the free time activities they where allowed to have, how they could spend their income and so on, because he thought he knew best on how people should live their lives.
But thats just on a side note.

It wasn't about Ford, it was about a saying attributed to him. That it is not always enough to make a slight improvement to what is already there. Sometimes you have to change it significantly.

As for Ford - he wasn't the only one who was self-righteous. I am familiar with Ford's biography and his utopian ideas. And of course you're right that he was a jerk. Today they are Elon Musk, Jeff Bezos, Bill Gates and until recently there was Steve Jobs. Not much different from Ford.

I think the biggest issue with Linux distros is that they don't really know what they want to be. Linux as a kernel can do basically anything if you want to. Look at Andorid, which completely re-imagined the idea of graphical user interfaces on Linux through their Activity based UI design (not commenting on if it's bad or good, haven't used it too much myself). You can do it differently if you have a clear target (and enough money to pull it off).

But most distros are still trying to simultaniously be the headless server, single user desktop or multi user mainframe at the same time. And you can ask yourself whats the matter with this. You could argue that most desktop systems do not need multi user support or to run in headless/textual mode. Meanwhile, you could argue that a well sanatized server should not be running any GUI apps, yet for some reason there is GTK installed on my server.

But there are a few things. First backwards compatibility. No one is using an OS where there are no applications for. Android had the oportunity to start on a "green field", as the classical Desktop Paradigms didn't matter for mobile, so it could re-invent itself. Also once Google pumped massive amounts of money into it, there was the push required to get it rolling. But for a normal Distro, thats not really an option. Even the big ones like Canonical with Ubuntu could not simply say: Here is now a completely re-imagined Linux Desktop system, but nothing except these few apps we've ported currently works on it. Let alone smaller OpenSource teams. Even Wayland does not get around providing an X11 translation layer to support existing software.

And it goes even further than just the Display server, the fact that GTK and QT applications are themed differently is also not helping. When I installed my OpenSuse with the Breeze Dark QT theme, I first needed to download a community GTK Breeze Dark Theme, so QT and GTK applications look similar (not identical because there are still differences in QT and GTK theming, but close enough). Those are issues you don't have on more centralized systems like Windows or Android, or Cocoa (Mac/iOS), where the UI APIs are fully provided by the OS.

It's a both the blessing and the curse of the Unixoid world. It's a system so flexible that from the star architecture mainframe days, to the home desktop, to even gaming consoles (steam deck), everything is possible, yet you can't really specialize on something.

If there was no "dictatorship" in corporations, the results of employees' work would probably also be like in a "bazaar". If there was no "dictatorship" in corporations, the results of programmers' work would probably also be "bazaar". Of course, this does not guarantee that the product will be useful.

Unfortunately, when creating technical solutions, you need to think about the project well and consistently implement it, including what is not spectacular, "shiny" and fashionable. And conflict-free cooperation of people working on the project. This is not enough in open source. The excess of various small and at the same time not thought out and unfinished solutions (projects) is the cause of the failure of many open source projects. This is especially evident in the development of Linux on the desktop (on servers "somehow it works"). Leaders' minds are clouded by ideology. The very idea of Torvalds: "I'm going to make my own Unix" was such an idea. After so many years, it still leaves much to be desired (it's been over 30 years). I think I would prefer a cathedral, not a bazaar :)

PascalDragon

  • Hero Member
  • *****
  • Posts: 5759
  • Compiler Developer
Re: Are We Dead Yet?
« Reply #127 on: June 03, 2023, 07:07:56 pm »
Windows nowadays has an X Windows client build in. Write your Lazarus app, drop it on a server, make a webpage to start it, create an X11 tunnel from the server to the client, and simply run it from the server. That's how I develop complex web services as well, much easier than cross-compiling.

Windows does not have a X11 server build in.

Then again...

If you had read that more you'd know that they are advertising their own X11 server to be installed.

Correction: you're right, in that it doesn't have an X-Windows client natively without WSL2. Which is probably what you mean.

It's an X11 server, not a client. Clients are the applications.

Also Microsoft works on supporting Wayland from within WSL (which through XWayland also includes X11 support) as mentioned here and here (so in this case the X11 server is provided by the Linux distrubtion, not Windows). Windows also doesn't include a Wayland compositor however, instead they're providing the applications through rootless RDP (Remote desktop) as can be seen in the architecture overview in the second link.

440bx

  • Hero Member
  • *****
  • Posts: 4744
Re: Are We Dead Yet?
« Reply #128 on: June 03, 2023, 08:34:44 pm »
First, this quote by Ford rings differently once you know that Ford was a massive jerk who thought he knew better than anyone else and for example built company towns in south america for his workers, where he designed their whole work day, the free time activities they where allowed to have, how they could spend their income and so on, because he thought he knew best on how people should live their lives.
But thats just on a side note.
Yes, definitely off topic but, your characterization of Ford is entirely one sided.  The man wasn't perfect, no one is (that includes you!.)  However, in spite of not being perfect, Ford was the first industrialist to willingly offer a very decent living wage to his factory workers (something that, a hundred years later, is still a remote goal in the U.S), he also established the 5 day work week giving people two days off in a week instead of only one.

He wasn't perfect by a long shot but, he was a lot better than you painted him.  I'd go as far as stating that, when it comes to social improvements for the average worker, Henry Ford is either as best on the list or very close to the top in the worst case. 
(FPC v3.0.4 and Lazarus 1.8.2) or (FPC v3.2.2 and Lazarus v3.2) on Windows 7 SP1 64bit.

dbannon

  • Hero Member
  • *****
  • Posts: 3156
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Are We Dead Yet?
« Reply #129 on: June 04, 2023, 03:33:02 am »
First, this quote by Ford rings differently once you know that Ford was a massive jerk
Ford was a man of his times, he did some good and some bad. Personally, if I was around then, I think I'd rather work for Ford than his competitors.

Ford was right that sometimes you need to throw out the old model and bring in a new one. 'Sometimes' - not always. The thing that brought this up, Wayland, is a case in point. Right now, there are vastly more X11 client-server pairs in one box than remotely and they work well. But the three arguments against x11 [complexity security and speed]  justified Wayland. Those same three arguments also apply to cloud computing. My argument is that if we can make cloud work, we don't need Wayland, not the reverse.

Please don't suggest I am claiming that X11 should be used for cloud computing, thats possible but silly.

I think the biggest issue with Linux distros is that they don't really know what they want to be. ..... But most distros are still trying to simultaniously be the headless server, single user desktop or multi user mainframe at the same time....for some reason there is GTK installed on my server.
You may have a point there but I, personally, prefer it that way. I have been a big user of Linux servers and have had Linux on my desktop, exclusively, from 1998 or so. I like that things work the same way, allowing me and my staff to try out ideas, safely on a desktop and, when happy, pop it up onto the cluster. We would have many hundreds of rack mounted Linux servers running headless but with the GUI installed, needing only a crash cart or KVM system and the command "startx" to provide GUI for service use.

We pay only a small price for that flexibility.

....because there are still differences in QT and GTK theming, but close enough). Those are issues you don't have on more centralized systems like Windows or Android, or Cocoa (Mac/iOS), where the UI APIs are fully provided by the OS.

On the other hand, those dark themes were simply not available on Windows and Mac until recently. That centralization gives but it also takes away.

It's a both the blessing and the curse of the Unixoid world. It's a system so flexible that from the star architecture mainframe days, to the home desktop, to even gaming consoles (steam deck), everything is possible, yet you can't really specialize on something.
No, sorry, have to disagree there. Linux (in particular) has demonstrated its ability to specialise into all sorts of tight little corners. Its probably runs in your router, washing machine and so on. As you note, Android is a "specialized" version of Linux, again, a good model. Every time an engineer needs a simple OS for a new bit of hardware, they look to Linux or one of its friends, or, these days, something derived from them, strip out the unnecessary and produce a workable system. It is always easier to remove units from a well designed, modular system than to build one up from scratch. Dropping, eg, the GUI from a Linux install is trivial.  But today's younger sysadmins, I assure you, need their GUI.

Davo

PS - I like the term "Unixoid" - great one. Can I use it ?
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

Warfley

  • Hero Member
  • *****
  • Posts: 1762
Re: Are We Dead Yet?
« Reply #130 on: June 04, 2023, 07:05:07 pm »
No, sorry, have to disagree there. Linux (in particular) has demonstrated its ability to specialise into all sorts of tight little corners. Its probably runs in your router, washing machine and so on. As you note, Android is a "specialized" version of Linux, again, a good model. Every time an engineer needs a simple OS for a new bit of hardware, they look to Linux or one of its friends, or, these days, something derived from them, strip out the unnecessary and produce a workable system. It is always easier to remove units from a well designed, modular system than to build one up from scratch. Dropping, eg, the GUI from a Linux install is trivial.  But today's younger sysadmins, I assure you, need their GUI.
Yes Linux as a kernel is extremely flexible (I used Android as an example myself), but all those specialized systems are specialized not because of their Unixoid architecture but despite it. On android for example, you don't interact with the pseudo file system, do not use shells to call pre-installed executables, etc.
It abstracted all the things that made it Unix away to be so specialized.

Note that I think that Linux is completely servicable for Desktop usage, it's just not optimized for it, in the same sense that a pot is not a rice cooker, but perfectly servicable to cook rice (and do many more things as well).

Another specialised systems based on Unix is for example iOS, which also got lots of it's OS codebase from FreeBSD, but you aren't going to  use bash to read data from pseudofiles into a local displayserver socket anytime soon on there as well.

PS - I like the term "Unixoid" - great one. Can I use it ?
I didn't invent it myself, it's one of the "proposed" terms to solve the Problem that Linux is not a Unix in the historical sense, but usually satisfies the Unix specification (even though its Distros is often not certified due to the costs). So this includes all of the Linux systems as well as the still existing Unix systems, while unlike "POSIX system" does not include some versions of Windows (which was POSIX certified).

SymbolicFrank

  • Hero Member
  • *****
  • Posts: 1315
Re: Are We Dead Yet?
« Reply #131 on: June 04, 2023, 09:57:00 pm »
Ok, so the X-Windows or Wayland server that is part of Windows is probably coming, but we're not there yet.

Then again: it costs you ~$250/y for your users to be able to install or run your lovingly-crafted Windows application. Not a problem for commercial software, but not so fun for your freeware project.

A Lazarus runtime for Windows that includes that X-Windows server (and SSH config for X11 pass-through) might be interesting: you still have to install it, but only once.

A shared EV certificate has the problem, that you don't just want to sign everything.
« Last Edit: June 04, 2023, 09:58:56 pm by SymbolicFrank »

Bad Sector

  • Jr. Member
  • **
  • Posts: 69
    • Runtime Terror
Re: Are We Dead Yet?
« Reply #132 on: June 06, 2023, 04:38:07 pm »
FreeBasic game orientation is for 90's shareware games. "kids" nowadays don't even have a suitable reference framework to understand that.  fbgfx is a concept for old timers.

2D pixel art games are very popular. Last year Vampire Survivors hit the top of Steam's top played games list (the most popular platform for PC games by far). It has 187.860 "Overwhelmingly Positive" reviews and with an estimate of 6 million owners on Steam alone - the game was also ported to Xbox, Android and iOS so there are more sales from these platforms too. It got several awards and apparently there is even an animated TV series coming up for it.

Check how its graphics look. You'd probably be able to do those graphics with TCanvas, let alone fbgfx :-P
Kostas "Bad Sector" Michalopoulos
Runtime Terror

dieselnutjob

  • Full Member
  • ***
  • Posts: 224
Re: Are We Dead Yet?
« Reply #133 on: June 07, 2023, 12:58:56 am »
Interesting discussion.
I learned Basic and Z80 assembly language as a teenager.
I was taught Pascal at university (I studied electronics) in 1988 and basically ever since then Pascal has been my favourite programming language.
I started writing code seriously about seven or eight years ago and I use Lazarus IDE to write freepascal/fpgui code.  I use this because the code will compile and run on Windows, Linux (Intel and ARM) and MacOS with xquartz and it looks the exact same across all OSs.
I wish that there was a native port of cocoa for fpgui, and I actually got near to making it work a while back, it was the fonts support that was too much for me to finish it.

I love the readability of Pascal as it's almost clear English, and I love the strictness.  It's much easier to have something not compile rather than compile and crash in some thread that has no gui access.  I love the fact that if it will compile then it'll probably work just fine.

fpc is so good as it is that I'm just gonna keep using it, even if no one ever developed another thing, and even if I'm the last person using it, which seems unlikely.

I suppose that one day we'll need a RISC-V port ....

dbannon

  • Hero Member
  • *****
  • Posts: 3156
    • tomboy-ng, a rewrite of the classic Tomboy
Re: Are We Dead Yet?
« Reply #134 on: June 08, 2023, 01:09:47 am »
.....
I suppose that one day we'll need a RISC-V port ....

Well, if you were willing to use GTK2, you could bring it up on a PPC64le. Its an officially supported Debian platform and FPC/Lazarus are built, tested and distributed for it.
Sadly, it raises warnings about relocatable code but for my app, I suppress that warnings and its there and available. Mind you, I'd be very surprised if anyone has installed it on a POWER8 machine  :)

Davo
Lazarus 3, Linux (and reluctantly Win10/11, OSX Monterey)
My Project - https://github.com/tomboy-notes/tomboy-ng and my github - https://github.com/davidbannon

 

TinyPortal © 2005-2018