I’m recording the complete Laravel documentation as video screencasts, and you can join the process of building this platform.

https://protone.media/img/header_social.jpg

I’m recording the complete Laravel documentation as video screencasts, and you can join the process of building this platform.

Today I want to share the birth of a new project with the Laravel community: Artisan School. The primary goal is to provide high-quality Laravel screencasts where I mix the Laravel documentation with real-life examples. Besides the video content, I want to create a place to discover code examples, links to resources, and additional content.

I’ve had the idea to record the complete Laravel documentation as video material for a while now. As you might know, I’m running a YouTube channel where I do live coding sessions now and then. However, due to the development of Launcher and other projects, the weekly schedule was not so weekly anymore, and I feel it’s time to take it to the next level!

Starting next week, you can expect the following:

  • The development of the Artisan School platform in public with live coding sessions
  • Screencasts based on the Laravel documentation with real-life examples
  • Screencasts for related open-source projects, like Inertia, Livewire, and other packages

I’ll upload new videos directly when they’re ready, not waiting until I produce a complete collection of videos.

Artisan School

Want to keep notified about Artisan School? I’ve created a small landing page with a sign-up form. I’ll start publishing the first videos soon, so please leave your email address to stay in the loop! There’s also a new Twitter account where I’ll post the videos as well.

Do you have ideas or suggestions for this platform? Don’t hesitate to send me a message, for example, on Twitter 🙂

Laravel News Links

Getting Started With Fedora Silverblue: A Flatpak-Only Version of Fedora Linux

https://static1.makeuseofimages.com/wordpress/wp-content/uploads/2021/09/fedora-silverblue-gnome-software-updates.png

Fedora Linux is one of the most well-known versions of the Linux operating system. This community-run Linux distribution, sponsored by Red Hat, prides itself on developing and introducing the software that eventually makes its way to other Linux distros.

Fedora Silverblue packages and uses that software in a way different from the traditional Linux desktop model, one that may become the way forward for Fedora and, possibly, other Linux distros. You can already use it today, and here’s why you might want to.

What Is Fedora Silverblue?

Fedora Silverblue is a version of Fedora Linux centered around rpm-ostree and Flatpak. In a nutshell, this provides Linux with the kind of security and app distribution seen on mobile phones and Chromebooks. To understand Fedora Silverblue, it helps to understand these two technologies first:

What Is rpm-ostree?

Instead of distributing an operating system consisting of hundreds of packages, Silverblue provides your system as a single image. When updates arrive, rather than downloading newer versions of specific packages, such as the system components and libraries that operate in the background, Silverblue provides a single newer image that contains these updates.

This comes with a few big benefits. One is stability. Your system won’t fail to boot or malfunction because a single package is missing or corrupted. Instead, your system is one big all-or-nothing image. But if a problem does arise, you can easily undo the mistake by booting using a previous image that is known to work.

What Is Flatpak?

Flatpak is a universal app format that enables you to install an app on virtually any Linux distro. This is a replacement for traditional packages such as DEB and RPM, which are not universal. A distro that uses DEB packages, such as Debian or Ubuntu, can not install RPM packages, and vice versa.

Flatpaks also come with added security benefits. Each app is a sandbox, isolated from the rest of your system. For an app to access other components, such as your files or your webcam, you must grant it permission.

Getting Started With Fedora Silverblue

Installing Fedora Silverblue works the same way as installing Fedora Workstation. You can head to the same website, getfedora.org, and scroll down until you see Silverblue, or you can go directly to the Silverblue website to download the necessary ISO.

If you’re familiar with the installer in Fedora Linux or Red Hat Enterprise Linux, then you already know what to expect in Silverblue. Newcomers will find the process comparable to installing applications on Microsoft Windows, where clicking the “Next” button often enough will eventually result in the software you want being installed.

Once you reboot into your new system, you will see a pristine GNOME desktop and the GNOME Tour app, which introduces you to the way GNOME works. At this point, you haven’t yet encountered a difference between Fedora Silverblue and Fedora Workstation, but you’re about to.

How to Install Updates


One of the first things you will need to do on your new system is install updates. You can open GNOME Software and try to view available updates, but this may or may not work. For better or worse, this is not an issue specific to Fedora Silverblue. I find GNOME Software to be an unreliable tool for displaying and installing updates on Fedora Workstation as well.

