I want to document my current thoughts about what tools to use for various tasks. Here they are:
- Notes
- Record notes in Markdown.
- The problem is getting a real-time rendering of a markdown document. Solution: MacDown
- Journal papers
- LaTeX, BibTeX
- Documents (proposals, etc.)
- Microsoft Word (as little as possible), Endnote
- LaTeX (as much as possible), BibTeX
- Presentations
- Powerpoint
- Reveal.js
- RISE (reveal.js with jupyter notebooks)
- Editor
- VS Code for code development
- Sublime Text for editing my
done.txt
file - BBedit for other small text processing tasks
- Python
- See gregnordin/python_setup_macbook
- Based on Miniconda and Conda and venv virtual environments
- Jupyter notebook for data exploration and analysis, and code/narrative/documentation bundled together
- Occasionally make my own packages for various projects
- ❌ GUI code: PySimpleGUI or PyQt & Qt4
- See gregnordin/python_setup_macbook
- Drawings
- png, eps
- Illustrator - my preferred tool
- Powerpoint
- ❌ LaTex with Tikz - too time-consuming so don't use it
- ❌ Inkscape - forget this since I started using Illustrator
- Webpages & markdown files
- SVG
- Illustrator
- Raw, written directly in SVG
- Inkscape
- Image tag with png or jpeg files
- SVG
- Jupyter notebooks
- SVG
- png or jpeg files
- png, eps
- Graphing
- Static 2D
- Matplotlib in Jupyter notebooks, make png files as needed
- Static 2D - webpage
- png file
- D3.js
- Interactive 2D - webpage
- Bokeh with Panel or matplotlib with ipywidgets
- D3.js looks promising, but must use javascript/html/css. See Hua's example for measured absorber spectra
- In principle, this can be integrated directly into markdown files (?)
- Animated 2D - kind of have to do this in a browser
- HTML 5 Canvas drawings
- Animated 3D
- three.js with WebGL - browser so anyone can see and use
- Python with PyQt and Qt4 - but not easily accessible by others
- Static 2D
- Web pages
- Use bootstrap3 and plain vanilla javascript
- Serve with either github pages or rawgit from a github respository
- Or, convert Jupyter notebook to html
- Explore
- ✅ Learn how to use Adobe Illustrator (on Don DeVoe's recommendation)
- Start using tests for code
- ✅
pytest
- ✅
assert
statements - CLI such as
Travis
so every commit undergoes all tests
- ✅
- Need to explore transcrypt to write code in python and have it transcribed into javascript so can be seen in a browser. Can use any javascript library, like D3.js and three.js. Or try Flexx.
- Vega or vega-lite for static 2D graphs in browser, Introduction to Vega-Lite
- Interactive and possibly realtime plotting
- Use D3 in a Jupyter notebook. See d3-jupyter-tutorial, which is excellent. Try out the little helper file,
d3_lib.py
?