- 2024-01-15
- Front-Interop: Interoperable Front Controller Interfaces
- 2023-10-10
- PHP-Styler 0.13.0 Released
- 2023-09-19
- PHP-Styler 0.5.0 Released
- 2023-08-16
- Teller: Money for Legacy Applications in PHP
- 2023-08-14
- Introducing PHP-Styler
- 2023-07-03
- Qiq Tags and PHP Tokens
- 2023-05-25
- AutoShell 1.0 Released
- 2023-04-10
- Qiq Templates 2.0 Released
- 2023-04-06
- The "pds/composer-script-names" standard is now stable!
- 2023-01-03
- PDS "composer-script-names" standard now in public review
- 2022-12-09
- Contra Noback on Application Services
- 2022-09-23
- In-Template Response Building
- 2022-01-01
- Capsule DI and Argument Inheritance
- 2021-11-09
- Sapien: Request/Response Objects for PHP 8.1
- 2021-10-20
- Qiq Templates for PHP 8
- 2021-09-13
- Capsule 3: Clean, Concise, Composable Dependency Injection
- 2021-08-25
- AutoRoute 2.0.0 Released, With Value Object Support
- 2021-07-27
- AutoRoute is 3x Faster Than FastRoute
- 2021-03-06
- Why Each Programmer Thinks He Is The Best
- 2021-03-02
- DDD, Authentication, and Credential Exchange
- 2020-12-06
- Application and Domain Service Naming Conventions
- 2020-10-27
- Argo: Keep Your Content Cancel-Resistant
- 2020-10-20
- Rob Pike's Rules of Programming
- 2020-06-02
- What Is Good Code?
- 2020-02-10
- Payload-Interop 1.0.0 Released
- 2020-01-01
- Payload-Interop Public Review Period
- 2019-12-11
- Atlas, PostgreSQL, and RETURNING
- 2019-12-09
- Controllers are Services
- 2019-12-05
- Controllers are not Services
- 2019-10-17
- Teams do not accomplish anything of genuine intellectual value
- 2019-09-25
- Speaking at Bulgaria PHP 2019
- 2019-09-20
- Speaking at EEConf 2019
- 2019-02-04
- Immutable Objects for PHP
- 2018-12-19
- Clarifications to a review of Action Domain Responder
- 2018-12-11
- Open Source and Squeegee Men
- 2018-09-26
- What to Do About The Linux COC
- 2018-09-21
- Social Justice Attack Survival Guide
- 2018-07-31
- Atlas ORM Integration with Symfony
- 2018-07-10
- Atlas.Orm 3.0 ("Cassini") Now Stable
- 2018-05-22
- Atlas.Query: Simple. Sensible. SQL.
- 2018-05-09
- Atlas 3.x ("Cassini") and PHPStorm Completion
- 2018-04-23
- Atlas.Orm "Cassini" (v3) Early-Access Alpha Release
- 2018-04-09
- The Conquest Code of Conduct
- 2018-02-13
- Line Coverage in Unit Tests
- 2018-02-07
- Atlas 2.1.0 Released with "Polymorphic Association" Support
- 2018-02-06
- Perfection
- 2018-01-31
- Best Practices
- 2018-01-02
- Considering Typehints As Communication
- 2017-12-28
- Solving The "Widget Problem" In ADR
- 2017-12-05
- Avoid Dependency Injection
- 2017-10-17
- Choose Dependency Injection — If You Can
- 2017-10-17
- Atlas.Orm 2.0 Is Now Stable
- 2017-10-10
- A Few Right Ways, But Infinitely More Wrong Ways
- 2017-10-03
- Atlas.Orm 2.0.0-beta1 Released
- 2017-09-26
- Quality: Program vs Product
- 2017-09-19
- "Before" (not "Beyond") Design Patterns
- 2017-09-12
- A "Systems" Addendum To Semantic Versioning
- 2017-09-05
- Hacking, Refactoring, Rewriting, and Technical Debt
- 2017-08-29
- How Terrible Code Gets Written By Perfectly Sane People
- 2017-08-28
- Original MVC Resources from Reenskaug
- 2017-08-22
- Slim and Action-Domain-Responder
- 2017-08-18
- Why MVC doesn't fit the web
- 2017-08-15
- The "Micro" Framework As "User Interface" Framework
- 2017-07-18
- Domain Logic and Email Templates
- 2017-05-23
- Controllers and Domain Exceptions
- 2017-05-16
- "Action Injection" As A Code Smell
- 2017-05-02
- Toward A Better Separation of Session Behaviors in PHP
- 2017-04-25
- "A False Sense of Simplicity"
- 2017-04-18
- Atlas ORM 1.2.0 Released
- 2017-04-11
- Symfony 4: Directory Structure, and Common Practices
- 2017-04-04
- Command-Line Output: Consider Logging Over Streams
- 2017-03-24
- Regarding A Recent Event
- 2017-02-21
- WikiMedia, Clean Architecture, and ADR
- 2017-02-01
- Radar Project Skeleton Now Stable
- 2017-01-31
- The "pds/skeleton" Standard Is Now Stable!
- 2017-01-17
- How Many PSR-7 Implementations Exist?
- 2017-01-12
- Beta2 of pds/skeleton now available!
- 2017-01-05
- PSR-7 vs. the Server(Request|Response) RFC
- 2017-01-03
- RFC: ServerRequest and ServerResponse
- 2016-12-29
- PDS "skeleton" Standard Now In Beta
- 2016-12-28
- ADR with HTTP Caching
- 2016-12-22
- Efficient use of mysqli_result::$num_rows
- 2016-12-21
- PHP-PDS: Interview on Voices of the ElePHPant
- 2016-12-20
- PECL Request Extension: Beta 1 Released!
- 2016-12-15
- Package Development Standards: "pds/skeleton" Now Open For Review!
- 2016-12-12
- The Iron Law of (Open Source) Bureaucracy
- 2016-12-07
- PHP file_get_contents() HTTPS/SSL error on Mac OS
- 2016-12-05
- Independent Packages and Subtree Splits
- 2016-11-30
- PHP ssh2.sftp opendir/readdir fix
- 2016-11-29
- Conserving On The Wrong Resource
- 2016-11-22
- The PHP 7 "Request" Extension
- 2016-09-06
- Avoiding Quasi-Immutable Objects in PHP
- 2016-09-02
- The Fallacies of Enterprise Computing
- 2016-08-18
- FIG Follies, Part 3
- 2016-08-16
- Fig Follies, Part 2
- 2016-08-15
- FIG Follies, Part 1
- 2016-08-09
- Exporting Globals in PHP
- 2016-07-18
- Professional Development Ladder
- 2016-05-31
- Telegraph: A Lambda-Style PSR-7 Middleware Dispatcher
- 2016-04-26
- Multi-Project Issue Tracking With Producer
- 2016-04-19
- Producer 2.0.0 Released!
- 2016-04-16
- Empirical Research On Software-Engineering Myths
- 2016-04-12
- PSR-7 and Session Cookies
- 2016-03-22
- Producer: Validate and Release PHP Library Packages
- 2016-03-15
- Why Do PHP Developers Think MVC Is An Application Architecture?
- 2016-03-08
- Command Bus and Action-Domain-Responder
- 2016-02-29
- An Object Lesson in Conduct Enforcement
- 2016-01-25
- You Do Not Have A Right To Contribute
- 2016-01-19
- On the Proposed PHP Code of Conduct
- 2015-12-29
- Atlas: a persistence-model data mapper
- 2015-12-13
- How Do You See The PHP-FIG?
- 2015-12-08
- Configuration Values Are Dependencies, Too
- 2015-12-01
- First Stable Aura 3.x Releases
- 2015-11-30
- 50% Off "Modernizing Legacy Applications in PHP"
- 2015-11-02
- SQL Schema Naming Conventions
- 2015-11-02
- How To Think About HTTP Middleware
- 2015-08-18
- Frameworks Are Not Tools
- 2015-08-09
- Service Classes, Payloads, and Responders
- 2015-07-07
- A Factory Should Create, Not Retain
- 2015-06-30
- Modernizing Serialized PHP Objects with class_alias()
- 2015-06-23
- MLAPHP Boot Camp!
- 2015-06-08
- Relay: A PSR-7 Middleware Dispatcher
- 2015-06-02
- Semantic Versioning and Public Interfaces
- 2015-05-26
- Radar: Answering Questions, and New Middleware
- 2015-05-19
- Radar: A PSR-7 Action-Domain-Responder Framework
- 2015-04-21
- A PSR-7 Web Router Implementation, and Bookdown Documentation
- 2015-03-31
- Separate The User Interface Repository From The Core Application Repository
- 2015-03-27
- Aura 3 Plans
- 2015-03-23
- Using Aura.Html with League\Plates
- 2015-03-20
- MLAPHP and N+1 Books: Half-Price Sale Starts Early!
- 2015-03-18
- A New Book About The N+1 Problem, and an Update to MLAPHP
- 2015-03-02
- Bookdown: DocBook-Like HTML Output From Markdown
- 2015-01-21
- MVC and ADR are User-Interface Patterns, Not Application Architectures
- 2014-10-11
- This is why you should always use braces on conditionals
- 2014-10-09
- What's The Difference Between A "Pivot Table" And An "Association Table"?
- 2014-10-06
- What's The Difference Between Tightly-, Loosely-, and De-Coupled ?
- 2014-10-05
- First Aura 2.0 Stable Project Releases!
- 2014-09-30
- Action-Domain-Responder and the "Domain Payload" Pattern
- 2014-09-03
- New Aura v2 Stable Releases, and More
- 2014-08-19
- On Project Structure; or, The Framework/App Is Not Special
- 2014-08-16
- DRY is about Knowledge
- 2014-07-17
- Soccer, Development, and The Value Of Teamwork
- 2014-07-17
- Action-Domain-Responder, Content Negotiation, and Routers
- 2014-06-26
- An Updated Preview Of Aura.Auth
- 2014-06-23
- Modernizing Legacy PHP: From Service Locator To Dependency Injection
- 2014-06-19
- The Cause Of Bad Software Is Bad Management
- 2014-06-09
- Aura.SqlQuery 2.0.0 Stable Release
- 2014-06-05
- Refactoring To Action-Domain-Responder
- 2014-06-03
- Legacy Refactor Question: What About Singletons?
- 2014-06-02
- A Round Of Aura 1.x Library Releases
- 2014-05-29
- Aura.View 2.0.0-beta2 Now Has "Sections"
- 2014-05-26
- The Template Is Not The View
- 2014-05-22
- "The Only Reason You Think You Are Smart Is Because An Idiot Called You A Genius"
- 2014-05-21
- 5 Years Of PHP-FIG
- 2014-05-19
- Stephan Hochdörfer and Action-Domain-Responder
- 2014-05-16
- The Eternal Struggle Between Business and Programmers
- 2014-05-15
- Aura.View and Aura.Html 2.0.0-beta1 Released!
- 2014-05-12
- Quick Hits: ADR Pattern Progress, MLAPHP Softcover, Aura Notices
- 2014-05-05
- Action-Domain-Responder: A Tentative MVC Refinement
- 2014-04-29
- Some Rules For Good Naming
- 2014-04-21
- Submit To The Central Scrutinizer
- 2014-04-17
- First Aura v2 Beta Releases of Web_Project, Cli_Project, and Framework_Project
- 2014-04-14
- How To Modernize Your Legacy PHP Application
- 2014-04-07
- Composer-Assisted Two-Stage Configuration in Aura
- 2014-03-31
- "Modernizing Legacy Applications in PHP" Update: Schedule, and Reviews
- 2014-03-11
- How To Convert Include Files To Classes
- 2014-03-05
- Laravel Keeps Using That Word -- I Do Not Think It Means What They Think It Means
- 2014-03-05
- Modernizing Legacy APIs
- 2014-02-24
- Leanpub Sample Files With Symfony and Aura
- 2014-02-17
- Aura.Marshal, A Database-less non-ORM
- 2014-02-11
- What Application Layer Does A DI Container Belong In?
- 2014-02-03
- "Page Script" As A Degenerate Controller
- 2014-01-31
- Composer: Undefined Method Related To Global Install
- 2014-01-28
- Honest Estimates
- 2014-01-27
- Modernizing Legacy Applications in PHP: Early Access
- 2014-01-21
- Framework Tradeoffs For Beginners: Product Creation vs Program Maintenance
- 2014-01-13
- Aura.Cli 2.0.0-beta1 Released
- 2014-01-13
- The Aura.Cli Package
- 2014-01-10
- Aura.Sql_Schema 2.0.0-beta1 Released
- 2014-01-09
- Aura.Web 2.0.0-beta1 Released
- 2014-01-09
- Frameworks Are Good, Components Are Awesome!
- 2014-01-08
- Aura.Router 2.0.0-beta1 Released
- 2014-01-07
- Aura.Sql_Query 2.0.0-beta1 Released
- 2014-01-06
- Aura Version 2 Beta Releases: Includer, Autoload, Sql, Dispatcher
- 2014-01-03
- First PSR-4 Autoloader Released: Aura.Autoload 2.0.0-beta1
- 2013-12-30
- Passing the Benchmarking Torch After 7 Years
- 2013-12-23
- Which is Lighter, Silex or Aura.Web_Project?
- 2013-12-17
- Quicker, Easier, More Seductive: Names, Usage, and Intent
- 2013-12-16
- Quicker, Easier, More Seductive: How To Tell A DI Container From A Service Locator
- 2013-12-12
- Lighter than Silex, and Slimmer than Slim: Aura.Web_Project, the Micro/Macro Framework
- 2013-12-09
- Book Announcement: Modernizing Legacy Applications in PHP
- 2013-12-04
- Splitting The Blog
- 2013-12-03
- PSR-4 "Autoloader" Has Passed
- 2013-12-02
- Quicker, Easier, More Seductive: The Difference Between Factories, Registries, and Service Locators
- 2013-11-25
- Quicker, Easier, More Seductive: Restraining Your Service Locators
- 2013-11-21
- ServiceLocator is like the Dark Side: Quicker, Easier, More Seductive
- 2013-11-18
- A Peek At Aura v2 -- Aura.Router
- 2013-11-15
- If you respect a [developer], you talk about the [code]; if not, you psychoanalyze the [developer].
- 2013-11-11
- A Peek At Aura v2: Aura.Web
- 2013-11-04
- A Peek At Aura v2: Aura.Dispatcher
- 2013-11-03
- Recording Live Tonight With @dev_hell
- 2013-10-28
- Publish Your Failures; or, The Way Of All Frameworks
- 2013-10-21
- A Peek At Aura v2: Aura.Sql and ExtendedPdo
- 2013-10-18
- Quality, Features, and Schedule
- 2013-10-14
- If you inject a container into your class, you are using Service Locator, not Dependency Injection
- 2013-09-30
- Aura for PHP: Lessons Learned, and Looking Ahead
- 2013-09-18
- Aura Framework: Stable 1.0.0 System Release
- 2013-09-17
- Aura Has New Releases: Input, Sql, and View
- 2013-09-17
- The Devil's Dictionary for Developers
- 2013-09-11
- All Aura Libraries Now Stable!
- 2013-08-17
- CoderFaire Nashville 2013 Keynote: "All You Jokers"
- 2013-05-09
- Aura: New Site, New Logo, New Releases
- 2013-03-27
- Let's Just Build A Generic System!
- 2013-03-25
- 20 Rules of Software Consulting
- 2013-02-13
- For CSRF tokens, mt_rand() is ok-ish but openssl_random_pseudo_bytes() is a lot better
- 2013-01-30
- Professional Sports, Or Programmers And Public Speaking?
- 2013-01-07
- "Planning" and "Doing" In Software Development: A Lesson For Product Managers
- 2013-01-07
- Efficiency vs Quality in Software Development
- 2013-01-02
- Symfony Components: Sometimes Decoupled, Sometimes Not
- 2012-12-20
- A Response To "On php-fig and Shared Interfaces"
- 2012-12-20
- On Decoupling and Dependencies: Answering The Critics of Aura's Approach
- 2012-12-18
- New Aura System Release, Including Aura.Framework and Aura.Demo
- 2012-12-13
- Aura.Micro: Experimental Replacement for Silex
- 2012-12-11
- Aura: More Decoupled Than Symfony 2 and Zend Framework 2
- 2012-12-06
- How Is Aura Better Than (er, Different From ;-) Than Symfony and Zend?
- 2012-12-01
- Decoupled Libraries for PHP 5.4+ (The Aura Project)
- 2012-11-29
- Aura: First 1.0.0 Stable Library Releases!
- 2012-11-28
- Regarding "Simply" and "Just" In Documentation
- 2012-08-21
- It Was Like That When I Got Here: Steps Toward Modernizing a Legacy Codebase
- 2012-08-10
- Software Runs the World: How Scared Should We Be That So Much of It Is So Bad?
- 2012-08-07
- The dark craft of engineering management
- 2012-07-04
- When Possible, Use File *Resources* Instead Of File *Names*
- 2012-06-30
- Lone Star PHP Keynote Slides Posted
- 2012-06-18
- Aura.Router can also be used as a micro-framework dispatcher!
- 2012-06-07
- tl;dr of DI vs SL
- 2012-06-04
- PHP-FIG: PSR 1 and 2 Accepted
- 2012-05-01
- FIG, FUD & FOMO
- 2012-04-12
- Memcached Folks Say "Don't Use Memcached For Sessions"
- 2012-03-30
- This Job Is Better Than The One You Have Now
- 2012-03-25
- Complex Systems and Normal Accidents
- 2012-03-19
- Interview Tip: Avoid Mentioning PHP Frameworks
- 2012-03-18
- W3C Notes One Of My Posts As An "Informational Resource"
- 2012-03-16
- phpDocumentor2 === DocBlox
- 2012-03-15
- On Preferring Spaces Over Tabs in PHP
- 2012-03-08
- Differences in Packaging Approaches: Aura, Symfony2, and ZF2
- 2012-02-16
- Speaking at Dallas PHP
- 2012-02-15
- Aura 1.0.0-beta2 Released
- 2012-01-01
- The Aura Project: Now For PHP 5.4, With Beta Releases
- 2011-12-05
- Solving the N+1 Problem; or, "A Stitch In Time Saves Nine"
- 2011-09-16
- Jones' Law
- 2011-07-22
- Queries inside queries
- 2011-07-06
- Best New PHP Blog: Jeremy Kendall
- 2011-06-26
- Interview with Voices of the Elephant
- 2011-05-18
- On War, and Development
- 2011-05-17
- Crockford on Quality and Style
- 2011-05-14
- Blogger outage makes case against cloud-only
- 2011-05-10
- I Like My IT Budget Tight and My Developers Stupid
- 2011-05-04
- Different Definitions of Quality
- 2011-05-04
- You are NOT a Software Engineer!
- 2011-04-28
- Estimation Methodology: 2 Workers, 1 Day Per Controller Method
- 2011-04-28
- Executive Bullpens
- 2011-04-22
- Planning For Service Failures
- 2011-03-15
- Ideas of March
- 2011-03-12
- Include-Based vs Class-Based Architecture
- 2011-03-08
- "Most people? Not nerds."
- 2011-03-04
- Design Gods, Hear My Prayer
- 2011-03-03
- Voices of the ElePHPant
- 2011-03-02
- Aura for PHP 5.3+, aka Solar 2.0
- 2011-02-14
- Happy Birthday Solar!
- 2011-02-02
- Benchmarking Slides from PHPBenelux 2011
- 2011-01-19
- Another Unified Constructor Sighting
- 2010-12-10
- On The Passing Of Richard "Cyberlot" Thomas
- 2010-10-27
- Comparing Benchmark Tools
- 2010-10-19
- PHP Framework Benchmarks on Github
- 2010-10-19
- Regarding Underscores
- 2010-09-06
- The Miserable Mathematics of the Man-Month
- 2010-09-04
- The Central Tension Of Programming
- 2010-08-04
- The Perils of Error Reduction; or, Starbucks for Programmers
- 2010-06-28
- Offer Accepted: Vice President of Engineering at Company 52
- 2010-06-19
- Solar 1.1.1 Stable Released
- 2010-06-16
- Nashville PHP User Group
- 2010-06-16
- Disaster Rituals
- 2010-06-01
- On The Job Market Again
- 2010-05-13
- How Complex Systems Fail
- 2010-04-21
- Seven Pillars of Pretty Code
- 2010-04-11
- Does Software Development Have A Culture Of Rewarding Failure?
- 2010-03-12
- Solar 1.0.0 Stable Released
- 2010-02-16
- Drucker on Quitting
- 2010-01-01
- Solar Beta 1 and 2, With A Blog Demo
- 2009-12-30
- Keith Casey on "Joining a Startup"
- 2009-12-01
- Comprehensible Code
- 2009-11-11
- The Future of Zend Framework is Solar
- 2009-11-05
- When only the glib win, we all lose
- 2009-10-26
- Agile Gone Bad?
- 2009-06-25
- Scalable Internet Architecture