What do you think about doing JS-Free sites?

It does not. The standard is the same assuming you mean closing tags such as
Code:
<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.
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.
 
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.
 
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).


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.
 
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
  • A primary WebAssembly goal is to: provide developers with useful primitives and mitigations for developing safe applications.



Based on the above facts, here are some potential threats in using browsers that support WebAssembly:


  • Static code analysis becomes increasingly difficult as source code may not be available
  • Sandboxing is prone to breakouts and effectiveness varies largely by implementation. Adobe Flash is an example of a technology that was sandboxed after a series of exploits, yet exploits and breakouts still occurred.
  • Transmitting a binary executable format over an insecure channel is susceptible to man-in-the-middle attack.
  • Code signing, the process of verifying software has not been tampered with, is not currently possible with WASM. WASM is selling itself as the ability to run desktop-like applications in the browser, yet the operating systems it supports all have code signing requirements for installed software. Allowing random drive-by software to execute unsigned seems to be a 'feature' of WebAssembly.
  • WebAssembly assumes that 'safe applications' can be derived from language subsets and a few rules to prevent specific type of behavior. This is similar to blacklisting in the security world, a technique that rarely works. The specification omits the possibility of misuse cases from their security dialog. Exploits can occur in 'safe applications' simply by using the application in a way it wasn't designed to run. Since static code analysis is not currently possible, automatically identifying potential performance, insider-threats, security, and misuse cases is not possible.
 
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

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.
 
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.
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.
 
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)
 

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.

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

 
[...] 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
 
[...] 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.
 
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.
 
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:


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.
 
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.
 
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.

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.

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.

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.

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.

And I continue to search for interesting software, for example VoIP, chat, etc.
Give net-im/prosody a try. Nice, simple, and lightweight.
 
Back
Top