After creating a free account on cocalc.com, I was able to create a Pluto.jl notebook. You can also boot up Jupyter Classic, JupyterLab, or VS code.
Here is the output of versioninfo()
:
Julia Version 1.10.0
Commit 3120989f39b (2023-12-25 18:01 UTC)
Build Info:
Official https://julialang.org/ release
Platform Info:
OS: Linux (x86_64-linux-gnu)
CPU: 4 × Intel(R) Xeon(R) CPU @ 2.80GHz
WORD_SIZE: 64
LIBM: libopenlibm
LLVM: libLLVM-15.0.7 (ORCJIT, cascadelake)
Threads: 2 on 4 virtual cores
Environment:
JULIA_DEPOT_PATH = /home/user/.julia:/ext/julia/depot/
JULIA_LOAD_PATH = /tmp/jl_OnyX4I:@:@v#.#:@stdlib
JULIA_REVISE_WORKER_ONLY = 1
The main disability of the free account is the lack of Internet access from cloud machine. Thus, I needed to switch Pluto to use the default environment as follows.
using Pkg
Pkg.activate("v1.10", shared=true)
Pkg.status()
The output is Pkg.status()
is
Activating project at `/ext/julia/depot/environments/v1.10`
Status `/ext/julia/depot/environments/v1.10/Project.toml`
⌃ [a134a8b2] BlackBoxOptim v0.5.0
⌃ [764a87c0] BoundaryValueDiffEq v2.8.0
⌅ [336ed68f] CSV v0.7.10
[159f3aea] Cairo v1.0.5
[49dc2e85] Calculus v0.5.1
⌅ [324d7699] CategoricalArrays v0.8.3
⌅ [aaaa29a8] Clustering v0.14.4
[35d6a980] ColorSchemes v3.24.0
[5ae59095] Colors v0.12.10
[861a8166] Combinatorics v1.0.2
⌅ [34da2185] Compat v3.47.0
[a81c6b42] Compose v0.9.5
[f65535da] Convex v0.15.4
[150eb455] CoordinateTransformations v0.6.3
⌃ [3b531cbf] DataConvenience v0.2.0
⌅ [a93c6f00] DataFrames v0.21.8
⌃ [1313f7d8] DataFramesMeta v0.7.1
[7806a523] DecisionTree v0.12.4
⌅ [31c24e10] Distributions v0.23.12
⌅ [7c1d4256] DynamicPolynomials v0.4.6
[4f61f5a4] FFTViews v0.3.2
[7a1cc6ca] FFTW v1.7.2
[e6aeac8e] FastGroupBy v0.2.6
[becb17da] Feather v0.5.10
[5789e2e9] FileIO v1.16.1
[186bb1d3] Fontconfig v0.4.1
[f6369f11] ForwardDiff v0.10.36
[da1fdf0e] FreqTables v0.4.6
[38e38edf] GLM v1.9.0
⌃ [c91e804a] Gadfly v1.3.3
[a2cc645c] GraphPlot v0.5.2
[42e2da0e] Grisu v1.0.2
⌃ [f213a82b] HomotopyContinuation v2.6.4
[7073ff75] IJulia v1.24.2
⌃ [2803e5a7] ImageAxes v0.6.9
[4381153b] ImageDraw v0.2.6
[92ff4b2b] ImageFeatures v0.5.2
⌅ [6a3955dd] ImageFiltering v0.6.21
[6218d12a] ImageMagick v1.3.0
⌃ [bc367c6b] ImageMetadata v0.9.5
⌅ [787d08f9] ImageMorphology v0.2.11
⌃ [80713f31] ImageSegmentation v1.4.8
⌅ [916415d5] Images v0.23.3
[c601a237] Interact v0.10.5
[b6b21f68] Ipopt v1.5.1
⌃ [babc3d20] JDF v0.3.0
⌃ [13d6d4a1] JLBoost v0.1.12
[682c06a0] JSON v0.21.4
[0f8b85d8] JSON3 v1.14.0
[4076af6c] JuMP v1.17.0
[a5e1c1ea] LatinHypercubeSampling v1.9.0
[50d2b5c4] Lazy v0.15.1
[093fc24a] LightGraphs v1.3.5
⌅ [e1d29d7a] Missings v0.4.5
[76087f3c] NLopt v1.0.0
[2774e3e8] NLsolve v4.5.1
[429524aa] Optim v1.7.8
[46a55296] ParquetFiles v0.2.0
⌃ [91a5bcdd] Plots v1.35.0
[c3e4b0f8] Pluto v0.19.36
[2fc8631c] PlutoSliderServer v0.3.28
⌃ [7f904dfe] PlutoUI v0.7.1
[27ebfcd6] Primes v0.5.5
[438e738f] PyCall v1.96.4
[d330b81b] PyPlot v2.11.2
[ce6b1742] RDatasets v0.7.7
[37e2e3b7] ReverseDiff v1.15.1
[f2b01f46] Roots v2.0.22
⌅ [0bca4576] SciMLBase v1.81.0
[562c1548] SortingLab v0.2.8
[928aab9d] SpecialMatrices v3.0.0
⌅ [2913bbd2] StatsBase v0.33.21
⌃ [2cb19f9e] StatsKit v0.3.0
⌃ [f3b207a7] StatsPlots v0.14.32
[24249f21] SymPy v2.0.1
[40c74d1a] TableView v0.7.2
[bd369af6] Tables v1.11.1
[5e47fb64] TestImages v1.8.0
⌃ [b8865327] UnicodePlots v2.12.4
⌃ [0f1e0344] WebIO v0.8.17
[ddb6d928] YAML v0.4.9
[a5390f91] ZipFile v0.10.1
[37e2e46d] LinearAlgebra
[9a3f8284] Random
[10745b16] Statistics v1.10.0
Info Packages marked with ⌃ and ⌅ have new versions available. Those with ⌃ may be upgradable, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated`
This was sufficient to run the following code and generate a plot as follows.
Finally, I could “publish” the Pluto.jl notebook at the following URL, enabling others to easily run it:
Besides the lack of internet access with a free account, another major limitation is only having 1 GB of RAM. For Julia, this can be critical since precompilation of a package like Makie.jl can easily exceed that RAM requirement.