View e-mail in browser

newsletter #85

Hi, welcome to the 85th newsletter! 

A package to control the flow of time
Imagine you're building that your app can notify your user, but you don't want to send more than one notification in a timeframe of five seconds. How are you going to test the time aspect? Do you have to create a test that takes five minutes?

A new coat of paint for
It's funny that even something as simple as a blog app is never finished. One and a half years ago, I did a significant update my moving my blog from WordPress to a Laravel app. In August of last year, I also ditched my custom admin section in favor of Nova. Even though not that much time has passed, it was time for a refresh of the entire blog.

A project at Spatie
My colleague Brent offers some insights on a big project we're currently working on at Spatie.

Your first performance budget with Lighthouse
Ire Aderinokun, Front-End Developer and User Interface Designer, explains how you can Lighthouse in CI.

Learning Laravel - Observations, part 1: The service container
Matthias Noback wrote down some thoughts on the Laravel container

? Taylor Otwell's Q&A session at Laravel Live UK 2019
Taylor Otwell gave a Q&A session at the Laravel Live UK conference. You can watch most of the session in this video.

Tests and types
My colleague Brent wrote another excellent blog post, this time on tests and types.

Refactoring to actions
In our recent projects at Spatie, we've started using a concept called "actions". It keeps our controllers and models skinny. It's a straightforward practice. In this blog post, I'd like to explain it to you.

Internal classes in PHP
Nuno Maduro, engineer at Algolia, explains what is the value of the @internal tag

Sharing learning via code
Konstantin Kudryashov, one of the speakers at the upcoming Full Stack Europe conference, makes the case for sharing new insights early.

Meanwhile on Twitter

On Twitter I see a bunch of people regularly tweeting very nice code snippets.

Replicate a model to another model

Using console.table to debug JavaScript errors

Quickly run the scheduler without cron

Useful links from the archives

The road to dependecy injection

Mattias Noback shares how you can migrate a code base that fetches its dependencies using static method calls to code that uses dependency injection.

A PHP debugger written in PHP

Joe Watkins, core PHP developer and author of (amongst many other things) ptrheads, is busy creating a PHP debugger written in PHP that you can just composer require.

A simple resource for finding and trying variable fonts
Nick Sherman created a cool site where you can play with variable fonts.

Redecentralising the web
On his blog Hidde De Vries recaps a talk by Sir Tim Berners-Lee, the inventor of the web, on redecentralising the web.

What's next for JavaScript?
Bram Van Damme, who runs the excellent blog recently gave a talk at the Frontend United 2018 conference on what will be coming to JavaScript in the next few years.

A curated collection of useful PHP snippets that you can understand in 30 seconds or less.

The Visual Perception of Code

My colleague Brent gave his first public talk at last month's Full Stack Antwerp meetup. If you weren't able to attend you'll be happy to learn to Brent made a YouTube video with the content of his talk.

Building a PHP Framework

My buddy Frederick Vanbrabant, who is currently looking for a new opportunity, recorded a cool video course on how to build a PHP framework using some popular components. Here's the playlist that contains all the episodes.

The art of the error message

Marina Posniak, UX writer at Spotify, shares some great tips on how to write error messages well.

To start, ask yourself if you even need the error message. Before writing anything, consider if there’s a way to redesign the experience so there’s no error at all. Is there a way to just make it work? (Really, the best error message is no error message.) But if you do need it, think carefully about the message. When things go wrong and the app “fails,” say something useful. The message should help the user solve the problem and move on.

How to hack and win the May Mayhem blog contest

Recently Taylor Otwell held a blogging competition. Entries could be submitted on a GitHub repo, the post with the highest amount of ? would win. My colleague Alex wrote a blogpost on how you could easily win the competition by hacking a bit. It's pretty awesome that Alex, without using any of the hacks described in the post, wound up winning the competition.

What you'll need to build projections

A great post by Barry O Sullivan on what, in my mind, is one of the biggest advantages of event sourcing: the ability to create projections.

The open source department at Spatie is doing overtime

Bad title because we don't do overtime at Spatie, but our team has been very busy putting out new open source stuff. In the past weeks our team has released three new packages. In this post I'd like to quickly introduce them too you.

Creating custom @requires annotations for PHPUnit

In an older but still relevant blogpost Matt Stauffer explains how you can extend PHPUnit's native @requires annotation. It's pretty handy if you want to only run certain tests in certain environments.

Visual Regression Testing with Laravel

Marcel Pociot, the mind behind BotMan, has released a cool package to create visual diff in your PHPUnit tests. Under the hood it uses our Browsershot package.

Vue templates in JSX
My colleague Sebastian has been busy creating some low level Vue components for a client project. For these components he uses JSX. 
Advertisement opportunities at

You are receiving this mail because you've subscribed at