nathan todd-stone

nathan todd-stone

who
me@nathants.com
nathants.com
github.com/nathants
what
critical thinker
software engineer
curious explorer
context
i have no special talents. i am only passionately curious.
i'd have written a shorter letter if i'd had more time.
what i cannot create, i do not understand.
if it's easy to explain, it might be a good idea.
study hard what interests you in the most undisciplined, irreverent and original manner possible.
i'm just trying to program without going crazy.
the goal is short term velocity without long term paralysis.
abstraction trades actual complexity for perceived complexity.
duplication is cheaper than the wrong abstraction.
no single data layout is efficient for all workloads.
programmers know the benefits of everything and the cost of nothing.
simplicity is the ultimate sophistication.
make the problem easy, then solve the easy problem.
nullius in verba.
do what you can, with what you have, where you are.
one accurate measurement is worth a thousand expert opinions.
brevity is the soul of wit.
creativity is the residue of time wasted.
amateurs talk about tactics. professionals study logistics.
simplicity requires hard work to achieve and education to appreciate. to make matters worse, complexity sells better.
some teams have a manager, others have a leader.
talk is cheap. show me the code.
when you don't create things, you become defined by your tastes rather than ability. so create.
the amount of ceremony required is inversely proportional to trust.
do not abstract before an abstraction is necessary.
only trust the network at the physical layer that it won't destroy your hardware.
if you want to do great work, you need freedom first.
not all broken windows are worth fixing.
the good stuff is often not what we plan before we start. it's what we find along the way.
network boundaries are enforced by physics. module boundaries are enforced by discipline.
a question matters if its answer will impact future action.
the difference between hope and despair is a good night's sleep.
brevity is the soul of wit.
creativity is the residue of time wasted.
the challenge with teams is avoiding the dilution of responsibility.
it's hard to drive non-incremental innovation without a benevolent dictator model.
the difference between under-engineering and over-engineering is that you can fix under-engineering.
the purpose of abstraction is not to be vague, but to create a new semantic level in which one can be absolutely precise.
languages
bash
python
clojurescript
javascript
c
go
rust
domains
rapid iteration
rapid experimentation
mitigating complexity
tolerating ambiguity
understanding and designing for failure
concurrency, parallelism, and efficiency
stateless, stateful, and distributed systems
data processing, storage, index and query
web
cloud
testing
experience when what
independent present research, startups, exploration
at&t before cloud, web, data, formerly istreamplanet via acquisition
shareablee before that cloud, web, data
yelp even further back cloud, web, data
retailmenot the beginning cloud, web, formerly zendeals via acquisition
education where
forever student the internet
3d animation and visual effects vancouver film school
foundations in visual art and design vancouver film school
associate in arts and sciences whatcom community college, during high school