Note also, that DZone has syndicated over 120 of my articles.
Client-Side MVC
-
June 10th, 2016
»
New Enterprise Web-App Design Choices for 2016
-
May 19th, 2013
»
Coming to Angular from something else
-
April 28th, 2013
»
When Agile meets Angular and UX-led development
-
March 6th, 2013
»
A better Slideshow App, using Angular
-
February 15th, 2013
»
Slideshow HTML App, using Angular
-
February 8th, 2013
»
Angular Instead of Media-Queries
-
January 18th, 2013
»
Client-Side MVC Roundup
-
January 8th, 2013
»
Perforce as a datastore, with Client-Side MVC
-
January 6th, 2013
»
Visualizing the Client-Side MVC race
-
October 31st, 2012
»
Angular for Designers.
-
April 13th, 2012
»
The Shift Towards Client-Side MVC
-
April 12th, 2012
»
Performance Testing Knockout, Angular and Backbone with Selenium2
-
April 9th, 2012
»
Testing Knockout and Angular with Selenium2
-
March 15th, 2012
»
AngularJS and Selenium (Again)
-
March 12th, 2012
»
The Importance of Design-Mode for Client-Side MVC
-
March 3rd, 2012
»
Replacing JQuery With Angular
-
February 14th, 2012
»
Client-Side MVC: browser plugins
-
February 13th, 2012
»
Client-Side MVC frameworks compared
-
February 10th, 2012
»
Client-Side-MVC applications : best practice (part 1)
-
February 8th, 2012
»
The document is the single source of truth
-
February 6th, 2012
»
Web-app model quandary
-
February 6th, 2012
»
Previous Web Architectures
-
February 1st, 2012
»
Angular and Selenium
-
February 1st, 2012
»
Angular and DreamWeaver
-
January 29th, 2012
»
(almost) No JavaScript prototyping with Angular in a single source file
-
January 23rd, 2012
»
UI Technology Paradigm Shift
-
February 27th, 2011
»
Introducing Story Navigator
-
September 28th, 2009
»
Angular - HTML based Declarative UI (also one to watch)
eXtreme Programming & Practices
Refactoring
-
July 25th, 2016
»
Java legacy hairball: refactoring case-study
-
May 8th, 2014
»
TDD When You Can't Refactor
-
March 14th, 2014
»
Building Software Is Nothing Like Building H̶o̶u̶s̶e̶s̶ Buildings
-
July 31st, 2013
»
Some more on 'Strangulation inside Tomcat'
-
July 15th, 2013
»
Legacy Java Applications: Strangulation inside Tomcat
-
July 14th, 2013
»
Legacy Application Strangulation : Case Studies
-
March 20th, 2013
»
A Singleton Escape Plan
-
March 20th, 2013
»
Reverse Engineering a DB for DevOps excellence
-
March 11th, 2013
»
Legacy App Rejuvenation
-
September 1st, 2011
»
Refactoring Experiment - 'least depending and most depended on' components first
-
November 9th, 2010
»
A Spring Framework Shortcoming
Pseudo-declarative UIs
-
June 30th, 2025
»
SwiftUI Component Testing with Appium & Test Harnesses
-
August 18th, 2018
»
Flutter and UI Automation
-
April 8th, 2017
»
Node.QML would have been the key to the Ubuntu Phones's success
-
November 15th, 2016
»
QML's Squandered Opportunity
-
September 8th, 2015
»
Decorators in the DOM
-
August 12th, 2015
»
Making a very small MP3 player with QML
-
September 30th, 2014
»
QML Becomes a Viable Mobile UI Framework Choice
-
September 22nd, 2014
»
Cross-Platform Mobile Application Development
-
September 17th, 2014
»
UI Development Has Never Been More Expensive
-
July 9th, 2014
»
Browsing QML instead of HTML
-
June 14th, 2014
»
Qt, QML, V-Play and multi-platform mobile
-
March 28th, 2013
»
Interface Builder's Alternative Lisp timeline
-
February 11th, 2013
»
Push or Pull Decorators
-
February 4th, 2013
»
The Importance of the DOM
-
January 31st, 2013
»
Application Development Glass Ceilings Revisited
-
January 12th, 2013
»
RubyMotion in a declarative UI style
-
January 12th, 2013
»
Categorizing Languages
-
January 11th, 2013
»
QML and the new Ubuntu phone OS
-
April 15th, 2012
»
Application Development Glass Ceilings
-
March 12th, 2012
»
The Importance of Design-Mode for Client-Side MVC
-
September 12th, 2011
»
What is Dart going to be?
-
September 26th, 2009
»
Kinetic - Qt based Declarative UI (one to watch)
-
April 13th, 2009
»
Shoes and Swiby - walking through the example RIA apps
-
April 7th, 2009
»
Google App Engine for Java with Rich Ruby clients
-
October 13th, 2007
»
Sweb 3.0
-
May 9th, 2007
»
JavaFX Mobile is *just* SavaJE aquired by Sun
-
January 10th, 2006
»
Ruby vs JavaScript for Web3.0
-
March 31st, 2004
»
Thicky- like the web, but with a Groovy thick-client experience
-
February 16th, 2004
»
Groovy - a convergence language
Architecture & App Config
-
July 23rd, 2019
»
Some Thoughts On Toggles
-
June 1st, 2019
»
Modelling Architectures
-
January 31st, 2018
»
An Ontology: Component vs Class vs Object vs Service vs Application vs Process vs Library, etc
-
November 2nd, 2017
»
Step Aside Blockchains, Hashgraphs Are Giving Plain Merkle Trees A Turbo Boost
-
September 28th, 2017
»
Choosing Between Blockchains And Vanilla Merkle Trees
-
September 23rd, 2017
»
Wikis that use source-control for their backing store
-
July 29th, 2016
»
Anvil app platform: using GitHub as a datastore
-
July 11th, 2016
»
Anvil: Like MsAccess For The Web But With Git Coolness
-
June 10th, 2016
»
New Enterprise Web-App Design Choices for 2016
-
July 13th, 2015
»
How Google makes a consistent top-navigation across multiple apps
-
June 18th, 2015
»
INI files for form templates
-
June 7th, 2015
»
Custom JSON Editors for Github·com
-
May 2nd, 2015
»
So you think monolith is the only alternative to microservices
-
December 8th, 2014
»
The rise of version control
-
December 7th, 2014
»
Monoliths, Cookie-Cutter or Microservices?
-
December 6th, 2014
»
Cross Platform - Sharing Code the Google Inbox way
-
November 12th, 2014
»
The Config Promotion Problem
-
November 9th, 2014
»
To SOA or Not To SOA
-
August 27th, 2014
»
Provisioning, Deployment and Application Config Cycles
-
August 12th, 2014
»
Trunk supporting practices
-
February 15th, 2014
»
Application Architecture in the CD Era for Pro-Services teams
-
October 23rd, 2013
»
A lower technology style of Angular for the enterprise
-
October 12th, 2013
»
Bad Java servlet apps
-
August 1st, 2013
»
Elastic Provisioning of New Environments
-
January 8th, 2013
»
Perforce as a datastore, with Client-Side MVC
-
November 20th, 2012
»
Very Small Data
-
August 14th, 2012
»
App Config using Git and Angular
-
August 2nd, 2012
»
App-Help on the Cheap
-
July 10th, 2012
»
Feature Toggles: App-config workflow using SCM
-
June 12th, 2012
»
NoSQL for storage AND relational for reporting
-
February 6th, 2012
»
Web-app model quandary
-
February 6th, 2012
»
Previous Web Architectures
-
November 29th, 2011
»
Cookie Cutter Scaling
-
November 22nd, 2011
»
Google's accounts system - architectural meaning
-
September 21st, 2011
»
A forgotten aspect of the Facade Pattern
-
September 1st, 2011
»
Refactoring Experiment - 'least depending and most depended on' components first
-
August 6th, 2011
»
Stitz's Five port rule for enterprise application dev
-
May 12th, 2006
»
Very Simple Java interop with .Net over the wire without Web Services
-
October 19th, 2004
»
Ward on Dependency Injection
-
March 25th, 2004
»
Objects, Components, Services and Aspects
-
August 12th, 2002
»
EJB not the holy grail
Continuous Delivery
-
May 23rd, 2018
»
Examining CI, CD and branching models
-
December 12th, 2017
»
Dialing Up Your Application's Release Cadence
-
October 30th, 2017
»
Trunk, CI, Builds, Environments, and Integration
-
September 17th, 2017
»
The number of pre-production environments
-
June 17th, 2017
»
Developers Activities Shouldn't Change With Proximity To Release Dates
-
April 1st, 2017
»
Often forgotten must-haves for Continuous Delivery teams
-
September 17th, 2015
»
Continuous Delivery, SaaS, robots, and license fees
-
July 30th, 2015
»
All you can eat software licenses when doing Continuous Delivery
-
January 27th, 2015
»
Detecting Redundant Tests
-
January 18th, 2015
»
Reducing Test Times by Only Running Impacted Tests - Python Edition
-
January 11th, 2015
»
Reducing Test Times by Only Running Impacted Tests - for Maven & Java
-
December 7th, 2014
»
Monoliths, Cookie-Cutter or Microservices?
-
November 12th, 2014
»
The Config Promotion Problem
-
September 1st, 2014
»
Microcosm environments/deployments
-
August 27th, 2014
»
Provisioning, Deployment and Application Config Cycles
-
August 12th, 2014
»
Trunk supporting practices
-
April 10th, 2014
»
Continuous Delivery: The price of admission..
-
February 15th, 2014
»
Application Architecture in the CD Era for Pro-Services teams
-
January 14th, 2014
»
Convincing Executives To Switch To Trunk-Based Development
-
March 19th, 2013
»
The Cost of Unmerge
-
March 13th, 2013
»
Facebook's Trunk-Based Development (take 2)
-
March 4th, 2013
»
Trunk-Based Development at Facebook
-
February 20th, 2013
»
Continuous Delivery: Professionals vs. Amateurs
Cookie Cutter Scaling
-
June 1st, 2019
»
Modelling Architectures
-
October 7th, 2018
»
Conway's Observation
-
December 11th, 2016
»
Permissions for composite in-house webapps
-
July 13th, 2015
»
How Google makes a consistent top-navigation across multiple apps
-
May 2nd, 2015
»
So you think monolith is the only alternative to microservices
-
April 14th, 2015
»
A lesser talked about feature of Microservices
-
December 7th, 2014
»
Monoliths, Cookie-Cutter or Microservices?
-
November 9th, 2014
»
To SOA or Not To SOA
-
April 9th, 2013
»
Scaling Trunk-Based Development
-
November 29th, 2011
»
Cookie Cutter Scaling
-
November 22nd, 2011
»
Google's accounts system - architectural meaning
Micro-Frontends
-
December 11th, 2016
»
Permissions for composite in-house webapps
-
July 13th, 2015
»
How Google makes a consistent top-navigation across multiple apps
-
May 2nd, 2015
»
So you think monolith is the only alternative to microservices
-
April 14th, 2015
»
A lesser talked about feature of Microservices
-
December 7th, 2014
»
Monoliths, Cookie-Cutter or Microservices?
-
November 9th, 2014
»
To SOA or Not To SOA
-
April 9th, 2013
»
Scaling Trunk-Based Development
-
November 29th, 2011
»
Cookie Cutter Scaling
-
November 22nd, 2011
»
Google's accounts system - architectural meaning
Agile
-
April 13th, 2022
»
More on Depth-first recursive vs DAG build technologies
-
April 8th, 2022
»
Depth-first recursive vs DAG build technologies
-
February 12th, 2022
»
A Tech Debt balance sheet
-
June 25th, 2020
»
Fixed-price UpWork Contracts
-
March 12th, 2020
»
Value Stream Mapping
-
November 20th, 2019
»
Environment Hell
-
October 20th, 2019
»
Quicker Local Maven Builds
-
October 12th, 2019
»
Diagrams to help or hinder understanding
-
July 11th, 2019
»
Tutorials vs Reference Docs vs Examples
-
July 24th, 2018
»
Win-Win Vendor Contracts
-
September 1st, 2017
»
Smalltalk Envy
-
August 28th, 2017
»
BDD Acceptance Criteria Pay For Themselves Multiple Times
-
May 14th, 2017
»
TodoMVC and given-when-then scenarios
-
April 7th, 2017
»
Tech Debt - Balance Sheets
-
February 12th, 2017
»
Shared-Nothing Builds
-
March 16th, 2016
»
List of 5th Agile Values
-
December 19th, 2015
»
The iron triangle is actually a square and not particularly iron
-
December 17th, 2015
»
More on technology compatibility kits in app development
-
October 16th, 2015
»
Using Mountebank to detach frontend and backend development
-
May 2nd, 2015
»
Scraping Leankit for analytics and pretty urls
-
January 27th, 2015
»
Detecting Redundant Tests
-
January 18th, 2015
»
Reducing Test Times by Only Running Impacted Tests - Python Edition
-
January 11th, 2015
»
Reducing Test Times by Only Running Impacted Tests - for Maven & Java
-
December 8th, 2014
»
Service Orientated Strangulation
-
September 10th, 2014
»
Throughput Over Backlog (a Fifth Agile Value)
-
September 1st, 2014
»
Microcosm environments/deployments
-
August 12th, 2014
»
Trunk supporting practices
-
May 10th, 2014
»
Developer Delayed Development
-
April 29th, 2014
»
Small Stories With Angular (case study)
-
March 14th, 2014
»
Building Software Is Nothing Like Building H̶o̶u̶s̶e̶s̶ Buildings
-
February 28th, 2014
»
Like a Used Sofa
-
October 17th, 2013
»
A 'Small Stories' Case Study
-
September 19th, 2013
»
Delaying non-functional stories
-
April 28th, 2013
»
When Agile meets Angular and UX-led development
-
March 20th, 2013
»
Reverse Engineering a DB for DevOps excellence
-
February 20th, 2013
»
Continuous Delivery: Professionals vs. Amateurs
-
February 16th, 2013
»
Misapplying Bayes-Theorem to Agile Versus Waterfall
-
November 12th, 2012
»
Smaller Stories
-
November 7th, 2012
»
Candidate Stories
-
November 1st, 2012
»
Testability and Cost of Change
-
April 24th, 2012
»
Call to Arms: Average Story Sizes of One Day
-
September 14th, 2010
»
Another UI prototyping technique (for Agile teams)
-
September 7th, 2009
»
Theory of Constraints and Agile
-
March 3rd, 2007
»
Simple wars
-
July 19th, 2006
»
Un-Agile Things
-
March 19th, 2005
»
Agility Alliance
-
October 19th, 2004
»
Ward on Dependency Injection
-
February 12th, 2004
»
Legacy TDD - RPG is not always a role playing game
-
September 4th, 2003
»
A declaration against Unit Tests
-
August 7th, 2003
»
Early Practices.
-
July 28th, 2003
»
Patterns
-
September 3rd, 2002
»
JIT Software
-
August 12th, 2002
»
Err away from rewrite
Our Merkleized Future
-
January 17th, 2023
»
OCR-to-Hash: A Simple Audit Trail for Physical Documents
-
August 14th, 2022
»
Merkleized Public Attestations
-
January 19th, 2020
»
VCS Nirvana
-
July 21st, 2019
»
Using Git In Business And Government
-
June 27th, 2019
»
Merkle Trees Underpinning Civilization Going Forward
-
June 14th, 2019
»
Merkle Trees and Source Control
-
August 6th, 2018
»
Decentralize, Centralize or Somewhere In-Between?
-
May 30th, 2018
»
Better practices for audits
-
November 2nd, 2017
»
Step Aside Blockchains, Hashgraphs Are Giving Plain Merkle Trees A Turbo Boost
-
November 2nd, 2017
»
Merkle Trees vs Blockchains vs Hashgraphs
-
September 28th, 2017
»
Choosing Between Blockchains And Vanilla Merkle Trees
-
September 28th, 2017
»
Blockchains in pictures
-
September 17th, 2017
»
'Old-School' Merkle Trees Rock
-
September 17th, 2017
»
Merkle Trees In Pictures
Configuration as Code
-
July 23rd, 2019
»
Some Thoughts On Toggles
-
December 19th, 2016
»
Infrastructure versus Config as Code
-
July 29th, 2016
»
Anvil app platform: using GitHub as a datastore
-
June 26th, 2016
»
Using RhodeCode and Angular1 as an Editor for a 'Config as Code' System
-
June 18th, 2015
»
INI files for form templates
-
June 7th, 2015
»
Custom JSON Editors for Github·com
-
November 12th, 2014
»
The Config Promotion Problem
-
September 8th, 2014
»
Rules Engines Suck Too If They Are Not Backed By Source-Control
-
August 27th, 2014
»
Provisioning, Deployment and Application Config Cycles
-
August 12th, 2014
»
Trunk supporting practices
-
February 15th, 2014
»
Application Architecture in the CD Era for Pro-Services teams
-
January 8th, 2013
»
Perforce as a datastore, with Client-Side MVC
-
December 5th, 2012
»
Push or pull of config changes for a production stack
-
August 14th, 2012
»
App Config using Git and Angular
-
July 10th, 2012
»
Feature Toggles: App-config workflow using SCM
Application Strangulation
Internet Plumbing, and Standards
Dependency Injection
-
October 12th, 2013
»
Bad Java servlet apps
-
March 20th, 2013
»
A Singleton Escape Plan
-
November 9th, 2010
»
A Spring Framework Shortcoming
-
August 20th, 2010
»
.Net Dependency Injection better practice
-
April 15th, 2009
»
AppEngine's blind-spot
-
April 7th, 2009
»
Google App Engine for Java with Rich Ruby clients
-
July 30th, 2008
»
Releasing PicoContainer 2.5 and JRemoting
-
March 22nd, 2008
»
What brought me to Inversion of Control in the first place ..
-
March 16th, 2008
»
Crazy Bob and type safety for Dependency Injection
-
July 22nd, 2007
»
Injecting into Servlets and undoing the stranglehold of web.xml
-
July 16th, 2007
»
PicoConatiner 2.0 beta released
-
March 16th, 2007
»
Waffle - Java web action framework with smallest lines of code count for action methods
-
May 8th, 2006
»
My presentation on Dependency Injection versus Big Up-Front Architecture
-
January 27th, 2006
»
NanoContainer Presentation
-
October 19th, 2004
»
Ward on Dependency Injection
-
October 12th, 2004
»
CDI Book
-
July 30th, 2004
»
My OSCON PicoNirvana slideshow
-
June 5th, 2004
»
PicoContainer 1.0 released (finally)
-
May 1st, 2004
»
O'Reilly's OSCON speaker
-
April 20th, 2004
»
Logging - just say no.
-
February 16th, 2004
»
Can the next big language drop public static void main(String[] args) please?
-
January 24th, 2004
»
Jesktop goes Pico
-
December 23rd, 2003
»
NMock PicoCompatability
-
December 23rd, 2003
»
Type3 rollout
-
December 5th, 2003
»
My Inversion of Control Rocks article on JDJ.
-
October 16th, 2003
»
Pico practices for .Net
-
October 16th, 2003
»
.Net pitfalls
-
October 7th, 2003
»
PicoContainer is non-threatening
-
September 17th, 2003
»
App.config in C#
-
September 3rd, 2003
»
Componentization
-
September 3rd, 2003
»
Endianism in OSS
-
September 3rd, 2003
»
Diversity
-
August 16th, 2003
»
PicoContainer 1.0b1...
Quality Assurance
-
February 21st, 2015
»
Playing With Sikuli For Desktop Automation
-
January 27th, 2015
»
Detecting Redundant Tests
-
January 18th, 2015
»
Reducing Test Times by Only Running Impacted Tests - Python Edition
-
January 11th, 2015
»
Reducing Test Times by Only Running Impacted Tests - for Maven & Java
-
November 4th, 2014
»
Selenium is Ten Years Old
-
October 23rd, 2013
»
A lower technology style of Angular for the enterprise
-
August 31st, 2013
»
WebDriver and AngularJS
-
August 28th, 2013
»
Fluent Selenium with an Angular application
-
August 26th, 2013
»
A different style of Fluent Selenium tests
-
May 19th, 2013
»
Fluent Selenium Examples
-
November 1st, 2012
»
Testability and Cost of Change
-
April 12th, 2012
»
Performance Testing Knockout, Angular and Backbone with Selenium2
-
April 9th, 2012
»
Testing Knockout and Angular with Selenium2
-
March 15th, 2012
»
AngularJS and Selenium (Again)
-
February 1st, 2012
»
Angular and Selenium
-
December 11th, 2011
»
Sauce Labs: Tunnels or not?
-
November 14th, 2011
»
Reporting Selenium2 (WebDriver) bugs
-
September 30th, 2011
»
setContext(..) is back for Selenium2 :-P
-
September 23rd, 2011
»
Automatic sequence diagrams from BDD-scenario executions
-
August 31st, 2011
»
Contrasting Selenium 2 locator styles
-
August 4th, 2011
»
Hiring Selenium QA people
-
March 14th, 2011
»
I think it is time for QTP to die*
-
May 8th, 2006
»
My presentation on Dependency Injection versus Big Up-Front Architecture
-
May 7th, 2005
»
Selenium The Movie / Directors Cut
-
May 2nd, 2005
»
Selenium: kick ass web testing for free
-
April 26th, 2005
»
Selenium The Movie
-
April 28th, 2004
»
WinRunner Best Practices
Content Management Systems
-
August 29th, 2014
»
Nearly All CMS Technologies Suck
-
March 15th, 2013
»
Article Syndication on GitHub via Subversion
-
February 24th, 2013
»
Angular in a Jekyll Blog
-
February 8th, 2013
»
Angular Instead of Media-Queries
-
January 6th, 2013
»
The sorry state of the anti-software-patents movement
-
January 2nd, 2013
»
GitHub Pages as a CMS again
-
August 2nd, 2012
»
App-Help on the Cheap
-
July 16th, 2011
»
New Blog Technology and Hosting
-
May 8th, 2011
»
GitHub as a CMS to end CMSes
-
July 30th, 2008
»
Project Documentation Thoughts
-
January 15th, 2007
»
Cozmos gets Subversion backend
-
January 7th, 2007
»
Cozmos- CMS using webdav and Sitemesh
-
December 7th, 2006
»
An alternative to wikis
-
April 11th, 2005
»
Content Editing Nirvana
-
June 11th, 2004
»
Tools with Proprietary Source Control? Be Careful.
Source Control
-
June 22nd, 2026
»
Cherry-pick Asymmetry
-
April 28th, 2026
»
The limits of merging experiment
-
January 19th, 2020
»
VCS Nirvana
-
August 2nd, 2019
»
Pull-Request dissatisfaction
-
July 21st, 2019
»
Using Git In Business And Government
-
June 27th, 2019
»
Merkle Trees Underpinning Civilization Going Forward
-
June 14th, 2019
»
Merkle Trees and Source Control
-
June 11th, 2019
»
Monorepos vs Megarepos
-
June 18th, 2016
»
Subversion Merge Limitations That Are Not In Fossil
-
December 15th, 2015
»
Branches should be for change of policy on the same source
-
October 5th, 2015
»
Subversion Merge Limitations That Are Not In Perforce
-
September 29th, 2015
»
Subversion Merge Limitations That Are Not In Mercurial
-
September 27th, 2015
»
Subversion Merge Limitations That Are Not In Git
-
September 25th, 2015
»
Subversion Merge Limitations
-
September 20th, 2015
»
Extracting Subversion Branch Mappings
-
August 11th, 2015
»
Source-Control that explicitly understands refactorings
-
August 10th, 2015
»
Git becomes version-control's lingua franca wire protocol
-
July 30th, 2015
»
Git storing unzipped office docs
-
May 2nd, 2015
»
Scraping Leankit for analytics and pretty urls
-
February 14th, 2015
»
I wish Subversion had a query language
-
February 14th, 2015
»
Bash script to convert Subversion to Git
-
December 8th, 2014
»
The rise of version control
-
November 13th, 2014
»
Code Review - the unit of work should be a single commit
-
November 12th, 2014
»
The Config Promotion Problem
-
October 28th, 2014
»
Corporate File Sync: Agony and Ecstasy
-
October 20th, 2014
»
Checking in binaries
-
August 27th, 2014
»
Provisioning, Deployment and Application Config Cycles
-
August 12th, 2014
»
Trunk supporting practices
-
July 30th, 2014
»
GeoJSON mashups and GitHub
-
February 15th, 2014
»
Application Architecture in the CD Era for Pro-Services teams
-
February 3rd, 2014
»
Facebook Scaling Mercurial for Trunk-Based Development
-
January 10th, 2014
»
Non-Continuous Reviews
-
January 8th, 2014
»
Google's vs Facebook's Trunk-Based Development
-
January 8th, 2014
»
Git's Lightweight Merging
-
January 6th, 2014
»
Googlers Subset their Trunk
-
December 8th, 2013
»
Continuous Review (con't)
-
December 5th, 2013
»
Continuous Review
-
December 4th, 2013
»
What is Your Branching Model?
-
November 20th, 2013
»
Source Control is your new DR
-
November 19th, 2013
»
Elastic Environments in Source-Control with Ansible
-
August 1st, 2013
»
Elastic Provisioning of New Environments
-
April 29th, 2013
»
Open Data backed by Source-Control
-
April 9th, 2013
»
Scaling Trunk-Based Development
-
April 5th, 2013
»
What is Trunk-Based Development?
-
April 2nd, 2013
»
Maintained Divergence
-
March 19th, 2013
»
The Cost of Unmerge
-
March 15th, 2013
»
Article Syndication on GitHub via Subversion
-
March 13th, 2013
»
Facebook's Trunk-Based Development (take 2)
-
March 11th, 2013
»
Legacy App Rejuvenation
-
March 4th, 2013
»
Trunk-Based Development at Facebook
-
February 14th, 2013
»
Features I would love source control tools to have
-
January 29th, 2013
»
Content Syndication using Source Control
-
January 8th, 2013
»
Perforce as a datastore, with Client-Side MVC
-
January 2nd, 2013
»
GitHub Pages as a CMS again
-
December 22nd, 2012
»
SCM and Key-Value (Document) Store Convergence
-
December 5th, 2012
»
Push or pull of config changes for a production stack
-
August 14th, 2012
»
App Config using Git and Angular
-
August 10th, 2012
»
It is time for a new take on Spreadsheets
-
August 2nd, 2012
»
App-Help on the Cheap
-
July 10th, 2012
»
Feature Toggles: App-config workflow using SCM
-
May 8th, 2011
»
GitHub as a CMS to end CMSes
-
July 30th, 2008
»
Project Documentation Thoughts
-
April 26th, 2007
»
Introducing Branch By Abstraction
-
January 7th, 2007
»
Cozmos- CMS using webdav and Sitemesh
-
June 11th, 2004
»
Tools with Proprietary Source Control? Be Careful.
Java6 committee participation
Branch by Abstraction, etc
-
September 24th, 2014
»
A Functional Branch by Abstraction Case Study
-
August 12th, 2014
»
Trunk supporting practices
-
January 14th, 2014
»
Convincing Executives To Switch To Trunk-Based Development
-
April 5th, 2013
»
What is Trunk-Based Development?
-
March 19th, 2013
»
The Cost of Unmerge
-
March 13th, 2013
»
Facebook's Trunk-Based Development (take 2)
-
March 11th, 2013
»
Legacy App Rejuvenation
-
March 4th, 2013
»
Trunk-Based Development at Facebook
-
November 1st, 2012
»
Testability and Cost of Change
-
July 10th, 2012
»
Feature Toggles: App-config workflow using SCM
-
April 24th, 2012
»
Call to Arms: Average Story Sizes of One Day
-
September 30th, 2011
»
Branchable Continuous Integration
-
May 13th, 2011
»
Avoiding 'Big Bang' for Branch By Abstraction
-
December 7th, 2010
»
Branch By Abstraction Log Jam
-
April 26th, 2007
»
Introducing Branch By Abstraction
Trunk-Based Development
-
June 22nd, 2026
»
Cherry-pick Asymmetry
-
August 17th, 2020
»
GitLab hosted virtual TBD event - me being interviewed about my book
-
June 11th, 2019
»
Monorepos vs Megarepos
-
May 23rd, 2018
»
Examining CI, CD and branching models
-
October 30th, 2017
»
Trunk, CI, Builds, Environments, and Integration
-
February 14th, 2017
»
Pre-commit Continuous Integration infrastructure is cheaper than post-commit (for high throughput teams)
-
February 8th, 2017
»
Further Experiments With Expanding/Contracting Monorepos
-
January 27th, 2017
»
Maven In A Google Style Monorepo
-
February 15th, 2016
»
CI, Breaking Builds, Bisecting, And Reverting
-
December 13th, 2015
»
Trunk based development: when to branch for release
-
May 2nd, 2015
»
So you think monolith is the only alternative to microservices
-
April 23rd, 2015
»
The origins of Trunk-Based Development
-
December 8th, 2014
»
Service Orientated Strangulation
-
December 6th, 2014
»
Cross Platform - Sharing Code the Google Inbox way
-
November 14th, 2014
»
Source Code Laundering
-
October 23rd, 2014
»
Me Presenting on Trunk (etc) at the Perforce MERGE conference
-
October 20th, 2014
»
Checking in binaries
-
September 29th, 2014
»
Shades of Trunk-Based Development
-
September 24th, 2014
»
A Functional Branch by Abstraction Case Study
-
August 12th, 2014
»
Trunk supporting practices
-
April 10th, 2014
»
Continuous Delivery: The price of admission..
-
April 3rd, 2014
»
Microsoft's Trunk-Based Development
-
February 3rd, 2014
»
Facebook Scaling Mercurial for Trunk-Based Development
-
January 14th, 2014
»
Convincing Executives To Switch To Trunk-Based Development
-
January 10th, 2014
»
Non-Continuous Reviews
-
January 8th, 2014
»
Google's vs Facebook's Trunk-Based Development
-
January 8th, 2014
»
Git's Lightweight Merging
-
January 6th, 2014
»
Googlers Subset their Trunk
-
December 8th, 2013
»
Continuous Review (con't)
-
December 5th, 2013
»
Continuous Review
-
December 4th, 2013
»
What is Your Branching Model?
-
August 1st, 2013
»
Elastic Provisioning of New Environments
-
May 6th, 2013
»
Google's Scaled Trunk-Based Development
-
April 28th, 2013
»
When Agile meets Angular and UX-led development
-
April 9th, 2013
»
Scaling Trunk-Based Development
-
April 5th, 2013
»
What is Trunk-Based Development?
-
March 19th, 2013
»
The Cost of Unmerge
-
March 13th, 2013
»
Facebook's Trunk-Based Development (take 2)
-
March 11th, 2013
»
Legacy App Rejuvenation
-
March 4th, 2013
»
Trunk-Based Development at Facebook
-
November 29th, 2011
»
Cookie Cutter Scaling
-
September 30th, 2011
»
Branchable Continuous Integration
-
May 13th, 2011
»
Avoiding 'Big Bang' for Branch By Abstraction
-
April 18th, 2011
»
Binary Diffing for Increased Release Confidence
-
April 26th, 2007
»
Introducing Branch By Abstraction
Behavior Driven Development
DevOps
-
October 15th, 2019
»
Overtesting Endpoints
-
October 7th, 2018
»
Conway's Observation
-
May 23rd, 2018
»
Examining CI, CD and branching models
-
August 6th, 2017
»
Environment Creation Times in Modern Teams
-
June 22nd, 2017
»
An Aspect of DevOps Improvements: The Reduction of Cycle Times
-
March 26th, 2017
»
Speedy builds using Service Virtualization (SV) explained in diagrams
-
March 25th, 2017
»
Repositories vs release cadences
-
March 25th, 2017
»
Engineering led companies
-
June 27th, 2015
»
Scraping Github pull requests and their code review comments
-
September 1st, 2014
»
Microcosm environments/deployments
-
April 10th, 2014
»
Continuous Delivery: The price of admission..
-
November 20th, 2013
»
Source Control is your new DR
-
November 19th, 2013
»
Elastic Environments in Source-Control with Ansible
-
August 1st, 2013
»
Elastic Provisioning of New Environments
-
April 9th, 2013
»
Scaling Trunk-Based Development
-
April 5th, 2013
»
What is Trunk-Based Development?
-
March 20th, 2013
»
Reverse Engineering a DB for DevOps excellence
-
March 13th, 2013
»
Facebook's Trunk-Based Development (take 2)
-
March 11th, 2013
»
Legacy App Rejuvenation
-
March 4th, 2013
»
Trunk-Based Development at Facebook
-
April 18th, 2011
»
Binary Diffing for Increased Release Confidence
Most Depended On & Least Depending
Continuous Integration
-
May 23rd, 2018
»
Examining CI, CD and branching models
-
December 12th, 2017
»
Dialing Up Your Application's Release Cadence
-
October 30th, 2017
»
Trunk, CI, Builds, Environments, and Integration
-
May 1st, 2017
»
Scoring Continuous Integration
-
April 20th, 2017
»
The definition of 'The Build' has changed over time
-
February 14th, 2017
»
Pre-commit Continuous Integration infrastructure is cheaper than post-commit (for high throughput teams)
-
February 14th, 2017
»
Fake News Via Continuous Isolation
-
February 12th, 2017
»
Shared-Nothing Builds
-
February 15th, 2016
»
CI, Breaking Builds, Bisecting, And Reverting
-
July 30th, 2015
»
All you can eat software licenses when doing Continuous Delivery
-
November 5th, 2013
»
Branchable CI with Thoughtworks' Snap
-
September 30th, 2011
»
Branchable Continuous Integration
Monorepos
-
June 11th, 2019
»
Monorepos vs Megarepos
-
April 4th, 2017
»
Benchmarking a Java/Maven monorepo
-
March 28th, 2017
»
Monorepos with recursive or directed-graph build technologies?
-
March 25th, 2017
»
Repositories vs release cadences
-
February 8th, 2017
»
Further Experiments With Expanding/Contracting Monorepos
-
January 27th, 2017
»
Maven In A Google Style Monorepo
-
February 15th, 2016
»
CI, Breaking Builds, Bisecting, And Reverting
-
September 20th, 2015
»
Extracting Subversion Branch Mappings
-
May 20th, 2015
»
Turning Bazel back into Blaze for monorepo nirvana
-
April 23rd, 2015
»
The origins of Trunk-Based Development
-
March 3rd, 2015
»
Perforce gets its own DVCS
-
January 8th, 2015
»
Omnipresent, Infallible, Omnipotent and Instantaneous Build Technologies
-
November 14th, 2014
»
Source Code Laundering
-
October 23rd, 2014
»
Me Presenting on Trunk (etc) at the Perforce MERGE conference
-
April 10th, 2014
»
Continuous Delivery: The price of admission..
-
April 3rd, 2014
»
Microsoft's Trunk-Based Development
-
January 8th, 2014
»
Google's vs Facebook's Trunk-Based Development
-
January 6th, 2014
»
Googlers Subset their Trunk
-
May 6th, 2013
»
Google's Scaled Trunk-Based Development
-
April 9th, 2013
»
Scaling Trunk-Based Development
-
April 5th, 2013
»
What is Trunk-Based Development?
Elastic Environment Provisioning
Expanding and Contracting Monorepos
License Fees Double Dipping