Links from 2016 24/05/2017
TL;DR: Links I tweeted during 2016
Last year my interests seemed to have been split in three periods:
- beginning of the year: CQRS / ES and Mono Repo
- middle of the year: Event Driven Architecture and async
- end of the year: Artificial Intelligence
I've also discovered two inspiring talks, I highly recommend you to watch them:
- Surgical Refactors by Justin Searl. It was a follow up of his also awesome previous talk: Make Ruby Great Again
- Software That Writes And Evolves Software by Jessica Kerr, which was then followed by a couple of articles from Rod Johnson
Apart from that, tons of links, as usual.
CQRS / ES and Mono Repo
- Fighting bottlenecks with CQRS
- CQRS sagas with Event Sourcing
- Practical Event Sourcing and CQRS benefits
- Practical Event Sourcing
- On Monolithic Repositories
- MonoRepos
- MonoRepo
- Composer and MonoRepo
- Reasons to use MonoRepos
Generators / Coroutines
Event Driven Architecture
Because PHP 7 will no wait faster for your database/remote/filesystem calls:
- What are the differences between parallel, concurrent and async
- Understanding the NodeJs event loop
- How the single threaded non blocking I/O model work in NodeJs
- PHP-PM follow up
- NoMoreLeaksBundle
- Hunting down memory leaks
- Pushing the limits with ReactPHP
- ReactPHP, Event Driven programming and PHP
Cache
- Caching best practices
- nginx caching guide
- you are probably wrong about caching
- how to implement cache tagging
- caching best practices
Performance
- PHP 7 perf improvements: packed arrays
- PHP 7 perf improvements: ints and floats are free
- PHP garbage collection as a perf bottleneck
- Efficient data structures for PHP 7
Symfony
Artificial Intelligence
- "Feel Good" videos to understand Neural Networks:
- Coding a Neural Network from scratch:
- The Ultimate Developer Guide to Neural Networks:
- Gentle introduction to the maths:
- Another introduction to the maths
- Replacing regex with Neural Networks
- bits of maths:
Tests
- Mutation Testing
- Mutation Testing: checking Unit Test quality
- Humbug: Mutation Testing for PHP
- Digging into Humbug
- Giving up on TDD
- TDD does not work
- Inside out TDD VS outside in
- Repetition in testing
- Do not misuse ode coverage
- The outrageous cost of skipping TDD and code reviews
- Do stubs/mock make tests more fragile?
- Mocks are not Stubs
- PHPUnit and propecy
- Using UTF 8 spaces in test method names
Better Code
- Reducing Complexity
- Getting rid of NULL
- Life and Death of objects
- Messages
- Never use NULL
- Anti-if: the missing patterns
- You do not need NULL
- Naming things
- Long names are long
- Value Object
- Organisation du code par modules fonctionnels
- Repositories are just collections
- Hexagonal Layers
- Type Wars
- put VS patch VS json patch
- A little architecture
Tools
- httplug
- PHP Parser v3
- spec-gen
- Prestissimo
- MicroFrameworkBundle
- htop
- Perceptual image hash
- Ramsey UUID
- PHP Printer
- Psysh
Lead & Life
- 5 tips for being an effective tech lead
- Hiring juniors
- Towards an understanding of technical debt
- How to interview as a developer candidate
- How to train your agile
- Follow the leader
- Guérir le burnout est possible
- Being a developer after 40
Misc
- So you want to write a package manager
- HTTP redirects
- habit breaking making
- how to boost your vim productivity
- Git v2.9 and improved diff
- bad YAML are bad
- Thoughts on Uber list of Postgres limitations
- Postgres JSONB cheat sheet
- Annotation Mania
- Always use caret instead of tilde
- The Github GraphQL API
- Why do CPUs have multiple cache levels
- How can the ELK stack be used to monitor PHP apps