I’ve written about many different topics over the years. Here is a more category-oriented list of some of them, so it’s easier to find posts related to the same topic. You can find a comprehensive list of everything else I’ve written in the Archive.
Test automation
I’ve written a lot about test automation, and unit testing in particular. Most of these use JavaScript or PHP for sample code. Despite being written years ago, the advice in them should still be valid.
General test automation and unit testing
- What's the difference between Unit Testing, TDD and BDD?
- What are Unit Testing, Integration Testing and Functional Testing?
- Quick JavaScript testing tip: How to structure your tests?
- How many tests is too many?
- What is a Humble Object and how does it help make your code testable?
- How to automatically run unit tests from a git push
- Headless Chrome/Firefox testing in NodeJS with Selenium and Xvfb
- Why use user story based testing tools like Cucumber instead of other TDD/BDD tools?
- Using unit tests as requirements when refactoring
Unit testing JavaScript code
- Unit testing JavaScript
- Unit Testing Ajax requests with Mocha
- Sinon.js quick tip: How to stub/mock complex objects, such as DOM objects
- How to unit test NodeJS HTTP requests?
- Learn to unit test your JavaScript code with Mocha and Chai
- Using Sinon.js to make unit testing real-life apps easy
- Mongoose models and unit tests: The definitive guide
- How to unit test ES6 code?
- Sinon.js best practices for spies, stubs and mocks
- How to deal with promises in JavaScript unit tests?
- What is property based testing (and how to do it in JavaScript)?
- JavaScript Testing Tool Showdown: Sinon.js vs testdouble.js
- Quick JavaScript testing tip: How to structure your tests?
Unit testing PHP code
- Unit-testing essentials
- Unit testing: Introduction
- Unit testing 2: Writing and running tests
- Unit testing 3: Writing tests for existing code
- Unit testing 4: Mock objects and testing code which uses the database
- Unit testing 5: test-driven development
- Database helper for PHPUnit
- Ideas for testing Zend Framework apps
- How to make your code testable
PHP
I started my career with PHP, so I also wrote a lot about it. Many more PHP-related posts are under the PHP posts archive.
Zend Framework 1
Zend_Acl
- Zend_Acl part 1: Misconceptions and simple ACLs
- Zend_Acl part 2: different roles and resources, more on access
- Zend_Acl part 3: creating and storing dynamic ACLs
Zend_Form
- Database backed Zend_Form elements
- Integrating FCKeditor with Zend_Form
- Zend_Form decorator tips
- Autogenerating forms from Doctrine models
- Zend_Form's from Doctrine models: Part 2
- Doctrine 2 adapter for Zend_Form model form generator
- Validating Zend_Forms using model objects
- Client-side validation with Zend_Form
- Complex custom elements in Zend_Form
- How to CSRF protect all your forms
Doctrine ORM
- How to create Doctrine 1 -style Soft-Delete in Doctrine 2
- Doctrine 2 and the law of demeter
- Using spatial data in Doctrine 2
- Doctrine vs. Propel
- Doctrine vs. Propel: 2009 update
- Understanding Doctrine's NestedSet feature
General software/programming things
- What is a null object, and when are they useful?
- Using a builder to construct complex classes
- Best practices for building embeddable widgets
- How to reduce bugs in JavaScript code by following the rule of consistent types
- Best practices for JavaScript function parameters
- Common widget design patterns
- Food for thought: utilizing models in MVC
- Why is fixing bugs so slow? (and how to make it faster)
On books
- Reading The Concept of Mind from a Software Engineering perspective
- Zend Framework 1.8 Web Application Development book review
- Book review: Dependency Injection with AngularJS
- Object-Oriented JavaScript book review
Projects
- TankWar Online, my JavaScript based cannons game
- I wrote a Sim City clone in JavaScript
- I made a thing: Planetside 2 minigame
- Opera Command, JavaScript based Missile Command game
- Post-mortem: Battlefield 3 Web Commander
- Parsing and evaluating PHP in Haskell: Part 1
- Packageizer and ZF modelform now on GitHub
- GroupFight: My old PHP-based game
- LAN party place reservation
- Put Excel on the net with ASP.NET
- Programming language guessing game
- pooQuery - The Fluent PHP Revolution!