No Description

c0digam0s 244b6e5d95 Merge branch 'feature/ep-17-odes' of c0digam0s/calc-explorer into master 1 year ago
.vscode 2f20ae831e Ep8: Refactor structure; add plotting helpers. 2 years ago
src 7a82f4ae19 Ep. 17: Add ODE solver examples. 1 year ago
.dockerignore 60305762d5 Initial commit. 2 years ago
.gitignore eb4af4a049 Allow cargo lockfile. 2 years ago
Cargo.lock 7a82f4ae19 Ep. 17: Add ODE solver examples. 1 year ago
Cargo.toml 7a82f4ae19 Ep. 17: Add ODE solver examples. 1 year ago
Custom_Functions.ipynb 7a82f4ae19 Ep. 17: Add ODE solver examples. 1 year ago
Dockerfile 7a82f4ae19 Ep. 17: Add ODE solver examples. 1 year ago
Explore.ipynb 7a82f4ae19 Ep. 17: Add ODE solver examples. 1 year ago
LICENSE.md e892f43e29 Add license. 2 years ago
Makefile a89001e99e Ep. 6: add function to compare convergence rates. 2 years ago
README.md ee5131a5b5 Ep. 000: Include build-essential in setup notes. 2 years ago

README.md

Calc Explorer

A library for exploring calculus concepts by writing code in Rust.

Getting Started

Code Basics

To use the code, without using containers, follow these steps.

  • Install the rust toolchain.
    • For posix systems: shell sudo apt install build-essential && \ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    • For other systems, use your favorite search engine to find instructions.
  • Install git.
  • Clone the repository: shell git clone https://notabug.org/c0digam0s/calc-explorer.git
  • Checkout the branch of interest.
    • master is the primary branch that all features get merged into.
  • Try it out! shell cargo test

Using the container for code

To use the container, but just for writing code, follow these steps.

  • Follow the steps above pertaining to Git
    • Install Git.
    • Clone the repo.
    • Checkout the branch of interest.
  • Install Docker
    • Of course you can use a different container service, but you'll need to update some files replacing the docker commands with that of your favorite service.
    • See: https://docs.docker.com/get-docker/
  • Build the container
    • For posix systems, I've included a Makefile which has handy helpers.
    • To be clear, we're abusing Make's convenience to run pseudo-scripts of command line code.
    • Build the container with make container
    • Run the container with make run
    • For non-posix systems, I leave it up to you to decipher the Makefile commands and port them to your system :shrugs:

Using the container with Jupyter

The container has jupyter lab built in. To use this, follow these steps.

  • Follow the above steps
    • Follow the Git intall/setup steps
    • Install Docker
    • Build the container
  • Run Jupyter
    • Again, use the Makefile on posix systems. See note above.
    • Run the jupyter lab server with make jupyter
    • Close the jupyter lab server with make close
  • Navigate to: http://localhost:9999
    • Use the Explore.ipynb to see how it works.
    • New rust kernels are available to launch, and you can switch kernels between python and rust as you wish.
    • Of course, python code won't execute on a rust kernel, and vice-versa.

Usage permission, license, and code of conduct

I hate all of this.

  • The entire repo is licensed under MIT license.
  • Which means I give full license to use any part of this repo however you like.
  • On the other hand, rust has a ridiculous code of conduct, so be sure that you comply with that.
    • ridiculous in the sense that there is a code of conduct, and that they are proud of it. This is not a judgment on the enumerated expectations, just that the existence of such a thing is celebrated by anyone. Freedom!
  • docker and python have their own licensing; educate yourself on them.
  • Usage of this repo implicitly accepts any licensing and conduct rules for any components therein, and is the responsibility of the user to comply.