SlideShare a Scribd company logo
1 of 23
Brought to you by
Sharpening the Axe:
The Primacy of Toolmaking
Bryan Cantrill
CTO of Oxide Computer Company
OXIDE
Give me six hours to chop down a tree and I
will spend the first four sharpening the axe.
– Abraham Lincoln
Sharpening the axe
OXIDE
Give me six hours to chop down a tree and I
will spend the first four sharpening the axe.
– Abraham Lincoln?
Sharpening the axe?
OXIDE
Give me six eight hours to chop down a tree and
I will spend the first four six sharpening the axe.
– Abraham Lincoln?
Sharpening the axe?
OXIDE
Give me six eight four hours to chop down a
tree and I will spend the first four six two
sharpening the axe.
– Abraham Lincoln?
Sharpening the axe?
OXIDE
Give me six eight four an hours to chop down
a tree and I will spend the first four six two
forty-five minutes sharpening the axe.
– Abraham Lincoln?!
Sharpening the axe?
OXIDE
Sharpening the axe?!
The Home and Foreign Record of the Presbyterian Church in the United States of America, Volume 7, Number 1
(January 1856), Sermons for the Times: No. 2: The Dull Axe as cited in Quote Investigator, March 29, 2014
OXIDE
“Wisdom is profitable to direct”?
Translations for Ecclesiastes 10:10, from Biblehub.com
OXIDE
A woodsman was once asked, “What would
you do if you had just five minutes to chop
down a tree?” He answered, “I would spend the
first two and a half minutes sharpening my axe.”
- C. R. Jaccarde
Sharpening the axe!
Objectives and Philosophy of Public Affairs Education, Increasing Understanding of Public Problems and Policies
(1956), as cited in Quote Investigator, March 29, 2014
OXIDE
Toolmaking
• Better tools yield better artifacts
• But the tools themselves are entirely invisible to the user – and are often
not even present in the end product
• Even though we know that toolmaking is important, we do not explicitly
encourage it – it feels like a distraction
• Many consequential developments in software history were in fact
groups seeking to develop better tools for themselves…
OXIDE
Unix, ca. 1969
The Evolution of the Unix Time-sharing System,
AT&T Bell Laboratories Technical Journal, Vol. 63, No.8, (October 1984)
OXIDE
TeX, ca.1977
Preliminary preliminary description of TeX,
available as https://www.saildart.org/TEX1[1,DEK]1
OXIDE
NSELite, ca. 1991
NSELite README, available as http://mcvoy.com/lm/nselite/README
OXIDE
DTrace, ca. 2003
• System for dynamic instrumentation of production systems developed at
Sun Microsystems, ~2001-2005
• Informed by 5+ years of trying to understand performance of systems
• Put a bright light on the hidden innards of the system, exposing many
(many!) glaring performance problems
• Many of those problems were much further afield than we envisioned!
• DTrace not only helped debug current issues, it greatly accelerated the
development of software that came after it (e.g., ZFS)
OXIDE
Jenkins (née Hudson), ca. 2004
Hudson, Kohsuke Kawaguchi as presented at JavaOne, 2007
OXIDE
Rust, 2010
Project Servo: Technology from the past come to save the future from itself,
Graydon Hoare as presented at the Mozilla Annual Summit, July 2010
OXIDE
Toolmaking
• These are just high profile examples – many more are never heard of
• There are commonalities across all of these cases:
○ Toolmakers were building for themselves
○ The tools that they were building did not have immediate value on
their own – their value was in delivering better artifacts
○ Toolmakers retained the responsibility for the underlying artifacts
• But why would toolmaking be discouraged?
OXIDE
Discouraged toolmaking?
• The challenge of toolmaking is that the payoff is often at a distance
from the investment – both in terms of time and use
• But the cost of toolmaking is immediate and clear: time spent making
the tool is time not spent making the underlying artifact!
• Toolmaking feels like it’s stealing time – it lurks in the shadows
• But while it’s (in principle?) possible to spend too much time on tooling,
it is unlikely to be the wrong use of time – just more difficult to quantify
OXIDE
Toolmaking is an investment
• With its clear short term costs and potential long term gains, toolmaking
is best thought of as an investment
• As with any investment, aggressive time horizons (e.g., days/weeks or
small number of months) will result in overly conservative decisions
• And like the best kind of investments, toolmaking also tends to be
compounding: gains early in the lifetime result in more investment that
yields yet more dividends
• If toolmaking is always paying off, you may need to take more risk!
OXIDE
Encouraging toolmaking
• Yes, there is risk – but the downside is bounded to time spent
• Indeed, the most common failure mode in engineering is not building too
many tools, it is building something that no one wants
• But in building a tool that one needs, at least one person wants it!
• This is why toolmaking has in fact saved companies (e.g. Flickr, Slack,
Docker): the tooling proved to have more interest than the thing!
• When engineers wish to make tooling, they should be encouraged
OXIDE
Toolmaking under fire
• Encouraging toolmaking is hardest when deadlines are tight and
opportunity cost seems high…
• …but engineers themselves are cognizant of these constraints!
• So when these constraints are present and engineers see a need for
purpose-built tooling, that tooling should be prioritized
• This is especially true for tools that improve the artifact by improving
understanding: the best time to develop a debugger is when debugging!
OXIDE
Trusting toolmakers
• Toolmaking – and the organizational freedom that engineers need to
engage in it – ultimately requires an essential ingredient: trust
• In creative endeavors, trust must be the organizational binding force!
• To encourage engineers to engage in toolmaking is saying: you are
trusted to use your time wisely – and your future time is valued
• To build an organization that values toolmaking, start by building trust
Brought to you by
Bryan Cantrill
bryan@oxidecomputer.com
@bcantrill

