header logo

Thanks to the creators of the tools I used to build this blog

Photo credit to the Free Software Foundation

Open-source projects are the basis of this blog

Python is the foundation of this blog; the custom content and reference management systems used here were written in Python. The content itself was also generated largely with Python — the plots in this blog were initially generated with Matplotlib [1] and the SciPy stack [2]. They were finalized in Inkscape. In some cases GIMP was used to edit figures as well.

The color maps used in these figures were primarily the work of Nathaniel Smith and Stéfan van der Walt. Viridis is the name of perceptually-uniform purple-green-yellow map which is most common on this blog. It is also the Matplotlib default. For more on why I like this colormap, see this short article.

I am not a competent CAD user and have never successfully rendered a project using 3D software. LibreCAD is a poorly developed 2D program I used for many years. However, I recently discovered QCAD which is essentially the same product without all the bugs and trivial missing features. Going forward I will be using QCAD unless I manage to acquire and learn to use AutoCAD or SolidWORKS.

Most of the early articles were originally drafted in LaTeX, the document management software ubiquitous in science and engineering in academia. LaTeX is primarily known for rendering equations and managing references. The equations on the blog are rendered in MathJax, a javascript application which produces SVG images from LaTeX equations. Reference management software written in Python was used to produce html formatted references from BibTex files. The reference citation method is approximately modeled on the IEEE standard.

Most of the javascript utilities were written by me from scratch. However, as of May 2020, I have discovered the joys of D3, an extremely powerful graphing tool for javascript. In all things computational, with great power and flexibility comes great headaches and difficulties. D3 has a steeper learning curve than matplotlib and Inkscape but it seems well worth it in this application.

Photos used to promote the blog were taken from unsplash.com, pexels.com, and pixabay.com. Credit to the photographer (or the account which posted the image) is given under each image.


[1] J. D. Hunter, "Matplotlib: A 2D graphics environment," Computing in Science & Engineering, vol. 9, pp. 90—95, 2007.

[2] P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, S. J. van der Walt, M. Brett, J. Wilson, K. Jarrod Millman, N. Mayorov, A. R. J. Nelson, E. Jones, R. Kern, E. Larson, C. Carey, \. Polat, Y. Feng, E. W. Moore, J. VanderPlas, D. Laxalde, J. Perktold, R. Cimrman, I. Henriksen, E. A. Quintero, C. R. Harris, A. M. Archibald, A. H. Ribeiro, F. Pedregosa, and P. van Mulbregt, "SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python," Nature Methods, vol. 17, pp. 261—272, 2020.

Follow @domesticengine7

© MC Byington