If GNOME Software works, you will see a prompt to “Restart & Update.” Unlike Fedora Workstation, you won’t need to wait, after you restart, for Fedora to install your packages. Instead, Silverblue will simply start back up using the newer system image that you’ve just downloaded.

If you’ve been using Linux long enough, GNOME Software not working may not seem like much of an issue. You may already be accustomed to installing updates through the command line. This is not because it is the only or easiest way to install updates on Linux, but because the command line often does the job faster and with maximum information presented, showing exactly what updates you’re getting.

On Fedora Workstation, you can install updates with:

sudo dnf upgrade

However, this doesn’t work in Fedora Silverblue. Instead, you will need to use the command:

rpm-ostree upgrade

Notice that in Silverblue the command does not require sudo or administrator access. On Silverblue, you don’t need elevated permissions to upgrade your system or install software.

When the upgrade completes, the terminal displays a full list of upgraded packages in the new system image and a command you can run to restart your system, which you need to do before any of the downloaded updates will take effect.

How to Install Apps on Silverblue

At the first launch, GNOME Software will seem more lightly populated than usual. That’s because Fedora Silverblue does not provide all of the apps available as RPMs in the usual Fedora repository. Silverblue instead uses a separate Fedora repository of Flatpak apps known as the Fedora Container Registry. Various GNOME apps, games, and a few key productivity apps like LibreOffice are available, but there’s much to be desired.

To get more software, you will want to head to Flathub and follow the very simple setup instructions. This will greatly expand the apps that are available in GNOME Software.

To install apps from the terminal, you simply use the flatpak install command. Unlike DNF, you do not need to know the exact name of a package. Flatpak will generally guess what you’re looking for or present you with options if the answer isn’t clear.

If a program you want isn’t available as a Flatpak, you still have the option to install RPMs, but here is where things get tricky.

For apps you intend to use often, you will probably want to append them to your system image using the rpm-ostree install command. Follow this command up with the exact name of the DNF package you wish to install. You will need to restart your computer afterward. From then on, your system image will include these apps during upgrades. To remove software, including preinstalled apps like Firefox, use the rpm-ostree override remove command.

The alternative approach is to launch apps from the command line. These apps will not appear in your app drawer, nor will their icons appear on your dock. To go this route, you will need to become familiar with Toolbox.

Working in the Terminal

Fedora Silverblue comes with a terminal, and most of the commands you come across will still work. But if you want to add or remove packages, you will need to turn to a tool called Toolbox.

Toolbox creates containers, or isolated workspaces, where you can install all the packages you want without cluttering your system.

To create a toolbox, use:

toolbox create

Then type:

toolbox enter

Now you can use DNF and install any Fedora packages you wish. When you are done, type exit to exit Toolbox.

Note, Toolbox containers are not isolated in a security sense. Each has access to your home directory and other aspects of your computer. Do not treat them as safe ways to mess with sketchy software.

Managing App Permissions


The Flatpak format does come with some protections against sketchy or compromised software. While you can see some of this when you open System Settings and navigate to Applications, to really take control you need to install a program known as Flatseal.

With Flatseal, you can block apps from gaining access to the network or limit them to only view files in a specific folder on your hard drive, for example. This program is available for any Linux distribution, but since Fedora Silverblue goes all-in on Flatpak, this means you have this level of control over the majority of apps on your system.

Is Fedora Silverblue Ready for Primetime?

Yes, there is already a community of people using Fedora Silverblue as their primary distro. Apps are stable and, for the most part, it looks just like regular Fedora Linux. Once you learn Silverblue’s quirks, you may actually even find it easier to use than a traditional Linux distro.

Fedora Silverblue isn’t alone. If you find this concept exciting, know that there are a few other Linux distros that have also embraced Flatpak for all of their apps. More could be on the way.

MUO – Feed

Skipper is a powerful visual editor for Laravel Eloquent

https://laravelnews.imgix.net/images/skipper18-FEATURED-IMAGE1-1631452140.png?ixlib=php-3.3.1

Engineers are the artists with better tools. They not only use their senses to create a masterpiece, they also use their brains, so they can achieve it smarter.

