Opinion

I have lots of these.

2026-05-31Three Research Questions About AI
2026-05-27Building a City, Not a Car
2025-05-01We Weren't Ready for the Flood
2024-12-28Being a Great Teacher
2024-12-14How It Will Be Used
2024-06-02Why Are You Still Working?
2024-02-22Code, Cucumbers, and LLMs
2023-12-08Depressing Reading
2023-11-25LLMs and Institutional Knowledge
2023-08-27The Weizenbaum Test
2023-08-13I Don't Know What to Think About AI
2023-01-20What Would Entice Them?
2023-01-18Another Standard Model
2022-12-29The Fourth Tradition
2022-12-17The Compassionate Programmer
2022-11-01Listening Means Changing Your Mind
2022-09-24The Least Assholish Person
2022-08-25Thoughts on the Hippocratic License
2022-08-10Hard Problems
2022-08-07The Sisyphus Test
2022-05-14The Wes Mongtomery of Software
2021-09-13IQ and Personality Tests
2021-08-24Textbooks (Alone) Are Not Enough
2021-03-30Joining a Project
2021-03-30The Fourth Tradition
2021-02-19Blinkered Visions
2021-01-27JoVE But Not For Me
2021-01-23But Can She Type?
2021-01-17Punchcards Considered Harmful
2020-12-04Productivity and Collective Action
2020-07-19Slither.io, the Two Sigmas, and Customer Support
2020-06-20June 2020 Papers
2019-12-17Measuring Software Tools
2019-12-13Rates
2019-11-05Power is Always Suspicious of Fun
2019-08-10Exoplanets
2019-07-07A Veteran of a Thousand Language Wars
2019-04-21Contrarians
2018-12-26Poor Thinking
2018-12-19Fourteen Percent and a Change of Direction
2018-11-30Scripts
2018-11-24Afraid of Change
2018-10-31Credit and Respect
2018-08-13Authoring
2018-08-12The Real Challenge
2018-05-11Organize!
2018-03-16Seven Ways to Think Like a Programmer
2018-03-09Budgets
2018-03-09Tables
2018-02-10My Dagstuhl
2018-01-15Ten Simple Rules for Being a Good Educational Research Partner
2017-12-27Data Visualization as Industrial Design
2017-12-17Consider the Bicycle
2017-11-05Carpentry For Everyone
2017-07-21Too Soon and From Unexpected Directions
2017-07-20Hunter S. Thompson, Football, and the GOP
2017-06-19Ten Simple Rules for Being a Good Research Partner
2016-09-27Terrified Sheep
2016-06-21In That Dawn
2016-05-19Get Better But Not Change
2016-05-10Accident or Malice
2016-04-01Zen and the Art of Assignment Operators
2016-03-13In My Better World
2015-12-28Maybe I Actually Am An Engineer
2015-12-15Educational Engineering
2015-06-18Why I Am Not Excited About Julia
2015-06-11Why We Can't Have Nice Things
2015-05-02Selling Hope
2015-02-12Online Scientific Collaboration: The Sequel
2015-02-02Nouns and Verbs
2014-12-02What About MOOCs?
2014-11-18IP Communism
2014-11-07Amdahl's Law and Software Carpentry
2014-11-05Politics for Current Physicsts
2014-10-27Lost in Space
2014-05-05Playing the Kazoo
2014-04-23Mr. Biczo Was Right
2014-04-05Does Continuous Publication Require Continuous Attention?
2014-03-14You and Jimi Hendrix
2013-10-08Assuming the Problem
2013-06-09Heroes
2013-05-02A Rational Computing Process: How and Why to Fake It
2013-04-19Spreadsheets, Retractions, and Bias
2013-02-11Correctness Isn't Compelling
2013-02-10Why Don't I Just Go Ahead And Frame That Debate In A Way That Guarantees I'll Win?
2012-12-29What Will Programming Look Like in 2020?
2012-12-16You've Shown Me the C, Now Where's the Python?
2012-12-14Would You Like Your Programming Language to Have a Million Users?
2012-12-06Two Solitudes Illustrated
2012-11-19If Udacity is Napster, Who Will Be iTunes?
2012-11-05Who Decides?
2012-11-02I'd Like an Argument, Please
2012-10-23Twenty Percent
2012-10-10Dark Matter, Public Health, and Scientific Computing
2012-09-16Does Your Software Look Like This?
2012-08-15Is This Really Necessary?
2012-07-18Eyes, Brains, and Fingers
2012-06-26Pessimism and Doom
2012-05-23Alone and Misunderstood
2012-04-09…Which Is Wrong
2012-03-04Performance Curves, Curriculum Design, and Trust
2012-02-02Bullshit, Appropriation, and Technology in Education
2012-01-20By Any Means Necessary
2011-12-31The Fire Last Time
2011-11-18Show Me the Data
2011-11-10Vulgarity Isn't Honesty (or, Who's Welcome Here?)
2011-10-06Insufficient Purity Considered Harmful
2011-07-15The Finger Is Not The Test
2011-06-12If You're Going to Teach an Undergrad Intro to Software Engineering…
2011-05-28What's There Instead
2011-05-27It's Not Theory vs. Practice, It's Two Solitudes
2011-05-18Catalog Models Like Views and Controllers
2011-03-07Literate Programming
2011-03-01Tuple Spaces (or, Good Ideas Don't Always Win)
2011-02-11Ground Up, in No Particular Order
2011-01-21Scientists Aren't Stupid: Software Is
2011-01-05Cognitive Dissonance
2011-01-05We Are the Frogs
2009-12-30Osmosis is Just a Fancy Name for Failure
2009-12-28A Seven Per Cent Problem
2009-11-16When I Said 'The Last Twenty Years…'
2009-11-02There's No Such Thing As KeepItGoingCamp
2009-11-01Never Mind the Concurrency, What About the Math?
2009-10-13A Less Frequent World
2009-09-29A Strange Obsession
2009-09-21Another Reason to Care About Provenance
2009-09-07Upgrading Their Plots
2009-08-31Different Weights, Different Answers
2009-08-24Splitting Scheme
2009-07-21Elsevier's Future, Version 0.1
2009-07-16Data Collaboration
2009-07-16We're *Supposed* to Be a Little Old Fashioned
2009-04-15Getting Ready to Wag the Dog
2009-02-23Das Kapital, Computational Thinking, and Productivity
2009-02-12How Dare They Hold Us Accountable?
2009-02-12Maybe Some People Can't Afford Free
2008-12-08Monkeys, Bananas, and a Fire Hose
2008-11-17Science Lessons for MPs
2008-08-06Tony, Dan, LanSchool, and Doing the Right Thing
2008-05-21Why Don't We Do This?
2008-03-08Why Developers Don't Do Code Reviews
2007-12-15A Meme I'd Like To Crush
2007-11-16Sometimes I Don't Like Our Species Very Much
2007-11-08File Under 'Still Not Getting It'
2007-09-13Ontario Votes on Voting
2007-06-26The Danger of Danger
2007-06-26A Thumb on the Scales
2007-06-12If You Need AI, You Need a Simpler System
2007-05-05Computational Scientists Still Don't Get It
2007-01-31Why Ethics Matter
2006-12-05YouTube for Data
2006-09-23Turnitin and Translucency
2006-08-16The Trouble With Normal
2006-07-19Evidence-Based Software Engineering
2006-06-19Agility and Romanticism
2006-04-19Making Money from Better Software
2005-12-22Documents vs. Conversations
2005-10-27Why Bad Software Exists
2005-02-25Possible vs. Feasible vs. Trivial
2005-02-18On the Size of Programming Teams
2005-01-05Why Python?
2004-10-12Blogging vs. Venting
2004-09-14Accidental Horizons
2004-06-22The New Standard Model