Here are some general articles which you may find useful:

1 Component Design - Large and Complex vs. Small and Simple
2 What is/is not considered to be good OO programming
(amended 25th November 2004)
3 Technical Keys - Their Uses and Abuses
(amended 13th March 2021)
4 The Relational Data Model, Normalisation and effective Database Design
(amended 2nd March 2021)
5 Design Patterns - a personal perspective
(amended 21st October 2012)
6 In the world of OOP am I Hero or Heretic?
7 Object-Oriented Programming for Heretics
(amended 13th May 2015)
8 Development Standards - Limitation or Inspiration?
(amended 4th September 2006)
9 Breaking Backwards Compatibility is EVIL
(amended 27th January 2006)
10 Case Sensitive Software is EVIL
(amended 5th August 2006)
11 Are you a Code Monkey?
12 Design Patterns are dead! Long live Transaction Patterns!
(amended 10th April 2007)
13 What are Transaction Patterns?
(amended 18th October 2006)
14 Software Patents are EVIL
15 Stored Procedures are EVIL
16 What is Object Oriented Programming (OOP)?
(amended 9th May 2020)
17 Object Relational Mappers are EVIL
18 Web Site vs Web Application
19 Dependency Injection is EVIL
(amended 1st October 2016)
20 Not-so-SOLID OO Principles
(amended 8th June 2020)
21 The Case Against Intelligent Databases
(amended 10th January 2012)
22 What is a Framework?
(amended 11th June 2020)
23 An end-to-end eCommerce solution requires more than a fancy website
24 Database Design - are you Novice, Ninja or Nincompoop?
(amended 13th March 2021)
25 What is the 3-Tier Architecture?
(amended 28th April 2020)
26 Why you should build your web application back-to-front
27 Not the three greatest paragraphs ever written on encapsulation
(amended 21st February 2015)
28 Table Oriented Programming (TOP)
(amended 5th September 2013)
29 4 Reasons Why All PHP Frameworks Suck - Except RADICORE
30 A minimalist approach to Object Oriented Programming with PHP
(amended 22nd January 2020)
31 Please do not break our language
(amended 2nd March 2021)
32 Your code is crap!
(amended 29th August 2015)
33 Using object composition for "has-a" relationships is not such a good idea
34 OO Design is incompatible with Database Design
35 How NOT to Validate Data
36 Object Oriented Database Programming
(amended 5th March 2017)
37 Let's Make It More Complicated Than It Really Is Just To Prove How Clever We Are
38 On not using the "right" standards
(amended 10th January 2021)
39 DB or not DB, that is the question
(amended 1st September 2017)
40 What is the difference between Procedural and OO programming?
41 The difference between an interface and an abstract class
(amended 28th September 2017)
42 Is PHP too verbose?
(amended 1st September 2020)
43 Echo chambers for outdated ideas
44 Levels of use
45 Singletons are NOT evil
46 Having a separate class for each database table IS good OO
(amended 1st May 2021)
47 On being banned from the php.internals newsgroup
48 Why I don't do Domain Driven Design
(amended 16th May 2021)
49 The concept is OK but your implementation is not
50 Your rules are RUBBISH!
(amended 10th January 2021)
51 BC break in 7.2 caused by undocumented and unauthorised change
52 Blockchain for Blockheads
53 Re: Objects should be constructed in one go
(amended 23rd July 2018)
54 Re: What's so great about OOP?
55 Anatomy of an Enterprise Application
56 The Template Method Pattern as a Framework
57 To There and Back - but still in the wrong place
58 Re: Exceptions and talking back to the user
59 Are you achieving the aims of OOP?
60 Changing fundamental language behaviors
61 Response to personal attack on reddit.com
(amended 4th June 2020)
62 RE: Improving PHP's Object Ergonomics
(amended 10th January 2021)
63 Pop Quiz on OOP
(amended 31st May 2020)
64 RE: The purpose of inheritance is code reuse
65 Fat Model, Skinny Controller
66 How to decouple business logic from UI logic

counter