Rant: Efficient Workflows

  • Pull up cookie clicker.
  • Point out that the efficient strategy is to get upgrades ASAP, whether they're linear or mutiplicative.

Example upgrades for programming:

  • Touch typing.
    • Save some time typing.
    • Save getting distracted to find a key.
  • Getting an editor with automatic indentation and syntax highlighting.
    • Syntax highlighting automatically catches many syntax errors, saving a whole try-to-compile and then debug cycle each time.
  • Getting a keyboard-focused editor and learning the keybindings.
    • In vim, swapping two lines is 3 keystrokes.
  • Becoming familiar with the libraries you're using.
    • Especially the standard library for your language.
    • How do you convert a string to a long in C?
    • Autocompletion doesn't replace this.
  • Learn your environment's debugger in some detail. For us, that's GDB.
  • You'll see more upgrade opportunities. I suggest prioritizing them, even if it costs some time right now, even if you're not sure it's an upgrade.

Discuss the Homework

  • Pull it up on bottlenose
    • Write task in C
    • Then rewrite it in ASM
    • No compiler output
  • Pull up solution directory
  • Show calc running.