Below are a list of first principles that provide a guiding framework for development decisions. They are eclectic and random at times. It is a living list that is revisited often.

Principles

  • In general, it will always be easier to affirm the positive than negate the negative.
  • To be a team of 1: It’s about testing and automation and using the constraints to your creative advantage.
  • Recursion rules the day, until your stack overflows.
  • Before and After Hooks
  • Timestamps: use _at for booleans
  • Reuse established concepts or schemas from anywhere in life
  • Fuzzy find is the way to go for everything
  • The less dependencies the better
  • Every tool comes with a maintenance overhead
  • Understanding progress and growth: people can’t go from Excel to Freshbooks they need understandable steps
  • It is easier to modify an existing working example than to create a new one

Cool concepts that already exist

  • Regex Pattern Matching
  • Status Codes
  • Scheduling: Cron job
  • Permissions: File system
  • Permissions: For firewall: allow deny
  • Organization: Types and Tags
  • Testing: CI/CD
  • Content-based IDs (SHAs in Git)
  • CSS selectors
  • Points on a 2D plain x.y (line, col) (x, y)

Resources

Privacy