Email   Blog   Facebook   YouTube   Twitch   Discord   Github

About

  •  CV
  •  Photos

Teaching (OTIS)

Olympiad

  •  For beginners
  •  Problems
  •  MOP
  •  ELMO
  •  USEMO

Hobbies

  •  Puzzle hunts
  •  Twitch
  •  Discord

plz learn code

  •  Filesys
  •  Learning path

Publications

  •  EGMO book
  •  Napkin (v1.5)
  •  Course notes

Advice

Contact

  •  Mentors
  •  Quotes
  •  Rec letters
  •  FAQ's

Buy Me a Coffee at ko-fi.com

Speech on why coding is important

Are you scared by watching Evan’s fingers repeatedly smashing the wrong keys and things would somehow work anyways? Have you tried using LaTeX and found that nothing made sense? Are the lotus-eaters trying to convert you into the cult of Vim? Have you just been overwhelmed by all the black magic that Evan and his orz-ers seems to exercise like it’s nothing?

If so, these pages may be for you.

You’re much better off using code as your secret weapon in another profession. People who can code in the world of technology companies are a dime a dozen and get no respect. People who can code in biology, medicine, government, sociology, physics, history, and mathematics are respected and can do amazing things to advance those disciplines.
Zed A. Shaw

This page will attempt to convince you to learn to code and how you can get started. For LaTeX stuff, see FAQ’s on LaTeX. For more advanced thoughts like why Vim or why Linux, see FAQ’s on Unix.


If you found my website, you are presumably someone who likes learning and thinking. If you are such a person, and you don’t know how to code, here is my advice for you:

This Saturday at noon, sit down and learn it. (Or use the next Saturday you are free at noon.)

Seriously, learn to code. Learn. To. Code. Learn to code god damn it!

Tiny Evan knows Python. You can too!

I don’t think everyone should be able to solve IOI problems. But I am adamant you should at least have a basic understanding of how computers work, and be able to automate trivial tasks. For example, you should be able to write a script that batch renames the files a1.out, a2.out, …, a100.out to output001.txt, output002.txt, …, output100.txt. Or to hack together a program that reads the data from a google form, and sums the result into a table that you can send out.

Not made by hand

Unlike something like quadratic formula or differentiation, most careers directly benefit from some computer literacy1. I think every single job I’ve had for the last five years, from working at the Duluth REU to running MOP to Mystery Hunt to teaching OTIS, involved some amount of programming. So it’s insane that we teach precalculus before programming, if we teach the latter at all.

If you’re interested in reading more, read on about [files and folders][techshell].


  1. I, and several others, also suspect that knowing programming changes the way you think. But this is harder to measure or prove so I only stated the weaker claim. 

Updated Mon 22 Nov 2021, 03:01:22 UTC by 2c0fa1e7b262