Skip to content

Latest commit

 

History

History
73 lines (71 loc) · 3.66 KB

tools.md

File metadata and controls

73 lines (71 loc) · 3.66 KB

Monday 2017-02-06

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
  • 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
    • Jupyter notebooks
      • SVG
      • png or jpeg files
  • 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
  • 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
      • plotly as an interactive 2D/3D plotting package (javascript/python/browser?)
      • ❌ bqplot as in interactive/realtime 2D plotting package
      • chaco as an interactive/realtime 2D plotting package. Uses traits instead of variables(?)
    • Use D3 in a Jupyter notebook. See d3-jupyter-tutorial, which is excellent. Try out the little helper file, d3_lib.py?