Next to Safari 12.1 earlier this month, Firefox 67 now also supports “CSS Color Scheme Queries”.

The prefers-color-scheme media feature allows sites to adapt their styles to match a user’s preference for dark or light color schemes, a choice that’s begun to appear in operating systems like Windows, macOS and Android.

I’ve seen Freek give his talk on Event Sourcing in Laravel at a Full Stack Ghent meetup recently. Glad to see the talk evolved a bit more and he now has made a recording of it.

Don’t let the “in Laravel” part scare you, as the knowledge is applicable across different frameworks and languages. For Laravel based projects you use Spatie’s own Laravel Event Projector package, but for others you can go with EventSauce.

Kent C. Dodds on how he uses React itself – and not something like Redux – for his Application State Management.

Here’s the real kicker, if you’re building an application with React, you already have a state management library installed in your application. You don’t even need to npm install (or yarn add) it. It costs no extra bytes for your users, it integrates with all React packages on npm, and it’s already well documented by the React team. It’s React itself.

React is a state management library.

The core React features driving his method is React’s revised context and Hooks.

One of the (Symfony based) PHP projects I’m working on contains a form which allows the user to generate video clips from CCTV footage. To do this the user can enter a start and stop DateTime. For this to work the submitted input data is then checked: both start and stop must be dates, and the stop date must be set to a point in time after the start date.

Symfony’s DateTime Constraint can make sure both entries are DateTime instances. To check whether that the end date is after the begin date, one can use the Callback Constraint. Injected into that callback is a ExecutionContextInterface by which you can access the form, and thus other form params.

George R.R. Martin, on his blog “Not a Blog”, now that the final episode of Game of Thrones has aired:

I’m writing. Winter is coming, I told you, long ago… and so it is. THE WINDS OF WINTER is very late, I know, I know, but it will be done. I won’t say when, I’ve tried that before, only to burn you all and jinx myself… but I will finish it, and then will come A DREAM OF SPRING.

How will it all end? I hear people asking. The same ending as the show? Different?

Well… yes. And no. And yes. And no. And yes. And no. And yes.

And oh, I especially like GRRM’s closing paragraph in his post:

Book or show, which will be the “real” ending? […] How about this? I’ll write it. You read it. Then everyone can make up their own mind, and argue about it on the internet.

Really looking forward to the books, as the final season on TV was quite the disappointment. Next to some very poor dialogues this season was packed with inconsistencies, character development that got thrown out of the window, lots of loose ends … the number of WTFs per episode was rising way too fast imho.

See, for example, this narrated version of Episode 3 to see what I’m talking about:

Great read on how a few YouTube engineers bypassed the internal Google politics in order to abolish IE6 from their list of supported browsers:

One idea rose to the surface that quickly captured everyone’s attention. Instead of outright dropping IE6 support, what if we just threatened to? How would users react? Would they revolt against YouTube? Would they mail death threats to our team like had happened in the past? Or would they suddenly become loud advocates of modern browsers?

If you’re selling PHP packages, the easiest way to offer Composer package installation to your customers is now “Private Packagist for Vendors”. You get a unique URL and authentication token for each customer and they can use these in their composer.json file to install your packages. Especially if you’re still sending zip files to your customers, there is really no reason anymore not to to offer Composer installations.

You can use their our API to integrate “Private Packagist for Vendors” with your existing PHP package shop: Create a customer, grant the customer access to the package, and then get the info needed to send to the customer — all using their API.