Imagine you can become a genuine Laravel engineer.

Imagine you can use a tool that allows you to:

  • Create a visual model of your project with just a few clicks
  • Generate all model and migration files from this model without typing any lines of a code
  • Change the model at any time in the future and get updated migrations at the same moment

Sounds too good to be true? Not at all. Skipper is a powerful visual editor for Laravel Eloquent that can do this all. And it brings you much more.

Benefits of Skipper Usage

  • Skipper saves you a huge amount of time.
    At any phase of project lifecycle, it doesn’t matter if you start from scratch or just edit an older project, this is what you always get – a terribly large amount of time, which you can spend in a better way.

  • Skipper decreases the demands on your coders’ skills.
    We all want to have the best employees possible. But sometimes, you cannot find them easily. Skipper reduces their lack of qualification by preventing possible mistakes they could make while coding manually. With the course by Tom H Anderson you will be able to give employment also to junior programmers.

  • It always allows you to perfectly know your model.
    You and your whole team can clearly see and understand the whole project logic and how the data will flow through the system. Last but not least, with the diagram, you can also easily explain it to your customer.

  • It allows understanding and management of the large projects easily
    Skipper can be used for applications with a few or hundreds of tables. Large projects are simply impossible to converse about without a visual model. Can you imagine joining a new project and they give you a SQL dump of the schema and say, “Learn this.” You probably don’t want to. With Skipper this will not be a problem anymore.

All right, until now we’ve been talking only about the comfort and the work that you can save. It might all sound like a nice marketing talk. So, do you wonder what Skipper really does in terms of Laravel coding? We understand that, let’s go through this.

Skipper Features

ORM-based Entity-Relationship Diagramming (not just database design)

  • Editing of all objects (entities, modules, associations and indexes) through an intuitive and easy-to-use interface.
  • In-built value advisors, validators, and assistants.
  • Regions and color management for a well-arranged model.

Export of models to abstract classes allowing Skipper to manage them

  • Export of Laravel migrations sequentially as your schema changes.
  • Exported migrations are in a standardized and ready-to-use format.
  • Migrations and abstract models are updated during each export, concrete models are exported one time and prepared for your customization

Import of existing projects

  • Smart wizard guides you step by step through the project import from the database.
  • You get a project model in just a few clicks.

Perfect tool for project documentation

  • Exported migrations, with a complete ERD, give perfect referential integrity.
  • Enables clear schema communication across the entire development team.
  • Data stored as XML files for better readability and versioning support.

Wide range of customization options

  • Support for your own templates, behaviors, custom properties, or data types.
  • Allows you to connect Skipper with other external tools.

Well documented

  • Comprehensive documentation covers every topic of Skipper usage.
  • To get into Skipper really quickly and smoothly, check the section “Course” in this article.

Support for Eloquent and other frameworks

  • Eloquent for Laravel.
  • Doctrine (1 and 2) and Propel for Symfony and Zend.
  • CakePHP and MongoDB ODM.
  • Customized and in-house frameworks.

More than 10.000 satisfied customers

  • Maybe you know some of them. Apple, eBay, Lidl, Avast, Hostwinds, SuddenLink, University of Kentucky… And this is just the tip of the iceberg.
  • Stable and well-tested software with more than 10-year history.

The course

The course Designing Entity Relationship Diagrams in Laravel, created by erd.design, teaches you how to start using Skipper in your project today with guides on importing existing projects, starting projects from scratch, exporting to models and migrations, and how to create a readable ERD.

The course was built with the cooperation of Skipper and Tom H Anderson. The course also influenced the Laravel Framework, Illuminate, with new functionality added to allow changing of DateTime schemas.

All this was done to share the beauty of development that Skipper catalyzes. With 10 years of Skipper experience, erd.design is in a unique position to teach ERDs with Skipper and, through this ever-improving course, bring better Eloquent ORM engineering to a wider audience. Use the coupon code LARAVELNEWS for and you will get 25% price reduction.

Skipper Licensing

During 14-day long evaluation period, you can try for free all Skipper features and functions.

You can buy a lifetime license for €395 ($495) which also includes all updates for a 1-year period. After that, there is an annual maintenance agreement of €139 ($169) which gives you constant access to updates for the next 1 year.

