Mybinder.org broken for Julia repos?

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.

3 Likes