It was almost four years ago when I said that PC Gaming was going to die. The state of the PC Gaming scene, both as an industry but also as users with PC Gaming machines, was in shambles. Once a place where technology drove and pushed forward, a decade and half later it has been leap-frogged by mobile devices and next-generation consoles. What was a platform cheap to be introduced now has a higher entry barrier.
Once mainstream appealing, PC Gaming has become a niche for rich people.
“The end of the PC Gaming” era it’s difficult to understand…
PHP 8.1 will land with Fibers support in some months. Supposedly, Fibers are meant to enable more performance on PHP applications, as long these are used instead of just shoving blocking code. It’s a novelty considering the single-threaded foundation of the language itself.
One of the thing that the RFC tells about is that Fibers are not a feature that should be directly exposed to the average developer, the one that actually puts the name on the project. Rather, this is for the code that is way up the call stack.
In other words, you won’t use Fibers directly.
When you are not dealing with multiple processes pointing the same data, everything is fine. PHP is itself a single-threaded process and takes out a lot of headaches of concurrency. That’s why using the Laravel Cache to keep data at hand is wise, specially to avoid things that take little too much, like a complex SQL query or slow HTTP server request.
One of the things I hate when using a Cache is data races, and probably you too. If two or more processes want to save data into the cache store, the data will be replaced constantly without order.
As a Laravel package author, mostly for my own projects, adding migrations to add database persistence to something was always something like a problem rather than a solution.
The way Laravel suggests to make available migrations — files that allow to create, update and delete tables from the database — to the developer is to use the
loadMigrationsFrom() method of your package Service Provider.
The method basically sets the path that the migrator should explore and discover migrations. This is done when the user calls the migration command
php artisan migrate.
TL;DR: Go and get Laraconfig to ease your pain.
In these days, users of an application take for granted a panel or dashboard with some settings, especially in the age of notifications preferences, dynamic themes, and even multiple billing addresses.
If you’re starting with Tailwind CSS on your development machine, you may have noted the very first lines you write to handle your styles in your project is importing the three main layers of the framework: “base”, “components” and “utilities”.
This small article talks about what are those, and why you may want to override them.
The base is the first Tailwind CSS layer. It basically holds Preflight, which is the CSS in charge to reset the styles of the browser to something sane and constant between browser engines. …
In the never ending battle for bundlers, Vite comes from the hands of Evan You, the one who created Vue. Considering the exponential success that Vue has gained thanks for its simplicity and flexibility, the same was expected of Vite 2.0.
I was browsing Reddit while I was writing my perception on app stores and I found someone telling about how subscriptions made him anxious. Not every subscription, like your local ISP or Netflix, but App subscriptions, like the ones you get from the App Store or Play Store on your iOS or Android device, respectively.
You just need a few moments to surf around there to see the problem: long gone are those apps who charged a one-time fee. The marketplaces are now plagued with subscription-based apps, freemium or not.
As an application publisher, I can relate about creating an…
One of the things I hate when dealing with frontend design, is setting up the kitchen sink, or the toolchain if you’re purist. Webpack 5 with Hot Module Replacement for just CSS is not a walk in the park, specially if you are not accustomed to setting it up constantly, as it may chop you some minutes to set up.
The new tools is “Tailwind JIT…
One thing I had to implement against my will was a Websocket server… in PHP. You heard that right.
I’m always been very vocal about PHP being used for thing that is not suited for, like holding socket connections, when the nature of the language and the runtime itself is single-threaded, or “blocking” if you say.
But, even If I didn’t wanted to and looked into Go and Rust for the implementation, I figured out that WebSocket on PHP wasn’t THAT bad to work with, but there were a few caveats.