
## Julia tips

This page is best viewed with a
[markdown viewer](https://chrome.google.com/webstore/detail/markdown-viewer/ckkdlimhmcjmikdlpkmbgfkaikojcbjk?hl=en)

* [Julia release notes](https://docs.julialang.org/en/v1/NEWS/)

* [Julia performance tips](https://docs.julialang.org/en/stable/manual/performance-tips)

* [Julia Plot attributes/keys](http://docs.juliaplots.org/latest/attributes)

* [Chrome plug-in for viewing .ipynb files (Jupyter notebooks)](https://chrome.google.com/webstore/detail/open-in-nbviewer/ihlhlehlibooakiicbiakgojckpnlali)
that is based on
http://nbviewer.jupyter.org

* In the shell use `setenv JULIA_NUM_THREADS 4` before starting Julia,
because
[the default is 1](https://docs.julialang.org/en/latest/manual/environment-variables/#JULIA_NUM_THREADS-1)

* Use `Threads.nthreads()` to see how many CPU threads Julia is using.

* You can [customize your Julia prompt](https://en.wikibooks.org/wiki/Introducing_Julia/The_REPL#Changing_the_prompt_and_customising_your_Julia_session)

* My Julia prompt shows the version and the number of threads:

```
using REPL
function myrepl(repl)
	repl.interface = REPL.setup_interface(repl)
	nt = Threads.nthreads()
	repl.interface.modes[1].prompt = "julia-$(string(VERSION))κ$nt> "
	return
end
atreplinit(myrepl)
```

* Use package `Revise` for development

* [Browser shortcut for searching Julia manual](https://discourse.julialang.org/t/how-to-search-the-manual-more-efficiently/19314)

* [juypytext](https://github.com/mwouts/jupytext) is useful for converting between jupyter notebooks and julia scripts

* To use `Interact` package in Jupyter with Julia 1.2 I did
```
]add WebIO
]build WebIO
import WebIO
WebIO.install_jupyter_nbextension()
```
per advice at
https://juliagizmos.github.io/WebIO.jl/latest/troubleshooting/not-detected/
https://juliagizmos.github.io/WebIO.jl/latest/providers/ijulia/#IJulia-1
