# What do you think about doing JS-Free sites?



## goshanecr (Aug 19, 2020)

Hi peoples!

I'm develop web application, and have internal strict rule: Only HTML+CSS. 
Those of you who also develop web applications, what do you think about so way?


----------



## sidetone (Aug 19, 2020)

PHP or something else may be needed for some things, unless it's very basic.

PHP for templates for headers, footers and navigation to keep from having to edit every page. For entry forms and displaying feeds, for instance. Anything that needs a timestamp for last updated, or unique visitor count.

Everyone says PHP is bad or insecure. What else is recommended other than PHP and Javascript that is universally supported?

There's also XML and XML/Atom for sitemaps. SHTML for error pages and redirects.


----------



## goshanecr (Aug 19, 2020)

sidetone said:


> PHP or something else may be needed for some things, unless it's very basic.
> 
> PHP for templates for headers, footers and navigation to keep from having to edit every page. For entry forms, for instance. Anything that needs a timestamp for last updated, or unique visitor count.
> 
> ...


No, I'm talk only about resulted page, given to browser. On backend working what developer use.


----------



## Cthulhux (Aug 19, 2020)

There is no sane reason to run arbitrary code in your visitors’ web browsers.


----------



## eternal_noob (Aug 19, 2020)

I hate Javascript and i always try build my pages without it. But sometimes it's required for example when using AJAX in order to avoid full page reloads.


----------



## Cthulhux (Aug 19, 2020)

No website should require AJAX.


----------



## eternal_noob (Aug 19, 2020)

Simple websites don't need AJAX but think about a shopping basket in an online shop. It's much faster to delete / add articles with AJAX than to do a full page reload with all the database queries involved.


----------



## Ordoban (Aug 19, 2020)

JS is a kind of digital bubonic plague. 
In my browser I use NoScript to block it as far as possible.
On the sites I wrote, I try to avoid JS.


----------



## sidetone (Aug 19, 2020)

freebsd_noob said:


> Simple websites don't need AJAX but think about a shopping basket in an online shop. It's much faster to delete / add articles with AJAX than to do a full page reload with all the database queries involved.


.htaccess cache and file Etags?

I never understood why Javascript should be used, so never tried learning it.


----------



## Cthulhux (Aug 19, 2020)

freebsd_noob said:


> Simple websites don't need AJAX but think about a shopping basket in an online shop. It's much faster to delete / add articles with AJAX than to do a full page reload with all the database queries involved.



And there is no good reason to not allow the users to disable AJAX and still use the shopping basket.


----------



## goshanecr (Aug 19, 2020)

Yes, I also one period of my life hardly use AJAX, and various jQuery, but in some moment I have a "insight" and understand that JS are not needed. And start to develop without it, but not 
a compromise in usability. Currently CSS so flexible, that it possible to do various effects and tricks without JS. 

Also a lot of sites works so slow because of bloated with JS, that I don't understand why their owners not solve that problems.


----------



## eternal_noob (Aug 19, 2020)

Cthulhux said:


> And there is no good reason to not allow the users to disable AJAX and still use the shopping basket.


That's correct. One should make the website work without Javascript first and then add AJAX to make it faster. Websites which don't work when Javascript is disabled suck and the creator should be punished.


----------



## getopt (Aug 19, 2020)

Sites using *JavaScript can be a security threat *to visitors or give visitors a user experience of being exploited if datamining, advertising or tracking is done with it.

If security is a concern for a client/user he would have to download the JS-scripts and review those first before any usage. Reviewing tens of thousands lines of JS is not efficient by any means and it would need to be a JS-programmer with focus on on all the *abuse that can be done with JavaScript*.

*No JavaScript is a feature* that can proudly be advertised to the visitors of such a site, as more and more people are trying to defend against the use of JavaScripts.

To me JavaScript free sites are just those I prefer as first visitor to a site because I regard them as clean.

JS-free sites hardly can break if defense is done on client's side.


----------



## 20-100-2fe (Aug 19, 2020)

If you develop only for yourself (which is very likely), that's absolutely fine.



goshanecr said:


> Hi peoples!
> 
> I'm develop web application, and have internal strict rule: Only HTML+CSS.
> Those of you who also develop web applications, what do you think about so way?


----------



## goshanecr (Aug 19, 2020)

20-100-2fe said:


> If you develop only for yourself (which is very likely), that's absolutely fine.


I hope not only for me 

When I finish it I can show it for review if interesting.
Also I think about do it cookie free, because for me all these notifications about "We use cookie... " - so ugly and annoying. But cookie not need if you don't want to spy to your visitors. 
For session cases it solves by generated "SESS_KEY" in url.


----------



## eternal_noob (Aug 19, 2020)

There is nothing wrong with session cookies. Session keys in URLs get stored in the logs so they are more prone to attacks. (And they are ugly).


----------



## shkhln (Aug 19, 2020)

goshanecr said:


> When I finish it I can show it for review if interesting.



Well, depends on how much of a train wreck it is going to be. May I interest you in using plain C as well?


----------



## goshanecr (Aug 19, 2020)

shkhln said:


> Well, depends on how much of a train wreck it is going to be. May I interest you in using plain C as well?


 No, just standart stack FreeBSD, Nginx, Lighttpd, PHP, MariaDB, Memcache and some workers in shell.
And interesting may be in way "A fresh look at the ability to make functional and eye-pleasing applications without being overloaded with unnecessary technologies"


----------



## a6h (Aug 19, 2020)

20-100-2fe said:


> If you develop only for yourself (which is very likely), that's absolutely fine.


I've dedicated a named-vhost in my 127.0.0.1 to C/CGI. I have lots of fun and lots of printf(3).


----------



## mark_j (Aug 19, 2020)

goshanecr said:


> Hi peoples!
> 
> I'm develop web application, and have internal strict rule: Only HTML+CSS.
> Those of you who also develop web applications, what do you think about so way?


Css has come a long way & things like grids are a very powerful tool. I also like php as the server backend script. So, yes i agree as anything with less javascript is better than the 1000s of kilobytes of crap you must download to view a simple website (or just block the junk!)


----------



## kpedersen (Aug 19, 2020)

I like the idea. I also think there is an upcoming niche for it. For example a Javascript free forums or social media system would surely be appreciated by a number of like minded individuals and yet I don't believe any exist!


----------



## mark_j (Aug 19, 2020)

kpedersen said:


> I like the idea. I also think there is an upcoming niche for it. For example a Javascript free forums or social media system would surely be appreciated by a number of like minded individuals and yet I don't believe any exist!


What so phpbb and the like are client javascript? That's disappointing.


----------



## a6h (Aug 19, 2020)

What about C/C++ CGI as the back-end?


----------



## mark_j (Aug 19, 2020)

Eek!


----------



## goshanecr (Aug 19, 2020)

vigole said:


> What about C/C++ CGI as the back-end?


If that question for me, I think every author can use tools which he better knows, or which he wants. So C/C++ not my choice


----------



## kpedersen (Aug 19, 2020)

mark_j said:


> What so phpbb and the like are client javascript? That's disappointing.



To be fair, it could be all the extensions and plugins that administrators decide to enable that provide most of the javascript. I think by default phpbb only has some live notification stuff using JS.


----------



## Mjölnir (Aug 19, 2020)

I don't care about _economical & reasonable_ usage of JavaScript, if it works well, does not boost the CPU frequency to maximum & provides me a better usability of the web app.  Before you use PHP, watch out for more modern & better alternatives, e.g. Plone/Zope (Python).  PHP is ugly, error-prone & not much more than a sequence of security flaws.  PHP mixes application & UI logic, which is bad for principle reasons, thus it can not be a good thing.  Get rid of it!


----------



## eternal_noob (Aug 19, 2020)

mjollnir said:


> PHP is ugly, error-prone & not much more than a sequence of security flaws.


It's ugly and error prone but good programmers can code secure applications with it. It all depends on the programmer if it's secure or not.



mjollnir said:


> PHP mixes application & UI logic, which is bad for principle reasons, thus it can not be a good thing.


There are a lot of MVC frameworks written in PHP so i can't follow your statement. Care to elaborate?


----------



## goshanecr (Aug 19, 2020)

mjollnir said:


> I don't care about _economical & reasonable_ usage of JavaScript, if it works well, does not boost the CPU frequency to maximum & provides me a better usability of the web app.  Before you use PHP, watch out for more modern & better alternatives, e.g. Plone/Zope (Python).  PHP is ugly, error-prone & not much more than a sequence of security flaws.  PHP mixes application & UI logic, which is bad for principle reasons, thus it can not be a good thing.  Get rid of it!


I can't agree with you. If developer don't care about security, design, escaping sql parameters or strictly checking user input - it does not matter which language he use for it application. And if he care about security and has enough skills to good development - he can do excellent app in any case.


----------



## 20-100-2fe (Aug 19, 2020)

mjollnir said:


> provides me a better usability of the web app.



This is why JavaScript is nowadays a REQUIREMENT for professional web development.
Not using JS means using HTML forms - which were great 40 years ago compared to using a mainframe terminal.


----------



## kpedersen (Aug 19, 2020)

20-100-2fe said:


> Not using JS means using HTML forms



It is when people use Javascript to simulate HTML forms it makes me laugh. Use the correct tool for the job and if a kid doen't know how to use HTML forms, they should learn it and use it.

I used to think PHP was insecure but then realized that any dynamic web app (PHP, Python, JSP, ASP.NET) is a risk because you are executing code on your server based on unknown user input and you basically can't trust your average developer regardless of language they use.

I highly recommend if performance allows using plain CGI (rather than mod_php and fastcgi) within a Jail. That way even if your program gets completely compromised, they can't do anything. If you do this, then even Microsoft Visual Basic 6 is fine.

But if the project allows, plain generated static websites all the way! XD


----------



