Software - nolanhergert/notes GitHub Wiki

Sheets

Determine basis of stock on a date: =H21*INDEX(GOOGLEFINANCE(G21,"close",DATE(2022,3,10)),2,2). Here's an example: https://docs.google.com/spreadsheets/d/1PcGAPJ0BNTKDWY6e0f_9tsjkSERN2YbKal5D8Yi7WZk/edit#gid=1275783025

Visual Studio Code

Set up remote ssh proxy by doing Ctrl+Shift+P, then look for proxy settings on remote system tab. Override local http_proxy with normal intel proxy address.

Wemos D1 Mini (ESP8266)

Get into flash mode (if you have issues flashing normally) by grounding pin D3.

Getters and Setters

Don't need them in most cases. I like this explanation. https://stackoverflow.com/a/12108025/931280

Key Concepts

Presentation to high school robotics kids. Should be interactive.

https://docs.google.com/presentation/d/1frQkKaFT0bOdcqllrshNjaj2jLVIr6HJYRQ0E_OdkTM/edit

  • But lots to throw away and start from scratch on.

Version Control

Most programmers in h.s. know this already. Really easy to detect differences in files.

Infrastructure as Code

Container spec files allow you to easily version control your scriptable instructions for creating your containers. Easily change them and they will regenerate. No magic files or settings that no one knows where they are.

Continuous Integration

Ensures master branch is always "green". A good amount of infrastructure goes into this. Show Quickbuild?

  • Can run unit tests too, also have checklists for reviews.

Fuzzing

Main components:

  • Any payload responses from firmware, no matter how bad, should not cause us to buffer over-read / overflow.

AFL performance tips, need to do these: https://afl-1.readthedocs.io/en/latest/tips.html

Probably want to use AFL++ for persistent mode: https://github.com/AFLplusplus/AFLplusplus/blob/stable/instrumentation/README.persistent_mode.md

Preventable/Predictable bugs

  • Backwards compatibility and forwards compatibility
    • If something is optional, are you testing that it is able to be optional?

Really Bad Code