If you like Skipper and have some ideas you could share with us, we would be happy for your feedback. In exchange, we want to offer you 10% off the price for your purchase. Write to us to support@skipper.com and we will provide you with your price-cut coupon.

Laravel News

Making Movie Natural Disasters

https://theawesomer.com/photos/2021/09/making_natural_disaster_movies_t.jpg

Making Movie Natural Disasters

Link

Movies and TV shows use a mix of practical, optical, and digital visual effects to simulate natural disasters. Insider compiled behind-the-scenes footage from eight movies where VFX pros brought storms, earthquakes, tsunamis, and other acts of Mother Nature’s fury to life.

The Awesomer

Understanding the magic of Laravel macros


Using Laravel macros is a powerful way to extend default behavior of many classes in Laravel, such as Collections, Stringables and Reponses. In this article I’m going to explain how these macros work under the hood.

What are macros?

Using macros, you can extend default methods in a class. Take for example this macro:

Collection::macro('insertBetweenEach', function ($value) {
    return $this->flatMap(fn ($item) => [$item, $value])->slice(0, -1);
});

Now if you run this code:

collect([1, 2, 3])->insertBetweenEach(4)->dd();

You’ll get this output:

[1, 4, 2, 4, 3]

As you can see, it’s very simple to add macros and thus extend classes like Collection, Str, Stringable and Response. And if you would try to change the core classes in the vendor folder, you would loose all methods when updating or deploying.

The Macroable trait

All classes that offer macro-functionality, use the Illuminate\Support\Traits\Macroable trait. You can even add this to your own classes too!

The trait adds a protected property to the class, called $macros. When you register a macro using the macro() method, it will be saved in this array.

// vendor/laravel/framework/src/Illuminate/Macroable/Traits/Macroable.php

trait Macroable
{
    protected static array $macros = [];

    public static function macro(string $name, object|callable $macro): void
    {
        static::$macros[$name] = $macro;
    }
}

Calling methods

When you call a method that does not exist on a method, PHP will check for a __call() method and runs that instead of throwing an exception. In this method Laravel will check if there is a macro registered and run that.

// vendor/laravel/framework/src/Illuminate/Macroable/Traits/Macroable.php

trait Macroable
{
    protected static array $macros = [];

    public static function macro(string $name, object|callable $macro): void
    {
        static::$macros[$name] = $macro;
    }
    
    public function __call(string $method, array $parameters): mixed
    {
        if (!isset(static::$macros[$method])) {
            throw new BadMethodCallException(sprintf('Method %s::%s does not exist.', static::class, $method));
        }

        $macro = static::$macros[$method];

        if ($macro instanceof Closure) {
            $macro = $macro->bindTo($this, static::class);
        }

        return $macro(...$parameters);
    }
}

This method exists of four parts:

  1. It checks if the macro exists, and if not it throws an exception
  2. It finds the corresponding macro
  3. If the macro is callable (a Closure), it will bind the callback to the current class, so if the macro calls $this it works as expected
  4. It will run the macro

Static methods

When a static method is called that does not exist, PHP will execute the __callStatic() method instead of __call(). This will basically do the same thing as __call(), except not binding the callback to the current instance.

// vendor/laravel/framework/src/Illuminate/Macroable/Traits/Macroable.php

trait Macroable
{
    protected static array $macros = [];

    public static function macro(string $name, object|callable $macro): void
    {
        static::$macros[$name] = $macro;
    }
    
    public function __call(string $method, array $parameters): mixed
    {
        if (!isset(static::$macros[$method])) {
            throw new BadMethodCallException(sprintf('Method %s::%s does not exist.', static::class, $method));
        }

        $macro = static::$macros[$method];

        if ($macro instanceof Closure) {
            $macro = $macro->bindTo($this, static::class);
        }

        return $macro(...$parameters);
    }
  
    public static function __callStatic(string $method, array $parameters): mixed
    {
        if (!static::hasMacro($method)) {
            throw new BadMethodCallException(sprintf('Method %s::%s does not exist.', static::class, $method));
        }

        $macro = static::$macros[$method];

        if ($macro instanceof Closure) {
            $macro = $macro->bindTo(null, static::class);
        }

        return $macro(...$parameters);
    }
}

