Cheat

Appendix 3 - Cheat Sheets and quick info #

Electrical Part Tables #

[TODO]

  • package types

  • reading specs

  • datasheets

Nice Libraries & Resources #

Please don’t use Electron… #

Ultralight - “Next-generation HTML renderer for apps and games”

Muon - “GPU based Electron on a diet”

Multi-Lang #

NotCurses (It’s not Ncurses) - “blingful character graphics/TUI library. definitely not curses.”

SimSIMD - “Vector Similarity Functions 3x-200x Faster than SciPy and NumPy — for Python, JavaScript, and C 11, supporting f64, f32, f16, i8, and binary vectors using SIMD for both x86 AVX2 & AVX-512 and Arm NEON & SVE”

C #

Awesome-C - “A curated list of awesome C frameworks, libraries, resources and other shiny things. Inspired by all the other awesome-… projects out there.”

Nuklear - A single-header ANSI C immediate mode cross-platform GUI library

GuiLite.h - “!The smallest header-only GUI library (4 KLOC) for all platforms”

Protothreads - “extremely lightweight stackless threads designed for severely memory constrained systems”

hanoi - “Library for strange integer number systems such as base -1+i, base -2, Stern-Brocot rationals”

C++ #

Keep in mind, everything from the above should still work

https://github.com/alandefreitas/matplotplusplus

Rang - “A Minimal, Header only Modern c++ library for terminal goodies”

NanoGUI - “Minimalistic C++/Python GUI library for OpenGL, GLES2/3, Metal, and WebAssembly/WebGL”

Midifile - C++ classes for reading/writing Standard MIDI Files

Elements - “lightweight, fine-grained, resolution independent, modular GUI library.”

Fast IO - “a new C++20 library for extremely fast input/output and aims to replace iostream and cstdio. It is header-only”

Interactive C++ for Data Science - Like Jupyter Notebooks

NanoLog - “an extremely performant nanosecond scale logging system for C++ that exposes a simple printf-like API.”

Moe [Old] - “Moe is a C++14 header-only dependency-free library providing generic implementations of some metaheuristic algorithms” - like genetic algorithms, differential evolution, simulated annealing, etc.

Autodiff - “automatic differentiation made easier for C++”

Symengine - “SymEngine is a fast symbolic manipulation library, written in C++”

Mach7 - “Functional programming style pattern-matching library for C++”

STB - “stb single-file public domain libraries for C/C++”

Darwin - “Evolutionary Algorithms Framework”

eSpinn - “eSpinn – evolving Spiking Neural Networks”

Rust #

Nannou - Creative Coding Framework for Rust

pyo3 - Rust bindings for python, write python modules in rust

Go #

Lorca - “A very small library to build modern HTML5 desktop apps in Go. It uses Chrome browser as a UI layer. Unlike Electron, it doesn’t bundle Chrome into the app package, but rather reuses the one that is already installed.”

Pixel - “A hand-crafted 2D game library in Go”

Python #

NumPy Illustrated: The Visual Guide to NumPy (Lev Maximov)

Full Stack Python Course, has some info on more common libraries

Python-Cheatsheet by gto76 on GitHub

Only including the less common ones here. If you’re new to python you should look into Numpy, Matplotlib, Pygame, Pandas, and Requests. Those more or less make up the

Sympy - Symbolic computation for python.

Pretty Errors - “Prettify Python exception output to make it legible.”

Pampy - Pattern Matching for Python

Rich - library for rich text and beautiful formatting in the terminal

Manim - “Animation engine for explanatory math videos” used by 3Blue1Brown

https://github.com/mitsuba-renderer/nanogui

PyNuklear - Nuklear (see above) binding for python

Guietta - “A tool for making simple Python GUIs”

Kivy - GUI framework

Typer - “Typer, build great CLIs. Easy to code. Based on Python type hints.”

Python-Fire - “a library for automatically generating CLIs from absolutely any Python object.”

Beautiful Soup - Web scraping

FuckIt.py - “FuckIt.py uses state-of-the-art technology to make sure your Python code runs whether it has any right to or not. Some code has an error? Fuck it.”

bokeh - “Bokeh is an interactive visualization library for modern web browsers” (yes, it uses python)

MoviePy - “a Python library for video editing: cutting, concatenations, title insertions, video compositing (a.k.a. non-linear editing), video processing, and creation of custom effects”

tqdm - “Instantly make your loops show a smart progress meter - just wrap any iterable with tqdm(iterable), and you’re done!”

Pint - work with units, including prefixes like kilometers

Quarry - “Quarry is a Python library that implements the Minecraft protocol. It allows you to write special purpose clients, servers and proxies.”

Pyxel - “A retro game engine for Python”

NetworkX - “a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks”

Also see pyO3 in rust above, which allows for writing python modules. Of course python modules can be written in C or C++, but doing so in Rust is safer, because, Rust.

For Matplotlib, I do recommend looking at the available Matplotlib colormaps and color map normalization as the colors used to view your data can make a huge difference in how readable it is

nbterm: Jupyter Notebooks in the terminal

Machine Learning #

Obviously Tensorflow, PyTorch, Keras, etc. exist. This list is for the stuff you don’t already know about

That said, it’s worth noting that tensorflow-rocm exists, which might work for you if you have an AMD graphics card and don’t want to shell out for a different GPU just for CUDA support.

SpaCy - “Industrial-strength Natural Language Processing (NLP) in Python”

ELI5 - “A library for debugging/inspecting machine learning classifiers and explaining their predictions”

’$’ family of stroke/gesture recognition tools

Kobra - “A visual programming language for machine learning (in beta)”

For Embedded Applications #

u8g2 - “Library for monochrome displays, version 2”


If you would like to support my development of OpGuides, please consider supporting me on GitHub Sponsors or dropping me some spare change on Venmo @vegadeftwing - every little bit helps ❤️