More Related Content

Similar to Sharpening the Axe: The Primacy of Toolmaking

Design by Vikram Rao
Design by Vikram RaoDesign by Vikram Rao
Design by Vikram RaoVikram Rao
 
1 Introduction to CED.pptx
1 Introduction to CED.pptx1 Introduction to CED.pptx
1 Introduction to CED.pptxPraveen Kumar
 
Tangible interaction 2011 spring
Tangible interaction 2011 springTangible interaction 2011 spring
Tangible interaction 2011 springRung-Huei Liang
 
ACI Creativity and Design 2014 Day 2
ACI Creativity and Design 2014 Day 2ACI Creativity and Design 2014 Day 2
ACI Creativity and Design 2014 Day 2R. Sosa
 
Vakre og varige brukeropplevelser
Vakre og varige brukeropplevelserVakre og varige brukeropplevelser
Vakre og varige brukeropplevelserInge Fossland
 
shivam soni PPT OR.pptx
shivam soni PPT OR.pptxshivam soni PPT OR.pptx
shivam soni PPT OR.pptxHitechCyber
 
Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...
Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...
Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...City University London
 
Science communications: Writing for impact
Science communications: Writing for impact Science communications: Writing for impact
Science communications: Writing for impact ScienceCommunications
 
Singularity Summit 2009 Recap
Singularity Summit 2009 RecapSingularity Summit 2009 Recap
Singularity Summit 2009 RecapSandy Santra
 
User Centred Design and the Fender Telecaster
User Centred Design and the Fender TelecasterUser Centred Design and the Fender Telecaster
User Centred Design and the Fender Telecastermathew devey
 
Dorst, kees and cross, nigel (2001): creativity in the design process co evol...
Dorst, kees and cross, nigel (2001): creativity in the design process co evol...Dorst, kees and cross, nigel (2001): creativity in the design process co evol...
Dorst, kees and cross, nigel (2001): creativity in the design process co evol...ArchiLab 7
 
Accu2014 Imagination in Software Development
Accu2014 Imagination in Software DevelopmentAccu2014 Imagination in Software Development
Accu2014 Imagination in Software Developmentcharlestolman
 