Conclusion

Although Laravel macros may seem hard to understand, they are actually very simple to understand and use.

Laravel News Links

How To Automatically Apply the Laravel-PHP Coding Style (For Free)


If you work inside a team, do yourself a favor – decide on a coding style and get the entire team to use it.

Why Stick To a Standard Code Style?

Making all your teammates’ code look the same will make the codebase so much easier to review, merge and maintain:

  • it’ll be easier for you to judge only how the code works, without being distracted by how it looks;
  • you won’t have PRs bloated by striping spaces, removing spaces, converting tabs to spaces, moving parentheses on the next line… and so on; less to think about during review; fewer conflicts to fix;
  • even if you work solo – I’d argue it’s still very a good idea to do it; adopting PSR-12 in particular will make your code look the same as most well-maintained PHP projects; so when you go look at their code, it’ll actually start looking… a little more familiar; so it’ll be a little easier to learn from them;
  • plus, I bet you will adopt PSR-12 one day, so if you start now… you’ll thank yourself later on; be kind to your future self!

Which Code Style to Choose?

Fortunately, thanks to PHP-FIG, it’s easy to choose a standard to start from – PSR-12. Digging a little deeper though, the Laravel ecosystem has pretty much decided on a few rules on top of that. Personally I don’t agree with all of them… but… that’s normal. Ask 10 developers what they like and… you’ll get 10 different answers. So in this case, I found it’s better to just… stick to the Laravel standard. You don’t like X in particular, your coworker doesn’t like Y, and so on, but… you each give in a little bit, for the sake of standardization. Everybody compromises, nobody has a reason to make a fuss… it’s the fair way to go, if you ask me. But hey… you do you 😀

How Do I Automatically Enforce It?

There are quite a few ways to do this automatically:

Option 1. Use StyleCI

If you can use StyleCI, use that. This is why it exists, and it does an excellent job. When someone pushes code to the repo, StyleCI comes in and formats it, by changing their PR to match the code style. It’s simple and brilliant. In fact, we use StyleCI for all the public-source Backpack packages and it’s worked wonders. Just follow the prompts to set it up, then you can forget about it.

If your code is open-source, this is such a good option, that you don’t need to read any further!

However… if your code is closed-source (not public)… you might find your particular company/setup can’t use StyleCI. You might develop A LOT of private projects, that are not under continuous development or maintenance… so you don’t want to pay for a maintenance fee for legacy projects… we get it, we got there too. In that case, the StyleCI pricing won’t make sense for you. In that case…

Option 2. Use PHP-CS-Fixer in Your Editor/IDE

Use php-cs-fixer locally, on each developer’s computer. There are plug-ins for every major editor and IDE, so it should be easy to do. You can store a configuration file in your project root, to make sure you all enforce the same rules.

However, this does assume you can tell your developers “do this, we all need to use the same code style“. In most teams, you can. But even if they do, most developers switch editors, forget to install the plugin, so unstyled code does go through, sometimes. For that reason alone, I don’t trust this method alone. So what I prefer is to…

Option 3. Use PHP-CS-Fixer Inside a Github Action

If none of the above float your boat, there’s one super-simple solution that you can implement, then forget about. It has most of the benefits of StyleCI (it’s implemented where the code is stored, on Github) and most of the benefits of PHP-CS-Fixer (it’s free).

You can implement a Github Action. Every time code is pushed or a pull request submitted, you can run php-cs-fixer on that code and fix whatever is needed. That way, no matter what developers submit, the code will be styled according to the standard.

To be honest, this is the entire reason this article exists – so I get to document how I did this 😀 Hopefully it’ll save you some time (and future me too). Here’s how to go about it:

Step 1. Create a configuration file for PHP-CS-Fixer (.php-cs-fixer.dist.php in your root directory). Here’s the content we use for it, after digging quite a bit. Note that if you don’t have a directory mentioned at the end, you should comment them out, otherwise PHP-CS-Fixer will fail. If you have any comments/improvements on the code style, please suggest them in my gist, it’s open for improvements.

Step 2. Add .php-cs-fixer.cache to your .gitignore file.

Step 3. Add a PHP-CS-Fixer as a dev requirement: composer require --dev friendsofphp/php-cs-fixer

