Starting, please wait...

# The SageNB server or Jupyter is currently starting. Please wait...

A page will be opened automatically. In the mean time terminal sessions work normally.

You may safely close this window at any time, or navigate to somewhere else.

If the server is already running, feel free to access the SageNB interface or Jupyter at any time. You can change your preferred notebook interface in Preferences.

### If you think you have waited long enough...

Try `View Log` under the `Server` menu (or at the root of the menubar item's menu) which may give you some clues as to why it has not started. It should show the URL (including token) for accessing the Jupyter interface in case it doesn't open automatically.

If the problem persists email for support, ask a question on the question and answer site or try one of the other many avenues of support.

## Did you know?

Show a random tip. Show all.

Typing `pdb` in a shell session will allow debugging when an exception is thrown.

The file `$HOME/.sage/init.sage` is run every time Sage is started.

Shift clicking on the blue bar above every cell of a worksheet will open a "word processor" allowing you to add commentary to your worksheet.

You can configure Sage.app to use any shell you like. Applescripts are given for iTerm, Terminal, and xterm.

You can add default arguments for shell sessions in the Preferences. For example, typing `gap` in the Session field and `-b -o 2g` in the Default Arguments field means that GAP sessions will be started with no banner and a limit of 2G of RAM.

Holding Command while starting a terminal session from the menu gives you an opportunity to add command line arguments or change the command that is actually run. You can also set a preference to always prompt for arguments.

Sage.app usually uses the Sage distribution bundled inside of itself, but you can point it to any copy of Sage you want. This is handy for development. In fact, you can even delete the copy of Sage inside of Sage.app. You can use the menu `Development > Reveal in Finder` to find it.

Sage.app contains a rudimentary browser for interacting with the notebook, but most people prefer using the system default browser. You can also set the environment variable `SAGE_BROWSER` to use a specific browser, but for technical reasons this is slower.

Sage.app contains a rudimentary browser for interacting with the notebook, but most people prefer using the system default browser. You can also set `sage.misc.viewer.BROWSER` in `~/.sage/init.sage` to use a different browser.

Sage comes with many open source software systems (GAP, pari/gp, singular, maxima, R, etc.), many of which are available for direct use. This can be by running a terminal session of the desired type or by choosing it from one of the dropdown buttons in the notebook.

Holding option in the menus will show alternate commands.

There are Sage development aids for Emacs and vim.

You can set up bash completion for Sage.

Add color to your command line by uncommenting the color scheme you like in `$HOME/.sage/ipython/ipythonrc`.

Sage can be integrated with LaTeX using SageTeX.

If you find that LaTeX doesn't work, try adding `os.environ["PATH"]+=":/usr/texbin:/usr/local/bin"` to `$HOME/.sage/init.sage`

You can use Sage inside WeBWork an online homework system.

You can use Sage to create interactive calculation.

Sage can be used to solve a Rubik's cube.

You can start an interactive GAP session in the middle of a sage session calling `gap_console()`. Similarly for `gp_console`, `singular_console`, `maxima_console`, `r_console`, and so forth.

Reading the Sage Tutorial is an enjoyable way to spend an evening.

The Sage interactive shell is based on IPython so it can be customized in the same way. In particular see the directory `$HOME/.sage/ipython/`.

You can add your own tips about Sage to the wiki.

Sometimes the best way to find a bug is to explain it to a rubber duck in enough detail for the duck to understand.

A mathematician is a blind man in a dark room looking for a black cat which isn't there.
--Charles R. Darwin

Mathematics is the art of reducing any problem to linear algebra.
--William Stein

If people do not believe that mathematics is simple, it is only because they do not realize how complicated life is.
--John von Neumann

So, although broken, things are broken as expected ;-)
--Harald Schilly

If the code and the comments disagree, then both are probably wrong.

Rounding Errors are ok. Otherwise they'd be called actual errors.
--Scott Hunt

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.
--Martin Fowler

∀∀∃∃

In mathematics you don't understand things. You just get used to them.
--John von Neumann

A mathematician is a machine for turning coffee into theorems.
--Alfréd Rényi
Of course, by categorical duality, a comathematician is then a machine for turning cotheorems into ffee.
--Harg

Programs must be written for people to read, and only incidentally for machines to execute.
--Abelson & Sussman, SICP, preface to the first edition