Celebrating 20 years of Abyss Web Server

Post new topic   Reply to topic    Aprelium Forum Index -> Off Topic Discussions
View previous topic :: View next topic  
Author Message
Site Admin

Joined: 03 Mar 2002
Posts: 1239

PostPosted: Tue Apr 05, 2022 9:18 pm    Post subject: Celebrating 20 years of Abyss Web Server Reply with quote

Abyss Web Server 1.0 was officially released 20 years ago.

A snapshot of our Web site with the announce from April 3, 2002 is in https://twitter.com/abyssws/status/1510719991485763589 .

The 20-year journey of Abyss Web Server owes a lot to its amazingly loyal and supportive following. So thanks to all of you and especially those who have been with us since its early years!
Follow @abyssws on Twitter
Subscribe to our newsletter
Forum Administrator
Aprelium - https://aprelium.com
Back to top View user's profile Send private message

Joined: 18 Feb 2022
Posts: 18

PostPosted: Tue Apr 05, 2022 10:52 pm    Post subject: Reply with quote

Abyss Web Server was 76KB at the time for a well-featured server given the technological era back in the 2000s.

Nowadays if you want to just make a dummy program that opens a listening socket on port 80 of and compile it, despite being a totally dummy program, you end up with a 400KB if not 700KB executable if not yet even more.

One hilarious case if not saddening is when you compile a dummy program with Delphi 7, 2010 & the latest XE compilers.

Even a dummy program's size grows from less than 100KB to megabytes (1MB or more), ever more bloated as new Delphi versions are released.

It looks like we forgot that e.g. the Windows Operating System's built-in APIs/DLL files aren't there just to make the System32 folder look beautiful.

It's made so that you can take advantage of the existing OS APIs as much as possible and only need to make your own code for the missing functionality.

But somehow too many developers want to reimplement everything even if it already exists in the OSes they build their programs for.

In 2050 we will no longer even use Windows, because all programs will be a whole custom standalone OS because developers in this reinvent-the-wheel craze ended up reimplementing everything themselves, even a kernel of their own.

Even more saddening, is this lets-be-cross-platform craze.
Cross-platform does not mean using one bloated runtime and shipping the same code for all operating systems.

Cross-platform initially meant that you made a common core codebase, then you had to make a real, dedicated native source code file for each OS you want to compile the program for.

Basically, you had to compile a dedicated version of your program for each OS you want to see running your program.
That was what was called a cross-platform program back in the old times.

Back in the time you had to make different versions of OS-dependent code and use compiler directives to use the appropriate e.g. include .cpp file depending on the OS to compile for.

I'm glad to see that Aprelium still follows proper software development practice.
You still make a dedicated native version for each OS you compile your program for.

One common codebase then one OS-specific codebase depending on the compile OS target. Good.

Even crazier, is that nowadays we have a thing named 'ElectronJS'.
It's a copy of the Chrome browser (basically) for each software that uses ElectronJS with NodeJS stuff.

But, why didn't they just use a small HTTP server with the real (smaller) NodeJS runtime only as a backend CGI interpreter?
Then you just use your own web browser to make use of these cross-platform web-enhanced applications.

But no way, you get instead to install many copies of Chromium, then run many Chromium browsers all at the same time if you use many Electron apps simultaneously.

If they used the real NodeJS runtime only, the same browser of choice could open just 3 tabs for 3 Electron apps.
You would just have three small HTTP servers and one common NodeJS runtime as CGI interpreter for native file access, etc.

Ah, I'm going to avoid writing an all too long reply.
Sorry for the 'old-man-yells-at-sky', 'it-was-better-back-in-the-time' reply.

I just thought that people would appreciate highlighting how much we could do with 76KB back then.

If you hadn't taken the decision, with bravery, to register the Aprelium company and start making this software 20 years ago, we would still need a Bachelor degree of software engineering & 10 years of hardcore Linux IT admin experience to understand how to configure the Apache web server, especially how to make .htaccess rules, which need 5 more years of Bachelor studies to even understand all of it.

Your software is a literal gem that allows normal humans to run a web server of their own. Many thanks for developing it.

Otherwise only humans with 150 IQ & bachelor degree would be able to host a website.

Ah, I really need to stop writing any more words. It just makes my reply look as weird as a .htaccess file.
Just never, ever give up developing Abyss Web Server!
Back to top View user's profile Send private message
Site Admin

Joined: 03 Mar 2002
Posts: 1239

PostPosted: Wed Apr 06, 2022 11:15 pm    Post subject: Reply with quote


Thank you for your heartwarming words about Abyss Web Server and our work on it.

Modern software building practices focus more on speed of delivery and higher levels of abstractions. Reasonable usage of resources is not on the priority list nor is respect of UI conventions (Electron apps are a category of their own in UI disrespect.)

Abyss Web Server is still being developed using good old practices. It's mainly written in C with only a few bits of C# for the ASP.NET connector and some ObjectiveC for the macOS UI part. It can be built on Visual C++, GCC or Clang. Right now, Windows and Linux editions are built on GCC while macOS' is built on Clang.

It uses tooling written in Python and Bash for its build process driven by good old Makefiles.

Its code/bugs/internal docs are hosted on the excellent Fossil source code manager: https://fossil-scm.org (written by Dr R. Hipp father of SQLite.)