Taking care with what we leave behind
Taking care with what we leave behindTaking care with what we leave behind
Taking care with what we leave behindKim_B
 
Miss gonzalez technology and innovation
Miss gonzalez technology and innovationMiss gonzalez technology and innovation
Miss gonzalez technology and innovationKar Gonz
 
Session1-History of Agile.pptx
Session1-History of Agile.pptxSession1-History of Agile.pptx
Session1-History of Agile.pptxAlexanderGaigole1
 

Similar to Sharpening the Axe: The Primacy of Toolmaking (20)

Design by Vikram Rao
Design by Vikram RaoDesign by Vikram Rao
Design by Vikram Rao
 
creativity
creativitycreativity
creativity
 
1 Introduction to CED.pptx
1 Introduction to CED.pptx1 Introduction to CED.pptx
1 Introduction to CED.pptx
 
Tangible interaction 2011 spring
Tangible interaction 2011 springTangible interaction 2011 spring
Tangible interaction 2011 spring
 
ACI Creativity and Design 2014 Day 2
ACI Creativity and Design 2014 Day 2ACI Creativity and Design 2014 Day 2
ACI Creativity and Design 2014 Day 2
 
Vakre og varige brukeropplevelser
Vakre og varige brukeropplevelserVakre og varige brukeropplevelser
Vakre og varige brukeropplevelser
 
shivam soni PPT OR.pptx
shivam soni PPT OR.pptxshivam soni PPT OR.pptx
shivam soni PPT OR.pptx
 
Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...
Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...
Creativity Support Tools, Do They Really Help? - Dr. Sara Jones, City Univers...
 
Science communications: Writing for impact
Science communications: Writing for impact Science communications: Writing for impact
Science communications: Writing for impact
 
Secrets of Scrum
Secrets of ScrumSecrets of Scrum
Secrets of Scrum
 
Singularity Summit 2009 Recap
Singularity Summit 2009 RecapSingularity Summit 2009 Recap
Singularity Summit 2009 Recap
 
User Centred Design and the Fender Telecaster
User Centred Design and the Fender TelecasterUser Centred Design and the Fender Telecaster
User Centred Design and the Fender Telecaster
 
Dorst, kees and cross, nigel (2001): creativity in the design process co evol...
Dorst, kees and cross, nigel (2001): creativity in the design process co evol...Dorst, kees and cross, nigel (2001): creativity in the design process co evol...
Dorst, kees and cross, nigel (2001): creativity in the design process co evol...
 
Accu2014 Imagination in Software Development
Accu2014 Imagination in Software DevelopmentAccu2014 Imagination in Software Development
Accu2014 Imagination in Software Development
 
Taking care with what we leave behind
Taking care with what we leave behindTaking care with what we leave behind
Taking care with what we leave behind
 
Lesson plan
Lesson planLesson plan
Lesson plan
 
Miss gonzalez technology and innovation
Miss gonzalez technology and innovationMiss gonzalez technology and innovation
Miss gonzalez technology and innovation
 
Session1-History of Agile.pptx
Session1-History of Agile.pptxSession1-History of Agile.pptx
Session1-History of Agile.pptx
 
Pellucidar
PellucidarPellucidar
Pellucidar
 
Getting your work funded
Getting your work fundedGetting your work funded
Getting your work funded
 

More from ScyllaDB

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLScyllaDB
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasScyllaDB
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasScyllaDB
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...ScyllaDB
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...ScyllaDB
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaScyllaDB
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityScyllaDB
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptxScyllaDB
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDBScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationScyllaDB
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsScyllaDB
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesScyllaDB
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsScyllaDB
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101ScyllaDB
 

