2006
18
2007
15
2008
5
2009
24
2010
38
2011
40
2012
13
2013
5
2014
6
2015
8
2016
5
2017
2
2018
4
2019
17
2020
7
2021
18
2022
22
2023
11
2024
2
2006
-
Philosophy of Testing 22 Dec 2006
-
A classic quote 08 Dec 2006
-
In praise of C++ 02 Dec 2006
-
Everyday Scripting in Ruby 30 Nov 2006
-
Does SOX solve the problem? 23 Nov 2006
-
Wading through code 18 Nov 2006
-
Agile requires discipline 12 Oct 2006
-
What evidence do we have that Agile works? 10 Oct 2006
-
An interesting design failure 09 Oct 2006
-
Guess my answer to this 08 Oct 2006
-
Remembering the users 07 Oct 2006
-
Can "Thought Leaders" change their mind? 05 Oct 2006
-
Seen a Computer Operator recently? 23 Aug 2006
-
Requirements - Documentation, Conversation or Invention? 12 Aug 2006
-
Implicit Constraints and Requirements Capture 11 Aug 2006
-
What are requirements? 08 Aug 2006
-
Immediate Gratification? 04 Aug 2006
-
Why Improving Wetware? 19 Jul 2006
2007
-
Some quotes that might be useful 27 Oct 2007
-
In Praise of C and C++ 23 Jul 2007
-
Idiomatic Ruby 18 Jul 2007
-
More Certification ideas 04 Jul 2007
-
What does 25 years of improvement look like? 02 Jul 2007
-
Rejecting Software Engineering 28 Jun 2007
-
Hiring Good Developers 21 Jun 2007
-
Craftsmanship and Certification 06 Jun 2007
-
Uncertainty in Software Development 20 Apr 2007
-
Sometimes I forget that I like Ruby 12 Mar 2007
-
Backup script for typo blogs 14 Feb 2007
-
Tools are interesting, important, and irrelevant 08 Feb 2007
-
Doesn't everyone think about testing like this? 04 Feb 2007
-
Professionalism and Engineering 19 Jan 2007
-
Reality vs. Theory 14 Jan 2007
2008
2009
-
Make Lists. Not Too Much. Mostly Do. 12 Dec 2009
-
An amusing speculation about the Waterfall 10 Dec 2009
-
Time to move beyond Agile? 29 Nov 2009
-
Amusing quote from an economist 25 Nov 2009
-
Software development as a scientific activity 22 Nov 2009
-
Improving Documentation 11 Nov 2009
-
Real Options 17 Oct 2009
-
Uncle Bob on Test Driven Development 08 Oct 2009
-
Pseudo random links 07 Oct 2009
-
Artisans and Handmade Software 07 Oct 2009
-
Talk About Being Late To The Party 03 Oct 2009
-
So Much For "Don't Be Evil" 03 Oct 2009
-
The Argument From Ignorance 22 Sep 2009
-
Cooper on Agile 22 Sep 2009
-
Certification just won't go away 22 Sep 2009
-
Nice observation from Scalzi 20 Sep 2009
-
Kent Beck's blog has some great quotes 20 Sep 2009
-
What to do when the estimate is wrong 18 Sep 2009
-
Decentralizing social media 15 Sep 2009
-
Defending Software Craftsmanship 12 Sep 2009
-
Masterpiece Engineering 05 Sep 2009
-
Lecturing Birds on Flying 03 Sep 2009
-
Which is better, an untested theory or not knowing? 02 Sep 2009
-
Back after a long gap 01 Sep 2009
2010
-
No, I don't agree with the manifesto 29 Dec 2010
-
Introductory Programming Texts Need Work 10 Dec 2010
-
Very interesting Chemist blog 16 Nov 2010
-
Global warming humor 14 Nov 2010
-
Approximate calculations 25 Oct 2010
-
Redefining the conversation 24 Oct 2010
-
Affordances in Unit Testing 07 Oct 2010
-
Inmates are running the Asylum? 27 Sep 2010
-
Not All Error Messages Are Informative 13 Aug 2010
-
SPIEGEL Interview with Craig Venter 06 Aug 2010
-
Separating Design From Implementation is a Bad Idea 02 Jul 2010
-
The Rugged Software Manifesto is not a Parody 28 Jun 2010
-
Software Development, Planning and Timescales 27 May 2010
-
Understanding large numbers 16 May 2010
-
Moving to Fossil 15 May 2010
-
Fossil ignores files by default 15 May 2010
-
Worst Case Thinking leads to bad decisions 13 May 2010
-
Zed Shaw and Learning Python The Hard Way 09 May 2010
-
Fun with XHTML 09 May 2010
-
Interesting claims about testing SQLite 20 Apr 2010
-
Wisdom from Neil deGrasse Tyson 08 Apr 2010
-
A different take on climate change and the media 08 Apr 2010
-
Solving the birthday problem using Ruby 07 Apr 2010
-
Testing AJAX with curl and Apache Bench 31 Mar 2010
-
{"Three choices"=>"Mitigation, Adaptation and Suffering"} 14 Mar 2010
-
Just read Debunking the Science that Makes Life Dismal 12 Mar 2010
-
Seeking Simpler Explanations 02 Mar 2010
-
The Onion has written a software manifesto... 28 Feb 2010
-
How Can We Detect Slow Changes? 07 Feb 2010
-
Chip and Pin Credit Card Vulnerabilities 06 Feb 2010
-
Good process vs. Bad process 17 Jan 2010
-
A tale of woe related to optimization 17 Jan 2010
-
Browser standards and slow progress 14 Jan 2010
-
Just because Zed is so awesome 13 Jan 2010
-
An interesting python project 13 Jan 2010
-
Why this site has the CO2 badge 09 Jan 2010
-
A defense of the GPL 08 Jan 2010
-
Still Questioning Extreme Programming 03 Jan 2010
2011
-
Appropriate Complexity 27 Dec 2011
-
Some thoughts about the media 28 Oct 2011
-
The Essence of Craftsmanship 19 Oct 2011
-
Even the Onion gets on on the act 07 Sep 2011
-
Science and extraordinary claims 02 Sep 2011
-
An Inquiry Into The Value Of Work 18 Jul 2011
-
Dealing With Aging Infrastructure 09 Jul 2011
-
Some climate links 23 Jun 2011
-
Another take on the Software Engineering idea 23 Jun 2011
-
Magical Thinking 07 Jun 2011
-
Understanding The Fundamentals 31 May 2011
-
An Economist Admits There Is A Problem 24 May 2011
-
Story About The Start Of Scientific Management 21 Apr 2011
-
Strange error from RubyGems due to linux prelink ... 07 Apr 2011
-
The Economist Gets It Wrong Again 01 Apr 2011
-
Celebrating the day of fools... 31 Mar 2011
-
Some History Of Programming 12 Mar 2011
-
Celebrating 15 years of the Sokal expose... 04 Mar 2011
-
TL;DR Soundbites Are Going To Kill Us 02 Mar 2011
-
When the Low Cost Supplier Stops Supplying 22 Feb 2011
-
Time for Intolerance? 16 Feb 2011
-
Mainstream media is catching up with outsourcing 16 Feb 2011
-
Limits Of Expertise 15 Feb 2011
-
Outsourcing Too Much Part II 08 Feb 2011
-
Using Climate Change to study Software Development 04 Feb 2011
-
Ruby on Rails Gotcha — cannot always omit parenthesis on a method call 03 Feb 2011
-
Fun with Ruby on Rails 01 Feb 2011
-
Kanban for Software Development? 31 Jan 2011
-
If you wait until it's obvious, it's too late 28 Jan 2011
-
Productivity and Compensation 27 Jan 2011
-
Software Craftsmanship Revisited 20 Jan 2011
-
Rails Gotcha on Shared Hosting 18 Jan 2011
-
Resizing Images for the Web 15 Jan 2011
-
Setting up a Rails 3 development environment 13 Jan 2011
-
Understanding Productivity 12 Jan 2011
-
(In)Validating the 10X Productivity Difference Claim 11 Jan 2011
-
The iPad does not appear to be a social medium 10 Jan 2011
-
Best in class efficiency — because we didn't import the fuel efficient vehicles 07 Jan 2011
-
Yes, you can outsource too much 05 Jan 2011
-
jQuery for easier static site maintenance 05 Jan 2011
2012
-
Slides from Agile Calgary talk 07 Dec 2012
-
Making a Game of Disaster Recovery Planning 16 Nov 2012
-
What Programmers Want is Less Stupid 13 Nov 2012
-
A look at the future of software development 12 Nov 2012
-
Transitions II 21 Oct 2012
-
Dealing With Transitions 20 Oct 2012
-
Rules For Reproducibility 11 Oct 2012
-
Long time no blog... 05 Oct 2012
-
More Lessons From Outside The Field 16 Mar 2012
-
Jim Bird's take on Technical Debt 17 Feb 2012
-
Understanding The Value Of Code 06 Feb 2012
-
Lessons From Outside The Field 15 Jan 2012
-
Why isn't the source code as simple as the software? 09 Jan 2012
2013
2014
2015
-
Drawing ER Diagrams with GraphViz 19 Dec 2015
-
Back to the future (again) 02 Dec 2015
-
Firefox is going to lose a lot of developers (and users) 25 Nov 2015
-
Breaking news...programmers are not engineers 07 Nov 2015
-
I had forgotten about the Coding Horror website 30 Jul 2015
-
So much universe, and so little time 12 Mar 2015
-
Kevlin Henney - Seven Ineffective Coding Habits 15 Feb 2015
-
Craftsmanship in other fields 08 Feb 2015
2016
2017
2018
2019
-
Affordances in version control systems 07 Nov 2019
-
Are we getting better at estimating software projects? 27 Oct 2019
-
Elixir/Phoenix/Ecto, UTC in database, localtime on web page 02 Oct 2019
-
Elixir Ecto simple SQL Query 21 May 2019
-
Setting up Elixir and Ecto with jamdb_oracle 20 May 2019
-
Thank You for Erlang Joe 19 May 2019
-
Blockchain - is it a good idea for some domains? 15 May 2019
-
Rethinking Driverless Vehicles 10 May 2019
-
Free and fair elections in the age of social media? 24 Apr 2019
-
Time to revoke some corporate charters? 27 Mar 2019
-
Cynefin Framework for understanding Methodologies 17 Mar 2019
-
Learning The World 04 Mar 2019
-
Another take on "How Hard Can It Be?" 04 Mar 2019
-
Cognitive and Social Biases 02 Mar 2019
-
The end of Opportunity 13 Feb 2019
-
Interesting talk on Concept Mapping 11 Feb 2019
-
Delayed Start as a cause of Project Failure 11 Jan 2019
2020
-
Is Serverless a return to the days of batch mainframe processing? 21 Dec 2020
-
Another take on computer security 21 Dec 2020
-
Arecibo Observatory is no more 20 Nov 2020
-
One take on the state of EdTech 28 Jun 2020
-
University Leadership... 25 May 2020
-
As time passes, only COBOL lasts 05 Apr 2020
-
How expensive is the cloud? 25 Feb 2020
2021
-
Introducing pikchr for Diagrams as Code 04 Dec 2021
-
A sample pikchr 04 Dec 2021
-
A different take on autonomous vehicles 02 Dec 2021
-
Just say no to software certifications 30 Nov 2021
-
Interesting take from Tim Bray on Microservices and Integration testing 30 Nov 2021
-
English speaking aliens/UFO/UAP 25 Nov 2021
-
Another bad idea for the use of technology 25 Nov 2021
-
Economics of Maintaining Tests 13 Nov 2021
-
Hurl as an alternative to Postman 05 Oct 2021
-
Craftsmanship and Engineering 01 Oct 2021
-
Upgrading from Selenium to Playwright 16 Sep 2021
-
Slow decision making as a failure mode for Scrum 09 Sep 2021
-
Microservices, the Cloud and Us 24 Aug 2021
-
Revisiting "Applying the Lessons of eXtreme Programming" 11 Aug 2021
-
Hyperloop Delusions 25 Jun 2021
-
SWEBOK 3 is out 22 Apr 2021
-
PlantUML has a good way of visualizing JSON 24 Jan 2021
-
Another take on Engineering vs. Craftsmanship 19 Jan 2021
2022
-
More Dan North and CUPID 06 Oct 2022
-
Simon Wardley's Blah Template 20 Sep 2022
-
Choosing what to work on at the start of a project 18 Sep 2022
-
Affordances in programming languages 11 Aug 2022
-
Implications of Shift-Left for Quality Assurance 31 Jul 2022
-
Automating system tests for Defects 05 Jun 2022
-
Automating System Tests 04 Jun 2022
-
Just-In-Time, Work-In-Progress and Kanban 05 May 2022
-
Working As Designed and other stories 25 Apr 2022
-
Architecture at the wrong scale 06 Apr 2022
-
Testing emails when your app is not the sender 08 Mar 2022
-
Test code is not Production code 06 Mar 2022
-
Applying Quality Assurance to your Tests 27 Feb 2022
-
Dan North and CUPID 17 Feb 2022
-
Read Evaluate Print Loop - REPL for the win 06 Feb 2022
-
Sometimes you have to read the comics 04 Feb 2022
-
A neat Playwright Codegen feature 03 Feb 2022
-
Sometimes it's better to light a flamethrower than curse the darkness 27 Jan 2022
-
A legal framework for automated vehicles 27 Jan 2022
-
When does Herd Intelligence kick in? 24 Jan 2022
-
Year 15 of the five year plan to retire the mainframe 09 Jan 2022
-
Hoping for the Best, Planning for the Worst 08 Jan 2022
2023
-
Generative AI still hallucinates 08 Oct 2023
-
Utilizing SQL 05 Oct 2023
-
Getting feedback from running code 02 Sep 2023
-
A sideways view of tech innovations 21 May 2023
-
Software as Capital 16 Apr 2023
-
Mocking and Unit Tests 12 Mar 2023
-
More things Derek Lowe will not work with 25 Feb 2023
-
ChatGPT - do not fall for the hype 07 Feb 2023
-
Architectural Consistency - How hard can it be? 29 Jan 2023
-
Python Requests library and SSL 14 Jan 2023
-
Prioritization and Cycle Time 07 Jan 2023