FreeBSD support has been removed years ago but it is still possible to revive it. A RaspberryPi port was also made but never released due to the unclear state of binary portability on Pis (we don't want to maintain and publish 3-4 versions, one for each variation of Pi hardware/Linux distribution.)

In the early days, there were even BeOS and Sun Solaris ports under work. But these systems' popularity faded away by 2002 and their editions were never finalized.

If you are interested in more details, please feel free to post your questions.
Follow @abyssws on Twitter
Subscribe to our newsletter
Forum Administrator
Aprelium - https://aprelium.com
Back to top View user's profile Send private message

Joined: 18 Feb 2022
Posts: 18

PostPosted: Thu Apr 07, 2022 11:22 pm    Post subject: Reply with quote

Thanks for the details,
Fossil looks very nice, and is provided with precompiled standalone binaries.

I didn't know about it until you mentioned it in your post.

Regarding the Raspberry Pi, I think that this hardware isn't worth the investment unless you're a Linux developer.

Imagine paying the price of Abyss Web Server X2 for nothing more than a small single board with only few popular Linux software compiled for it.

Then when you politely, respectfully ask some Linux open-source developers on a Github issue ticket whether they can do <insert anything here>, either...


* Compiling a program for RPi:

- 'It's open source and you're free to compile it yourself and share your compiled build with the world.'

* Request for adding a small feature you think would benefit the project:

- 'Good idea! Send a pull request and I will check it out.'

* Asking for help installing their program:

- * No reply *
- * You politely ask if they saw your question *

- 'This is not customer support'
- 'I provide the software as-is'

- 'Read the instructions, you will find the solution there'

* Asking the developer to provide / add support for:
* Older CPU or
* Older .NET Framework or
* Older Windows (XP / 7) or
* Python 2.7 / 2.8 support:

- 'You should buy a modern computer.'
- 'All produced CPUs are 64-bit & SSE4 since years ago anyway.'

- 'Your OS is EOL since 27 minutes ago. Move on with new technology or get lost behind.'
- 'Why are you unable to upgrade to Windows 10 which is still free?'

- 'Python 2 is obsolete since long ago. Use Python 3.'

* Literally any polite, honest criticism of how a feature works:

- 'IS PROVIDED AS-IS. If you aren't happy you can always fork the repo and make you own custom version.'

* Reporting performance issues with your computer:

- 'How much RAM do you have? Which CPU?'
- * 4GB RAM, Core i3 *

- 'Your CPU is too old anyway, and you should get more RAM.'
- 'Why would I optimize my program since I got 64GB of RAM & Core i7k 4GHz on my computer?'

- 'Your PC is just too old. It's normal to use 3GB of RAM for a text editor, most PCs have 16GB anyway.'

* Requesting a Windows/Linux installer because you just find it hard to manually setup the program, but you know to use it afterwards:

- 'If you don't know how to install this program yourself, you should probably not use it.'
- 'This program is for advanced users.'

* Asking how to e.g. make the program trust your self-signed SSL:

- 'You should not do this. Get a free certificate from Let's Encrypt instead.'

(if you ask how to do 123, they tell you that 123 is bad and you must do 456 instead.)
(then other Linux/RPi developers chip in and tell you that you can also do XYZ & ABC as well.)

Imagine if I had spent the funds on the RPi instead only to be told 'Go look elsewhere for help. AS-IS. Not happy? Fork it!'.

For the price of this single vendor-locked RPi board that cannot be upgraded I can just use a random old computer I have at home, and put Abyss X2 on it.

Then I install MySQL with a good Install Wizard & the Aprelium PHP package.
I would rather use the proprietary Windows on a normal computer than use Linux *ARM* on a *Raspberry Pi*.

Developers like this telling us that RPi is awesome and we should learn how to use it but when we need help they reply 'go look elsewhere & see if I'm there'...

Sorry if this comes off as blaming, but the RPi ecosystem is very much this.
This isn't at all directed towards professional, kind developers.

Just saying that RPi is probably a bad investment if you don't know how to write complete programs for it.

Otherwise it will just be a source of infinite frustration and you will end up reselling it at loss to the first buyer who wants it.

* My examples in quote are exaggerated, so that you clearly understand the general pattern / logic.
Back to top View user's profile Send private message

Joined: 03 May 2020
Posts: 80
Location: Netherlands

PostPosted: Sat Apr 09, 2022 8:13 pm    Post subject: Reply with quote

Horizon wrote:

For the price of this single vendor-locked RPi board that cannot be upgraded I can just use a random old computer I have at home, and put Abyss X2 on it.

Well, I've asked for a version for my RPi4 and really would like to use it instead of a full blown PC. Abyss is light enough to run pretty fast on such a platform and the energy footprint of the RPi4 is a lot smaller then any normal, especially old PC.
In the mean time it can do quite some other stuff. it's being used as a media-server. Pi Hole is running on it and some other stuff. At 4-5 Watts only.

Back on topic: I'm a big fan of Abyss. I've already been using it for years and purchases a license over a year ago since I wanted to host multiple (sub)-domains.

Please continue working on this great piece of software!
Back to top View user's profile Send private message Visit poster's website

Joined: 22 Jun 2004
Posts: 403
Location: United Kingdom

PostPosted: Tue Apr 26, 2022 3:06 pm    Post subject: Reply with quote

Keep up the good work Aprelium!

Congratulations :)
Please SEARCH the forums BEFORE asking questions!
Back to top View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    Aprelium Forum Index -> Off Topic Discussions All times are GMT + 1 Hour
Page 1 of 1

Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Powered by phpBB phpBB Group