How it should be?
I imagine that a web browser should have been a "window" to the Internet world that provides easy and efficient way to graphically access resources exposed by multiple protocols: HTTP(S), (S)FTP, Gopher, Gemini, etc…
How it is?
Only few protocols are supported!
Recently FTP support got "deprecated" in Firefox. It can still be enabled in by setting network.ftp.enabled
to true.
FTP support is announced to be completely gone in FF 90.
Chrome dropped FTP some time ago.
BUT!
Luckily we have Emacs!
GNU Emacs has packages to support all kinds of protocols.
eww
which is a simple HTTP(S) browser like w3m (also renders images)
tramp
allows you to access files by SSH
elpher
allows you to access Gemini and Gopher sites (graphically)
angeftp
allows you to connect to FTP servers
 and finally
netutils
which wraps around system utilities to provide interactive mode for many protocols, ie.: gopher, irc, ntp, pop3, www
Also see: FastRacket at Racket's GitHub Wiki
Creating binaries
You can create portable binaries with Racket's raco
command! Use raco exe
and raco distribute
.
More > https://docs.racketlang.org/raco/exe.html
Sample games
Racket provides a executable pltgames
, when ran (from console) it opens a menu of miscellaneous games, among them: jewel, minesweeper, aces, spider, checkers. & more (20 games total).
Plots
You can plot data in 2d & 3d forms.
2D
Sample code:

#lang racket/base
(require racket/gui/base racket/math plot)
(plotnewwindow? #true)
(plot (function sin ( pi) pi #:label "y = sin(x)"))

3D
Sample code:

#lang racket/base
(require racket/gui/base racket/math plot)
(plotnewwindow? #true)
(plot3d
(surface3d (lambda (x y) (* (cos x) (sin y)))
( pi) pi ( pi) pi)
#:title "An R × R → R function"
#:xlabel "x" #:ylabel "y" #:zlabel "cos(x) sin(y)")

Browser
There's a included library to render web pages, just "(require browser)".
Sample code:

#lang racket
(require browser)
(openurl "https://xgqt.gitlab.io/")

FFI
You can use Racket's Foreign Function Interface to interact with nonRacket libraries to make use of very fast libraries written in (mainly) FORTRAN & C.
For example sci uses FFI for CBLAS & LAPACK.
Parallelism
For greater speed up with parallel execution there are futures, places and distributed places (for distributed programming).
Intro
Sage may be available on your distro but on Gentoo such frivolities for students are not there yet, so I had to install it the manual way.
User
I went to the Sage website, to the "downloadsource" link. The source mirror I picked was France.
Ok, so let's follow Sage Math build instructions and get it going

wget wwwftp.lip6.fr/pub/math/sagemath/src/sage9.2.tar.gz
tar xvf sage9.2.tar.gz
cd sage9.2
./configure
make

And now, let's wait…
Portage
After a long, long, long time waiting I remembered that there existed a Gentoo overlay for Sage. And in the meantime I thought I'd try that solution instead since some good Gentoo people already did most of the effort.
Just a few files to edit…
File: /etc/portage/repos.conf/sageongentoo.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14 
# * conf *
[sageongentoo]
autosync = yes
location = /var/db/repos/sageongentoo
priority = 999
syncgitcloneextraopts = depth=999999999 noshallowsubmodules verbose
syncgitpullextraopts = verbose
synctype = git
syncumask = 022
syncuri = https://github.com/cschwan/sageongentoo.git
syncuser = root:portage

File: /etc/portage/package.accept~keywords~/zzsage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 
# * conf *
scimathematics/sage **
*/*::sageongentoo
devpython/cvxopt
mediagfx/tachyon
scilibs/bliss
scilibs/dsdp
scilibs/fflasffpack
scilibs/fplll
scilibs/libhomfly
scilibs/linbox
scilibs/m4rie
scimathematics/glpk

File: /etc/portage/package.use/zzsage
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 
# * conf *
scimathematics/sage dochtml dochtmlbin
scimathematics/sage docpdf docpdfbin
scimathematics/sage jmol
scimathematics/sage X bliss meataxe
devpython/pplpy doc
scilibs/cddlib tools
scilibs/pynac giac
scimathematics/eclib flint
scimathematics/flint ntl
scimathematics/glpk gmp
scimathematics/gmpecm openmp
scimathematics/lcalc pari
scimathematics/maxima ecls
scimathematics/pari gmp doc

Now  let's build Sage with Portage!
>>> Emerging (1 of 100) scimathematics/cliquer–1.21::gentoo
At least I know more or less how long I'm going to wait and know what exactly fails to build, if anything does.
Final
Build
$ qlop tv sage
> 2021–03–23T20:49:12 >>> scimathematics/sage–9999: 55′04″
Git stats
Overlays
This info we can easily gather with executing:
Gentoo' HEAD: 33f2d770c28307b1e9a1199c681e1c543602c6d4
SageonGentoo's HEAD: f7eac5b7e1a844132164b7593dab85cd87918664
Sage
Sage repository's HEAD (because we are using the live (9999) ebuild):

cat /var/cache/distfiles/git3src/sagemath_sage.git/refs/heads/develop

Which returns: 5cb72aade9b297c10bb0f1ae8529466e5b5eb41d