Step 4. Add a Github action/workflow for it, by creating a .github/workflows/format_php.yml file:

name: Apply PHP Code Style

on:
    push:
        branches:
            - 'master'
    pull_request:
        paths:
            - '**.php'

jobs:
    php-cs-fixer:
        runs-on: ubuntu-latest
        steps:
            - uses: actions/[email protected]
              with:
                  ref: $

            - name: Install
              run: composer install

            - name: Run php-cs-fixer
              run: ./vendor/bin/php-cs-fixer fix

            - uses: stefanzweifel/[email protected]
              with:
                  commit_message: Apply php-cs-fixer changes

That should be it. Once you push code to your repo, a new commit should automatically be created, fixing the style. This works particularly well if you work with PRs, because then you squash and merge them and you won’t bloat up your git history.


I hope this will be helpful to you. If you have a better way of doing this, let me know in the comments. I know there are a lot of ways, but this is what I found to be the best for us, in Sep 2021.

Laravel News Links

80% Lowers & Kit Sales Spike in 2021

https://www.pewpewtactical.com/wp-content/uploads/2020/03/Food-TP-Bullets-1024×683.jpg

I don’t think that anybody would argue that the past year and a half has been absolutely insane for gun sales.

I mean, seriously, we should all make congratulatory t-shirts or something. Part of the chaos of 2020-2021 has revolved around the gun industry as well.

Food TP Bullets
This just about sums up 2020 and 2021.

We all know that firearms, ammunition, black powder, and other components have virtually disappeared from shelves throughout the nation.

And President Biden has positioned the Department of Justice to tackle topics like pistol braces and 80% receivers.

Older AR-15 Pistol Braces
Pistol braces also came under fire.

But we wanted to know what kind of impact the past year and a half has had on the world of 80% receivers.

So, if you’ve been curious about how 80% receivers have fared recently, keep reading to learn more.

80% Arms GST-9 Parts
GST-9 Parts

80% Receiver Sales Spike

Since 2020 when guns began disappearing off gun store shelves, more Americans began turning to 80% receivers as it was one of the few options available.

As a result, people began buying them in droves. While Pennsylvania-based JSD Supply was already planning on expanding their capabilities before 2020, last year pushed them into expansion even further – almost accidentally, CEO and owner Jordan Vinroe stated.

Starting Pilot Hole, 80% Arms
Starting Pilot Hole

JSD Supply is primarily geared towards the do-it-yourself firearm maker, with a host of products revolving around the DIY sector — including 80% AR-15 lowers, AR-10 lowers, and the like.

Vinroe said business was booming. But what caused this increase?

Executive Actions

“It’s most certainly due to government overreach. Anytime people try to restrict a right, people exercise that right as much as they can.”

Vinroe noted that when politicians talk about guns, gun sales always increase exponentially. History has proven that politicians often make the best gun salesmen.

In April, President Biden issues several Executive Actions targeting both braces and 80% kits. (You can read more about that here.)

Biden Signs
President Joe Biden, joined by Vice President Kamala Harris, signs the American Rescue Plan Thursday, March 11, 2021, in the Oval Office of the White House. (Official White House Photo by Adam Schultz)

“We’ve been expecting (and preparing) for legislation and regulation to come to the national stage for a while now, and today’s press conference from the White House confirms it. 80% Lowers are the main target of an aggressive executive push to undermine the community of home builders,” 80% Arms said in a statement shared with Pew Pew Tactical at the time.

“We believe the best way to ensure 2nd Amendment rights is to provide a method that allows citizens to manufacture their own firearms at home,” the company added.

80% Arms GST-9 Parts

Following the Executive Actions, the ATF issued a 115-page set of proposals attempting to reclassify a firearm’s “frame or receiver.” You can read more about that in our ATF’s Proposed Rules on Firearms, Receivers [Guide].

Nathan Deters of Anderson Manufacturing explained his company saw a significant increase in 2021 in 80% lower purchases. He said it was “definitely due to the recent ATF proposed rule changes on 80% lowers.”

Best Value
50

at Brownells

Prices accurate at time of writing

Prices accurate at time of writing