## eternal_noob (Aug 19, 2020)

kpedersen said:


> It is when people use Javascript to simulate HTML forms it makes me laugh.


Yes, semantic HTML is important.

I once had a colleague who used a table with a single row and th tag for headings rather than h1-tags because it "was bold too". (All wrapped in a function called *makeHeader()*. I lol'd.)


----------



## 20-100-2fe (Aug 19, 2020)

freebsd_noob said:


> There are a lot of MVC frameworks written in PHP so i can't follow your statement. Care to elaborate?



In professional web development, separating UI from business logic is a way of protecting one's investments, but it also has an enormous advantage in terms of scalability and resources usage.
When you mix business logic with UI code (which was the case with typical PHP / ASP / JSP development), you have to keep session data on the server, which dramatically increases memory usage and limits scalability (you have to replicate session data across all servers of the cluster).
This is why this style of development has been abandoned 10+ years ago.
You can still use PHP if you like to implement business logic (in the form of REST services), but your UI will be created using VueJS, React or Angular, those frameworks making web UI development much easier and more reliable / maintainable.


----------



## goshanecr (Aug 19, 2020)

20-100-2fe said:


> This is why JavaScript is nowadays a REQUIREMENT for professional web development.
> Not using JS means using HTML forms - which were great 40 years ago compared to using a mainframe terminal.


Yes, it is REQUIREMENT, but sadly "professional development" novadays is not mean "correct development", and not synonim for "good skills" for developer. 
In bad hands any JS can stuck browser. But novadays number of developers knows many JS frameworks, but don't know JS at level for example "make own framework" - are too much. And web are very slow too often.


----------



## kpedersen (Aug 19, 2020)

20-100-2fe said:


> In professional web development, separating UI from business logic is a way of protecting one's investments, but it also has an enormous advantage in terms of scalability and resources usage.



True but at the same time you don't need to use different languages to separate UI from business logic. You also don't need the UI to be client side to separate either.

The main benefit I can see is you can add "fancy gimmicks" and of course the UI logic is distributed (your server doesn't need to do as much work).


----------



## 20-100-2fe (Aug 19, 2020)

goshanecr said:


> Yes, it is REQUIREMENT, but sadly "professional development" novadays is not mean "correct development", and not synonim for "good skills" for developer.



If you develop for someone else, which is the case of all professional developers, your users define what is "correct development" in terms of functional (the purpose of the application) and non-functional requirements (e.g. ergonomics, scalability). Then, as an IT professional, you choose the best tools and technologies to achieve what your users defined.

Anything else is not IT, but religion. It's fine too, it just needs to be clearly stated.


----------



## kpedersen (Aug 19, 2020)

goshanecr I had a project idea a while back (can't find the exact thread it was in):









						Can we have a 'basic html' interface to use with text mode browsers?
					

I discovered that the elinks port can be configured with javascript support if it is configured in the ports tree, although it doesn't support images like links.  I tried compiling it with javascript support on, but it crashed out halfway through compilation.  Unfortunately I just don't have...




					forums.freebsd.org
				




Basically a forum software that would make lynx and other text browsers a "first class citizen". Or at least provides a great experience on lighter browsers like NetSurf. Perhaps this interests you? Or perhaps you have already done similar?


----------



## 20-100-2fe (Aug 19, 2020)

kpedersen said:


> You also don't need the UI to be client side to separate either.



Technically, you do need. If the UI is handled by the server, server-side logic is stateful, with all the consequences.


----------



## kpedersen (Aug 19, 2020)

20-100-2fe said:


> Technically, you do need. If the UI is handled by the server, server-side logic is stateful, with all the consequences.


Yep but still entirely separated from your business logic.
Client-side Javascript is also stateful.


----------



## kpedersen (Aug 19, 2020)

goshanecr said:


> Yes, it is REQUIREMENT



I believe in around 20 years, HTML, CSS and Javascript will not be provided by the browser. Instead it only supports WebAssembly binaries. Then it is up to the developer if they want to use HTML, CSS and Javascript or a different technology stack entirey, they upload the implementations.

Either this will go two ways. HTML and CSS will almost disappear as everyone decides that Javascript-only apps are superior. Or, Javascript will disappear once people realize that another language is more appropriate.


----------



## 20-100-2fe (Aug 19, 2020)

kpedersen said:


> Client-side Javascript is also stateful.



Exactly! Doing this moves application state to the only place where it is relevant: the user's browser.


----------



## 20-100-2fe (Aug 19, 2020)

kpedersen said:


> Either this will go two ways. HTML and CSS will almost disappear as everyone decides that Javascript-only apps are superior.



"JavaScript" applications do nothing more than controlling the DOM. A "JavaScript" web application cannot exist without HTML and CSS because it is run inside a web browser.


----------



## obsigna (Aug 19, 2020)

Think about the difference of Web Page and Web Application. For a WP where user interaction is limited to clicking on links, you most probably won’t need JS. If you tend to build an interactive WA, you better learn JS and become comfortable with its dynamic HTTP request system.

Role depending example:

If a *user* loads one of my BLog pages, he/she sees static HTML+CSS only, with one exception that I show banners of my software in a side bar, and the table of contents iframe adjusts its height on loading. This I consider a Web Page and I could even do it without JS, only I see no reason why (I know all the arguments against, and I still see no reason why).

If an *author* loads one of my BLog pages, it loads the ContentTools frontend of Anthony Blackshaw (all JS) and this allows together with my ContentCGI backend (all in C) authoring by WYSIWYG editing directly on the web site. This I consider a Web Application and this would even remotely not be possible without JS.

I know JS adversaries will tell me that the only correct way of authoring web pages is by using vi(1). I am tending not to hear this.


----------



## Mjölnir (Aug 19, 2020)

freebsd_noob said:


> It's ugly and error prone but good programmers can code secure applications with it. It all depends on the programmer if it's secure or not.  There are a lot of MVC frameworks written in PHP so i can't follow your statement. Care to elaborate?


PHP _entices_ to errorneous programming.  It's much easier to produce & overlook a bug in plain PHP than in a MVC application leveraging the sophisticated facilities of e.g. Plone/Zope or Java ServerPages.  And here IMHO Python is superior to Java; both are mature, platform-independant, mature libraries for all kinds of tasks are available, but Python allows for mixed programming paradigms & is less error-prone (e.g. you _see_ a wrong indentation, but it's easy to overlook a missing semicolon).  Compare the security history of Plone vs. PHP-based competitors.  Yes, with some discipline, of course you can write secure & correct code in _any_ language.  And for a small project with limited functionality, a framework like Plone/Zope might be overkill and you're better off doing it _quick & dirty_, because if it's small it's manageable.  But once it grows, you bite your ass to not have choosen the "right" way.


----------



## rigoletto@ (Aug 19, 2020)

Ocsigen


----------



## kpedersen (Aug 19, 2020)

20-100-2fe said:


> "JavaScript" applications do nothing more than controlling the DOM. A "JavaScript" web application cannot exist without HTML and CSS because it is run inside a web browser.



Currently but that is easy to change. For example if I upload a WebAssembly binary (i.e compiled via Emscripten C++), I can call into functions from it with Javascript.

I guess what I am predicting is that the DOM will not be provided by browsers anymore. The developer will provide that as a WebAssembly binary. Lots of multimedia application (such as games) don't need the DOM if the functionality of Canvas is exposed via EGL for example.


----------



## kpedersen (Aug 19, 2020)

20-100-2fe said:


> Exactly! Doing this moves application state to the only place where it is relevant: the user's browser.



Application state is also stored in server side. As a session usually.
Arguably application state in the users browser is worthless because you can't trust it.


----------



## kpedersen (Aug 19, 2020)

obsigna said:


> I know JS adversaries will tell me that the only correct way of authoring web pages is by using vi(1). I am tending not to hear this.



There are many editors available. Why you choose to not use any of them (and instead use a web *browser*) is beyond me! j/k

I tend to use version control for everything (even blog posts) so it would be more of a faff to use web authoring only to download them again to commit but I do see your workflow being preferable to i.e ssh and vi or VNC + gedit, etc. You could also do this without Javascript however, it would just be more of a basic experience (admittedly I prefer that).

Though i suppose I could recommend Vim.js as your authoring editor 


			Vim.js


----------



## drhowarddrfine (Aug 19, 2020)

kpedersen said:


> Currently but that is easy to change. For example if I upload a WebAssembly binary (i.e compiled via Emscripten C++), I can call into functions from it with Javascript.
> 
> I guess what I am predicting is that the DOM will not be provided by browsers anymore. The developer will provide that as a WebAssembly binary. Lots of multimedia application (such as games) don't need the DOM if the functionality of Canvas is exposed via EGL for example.


Well, not everything's a game, and Canvas is part of the DOM. Accessing the DOM is slow but I don't know what they can do about that. On the one hand, they can speed up the native browser code to access it. On the other hand, they can build some other method as I think you are suggesting. But that would break the web, if implemented immediately, and take decades to switch to.


----------



## kpedersen (Aug 19, 2020)

drhowarddrfine said:


> But that would break the web, if implemented immediately, and take decades to switch to.



Absolutely. I think they will provide "compat" HTML/CSS/JS support for a long while but as you probably know, the average stack overflow developer likes to use "the very latest stuff" any chance they get.



drhowarddrfine said:


> Well, not everything's a game



No, but to me it seems that heavy multimedia content sites share many similarities. Loads of sites no longer use <input> components and instead opt to provide their own fancy ones instead using the Canvas. Ones that provide fade effects and movement just like you would implement in a game.

I wonder how long it will be until many websites start just having a single DOM element, (a fullscreen canvas element) and just drawing everything using WebGL (under layers of libraries)? Hopefully it will never happen but I certainly won't be surprised if it did!  If enough do this, then I am sure browser developers will allow that EGL "DOM bypass" I mentioned.

Ever used one of those sites which was really just one big Adobe Flash player... Welcome to 2040 (Oh god I hope not! XD)


----------



## Mjölnir (Aug 19, 2020)

kpedersen said:


> Though i suppose I could recommend Vim.js as your authoring editor
> 
> 
> Vim.js


Wow!  And BSD-licensed!  Any UNIXers heart goes _boom_...  Very nice scriptlet, indeed.  There's also a VI-like thingy for the other end: www/vimb: _Vim like browser_


----------



## 20-100-2fe (Aug 19, 2020)

I've seen such projects appear and disappear for the last 20 years.
Not so long ago, Angular tried and positioned itself as the "One framework to rule them all".
Similarly, Microsoft also tried to produce a single OS for both PC and mobile terminal and failed.

This kind of product has never been successful and will probably never be - at least as long as mobile terminals will leave a place for desktop/laptop computers on the client hardware market. Simply because both serve too different use cases.

However, once in a while, some brilliant market analyst makes a prediction of this kind, which good marketing and sales people transform it into projects.
Then, after some roller-coaster style adventures making managers feel alternatively angry and desperate (and developers stressed and depressed), these projects are either reoriented, or put in production as is, then discretely removed from servers once managers get sure nobody uses them.



rigoletto@ said:


> Ocsigen


----------



## drhowarddrfine (Aug 19, 2020)

20-100-2fe said:


> I've seen such projects appear and disappear for the last 20 years.


Someone's always claiming the current tool is old and needs to be modernized for no known technical reason. 


20-100-2fe said:


> after some roller-coaster style adventures making managers feel alternatively angry and desperate (and developers stressed and depressed)


Making them down and confused,
they need to learn to love the tool their with


----------



## Mjölnir (Aug 19, 2020)

kpedersen said:


> Absolutely. I think they will provide "compat" HTML/CSS/JS support for a long while but as you probably know, the average stack overflow developer likes to use "the very latest stuff" any chance they get.


Such technology shifts usually take the same time as a human generation: ~20-30 years.  For obvious reasons: it's humans who implement that.  The shift to WASM will likely need as long, too.  I see no reason why that will be faster.  E.g. C++ needed 30 years to "grow-up", and you can see that in many many other projects, too.  No matter if it's software technology or any other.


----------



## obsigna (Aug 19, 2020)

kpedersen said:


> There are many editors available. Why you choose to not use any of them (and instead use a web *browser*) is beyond me! j/k



No surprise here. Since it is well known since decades that Real Programmers consider WYSIWYG - "what you see is what you get" to be just as bad a concept in text editors as it is in women.


			Real Programmers Don't Use PASCAL
		




kpedersen said:


> Though i suppose I could recommend Vim.js as your authoring editor
> 
> 
> Vim.js


Well this suggestion makes up for a new subspecies of Real Programmers - the virtual blind ones.


----------



## kpedersen (Aug 19, 2020)

obsigna said:


> Since it is well known since decades that Real Programmers consider WYSIWYG - "what you see is what you get" to be just as bad a concept in text editors as it is in women.


Exactly! Just like my text editor, I am happy to put in a bit of effort to get to know and understand my lifelong partner 

My mother always told me to stay away from fast WYSIWYG women!



obsigna said:


> Well this suggestion makes up for a new subspecies of Real Programmers - the virtual blind ones.


Not at all, just like *Real* Numbers, "*Real* programmers are programmers comprising rational and irrational programmers"








						Real Numbers (Definition, Properties and Examples)
					

Real numbers are the combination of rational and irrational numbers. Click here to earn the definition, properties of real numbers and examples with complete explanations at BYJU'S.




					byjus.com
				




We are all one species (even if some of us make more correct choices)


----------



## Jose (Aug 19, 2020)

mjollnir said:


> Before you use PHP, watch out for more modern & better alternatives, e.g. Plone/Zope (Python).  PHP is ugly, error-prone & not much more than a sequence of security flaws.  PHP mixes application & UI logic, which is bad for principle reasons, thus it can not be a good thing.  Get rid of it!


Unfortunately, I cannot find reasonable alternatives for some key pieces of my Google-free stack:








						Nextcloud - Online collaboration platform
					

The most popular self-hosted collaboration solution for tens of millions of users at thousands of organizations across the globe




					nextcloud.com
				








						Roundcube - Free and Open Source Webmail Software
					

Free and open source webmail software for the masses, written in PHP




					roundcube.net
				








						dokuwiki [DokuWiki]
					






					www.dokuwiki.org
				




Do suggest alternatives.


----------



## Jose (Aug 19, 2020)

kpedersen said:


> I believe in around 20 years, HTML, CSS and Javascript will not be provided by the browser. Instead it only supports WebAssembly binaries. Then it is up to the developer if they want to use HTML, CSS and Javascript or a different technology stack entirey, they upload the implementations.
> 
> Either this will go two ways. HTML and CSS will almost disappear as everyone decides that Javascript-only apps are superior. Or, Javascript will disappear once people realize that another language is more appropriate.


Or maybe another challenger arises? Dart? Lua?


----------



## Jose (Aug 19, 2020)

obsigna said:


> No surprise here. Since it is well known since decades that Real Programmers consider WYSIWYG - "what you see is what you get" to be just as bad a concept in text editors as it is in women.
> 
> 
> Real Programmers Don't Use PASCAL
> ...


I've never met a Real Programmer, but I'm pretty sure I don't want such a person designing or writing content for my website. The former requires graphical design skills and some artistic sensibilities, and the latter requires skill writing and editing a natural language. Real Programmers are not known for having either of these skills.


----------



## 20-100-2fe (Aug 19, 2020)

My guess is that HTML/CSS/JS will stay alongside with WebAssembly for non-technical reasons:

- To maximize ROI, you have to minimize investment and maximize revenue. Why replace an existing a global infrastructure (billions of web browsers) when you can still make money with it? It would be economical nonsense.

- WebAssembly secures and facilitates the development of customer lock-in systems (e.g. DRM). There's no doubt this technology will be a success as, even though it requires a modest investment, it is designed to maximize revenue.


----------



## obsigna (Aug 20, 2020)

20-100-2fe said:


> My guess is that HTML/CSS/JS will stay alongside with WebAssembly for non-technical reasons:
> ...



My guess is that WebAssembly won’t gain wide acceptance, because, look what it really is:


			
				https://webassembly.org said:
			
		

> WebAssembly (abbreviated Wasm) is a binary instruction format for a stack-based virtual machine. Wasm is designed as a portable compilation target for programming languages, enabling deployment on the web for client and server applications.



Its promised properties:

Efficient and fast
Safe
Open and debuggable
Part of the open web platform
This might all be true for the virtual machine itself, but it becomes a total bloat, when we try to build some assembly in any one of the proposed ways.

For example we compile the famous C program hello.c into WebAssembly using emsripten:

```
#include <stdio.h>

int main(int argc, char *const argv[])
{
   printf("Hello, World!\n");
}
```

`./emcc hello.c -o hello.js`
This produces 2 files, namely hello.js and hello.wasm. The second is a WebAssembly file containing the compiled code, and the first is a JavaScript file containing the runtime support to load and execute it.
`ls -l hello.*`

```
-rw-r--r--    1 rolf  staff  116450 19 Aug 21:07 hello.js
-rw-r--r--    1 rolf  staff   21756 19 Aug 21:07 hello.wasm
```

`node hello.js`

```
Hello, World!
```

That means, for printing of "Hello, World!" using WebAssembly, the browser needs to download in total at least 135 kB of code. All my own JS together does not come to 135 kB.

When launching this in a web browser it takes a considerable amount of time until "Hello, World!" becomes written into the JS console of the browser. I am not amazed.

I will continue using JS and minify the code using www/closure-compiler.

I would have expected a WASM compiler would take my existing JS code, and precompiles and minifies it so that the VM in the browser could work with it, and that without the need of a clumpsy JS runtime library. But such a thingy doesn't seem to exist.

I will revisit WebAssembly from time to time. But for now, this isn't for me - Efficient and Fast? Laughable!


----------



## a6h (Aug 20, 2020)

20-100-2fe said:


> My guess is that HTML/CSS/JS will stay alongside with WebAssembly for non-technical reasons:


I'm all for WebAssembly. I'm also in complete agreement with your last comment. I have a high opinion of the web development/developers. But there's a large number of web/devs, who are going to resist an HTML/JS apocalypse. Not for technical or philosophical reasons. WebAssembly is complex, it's not for everyone and that's fine.
In the past, I had hard time to convince some web/devs, to put a freaking index.html in their website's directory. On multiple occasions, I received rather hostile response when I suggested to them, to create a security.txt under the .well-known directory. Typical responses: who cares, too much work, paranoid!
A complete moving toward the WebAssembly?! good luck with that.


----------



## memreflect (Aug 20, 2020)

<rant>I can't tell you how many times I was in lynx or w3m looking for information to fix a problem when, after scrolling through a long list of site navigation links, I suddenly reached the end of the page because it relied on AJAX to load the actual page content.  The site may look great on a graphical browser with JS enabled, but if you can't access any content without JS, it's useless.</rant>

With that said, I still don't think JS is inherently a bad thing; it's merely "misused" quite often, usually because deadlines make it impossible to create a site that uses unobtrusive JavaScript and/or because it's simply a more practical solution.  In theory, Google Maps could be done without JS using only HTML (image maps and forms) and CSS, but JS is probably easier.  The purist in me wants to call it "wrong", but there are better hills to die on.  All that matters to a business is whether a product works, not whether it maintains a strict separation between content|presentation|functionality (X/HTML|CSS|JS) and gracefully degrades when JS is unavailable.

Creating a JS-free site is a refreshing idea, but avoiding JS entirely is not necessarily a good move.  If you can avoid relying upon it for core site functionality, then that's "good enough".  If your primary resource on the site will be static content, then the old idiom is still true:

Content is king.


----------



## hruodr (Aug 20, 2020)

HTML is not for programmers, but for normal users. It had its deficiencies from the beginning,
then one improvisation after the other came: CSS, javascript. Do you really think WebAssembly
will be for everyone? Or is it one improvisation more over the whole bad development?

I also avoid javascript, but for some things it is the easiest way or the only way (AJAX).

About where must be the state, in the server, in the client, or info continuously transmitted:
it is like normal programming, everything has pro and contra, one must continuously ponder
them, try to find the right balance.

If everything must be a program, at the time of telnet information services run in the server, 
now also run in the client, we are losing structure, but gaining flexibility. We are going away
of the original idea of html.


----------



## goshanecr (Aug 20, 2020)

memreflect said:


> <rant>I can't tell you how many times I was in lynx or w3m looking for information to fix a problem when, after scrolling through a long list of site navigation links, I suddenly reached the end of the page because it relied on AJAX to load the actual page content.  The site may look great on a graphical browser with JS enabled, but if you can't access any content without JS, it's useless.</rant>
> 
> With that said, I still don't think JS is inherently a bad thing; it's merely "misused" quite often, usually because deadlines make it impossible to create a site that uses unobtrusive JavaScript and/or because it's simply a more practical solution.  In theory, Google Maps could be done without JS using only HTML (image maps and forms) and CSS, but JS is probably easier.  The purist in me wants to call it "wrong", but there are better hills to die on.  All that matters to a business is whether a product works, not whether it maintains a strict separation between content|presentation|functionality (X/HTML|CSS|JS) and gracefully degrades when JS is unavailable.
> 
> ...


In fact, my complaint about JS is not in its very essence, but that most (?) web developers are now no more than experts of the current most fashionable framework. And they use it arguing that this is a trend and you can't become a web developer without it. And they are partly right, because they want to earn money by their craft, and the employer also requires to make the site AS fast as possible and what technologies are relevant to do it. But low-level knowledge in the same JS developer is not the main condition.

This, I believe, reduces the level of knowledge of a large number of developers. And not only in WEB development. For the most part, the principle is not "do it technically correctly and optimally", but "do it quickly and get money". Frameworks allow you to quickly get results using high-level abstractions. But the combination of SPEED, QUALITY, and CONVENIENCE can't have all three elements. Now it is SPEED and CONVENIENCE, and quality suffers.

I mean quality in a General sense, this is the code overload, this is the requirements for PC resources, this is the requirements for the software part.

The simplest example to illustrate this is that websites are not working in different browser versions. And this is despite the fact that sites are not supposed to depend on the browser at all. Just a page that anyone should be able to see. But no, often not only a specific browser is required, but not such and older versions of the same browser are not suitable. This is fundamentally wrong. Why the endless proliferation of WEB standards, if it accumulates the number of errors in browsers due to the complexity of implementing these standards, if it leads to an increasing consumption of resources, if it leads to a constant race of frameworks that need to be known, and not a specific technology or language that the framework is written in.

When did google maps appear? 2005. Chrome 4.0.249 from 2010, full ACID3, size 12 MB. A large amount of PC memory in 2010 - 4 GB.

And what, did something in google maps change, did the necessary innovations appear for users, that the browser began to have a distribution size of 60 + MB, and require acceptable work with any sites of top-end configurations, and even necessarily with SSD drives. Otherwise, the pain and suffering from a hanging PC. I'm talking about google maps, because this is a really unusual application that just rightfully requires advanced technologies for loading data in the background, interactivity, and so on. Gmail, on the other hand, is just a list of emails on the server. But why does it take longer to load in the browser than my operating system starts? Is there any justification for this? All, sorry for the large text, but once I got to the translator, the keyboard will tolerate everything


----------



## drhowarddrfine (Aug 20, 2020)

One thing I'd like to point out. The Web Assembly FAQ says this:


> *Is WebAssembly trying to replace JavaScript?*
> No! WebAssembly is designed to be a complement to, not replacement of, JavaScript. While WebAssembly will, over time, allow many languages to be compiled to the Web, JavaScript has an incredible amount of momentum and will remain the single, privileged (as described above) dynamic language of the Web.


----------



## drhowarddrfine (Aug 20, 2020)

goshanecr said:


> In fact, my complaint about JS is not in its very essence, but that most (?) web developers are now no more than experts of the current most fashionable framework. And they use it arguing that this is a trend and you can't become a web developer without it.


Most interviews I've had, they treat frameworks and libraries as a language all to itself as if JavaScript was just a side issue. 

I remember going to interviews as an Electronic Engineer. The biggest dividing line then was whether you knew Intel assembly or Motorola assembly. But that was just two languages. Even today there are less than five or so major hardware processors but there are hundreds of software frameworks and employers now request or require knowledge in their specific one. They won't give you the time to learn theirs. Knowing JavaScript well is just a side issue.


----------



## Alain De Vos (Aug 20, 2020)

What about a language which compiles to javascript ?


----------



## Mjölnir (Aug 20, 2020)

Jose said:


> Unfortunately, I cannot find reasonable alternatives for some key pieces of my Google-free stack:
> 
> 
> 
> ...


Yes, SIR!  Please elaborate what _reasonable_ means in the context of your specific project(s).  If that means the software must _exactly_ fit your needs & work flawlessly out-of-the-box, please see below (_RFP_).

https://pypi.org/search/?q=nextcloud  20 projects for "nextcloud"
https://pypi.org/search/?q=owncloud  23 projects for "owncloud"
https://pypi.org/search/?q=owncloud&o=&c=Framework+::+Plone 4 projects for "owncloud" with the selected classifier
https://pypi.org/search/?q=mycloud  8 projects for "mycloud"
https://pypi.org/search/?q=cloud&o=&c=Framework+::+Plone  29 projects for "cloud" with the selected classifier
https://pypi.org/search/?q=mail  5,010 projects for "mail"
https://pypi.org/search/?q=mail&o=&c=Framework+::+Plone 318 projects for "mail" with the selected classifier
https://pypi.org/search/?q=web+mail&o=&c=Framework+::+Plone 776 projects for "web mail" with the selected classifier
https://pypi.org/search/?q=wiki  9,221 projects for "wiki"
https://pypi.org/search/?q=wiki&o=&c=Framework+::+Plone 120 projects for "wiki" with the selected classifier
If neither of these fits your requirements, file in a RFP (_request for provision_) at the <plone-zope-volunteers@pypi.org> developers mailing list ASAP.


----------



## Mjölnir (Aug 20, 2020)

Google Maps work fine in www/falkon (webkit/webengine, 10MB flat size incl. themes & i18n'ed messages, 2MB pkg size).  OpenStreetMap works fine, too, and is also available in astro/marble.  Noone needs to go the Firefox path.


----------



## kpedersen (Aug 20, 2020)

obsigna said:


> I will revisit WebAssembly from time to time. But for now, this isn't for me - Efficient and Fast? Laughable!



I only really play with it to port stuff and kind of "see whats new" but I have yet to do any large scale project using it.

Emscripten produces very large binaries because of all the compatibility layers to make a web browser appear like a "semi-standard" POSIX platform to the developer. If you generate WASM binaries using Clang directly, it is much smaller but then you don't have OpenGL bindings, you also don't even have the standard C++ runtime.

I think Rust and Go both produce smaller wasm binaries, again because their goals aren't to provide a UNIX-y environment (they don't have so much legacy baggage whilst porting 30+ year old software).

From what I have seen, the laws that govern the web do not at all strive for efficiency. So I almost see WASM's wasteful nature as an example of why it will *definitely* take off.


----------



## goshanecr (Aug 20, 2020)

mjollnir said:


> Google Maps work fine in www/falkon (webkit/webengine, 10MB flat size incl. themes & i18n'ed messages, 2MB pkg size).  OpenStreetMap works fine, too, and is also available in astro/marble.  Noone needs to go the Firefox path.


Maybe it works with Google Maps, like many others less known browsers, but is it works with VK, Twitter, youtube, online banks and many other every day sites? Use own browser for various sites - not solve problem. My opinion that WEB must not be so complex, that sites can works only in some browsers. And JS tricks has many incompatibilities between support in various browsers.


----------



## Mjölnir (Aug 20, 2020)

goshanecr said:


> Maybe it works with Google Maps, like many others less known browsers, but is it works with VK, Twitter, youtube, online banks and many other every day sites?


Yes.  I don't know what VK is.  Obviously, what _everyday sites_ means varies for all of us.  EDIT: I don't use _twtr_ because that is evil crap.  I can not take people serious who use that.  Likewise _What'sApe_, _FresseBuch_ (facebook) & such.  Or Telegram.


> Use own browser for various sites - not solve problem. My opinion that WEB must not be so complex, that sites can works only in some browsers. And JS tricks has many incompatibilities between support in various browsers.


If a site does not work at all in a webkit browser, it's definitely not worth to visit...  The KDE JavaScript engine implementation is/was setting the _de-facto standard_


----------



## goshanecr (Aug 20, 2020)

mjollnir said:


> Yes.  I don't know what VK is.  Obviously, what _everyday sites_ means varies for all of us.
> 
> If a site does not work at all in a webkit browser, it's definitely not worth to visit...  The KDE JavaScript engine implementation is/was setting the _de-facto standard_


These sites - just most popular and much JS driven which I remember. It is not my sites, but based on needs the most part of social. So similar sites dictates which browsers "good" - means site works in it, and which are marginals.  

Our discussions goes to offtopic


----------



## jomonger (Aug 20, 2020)

WebAssembly FTW.


----------



## Jose (Aug 20, 2020)

mjollnir said:


> Yes, SIR!  Please elaborate what _reasonable_ means in the context of your specific project(s).  If that means the software must _exactly_ fit your needs & work flawlessly out-of-the-box, please see below (_RFP_).
> 
> https://pypi.org/search/?q=nextcloud  20 projects for "nextcloud"
> https://pypi.org/search/?q=owncloud 23 projects for "owncloud"
> ...


You misunderstand me. I'm not looking for help searching the Web, I flatter myself that I'm pretty good at that. What I'm looking for is recommendations for open source software that does the following:

- Calendar/Contacts/Phone file sync (Nextcloud)
- Webmail (Roundcube)
- Wiki (Dokuwiki)

I migrated from Owncloud to Nextcloud after development of the former mostly came to a halt after the fork. Most of your links are for libraries that either depend on an (Next/Own)cloud install or are meant to help you develop a mail front end. I'm looking for a completed, tested product with a medium-to-large community around it. I'll save you some time. I've tried Moin, Redmine, and Trac (and Owncloud as I stated above).


----------



## Jose (Aug 20, 2020)

Alain De Vos said:


> What about a language which compiles to javascript ?


No! Please, no!


----------



## Alain De Vos (Aug 20, 2020)

Why not if the syntax is better?
E.g. I hate the syntax of sh shell scripts.


----------



## jomonger (Aug 20, 2020)

Jose said:


> No! Please, no!



Agree with Jose.
Interpreter becomes imo silly. CoffeScript->JavaScript -> EcmaScript 6 -> EcmaScript 3, or smth like that. It makes lot of overhead if I understand good.
JS is JIT, so next layer is imo not pro.

Unless we speak about compiling to JS before placing it on site, then it doesn't matter.

Coffescript is dying before getting mature.


----------



## Mjölnir (Aug 20, 2020)

Jose said:


> You misunderstand me. I'm not looking for help searching the Web, I flatter myself that I'm pretty good at that. What I'm looking for is recommendations for open source software that does the following:
> 
> - Calendar/Contacts/Phone file sync (Nextcloud)
> - Webmail (Roundcube)
> ...


OK I thought you're looking for Plone/Zope modules that do that.  I can not give recommendations on these topics.  If I understand it correctly, you can integrate PHP-based software in a Plone or Zope web application.  I did not say all PHP-based apps are bad.  It's just that IMHO Plone/Zope is a better foundation for the reasons I gave above.  So when comparing two alternatives, the choice of framework it uses & language it's written in, would be one criterion among others.


----------



## kpedersen (Aug 20, 2020)

Jose said:


> - Calendar/Contacts/Phone file sync (Nextcloud)
> - Webmail (Roundcube)
> - Wiki (Dokuwiki)



I don't have a good solution for these but I can share my experiences in trying to solve them 

Dokuwiki isn't actually that bad. Perhaps look into the older versions which don't have weird auto updating or quite so much javascript "glitz" to navigate. However you might need to read up on any security issues, luckily almost all of them are related to endless plugins or allowing public write access. If you disable logging in and just ssh / vi the data folder directly, that works surprisingly well (the joys of a plain text / flat file database! take advantage of it! )

For Webmail, I personally ssh in and use Mutt. on the mbox directly. If you are expecting a tonne of HTML emails or calendar invites, etc then yeah that is probably a no go. 99.9% of HTML emails are spam anyway but for those sweet individuals using hotmail, then just pipe their stuff through lynx.

As for calendar, etc. I literally have a git repo called "life" that I dump stuff in. Mutt then fetches the alias data from there for contacts.

Whilst I think my workflow is a bit awkward in places, I still much prefer it to faffing with web browsers. Accessing everything through ssh is fairly liberating and security is pretty much guaranteed.


----------



## Jose (Aug 20, 2020)

mjollnir said:


> OK I thought you're looking for Plone/Zope modules that do that.


I also try to avoid PHP because I unfortunately have some experience hacking in it. However, I've failed to find alternatives to the three pieces I mention. 

As I've become aware of my mortality, I've started worrying about handing off my messy personal/family stack to one of my children. Because of this, it simply cannot be composed of a bunch of lovingly handcrafted snowflakes that scratch all my personal programming itches. A reasonably competent person has to be able to Google problems and find answers.


----------



## Alain De Vos (Aug 20, 2020)

I think you can write interesting webcode in ruby,python,php.


----------



## jomonger (Aug 21, 2020)

Alain De Vos said:


> I think you can write interesting webcode in ruby,python,php.



I know that lot of webdev(not only basic frontend) for Polish Gov is made in PHP so for sure it is efficient enough. Ruby (on rails??) is used also. I think there is no sense to use Python for frontend.

But all of them will be translated to JS/CSS/HTML before placing on frontend, this is worth to know.


----------



## 20-100-2fe (Aug 21, 2020)

Alain De Vos said:


> What about a language which compiles to javascript ?



This is always the case with professional JavaScript development.

In fact, we should no longer talk about "JavaScript" (but everybody does, myself included), its official name being ECMASCRIPT.
The ECMASCRIPT work group releases a new version of the standard every year since 2015.
Developers usually want (or have) to work with a recent version of the standard (e.g. TypeScript) but today's web browser support ES6 (ECMASCRIPT 6, the 2015 release) and older browsers support ES5.

This is why JavaScript developers use a transpiler, a program compiling a source file to another language instead of object code ; in this case, the target language is an earlier release of the ECMASCRIPT standard (ES5 or ES6 depending on target browsers).


----------



## a6h (Aug 21, 2020)

20-100-2fe said:


> Developers usually want (or have) to work with a recent version of the standard (e.g. TypeScript) but today's web browser support ES6 (ECMASCRIPT 6, the 2015 release) and older browsers support ES5.


I personally prefer TypeScript over JavaScript. There's no problem to set target to different version `ES3/5/6 ~ E2016-ES2020`. e.g.
tsconfig.json

```
{
  "compilerOptions":
  {
    "target": "es6",
    "module": "commonjs"
  }
}
```


----------



## 20-100-2fe (Aug 21, 2020)

vigole said:


> There's no problem to set target to different version `ES3/5/6 ~ E2016-ES2020`. e.g.



No problem at transpilation-time, of course. 
At run-time, your mileage may vary if you target some old browsers (e.g. IE 11, Edge < 15).
For this reason, some companies allow the deployment of 2 browsers on their machines (e.g. IE 11 for legacy applications and a recent version of Chrome for new ones).
However, in a few years, things will become much simpler as the choice of web browser is now in practice limited to Chrome (in the enterprise context).


----------



## a6h (Aug 21, 2020)

20-100-2fe said:


> For this reason, some companies allow the deployment of 2 browsers on their machines (e.g. IE 11 for legacy applications and a recent version of Chrome for new ones).


For companies with dedicated departments, quite right! Unfortunately I don't have any reliable statistics and I have to express my anecdotal experience limited to me and a few others around me. Pretty much every single web developers I'm aware of (not many!), develop their project with Chrome/Chromium in mind, and a final test on 2-3 platform,namely Chromium(Desktop/Android) and rarely Safari.


----------



## obsigna (Aug 21, 2020)

WebAssembly Concepts - WebAssembly | MDN
					

This article has given you an explanation of what WebAssembly is, why it is so useful, how it fits into the web, and how you can make use of it.




					developer.mozilla.org
				




_By itself, WebAssembly cannot currently directly access the DOM; it can only call JavaScript, passing in integer and floating point primitive data types. Thus, to access any Web API, WebAssembly needs to call out to JavaScript, which then makes the Web API call. Emscripten therefore creates the HTML and JavaScript glue code needed to achieve this._​
I use JavaScript in my web applications almost only for dynamically manipulating the DOM according to responses to AJAX requests. All the heavy lifting, e.g. site wide searching, math simulations of differential equations depending on user entries, signal measurements, FFT, and generation of SVG plots etc., is done by C subroutines on the server. Now, I conclude, that WebAssembly is not only inefficient and clumsy, it is a non-solution of a non-problem. It is absolutely useless.


----------



## richardtoohey2 (Aug 21, 2020)

Lots of interesting opinions stated as facts!    

Whatever works for you, whatever floats your boat, and whatever gives you the best balance in terms of development time, ease of maintence, security, performance and hits a budget/time frame.  Same as programming just about anything, really?  

I think the Chrome monoculture is the bigger concern.  It's impossible (?) for a small team of developers to build a web browser (in the broad sense of matching what people expect from a "web browser" these days) any more.


----------



## Jose (Aug 21, 2020)

richardtoohey2 said:


> ...I think the Chrome monoculture is the bigger concern.  It's impossible (?) for a small team of developers to build a web browser (in the broad sense of matching what people expect from a "web browser" these days) any more.


This. Who remembers IE6?


----------



## a6h (Aug 21, 2020)

Joking aside, web development is similar to pop music. It's not some sort of baroque art or underground black metal. You have to listen to the market and client. If you don't you're going broke.


----------



## memreflect (Aug 21, 2020)

Jose said:


> This. Who remembers IE6?








						IE6 Countdown to Death
					

IE6 Death Countdown - Microsoft said it would support IE6 until April 8, 2014



					www.ie6death.com
				








						No Internet Exploder!
					

Microsoft's Internet Explorer is yet another scheme by Microsoft to retain their monopoly in the PC area. Don't let them extend their power!



					zer0.org
				




I'd say you were referring to the Dark Ages, but that was IE 5/Win and its broken CSS box model (the Tasman engine that drove IE 5.2 on OS X was better).  At least IE6 mostly behaved when you used an HTML 4.01 Strict doctype, and there were JS scripts that could be used with IE's "conditional comments" feature to apply some fixes that make it behave a bit better.

What I remember most fondly, however, is the trail Firefox blazed before anybody had ever heard of Google Chrome.  Firefox's SVG capabilities, basic XLink support, application/xhtml+xml MIME type support for XHTML, and XSLT 1.0 support were all amazing at the time.

Back then, there was also a genuine desire by much of the Web community to create sites that worked in as many browsers as practical, which usually meant IE6, Opera, Safari, and Gecko browsers like Firefox, Mozilla Suite, and Camino.  But as with all good things, it came to an end.  HTML5 brought back the "this site may not work in your browser" concept, and Google seems to be the one driving new ideas, so what we're left with are messages similar to those of the 1990s:

This page is best viewed in Netscape Navigator 4.0 Google Chrome.


----------



## hruodr (Aug 21, 2020)

If we depart from HTTP, HTML and its improvements with CSS and javascript, then a new
abstract concept for the web should be invented and consequently implemented.

Perhaps a browser as a virtual machine at which programs from the internet
in a "standard" language for writing GUIs runs. Or should the browser run also
compiler for programs sent? And perhaps the compiler could also be downloaded
as part of the web site?

I think all gets unnecessarily complicated because the development is dictated by
non technicians.


----------



## sidetone (Aug 21, 2020)

HTML5 is perfectly fine. It even helped get rid of (or almost entirely reduced dependence of) Flash. Perhaps there's an argument that it needs more features, but it's a markup language, not a programming language. There are so many features a markup language can have, and it isn't intended to be a programming language. It has a clear separation as a markup language, and it needs to stay that way. If it didn't, people would use the same complaints and worse about PHP or Javascript against HTML5.

CSS3 is ok, but it really needs to be improved upon with a newer version or replaced with something else entirely. It takes a lot of foresight to get spacing right, and then each element has to be spaced right again. Large parts of it often has to be redone later, as the website design improves. CSS files are big because each element has to contain specific attributes. Those who've used CSS understand how complex it is for the simplest attributes. Maybe something like Macros would help for specific things like font, and colors.

There is XML based XSLT for stylesheets. I've used them sparingly before, but I don't know how good of a design it can offer compared to what CSS does.

There was another one for stylesheets, something like XSL-FO (Formatting Objects), which I didn't understand because it said that people weren't supposed to edit the file, it was something like automatic. I didn't understand the concept.

I don't understand how anyone keeps preferring Javascript over PHP. Maybe PHP should be replaced, but definitely not with Javascript. Perhaps a good replacement is not invented yet. Or maybe can Python or Ruby replace it? Go-lang for those who like Google? PHP is more universally supported than potentially better alternates by hosting providers.

My .xsession-errors file is full of Javascript errors.


----------



## Deleted member 63539 (Aug 21, 2020)

sidetone said:


> My .xsession-errors file is full of Javascript errors.


My dmesg is full of Javascript errors from Firefox.


----------



## eternal_noob (Aug 21, 2020)

gh_origin said:


> My dmesg is full of Javascript errors from Firefox.


I noticed this too. If i quit Xorg, the console is full of Javascript errors. Is there a way to stop Firefox from logging into console?


----------



## Deleted member 63539 (Aug 21, 2020)

freebsd_noob said:


> I noticed this too. If i quit Xorg, the console is full of Javascript errors. Is there a way to stop Firefox from logging into console?


I don't know. But it's not a big deal. My dmesg is full of GTK related errors anyway. Whenever I shutdown there are a bunch of them showed up.


----------



## eternal_noob (Aug 21, 2020)

gh_origin said:


> But it's not a big deal.


For me it is. I have limited amount of RAM and i think logging thousands of useless error messages gonna affect performance.


----------



## sidetone (Aug 21, 2020)

I don't see Javascript errors in my `dmesg` output, neither with `| grep -i java`. Perhaps, I have to close Xorg or shutdown to see it there.

They're in .xsession-errors in mine. I could try a shell script to automatically move those specific errors to a new file like .xsession-errors-js.

The file /usr/local/etc/X11/xdm/Xsession sets the errors to ~/.xsession-errors. So maybe I can have a custom script inside ~/.xsession to separate some types of errors.


----------



## 20-100-2fe (Aug 21, 2020)

obsigna said:


> WebAssembly Concepts - WebAssembly | MDN
> 
> 
> This article has given you an explanation of what WebAssembly is, why it is so useful, how it fits into the web, and how you can make use of it.
> ...



It reminds me of Flex...


----------



## 20-100-2fe (Aug 21, 2020)

sidetone said:


> Maybe something like Macros would help for specific things like font, and colors.



You have CSS variables for this. 
And if you like stacking up frameworks, you also have SASS and friends.


----------



## 20-100-2fe (Aug 21, 2020)

sidetone said:


> I don't understand how anyone keeps preferring Javascript over PHP.



These are entirely different things. PHP runs on the server, JavaScript on the client.
And I know no PHP application that doesn't make use of JavaScript in its generated pages, I don't even know if it has existed in PHP's early days.


----------



## kpedersen (Aug 21, 2020)

obsigna said:


> Now, I conclude, that WebAssembly is not only inefficient and clumsy, it is a non-solution of a non-problem. It is absolutely useless.



C can't really directly interact with the Win32 API, X11 or OpenGL either. However for emscripten, this is what bindings are for. For example for some html5 features: https://emscripten.org/docs/api_reference/html5.h.html

Emscripten provides the EM_ASM{} syntax for "inline Javascript" to help create these bindings (https://emscripten.org/docs/api_reference/emscripten.h.html#c.EM_ASM). If Javascript ever did disappear, these parts can either migrate to the new thing or (more likely) interact with the DOM directly.

Quite a few WebAssembly programs have fairly substantial DOM wrappers and some replace much of it entirely. I am certainly not saying this is a good thing. Qt is a pain in the butt!








						WebAssembly Demo | WebAssembly Example | Qt on the Web
					

WebAssembly support in browsers is evolving rapidly. See how Qt runs in a browser with our WebAssembly demos and examples. Learn more about Qt on the web!




					www.qt.io
				








						Download Qt | Develop Desktop & Embedded Systems | Qt
					

Download Qt, the software that allows you to reach all your target platforms — desktop and embedded systems — and try out our UI and UX design tools.




					www.qt.io
				




Still early days but in ~20 years I reckon it will be the norm. Web developers just always seem to want new features and WebAssembly seems to offer it (in a slow and less than elegant manner).


----------



## sidetone (Aug 21, 2020)

20-100-2fe said:


> You have CSS variables for this.
> And if you like stacking up frameworks, you also have SASS and friends.


From what I just looked up, that's not pure CSS. CSS wouldn't work with a variable. It says it would have to be compiled, through SASS which you mentioned, to CSS in the form without the variable.

There were two types of variables, one which didn't work in CSS in itself, but compiled with something else to CSS.

Miniaturizing CSS for speed, would probably remove such variables. A macro shouldn't cause speed penalties, and those variables aren't in the CSS itself.


----------



## drhowarddrfine (Aug 21, 2020)

20-100-2fe said:


> Developers usually want (or have) to work with a recent version of the standard (e.g. TypeScript)


Typescript isn't a standard. It's a Microsoft developed superset of JavaScript


----------



## 20-100-2fe (Aug 21, 2020)

sidetone said:


> From what I just looked up, that's not pure CSS. CSS wouldn't work with a variable.



CSS variables are part of the CSS standard published by the W3C.
I can't remember whether they came with CSS 2.1 or CSS3 (which, by the way, is not a version number but a convenient nickname to refer to modularized CSS).


----------



## drhowarddrfine (Aug 21, 2020)

vigole said:


> Pretty much every single web developers I'm aware of (not many!), develop their project with Chrome/Chromium in mind, and a final test on 2-3 platform,namely Chromium(Desktop/Android) and rarely Safari.


This is a blunder made by incompetent web developers. You write to standards and NEVER to a browser. And if you aren't including Safari in your tests, you are ..... I don't want to get in trouble for what I've told people before.

EDIT: To continue. My web dev company mainly dealt with the entertainment industry and restaurants. Fully half of all visitors to the entertainment industry sites were through Safari. On the other hand, one of the restaurants sat a block away from a huge financial institution where 75% of their visitors used IE. One MUST consider the logs of their visitors and analytics!


----------



## Mjölnir (Aug 21, 2020)

kpedersen said:


> [...] Qt is a pain in the butt!
> 
> 
> 
> ...


Can you explain why?


> Still early days but in ~20 years I reckon it will be the norm. Web developers just always seem to want new features and WebAssembly seems to offer it (in a slow and less than elegant manner).


The general idea of WebAssembly is good.  Programmers are free to choose any language they like that can be transformed into WASM.  Maybe it has flaws in it's implementation, and maybe also some design flaws.


----------



## drhowarddrfine (Aug 21, 2020)

obsigna said:


> Now, I conclude, that WebAssembly is not only inefficient and clumsy, it is a non-solution of a non-problem. It is absolutely useless.


The things you listed are not what WebAssembly is for. Real heavy lifting shouldn't be done by WebAssembly.


----------



## 20-100-2fe (Aug 21, 2020)

drhowarddrfine said:


> Typescript isn't a standard. It's a Microsoft developed superset of JavaScript



You're right, for the moment it's only an industry standard.
I've been very surprised to see the speed at which it was adopted!


----------



## drhowarddrfine (Aug 21, 2020)

20-100-2fe said:


> I've been very surprised to see the speed at which it was adopted!


The last few years of my web dev company, which I closed last year, we never saw anyone who used it, but we never worked with Microsoft shops.


----------



## drhowarddrfine (Aug 21, 2020)

sidetone said:


> I don't understand how anyone keeps preferring Javascript over PHP.


Because PHP can't run in the browser.


> Or maybe can Python or Ruby replace it? Go-lang for those who like Google? PHP is more universally supported than potentially better alternates by hosting providers.


A lot of people don't like Ruby. Go is preferred by a lot of developers because it is web-centric. PHP is the language everyone loves to hate--and for good reason. While it's improved greatly in recent years, one can do better.


----------



## jbo (Aug 21, 2020)

goshanecr said:


> Currently CSS so flexible, that it possible to do various effects and tricks without JS.


And that is where the problem already starts: In my opinion websites don't need various effects. I cannot recall ever having visited a website for (visual) effects.

The problem I see is that these days people expect fancy looking stuff although it is adding zero value to the actual experience or service offered. At the same time it's often those people that complain about how slow things are and that their phone battery is dead after half a day.


----------



## drhowarddrfine (Aug 21, 2020)

joel.bodenmann said:


> In my opinion websites don't need various effects.


It's all about marketing. It's the marketing people pushing for the bells and whistles "as seen on TV!".


----------



## eternal_noob (Aug 21, 2020)

joel.bodenmann said:


> In my opinion websites don't need various effects.


CSS directly affects the accessibility of Web documents: https://www.w3.org/TR/CSS-access.html
For example https://webaim.org/techniques/css/invisiblecontent/

Besides that, CSS is for art only: https://css-art.com/ and i think it's overused.


----------



## sidetone (Aug 21, 2020)

I don't need Javascript then, like others have said. Maybe this is basic, and lacks features, but it works. Others here say that works as well.


----------



## hruodr (Aug 21, 2020)

sidetone said:


> HTML5 is perfectly fine.



It cannot be anymore verified with: http://www.jclark.com/sp/nsgmls.htm

And, as far as I know, javascript is still necessary for AJAX.



sidetone said:


> I don't understand how anyone keeps preferring Javascript over PHP. Maybe PHP should be replaced, but definitely not with Javascript.



They are for different tasks: Javascript runs in the browser, PHP in the server. No replacement.

But I do not understand the php hype. Older is modperl in Apache. Older is tcl 
in aolserver / naviserver. PHP was a superfluous invention.


----------



## 20-100-2fe (Aug 21, 2020)

joel.bodenmann said:


> And that is where the problem already starts: In my opinion websites don't need various effects. I cannot recall ever having visited a website for (visual) effects.
> 
> The problem I see is that these days people expect fancy looking stuff although it is adding zero value to the actual experience or service offered. At the same time it's often those people that complain about how slow things are and that their phone battery is dead after half a day.



So true! I'm currently on holiday in a small village and only have an ADSL connection. I don't remember the web being so slow when I was using ADSL at home!
Installing anything is a long, long adventure. Even forums.freebsd.org is terrible.

Moreover, the Mozilla Foundation conducted a survey a few years ago showing a page's loading consisted for 45% (if memory serves me well) in trackers and ads.
The same study showed HTML5 notifications were refused by something like 90% of web users.


----------



## sidetone (Aug 21, 2020)

(HTML5) 





hruodr said:


> It cannot be anymore verified with: http://www.jclark.com/sp/nsgmls.htm



HTML5 took after XHTML to compete with it, which XHTML is or is like an XML standard. I'm unsure of HTML5's relation to SGML or XML, but it behaves much like an XML standard. Previous versions of HTML were no way related to XML in form, and were SGML or like SGML.


----------



## drhowarddrfine (Aug 21, 2020)

sidetone said:


> I'm unsure of HTML5's relation to SGML or XML, but it behaves much like an XML standard.


Pretty much the same as before but you still need a XHTML doctype and server header to turn that on but including SVG, which is XML, inside a HTML document is easy.


----------



## hruodr (Aug 21, 2020)

sidetone said:


> Older versions of HTML were SGML or like SGML.



They *were* SGML, that is why they could be validated wit `nsgml`, HTML5 not
anymore.

XHTML *is* XML. You must decide between on one side smaller and more readable code, on the
other side inflated XML. The trend is the second. A newspaper page with some text may take
megabytes, a lot of obfuscated javascript code.  SGML is harder to parse than XML, but that
is nothing compared with the javascripts running, many of them making the browser completely
lame.


----------



## sidetone (Aug 21, 2020)

HTML5 took on many of the same standards of XHTML. HTML5 operates like XML rather than SGML. This is probably why it won't validate there.

XHTML has XML standards on having corresponding opening and closing tags. Previous HTML's weren't standardized in this way, and let a lot slide to validate. HTML5 has the same standards as XHTML in this way.


----------



## drhowarddrfine (Aug 21, 2020)

sidetone said:


> XHTML has higher standards on having corresponding opening and closing tags. Previous HTML's let that slide. HTML5 has the same standards as XHTML in this way.


It does not. The standard is the same assuming you mean closing tags such as 
	
	



```
<img />
```
 I see that often but that closing slash has never been part of any HTML standard including HTML5. In fact, the standard specifically states that slash has no meaning and does nothing in HTML.


----------



## obsigna (Aug 21, 2020)

drhowarddrfine said:


> The things you listed are not what WebAssembly is for. Real heavy lifting shouldn't be done by WebAssembly.


Perhaps I was not clear enough. Reading the documents, am I the only one who recons, that WASM is limited to number crunching, nothing else. And then, the question is, for what do I need a number cruncher in the web browser, which by definition is a frontend. I won't need it. Perhaps hackers would love it for mining bitcoins in your browser. Are there any other useful applications for JavaScript embedding a WASM number crunching kernel (and no it is not the other way around, WASM with JS bindings).

Somebody said there will be a Qt port to the web browser. Are people working on running Qt applications in QtWeb? Will we see QtWeb running in QtWeb running in QtWeb running in ..., as sort of a benchmark for system performance, and the depth count until the system freezes would be the performance indicator. Happy coding


----------



## sidetone (Aug 21, 2020)

drhowarddrfine said:


> It does not. The standard is the same assuming you mean closing tags such as
> 
> 
> 
> ...


XHTML has higher standards than HTML4 and previous HTML's.

That closing slash is required in HTML5 to validate, not likely in previous HTML's. A self closing tag uses the slash at the end <div class="something" />. Other opening and closing tags have to correspond perfectly to validate in HTML5 and XHTML. Much of this can be missing in HTML4 and previous, and still be valid. HTML5 adopted much of the standards of XHTML1.1. Previous HTML's weren't standardized comparable to this.


----------



## drhowarddrfine (Aug 21, 2020)

obsigna Wasm allows you to use other languages to compile to native code that runs inside the browser. That will certainly run faster than interpreted or compiled JavaScript. However, you are still running inside the browser of either someone's home computer or their phone which, in many cases, aren't as powerful as what one may use for scientific computing. However, for simple use cases, such as a physics demonstration or, of course, some marketing presentation, it may be ample enough. 

I know there are many more examples of good usage but it shouldn't be done right now for every little thing.


----------



## drhowarddrfine (Aug 21, 2020)

sidetone said:


> That closing slash is required in HTML5 to validate


It is not.  Never has. And you will not find any specification or example in those specifications where it is used.

This, in fact, is invalid.

```
<div class="something" />
```


----------



## kpedersen (Aug 21, 2020)

mjollnir said:


> Can you explain why?



Similar to boost, it tends to grow like a cancer. It is far too large. Some highlights:

1) Non-standard C++ (requires a preprocessor). Try to build a Qt3 program today and you will see the issue.
2) Focusing on non-c++ "things" (like Qt-Quick, QML, etc) because they have made the project far too inelegant to develop in C++.
3) For a GUI library... they have missed the mark. They have checked everything including the kitchen sink in there, making it difficult to port to new and innovative platforms.

Things like this will become more and more common (The Debian Qt maintainers stepping down because Qt6 is too large for their workload. They can barely keep up with Qt5).






						Stepping down as Qt 6 maintainers
					

After quite some time maintaining Qt in Debian both Dmitry Shachnev and I decided to not maintain Qt 6 when it's published (expected in Dece...




					perezmeyer.blogspot.com
				




The way professional developers use it, is not how the Qt developers want them to use it. Qt-Quick and QML is unsuitable when you need to also need to bind against the native macOS interface, android interface and wincx interface. The lowest common denominator approach (everything Qt!) is not really used.


----------



## getopt (Aug 21, 2020)

*Security Considerations*

WebAssembly increases the attack surface of any browser that supports it. In security engineering, countermeasures are typically employed to reduce risk to potential threats. Here are a few concerning aspects of WebAssembly:


			
				https://github.com/stevespringett/disable-webassembly said:
			
		

> Web server sends WASM modules to browser in binary format
> WebAssembly execution relies on browser sandboxing for safety
> Transmission  and execution does not require TLS, HSTS, or any other transport layer security mechanism
> Integrity checking is not possible as WASM modules are not required to be signed by their author
> ...


----------



## kpedersen (Aug 21, 2020)

getopt said:


> WebAssembly increases the attack surface of any browser that supports it.



So does WebGL and Javascript. If anything, this makes the web industry want the technology more! XD



obsigna said:


> Perhaps I was not clear enough. Reading the documents, am I the only one who recons, that WASM is limited to number crunching, nothing else. And then, the question is, for what do I need a number cruncher in the web browser, which by definition is a frontend. I won't need it.



The cynic in me suggests to process more intensive ads and browser based bitcoin miners 

What I am *hoping* it would provide if it does take off is that you (as the developer) can provide the HTML/CSS/Javascript implementation. For example imagine if you have a crusty IE6 internal business website that needs to work in 2020. You could in theory provide the required broken implementations of JS/CSS/HTML renderer that have all the quirks required to run the web app.

Obviously Microsoft would need to release the source for their IE6 browser or someone painstakingly clones the weirdness but looking forward this could be a semi nice solution to digital preservation.


----------



## drhowarddrfine (Aug 21, 2020)

kpedersen WordPress for the win!


----------



## kpedersen (Aug 21, 2020)

drhowarddrfine said:


> kpedersen WordPress for the win!



Haha. Yep, nothing quite says "futureproof" like Wordpress!


----------



## obsigna (Aug 21, 2020)

drhowarddrfine said:


> obsigna Wasm allows you to use other languages to compile to native code that runs inside the browser. That will certainly run faster than interpreted or compiled JavaScript. However, you are still running inside the browser of either someone's home computer or their phone which, in many cases, aren't as powerful as what one may use for scientific computing. However, for simple use cases, such as a physics demonstration or, of course, some marketing presentation, it may be ample enough.
> 
> I know there are many more examples of good usage but it shouldn't be done right now for every little thing.


All well and good. I entered the whole WASM discussion in order to counter the affirmation that it will replace JavaScript.


kpedersen said:


> I believe in around 20 years, HTML, CSS and Javascript will not be provided by the browser. Instead it only supports WebAssembly binaries. Then it is up to the developer if they want to use HTML, CSS and Javascript or a different technology stack entirey, they upload the implementations.


I guess, your observation that WASM is good for niche applications comes close enough to support my case, WASM won't replace JS and HTML/CSS neither.


----------



## drhowarddrfine (Aug 21, 2020)

obsigna Reference: Will WASM replace JavaScript


----------



## kpedersen (Aug 21, 2020)

obsigna said:


> comes close enough to support my case, WASM won't replace JS and HTML/CSS neither.



Yep, wont replace it. But it might very well provide the "implementation of". Unless of course a developer prefers a different stack, i.e Lua/QML/Xdefaults (would be pretty absured but I am sure more feasible ones will come along).
Then Lua could "replace" Javascript if enough people preferred it. However in either case, the developer will have to provide the Lua or JS interpreter to the user.

It is kind of already happening in small parts (https://cseweb.ucsd.edu/~dstefan/pubs/narayan:2020:rlbox.pdf)


----------



## obsigna (Aug 21, 2020)

drhowarddrfine said:


> obsigna Reference: Will WASM replace JavaScript


I know this one, and I read many other docs as well. I am not the guy who said and yet insists, that it will. Here is another interesting reading for people who think WASM might be good for implementing JavaScript and then doing AI with that implementation running on a ChromeBook 

https://www.assemblyscript.org/frequently-asked-questions.html#is-webassembly-always-faster


----------



## kpedersen (Aug 21, 2020)

obsigna said:


> https://www.assemblyscript.org/frequently-asked-questions.html#is-webassembly-always-faster



Your link to the new language "AssemblyScript" is a great example of how WebAssembly is enabling new languages to run in the web browser. These are exactly what I was referring to in terms of what could replace JavaScript in a developers "technology stack". Though I imagine an interpreted one like Python, Lua would be a more popular choice.

AI wouldn't be my choice for a web browser target (other than games, but they mostly use glorified search algorithms (i.e A*) more than "real AI"). However if I was to implement it, languages other than JS would certainly be preferable. Besides, a shedload of fantastic AI middleware already exists for C++ so I would probably leverage some of that instead.



obsigna said:


> might be good for implementing JavaScript and then doing AI with that implementation running on a ChromeBook



It is funny that people are trying to do just that XD
Web developers don't always make the most sane choices, but I guess sometimes web is all they know so of course they try to bring unsuitable domains into it haha









						GenerateJavaScriptUsingMATLABCoder
					

Create JavaScript and WebAssembly apps and libraries from MATLAB projects using MATLAB Coder.




					www.mathworks.com


----------



## a6h (Aug 21, 2020)

drhowarddrfine said:


> This is a blunder made by incompetent web developers. You write to standards and NEVER to a browser


I wasn't endorsing that behaviour. just showing a limited anecdotal experience.


----------



## Mjölnir (Aug 22, 2020)

Jose said:


> [...]  What I'm looking for is recommendations for open source software that does the following:
> - Calendar/Contacts/Phone file sync (Nextcloud)
> [...]  I'm looking for a completed, tested product with a medium-to-large community around it. I'll save you some time. I've tried Moin, Redmine, and Trac (and Owncloud as I stated above).


Maybe www/radicale is for you?
`portell radicale`
_Radicale is a small but powerful CalDAV (calendars, todo-lists) and CardDAV
(contacts) server, that:
Shares calendars through CalDAV, WebDAV and HTTP.
Shares contacts through CardDAV, WebDAV and HTTP.
Supports events, todos, journal entries and business cards.
Works out-of-the-box, no installation nor configuration required.
Can warn users on concurrent editing.
Can limit access by authentication.
Can secure connections.
Works with many CalDAV and CardDAV clients.
Is GPLv3-licensed free software.

WWW: https://radicale.org/
WWW: https://github.com/Kozea/Radicale_


----------



## Mjölnir (Aug 22, 2020)

kpedersen said:


> [...]  AI wouldn't be my choice for a web browser target (other than games, but they mostly use glorified search algorithms (i.e A*) more than "real AI"). However if I was to implement it, languages other than JS would certainly be preferable. Besides, a shedload of fantastic AI middleware already exists for C++ so I would probably leverage some of that instead. [...]


IIRC new SoCs came out recently with an additional chip specially crafted to implement neural networks.  Next generation smartphones, tablets & other consumer devices will be able to perform AI computations far beyond today's capabilities.  Sorry I have no link; maybe someone can post one.


----------



## kpedersen (Aug 22, 2020)

mjollnir said:


> IIRC new SoCs came out recently with an additional chip specially crafted to implement neural networks.



Yeah I have seen a few examples. Not really my area but I know NVidia is trying to get into it (with Jetson Nano being an example). Most current "ai" can be done on a GPU so perhaps they are just tweaking similar hardware and providing a "fancy" API.


----------



## hruodr (Aug 22, 2020)

Jose said:


> What I'm looking for is recommendations for open source software that does the following:
> 
> - Calendar/Contacts/Phone file sync (Nextcloud)
> - Webmail (Roundcube)
> - Wiki (Dokuwiki)



I also wanted to test groupware software. The idea is to be able to easily and fast built an
inexpensive server for a project when needed. Not necessarily Software projects.
I search for lightweight programs that do not need much resources.

I have Debian on VMware ESXi, 20GB disk and 500MB ram. It rans debian and
not *BSD, because the provider do not want to change the configuration of
the VM. And first I am trying to test debian as it comes.

I have sendmail and cyrus imap, for email they ran without problems. Cyrus Imap
offers calendar and addresbook, but unfortunately debian spoiled them: I will have
to compile cyrus imap, wait until the problem is solved, or search for an alternative.
See here:



			HTTP modules — Cyrus IMAP 3.6.0 documentation
		


For Webmail I have mail/prayer, it is very lightweight, runs without
problem, but I need to configure some details. It seems it is not maintained.

I am till now searching for the right lightweight wiki. I run devel/fossil
as CGI serving many repos, and they have a wiki, but as wiki they are very limited.
On one repo I linked MathJax, so that I can write mathematical formulae
in the wiki.

As mailing list I have mlmmj, also very lightweight, it does not run as daemon, it
is triggered as a programm in /etc/mail/aliases, it needs also an
entry in crontab.

As ticket system I have www/rt44, but I am not happy, it is not lightweight
and is too complicated. A ticket system is necessary to interact with the outside world,
it introduces some structure for document (mail) management. Imagine how to deal
with hundreds of Emails or text sent with web form when only few people work at the
project.

And I continue to search for interesting software, for example VoIP, chat, etc.


----------



## Jose (Aug 25, 2020)

mjollnir said:


> Maybe www/radicale is for you?


I evaluated Radicale when I ran across this fellow traveler's page. I also tried the other alternatives he lists.

I don't remember exactly why I ruled Radicale out, but it was probably because of authentication. It was a while back, and I vaguely recall some unpleasantness around the upgrade between Radicale 2 and 3.

Since most of my users are only somewhat technically competent, and I don't want to give them all root, there has to be a simple Web-based way for people to change their own passwords. Text files that have to be edited by root are not an option. I've basically narrowed it down to you've got to support PAM authentication or Kerberos, or I'm not interested in your software.

As an aside, the author is a big fan of Racket, a language I was recently reintroduced to by Anonymous9.


----------



## Jose (Aug 25, 2020)

hruodr said:


> I also wanted to test groupware software. The idea is to be able to easily and fast built an
> inexpensive server for a project when needed. Not necessarily Software projects.
> I search for lightweight programs that do not need much resources.


I've got most of an Ansible script that sets up a Freebsd server on Digital Ocean to run Postfix, Dovecot, and Roundcube. It includes a Roundcube plugin I wrote to allow you to change your password somewhat securely. I really need to finish that project.



hruodr said:


> I have Debian on VMware ESXi, 20GB disk and 500MB ram. It rans debian and
> not *BSD, because the provider do not want to change the configuration of
> the VM. And first I am trying to test debian as it comes.


I feel ya. I had to learn Netbsd because that's all one of my virtual server providers supported at the time.



hruodr said:


> I have sendmail and cyrus imap, for email they ran without problems. Cyrus Imap
> offers calendar and addresbook, but unfortunately debian spoiled them: I will have
> to compile cyrus imap, wait until the problem is solved, or search for an alternative.
> ...


I could never get used to the way in which Cyrus lays out the inbox, so I use Dovecot. I'm never going back to sendmail.cf. It's Postfix for me, thanks.



hruodr said:


> For Webmail I have mail/prayer, it is very lightweight, runs without
> problem, but I need to configure some details. It seems it is not maintained.


Had never heard of that one. The Freshports entry for it says it's broken and deprecated. That's a shame.



hruodr said:


> I am till now searching for the right lightweight wiki. I run devel/fossil
> as CGI serving many repos, and they have a wiki, but as wiki they are very limited...


I tried Trac and Redmine, and have decided that integrating the wiki, bug tracker, and source browser into one is a bad idea. I prefer discrete projects for each of the roles. I've settled on Dokuwiki, Bugzilla, and Gitweb.



hruodr said:


> And I continue to search for interesting software, for example VoIP, chat, etc.


Give net-im/prosody a try. Nice, simple, and lightweight.


----------