More from ScyllaDB (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
What Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQLWhat Developers Need to Unlearn for High Performance NoSQL
What Developers Need to Unlearn for High Performance NoSQL
 
Low Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & PitfallsLow Latency at Extreme Scale: Proven Practices & Pitfalls
Low Latency at Extreme Scale: Proven Practices & Pitfalls
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDBBeyond Linear Scaling: A New Path for Performance with ScyllaDB
Beyond Linear Scaling: A New Path for Performance with ScyllaDB
 
Dissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance DilemmasDissecting Real-World Database Performance Dilemmas
Dissecting Real-World Database Performance Dilemmas
 
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
Database Performance at Scale Masterclass: Workload Characteristics by Felipe...
 
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
Database Performance at Scale Masterclass: Database Internals by Pavel Emelya...
 
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr SarnaDatabase Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
Database Performance at Scale Masterclass: Driver Strategies by Piotr Sarna
 
Replacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDBReplacing Your Cache with ScyllaDB
Replacing Your Cache with ScyllaDB
 
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear ScalabilityPowering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
Powering Real-Time Apps with ScyllaDB_ Low Latency & Linear Scalability
 
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx7 Reasons Not to Put an External Cache in Front of Your Database.pptx
7 Reasons Not to Put an External Cache in Front of Your Database.pptx
 
Getting the most out of ScyllaDB
Getting the most out of ScyllaDBGetting the most out of ScyllaDB
Getting the most out of ScyllaDB
 
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a MigrationNoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
NoSQL Database Migration Masterclass - Session 2: The Anatomy of a Migration
 
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration LogisticsNoSQL Database Migration Masterclass - Session 3: Migration Logistics
NoSQL Database Migration Masterclass - Session 3: Migration Logistics
 
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and ChallengesNoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
NoSQL Data Migration Masterclass - Session 1 Migration Strategies and Challenges
 
ScyllaDB Virtual Workshop
ScyllaDB Virtual WorkshopScyllaDB Virtual Workshop
ScyllaDB Virtual Workshop
 
DBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & TradeoffsDBaaS in the Real World: Risks, Rewards & Tradeoffs
DBaaS in the Real World: Risks, Rewards & Tradeoffs
 
Build Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDBBuild Low-Latency Applications in Rust on ScyllaDB
Build Low-Latency Applications in Rust on ScyllaDB
 
NoSQL Data Modeling 101
NoSQL Data Modeling 101NoSQL Data Modeling 101
NoSQL Data Modeling 101
 

Recently uploaded

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Recently uploaded (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Sharpening the Axe: The Primacy of Toolmaking

  • 1. Brought to you by Sharpening the Axe: The Primacy of Toolmaking Bryan Cantrill CTO of Oxide Computer Company
  • 2. OXIDE Give me six hours to chop down a tree and I will spend the first four sharpening the axe. – Abraham Lincoln Sharpening the axe
  • 3. OXIDE Give me six hours to chop down a tree and I will spend the first four sharpening the axe. – Abraham Lincoln? Sharpening the axe?
  • 4. OXIDE Give me six eight hours to chop down a tree and I will spend the first four six sharpening the axe. – Abraham Lincoln? Sharpening the axe?
  • 5. OXIDE Give me six eight four hours to chop down a tree and I will spend the first four six two sharpening the axe. – Abraham Lincoln? Sharpening the axe?
  • 6. OXIDE Give me six eight four an hours to chop down a tree and I will spend the first four six two forty-five minutes sharpening the axe. – Abraham Lincoln?! Sharpening the axe?
  • 7. OXIDE Sharpening the axe?! The Home and Foreign Record of the Presbyterian Church in the United States of America, Volume 7, Number 1 (January 1856), Sermons for the Times: No. 2: The Dull Axe as cited in Quote Investigator, March 29, 2014
  • 8. OXIDE “Wisdom is profitable to direct”? Translations for Ecclesiastes 10:10, from Biblehub.com
  • 9. OXIDE A woodsman was once asked, “What would you do if you had just five minutes to chop down a tree?” He answered, “I would spend the first two and a half minutes sharpening my axe.” - C. R. Jaccarde Sharpening the axe! Objectives and Philosophy of Public Affairs Education, Increasing Understanding of Public Problems and Policies (1956), as cited in Quote Investigator, March 29, 2014
  • 10. OXIDE Toolmaking • Better tools yield better artifacts • But the tools themselves are entirely invisible to the user – and are often not even present in the end product • Even though we know that toolmaking is important, we do not explicitly encourage it – it feels like a distraction • Many consequential developments in software history were in fact groups seeking to develop better tools for themselves…
  • 11. OXIDE Unix, ca. 1969 The Evolution of the Unix Time-sharing System, AT&T Bell Laboratories Technical Journal, Vol. 63, No.8, (October 1984)
  • 12. OXIDE TeX, ca.1977 Preliminary preliminary description of TeX, available as https://www.saildart.org/TEX1[1,DEK]1
  • 13. OXIDE NSELite, ca. 1991 NSELite README, available as http://mcvoy.com/lm/nselite/README
  • 14. OXIDE DTrace, ca. 2003 • System for dynamic instrumentation of production systems developed at Sun Microsystems, ~2001-2005 • Informed by 5+ years of trying to understand performance of systems • Put a bright light on the hidden innards of the system, exposing many (many!) glaring performance problems • Many of those problems were much further afield than we envisioned! • DTrace not only helped debug current issues, it greatly accelerated the development of software that came after it (e.g., ZFS)
  • 15. OXIDE Jenkins (née Hudson), ca. 2004 Hudson, Kohsuke Kawaguchi as presented at JavaOne, 2007
  • 16. OXIDE Rust, 2010 Project Servo: Technology from the past come to save the future from itself, Graydon Hoare as presented at the Mozilla Annual Summit, July 2010
  • 17. OXIDE Toolmaking • These are just high profile examples – many more are never heard of • There are commonalities across all of these cases: ○ Toolmakers were building for themselves ○ The tools that they were building did not have immediate value on their own – their value was in delivering better artifacts ○ Toolmakers retained the responsibility for the underlying artifacts • But why would toolmaking be discouraged?
  • 18. OXIDE Discouraged toolmaking? • The challenge of toolmaking is that the payoff is often at a distance from the investment – both in terms of time and use • But the cost of toolmaking is immediate and clear: time spent making the tool is time not spent making the underlying artifact! • Toolmaking feels like it’s stealing time – it lurks in the shadows • But while it’s (in principle?) possible to spend too much time on tooling, it is unlikely to be the wrong use of time – just more difficult to quantify
  • 19. OXIDE Toolmaking is an investment • With its clear short term costs and potential long term gains, toolmaking is best thought of as an investment • As with any investment, aggressive time horizons (e.g., days/weeks or small number of months) will result in overly conservative decisions • And like the best kind of investments, toolmaking also tends to be compounding: gains early in the lifetime result in more investment that yields yet more dividends • If toolmaking is always paying off, you may need to take more risk!
  • 20. OXIDE Encouraging toolmaking • Yes, there is risk – but the downside is bounded to time spent • Indeed, the most common failure mode in engineering is not building too many tools, it is building something that no one wants • But in building a tool that one needs, at least one person wants it! • This is why toolmaking has in fact saved companies (e.g. Flickr, Slack, Docker): the tooling proved to have more interest than the thing! • When engineers wish to make tooling, they should be encouraged
  • 21. OXIDE Toolmaking under fire • Encouraging toolmaking is hardest when deadlines are tight and opportunity cost seems high… • …but engineers themselves are cognizant of these constraints! • So when these constraints are present and engineers see a need for purpose-built tooling, that tooling should be prioritized • This is especially true for tools that improve the artifact by improving understanding: the best time to develop a debugger is when debugging!
  • 22. OXIDE Trusting toolmakers • Toolmaking – and the organizational freedom that engineers need to engage in it – ultimately requires an essential ingredient: trust • In creative endeavors, trust must be the organizational binding force! • To encourage engineers to engage in toolmaking is saying: you are trusted to use your time wisely – and your future time is valued • To build an organization that values toolmaking, start by building trust
  • 23. Brought to you by Bryan Cantrill bryan@oxidecomputer.com @bcantrill