Demand for 80% lowers reached such heights in 2021 that Anderson Manufacturing moved some production capacity over to 80% lowers.

Anderson Manufacturing also noted an uptick in jig kits and complete lowers as well.

Ghost Gunner also saw a massive spike starting in April 2021. Cody Wilson attributes this to when “Biden made his ghost gun rule press conference.”

80% AR-15 Lowers, All Sides
80% AR-15 Lowers, All Sides

As a result, the company struggled to keep enough .308 and AR-15 style receivers in stock. They’re flying off shelves as soon as they get them in.

“We sell every Polymer80 frame we can get in stock. People are aware of the state and federal doors closing on this activity,” Wilson stated, as well as noting that they’re seeing a spike in the sales of jigs for 80% lowers as well.

80% Arms GST-9 Complete
GST-9 Complete

Akin to the other manufacturers I contacted, Ghost Gunner has also seen certain areas ordering more products than others.

Wilson noted that the demographics for sales have largely remained the same for the past five years. But said that California and cities such as Baltimore are overrepresented within his business.

30

at 80% Arms

Prices accurate at time of writing

Prices accurate at time of writing

Riots & Unrest

JSD Supply’s Vinroe explained that in addition to politics, cities hit with riots often saw customers calling JSD Supply “almost frantic” due to their inability to find a gun in local stores.

Missouri, in particular, saw an uptick in sales after riots broke out.

Portland Riot Police 2
Portland Riot Police

As far as customers themselves, JSD Supply said a large number of first-time gun owners purchased products and a significant number of burglary victims who believe that their homes were targeted as a result of local riots as well.

According to Vinroe, every product JSD Supply offers experienced an increase in sales over the past year and a half.

Conclusion

It should come as no surprise that 80% receiver sales are up. Virtually every item within the entire gun industry has seen spectacular sales for the past year and a half.

CMMG Lower Parts Kit and 80% Arms Completed Receiver
CMMG Lower Parts Kit and 80% Arms Completed Receiver

Driven both by civil unrest and politics, it seems as if the 80% trend isn’t slowing down anytime soon.

What do you think about 80% kits and lowers? Let us know in the comments below. Read up on 80% kits at What Are 80% Lower Receiver Kits and the Best 80% Receivers, Jigs & Frames.  

The post 80% Lowers & Kit Sales Spike in 2021 appeared first on Pew Pew Tactical.

Pew Pew Tactical

The 6 Best Open Source Lightroom Alternatives

https://static1.makeuseofimages.com/wordpress/wp-content/uploads/2021/08/Screenshot-(273).png

Adobe Lightroom is a non-destructive photo editing software. It’s part of the Adobe ecosystem and comes with great photo editing features. However, it doesn’t come cheap.

Its price tag is a bit off-putting if you’re looking for affordable editing software, but don’t worry. There are several free, open source alternatives that you can use to edit your images.

1. GIMP


GIMP is a free and open source bitmap graphics editor that’s excellent for retouching and editing photos, as well as image enhancement.

Developed by the GIMP Development Team, this software contains powerful photo manipulation features suitable for professional creators. It’s also considered one of the best alternatives to Photoshop.

When to Use It: GIMP is best used for basic graphic design needs and image editing. It’s especially great if you don’t have a lot of experience with advanced image editing and manipulation.

Features:

  • Free
  • Excellent image manipulation tools
  • Extensive graphic design toolset
  • Comes with color management features
  • Supports third-party plugins and customization options

Pros:

  • High-quality framework
  • Comes with tutorials and guides
  • Small learning curve
  • Multi-computer language support
  • Outstanding color reproduction
  • High customization levels
  • Has all the essential editing tools
  • Supports multiple file formats

Cons:

  • The selection tool isn’t precise
  • Lack of customer support
  • A limited number of layers

Download: GIMP for Windows, Mac, and Linux (Free)

2.DigiKam


DigiKam is an intuitive, open source photo management software that focuses on image organization and tag editing. The app comes with an editing package designed for importing, exporting, editing, and managing RAW images.

It also has powerful tagging tools and filtering functionality. Photos are also put into albums, allowing you to quickly search for and find items.

When to Use It: DigiKam is best for organizing and comparing photos, or when preparing your pictures for publishing.

Features:

  • Supports all primary image file formats (JPEG, PNG, and RAW)
  • Add captions and ratings to images
  • Filter and sort photos into albums and sub-albums
  • Lets you easily export albums to social platforms
  • Light Table lets you compare images
  • Advanced image editing tools

Pros:

  • Free
  • Supports a large number of digital camera models
  • Supports USB storage devices
  • Is great for batch image editing

Cons:

  • Software is slow at times
  • Sophisticated interface
  • Has a complex image export process

Download: DigiKam for Windows, Mac, and Linux (Free)

3. PhotoFlow


PhotoFlow is an open source and non-destructive photo editing program that supports RAW images. It specializes in image retouching, but also has several tools that let you perform basic edits.

When to Use It: Use PhotoFlow when you want to manipulate RAW images using advanced non-destructive tools, such as HDR tone mapping.

Features:

  • Supports all major image formats
  • Real-time image previews
  • Freehand drawing
  • Basic editing tools
  • Color-correction features
  • Color space conversions

Pros:

  • Free
  • Non-destructive editing
  • Available for Linux, Windows, and macOS

Cons:

  • Rugged interface
  • Software doesn’t provide descriptions for editing tools

Download: PhotoFlow for Windows, Mac, and Linux (Free)

4. LightZone

LightZone is a free, open source editing software initially developed for commercial editing. However, it is now open to all users. It supports non-destructive editing, which allows you to edit an image without overwriting the original image data.

When to Use It: LightZone is best for editing RAW images, as it produces high-quality JPEGs.

Features:

  • Elegant user interface
  • Supports both JPEG and RAW image formats
  • Non-destructive RAW editor
  • Compatible with multiple operating systems
  • Great for batch processing
  • Advanced image adjustment settings

Pros:

  • No-fuss photo editing tools
  • Non-destructive editing
  • Has a community forum for technical assistance

Cons:

  • Lack of documentation
  • Difficult to use for beginners

Download: LightZone for Windows, Mac, and Linux (Free)

5. Photivo

Do you want to get the most out of your photos? Photivo is a great open source image editor that comes with a variety of filters and a large library of features.

And if you’re a fan of GIMP, Photivo comes with a button that lets you easily export your images to GIMP for further editing.

When to Use It: It’s best for editing high-quality RAW and bitmap files that require high attention to detail.

Features:

  • Supports bitmap images and RAW files
  • Elegant and straightforward interface
  • Advanced settings and adjustments
  • Channel mixer support
  • 16-bit internal processing
  • Batch mode
  • Multi-lingual support
  • Allows for cross-processing

Pros:

  • Feature-rich
  • Powerful internal processing
  • Supports multiple image formats
  • Batch processing capabilities

Cons:

  • Sophisticated
  • Requires image editing experience to use
  • Needs a powerful computer to run

Download: Photivo for Windows | Mac | Linux (Free)

6. BitMappery


Don’t want to download image editing software to your computer? Well, with Bitmappery, you can do all the editing from your web browser.

Bitmappery is a free, open source photo editing software that’s also web-based. It integrates with Dropbox, letting your easily import and edit images from the cloud. Bitmappery presents a quick solution for any editing project that needs to be done in a timely manner.

When to Use It: Bitmappery is great for quickly editing photos that are stored in Dropbox.

Features:

  • Layer management
  • Dropbox integration
  • Offline support
  • Keyboard shortcuts for faster editing
  • Transformation options

Pros:

  • Accessible on any device, since it’s web-based
  • Non-destructive editing
  • Only needs a web browser to run

Cons:

  • Limited editing options
  • Less refined than other software

Related: The Best Free Photo Editing Software to Try Today

Adobe Lightroom vs. Open Source Photo Editing Software

If you are looking to edit your photos, Adobe Lightroom is a great option. It is a non-destructive photo editor, and all edits are kept in your Lightroom catalog. It’s also much easier to use than Photoshop and has great photo management tools.

Open source photo editing software, on the other hand, can be up to par with the paid options. Most of the software above offer the same features as Adobe Lightroom. Some, like GIMP, have more features than Lightroom.

If you are looking for free-to-use photo editing software, be sure to check out the above. You can even use them to learn about photo editing before committing to a paid photo editing software.

MUO – Feed