I Love My Hoe Dag Garden Tool

https://i0.wp.com/toolguyd.com/blog/wp-content/uploads/2021/09/Hoe-Dag.jpg?resize=600%2C569&ssl=1

Hoe Dag

The Hoe Dag, shown in this photo by Lee Valley, has really been my MVP tool this past gardening season.

To be frank, it does not feel very heavy duty, but I put it through its paces, digging up rocks, roots, and heavy clay soil.

The Hoe Dag is said to be superb for digging, planting, tilling, weeding, and even chopping through roots. It’s described as rugged, and it has proven this to be true.

The multi-purposed gardening tool features an 8-1/2″ arc-shaped blade with a 2-1/2″ edge on one end and a 7/8″ edge on the other. It has a 15″ seasoned hardwood handle.

Lee Valley says that the Hoe Dag has been hand-crafted in the USA for over 50 years.

Although I’ve been hard on my Hoe Dag, I don’t forget that it’s handle is made of wood and that it’s attached to the steel head via a socket joint. It can handle a bit of abuse, but I reach for a different tool for heavier prying.

I absolutely definitely recommend the Hoe Dag. Sure, it’s basically a double-sided short-handle hoe, and there are other tools that are almost kind of like it, but they’re not quite the same.

The Hoe Dag is well-made, it’s extremely versatile, it’s comfortable and light to swing, and it’s made in the USA.

Price: $32.50

Buy Now via Lee Valley
See Also via Amazon

Lee Valley currently offers free ground shipping on orders $30 and up.

ToolGuyd

Enhanced PostgresSQL Driver for Laravel

https://laravelnews.imgix.net/images/laravel-postgresql-extended-featured.png?ixlib=php-3.3.1

Laravel PostgreSQL Enhanced is a package by Tobias Petry that offers many missing PostgreSQL-specific features to Laravel:

While in some applications, you want to support multiple database drivers using Eloquent, this package can offer additional features if you’re going to opt-in to making your application PostgreSQL-specific.

This package offers various index features, such as partial index support, include columns, index storage parameters. For example, the partial index support feature could be helpful when you have a table with a unique value (i.e., email) and you want to index to ignore rows with soft deletes:

1Schema::table('users', function(Blueprint $table) {

2 $table

3 ->uniqueIndex('email')

4 ->partial("deleted_at IS NULL");

5});

Besides these features, the package includes multiple column types that are available in PostgreSQL:

  • Bit Strings
  • Case-insensitive text (i.e., emails)
  • Hstore
  • IP Networks
  • International Product Numbers
  • Label Tree
  • Ranges
  • XML

I’d recommend checking out the readme for details on all the features this package provides. You can learn more about this package, get full installation instructions, and view the source code on GitHub.

Laravel News

Decorator Pattern vs. Proxy Pattern

https://doeken.org/assets/img/decorator-vs-proxy-pattern.jpg

There are two patterns in PHP that are very similar; The Decorator Pattern and The Proxy Pattern. Because they are so
similar, you can quickly mistake one for the other. Does that matter? Maybe not, but I think it’s good to know the
differences when communicating about them.

Similarities between Decorators and Proxies

Both the Decorator Pattern and the Proxy Pattern revolve around the idea of wrapping an instance of an existing
interface (let’s call that the inner instance) with a class that implements that same interface and delegates their
function calls to the same functions on their inner instance.

These patterns are very useful for adding or changing functionality of an instance without breaking encapsulation. It
can also change or extend functionalities of final functions and classes. And because they usually serve one purpose
they can easily be tested.

Example

interface SubscriberInterface {

public function subscribe(string $email): void;

}

 

class SubscriberDecorator implements SubscriberInterface {

private SubscriberInterface $inner_subscriber;

 

public function subscribe(string $email): void {

$this->inner_subscriber->subscribe($email);

}

}

In this example you can see that our SubscriberDecorator implements the SubscriberInterface and it also requires
some instance of the SubscriberInterface. After that it delegates the subcribe() function to the same function on
that instance.

Differences between Decorators and Proxies

When it comes to naming a class a Decorator or a Proxy you have to look at its intent. What is the class actually doing
with the instance it is wrapping?

Required vs. Optional dependency

You might have noticed I didn’t include a __construct() method in the previous example. This was intentional, because
this is where the first difference can be apparent.

A Decorator requires an instance of the interface it is wrapping, while a Proxy does not require such an
instance. A Proxy can receive an instance, but is also allowed to create this instance itself. So you can create
a new Proxy on its own, while a Decorator needs another instance as dependency.

// Decorator

public function __construct(public SubscriberInterface $inner_subscriber){}

 

// Proxy

public function __construct(?SubscriberInterface $inner_subscriber = null){

$this->inner_subscriber = $inner_subscriber ?? new InnerSubscriber();

}

Additive vs. Restrictive

Decorators are additive; meaning they only add new functionality by wrapping the function call and returning the
original value. It can however do anything before or after that call. You can for example log every value when a
function is called or dispatch an event. Just make sure to return the original value.

Proxies are restrictive; meaning they can change the behavior of a function or even restrict calling a specific function
by throwing an exception.

Tip: Both Decorators and Proxies are allowed to add any extra functions or parameters that are not on the interface. It can therefore be wise to implement some magic __isset(), __get() and __call() methods on the Decorator or Proxy to pass these calls along to their inner instance as well. This way you can still call those methods and parameters even if you add multiple decorators on top.

public function __call($name, $arguments)

{

return $this->inner_subscriber->{$name}(...$arguments);

}

 

public function __get($name)

{

return $this->inner_subscriber->{$name};

}

 

public function __isset($name)

{

return isset($this->inner_subscriber->{$name});

}

General purpose vs. Specific purpose

Decorators serve a general purpose. It will add some functionality regardless of the instance it is wrapping. This means
that multiple decorators should be able to be applied on top of one another in any random order and still produce the
same result and added functionality.

Proxies serve a more specific purpose. It will mostly be used to change or append functionality to a specific instance
of the interface. Proxies also aren’t commonly stacked on top of one another as a single proxy is usually enough.

Tips for Decorators and Proxies

Here are a few tips you might consider when working with Decorators and Proxies.

Make a base abstraction

If you create multiple Decorators or Proxies of the same interface it can be beneficial to create an abstract class of
the interface or a trait that satisfies the interface, where every function is already deferred to the function on
the inner instance. If you are a package creator, you might even consider providing this implementation inside the
package. This way a Decorator or Proxy can extend or use this implementation and only (re)declare the functions
it needs.

interface SubscriberInterface

{

public function subscribe(string $email): bool;

 

public function unsubscribe(string $email): bool;

}

 

trait SubscriberTrait { ... }

{

private SubscriberInterface $inner_subscriber;

 

public function subscribe(string $email): bool

{

return $this->inner_subscriber->subscribe($email);

}

 

public function unsubscribe(string $email): bool

{

return $this->inner_subscriber->unsubscribe($email);

}

 

public function __call($name, $arguments)

{

return $this->inner_subscriber->{$name}(...$arguments);

}

 

public function __get($name)

{

return $this->inner_subscriber->{$name};

}

 

public function __isset($name)

{

return isset($this->inner_subscriber->{$name});

}

}

 

// You can now extend this class, or implement the interface and trait.

abstract class SubscriberDecorator implements SubscriberInterface

{

use SubscriberTrait;

 

public function __construct(SubscriberInterface $inner_subscriber)

{

$this->inner_subscriber = $inner_subscriber;

}

}

Single responsibility Decorators

It might be tempting to add multiple features onto a Decorator, but the beauty of them is that they can be added or
removed without changing the underlying code. So try to make tiny Decorators that focus on one thing and apply these on
top of each other. Again, this simpleness makes them easier to test as well.

Examples

You can find a couple of nice examples of Decorators and Proxies in Symfony.

Their developer toolbar shows a lot of information regarding events and cache, for example. They log this information by
decorating the current EventDispatcher with
a TraceableEventDispatcher and
the current cache adapter with
a TraceableAdapter
within the dev environment.

An example of a Proxy can be found in
the DeflateMarshaller of
the symfony/cache package. This Marshaller is restrictive due to its dependency on gzinflate() & gzdeflate() and
it’s changes to the output of the inner instance.

Thanks for reading

I hope you enjoyed reading this article! If so, please leave a 👍 reaction or a 💬 comment and consider subscribing to
my newsletter! I write posts on PHP almost every week. You can also follow me
on twitter for more content and the occasional tip.

Laravel News Links

MyDumper 0.11.1 is Now Available

https://www.percona.com/blog/wp-content/uploads/2021/09/MyDumper-0.11.1-2048×1152.pngMyDumper 0.11.1

MyDumper 0.11.1The new MyDumper 0.11.1 version, which includes many new features and bug fixes, is now available.  You can download the code from here.

For this release, there are three main changes: 1) we added config file functionality which allows users to set session-level variables (one of the most requested features!), 2) we developed a better and robust import mechanism, and 3) we fixed all the filename related issues.  Those changes and mostly the last one forced us to change the version number from 0.10.9 to 0.11.1 as a backup taken in 0.10.x will not work in 0.11.x and vice versa.

New Features:

  • Adding order by part functionality #388
  • improve estimated_step #376 #373
  • Adding config file functionality #370
    • Use only a config file to load the parameters #318
    • We hope to add parameters and support custom SQL mode and character configuration #274
    • [myloader] Add option to disable Galera Cluster (Wsrep) replication before importing #159
    • mydumper can’t recreate mysql.proc + mysql.events due to 5.7 sql_mode #142
    • trouble with global sql_big_selects=0 #50
    • Enabling MAX_EXECUTION_TIME option #368
    • mydumper dump big table failed, because of dumping time longer than max_execution_time #257
    • trouble with global sql_big_selects=0 #50
    • We hope to add parameters and support custom SQL mode and character configuration #274
  • Adding sync mechanism and constraint split #352
    • [fast index] Deadlock found when trying to get lock #342
    • usingFastIndex: indexes may be created while restore is in progress #292
    • [enhancement] optimized data loading order #285
    • Enhancement request: myloader option to prioritize size #78
  • Table and database names changed to fix several issues #399
    • bug for overwrite-tables option #272
    • Problems related to log output when backing up table name with #179 #210
    • parallel schema restore? #169 #311
    • bug with table name #41 #56
    • Export with table folders #212
    • bug for overwrite-tables option #272
    • [BUG] table name make mydumper fail #391
    • [BUG] table name starts with checksum breaks myloader #382
    • Fix issue #182 for tables with quotes #258
  • Dump procedures and functions using case sensitive database name #69

Bug Closed:

  • [BUG] Error occurs when using –innodb-optimize-keys and there is a column having a foreign key and part of a generated column #395
  • Tables without indexes can cause segfault #386

Fixes:

  • [ Fix ] on table name segfault and add free functions #401
  • Adding the set session execution #398
  • [ Fix ] When no index, alter_table_statement must be NULL #397
  • Avoid logging SQL data on error #392
  • [ fix ] The count was incorrect #390
  • Fix on Debian version #387
  • Fix package URLs #384
  • Change quotes to backticks in SQL statements #350
  • bug for overwrite-tables option #272
  • mydumper: fix an ‘SQL injection’ issue when table name contains a ‘ or #168

Refactoring

  • Reading file list only one time #394
  • Export with table folders #212

Question Addressed:

  • [QUESTION] Increase CPU usage Tuning restore #380
  • [Question] how to use mydumper to backup 2 tables with different where conditions? #377
  • column charset is ignored once it’s different from table charset. #156
  • mydumper/myloader feature requests #84
  • load Generated Columns error #175

Download MyDumper 0.11.1 Today!

Percona Database Performance Blog

Cosmic ‘airburst’ leveled a biblical city in the Jordan Valley

https://www.futurity.org/wp/wp-content/uploads/2021/09/tall-el-hammam-1600.jpgResearchers stand at the excavation site at Tall el-Hammam, which has low stone walls in a sunken pit

New research finds evidence of a cosmic airburst destroying a biblical city called Tall el-Hammam.

In the Middle Bronze Age (about 3,600 years ago or roughly 1650 BCE), Tall el-Hammam was ascendant. Located on high ground in the southern Jordan Valley, northeast of the Dead Sea, the settlement in its time had become the largest continuously occupied Bronze Age city in the southern Levant, having hosted early civilization for a few thousand years.

At that time, it was 10 times larger than Jerusalem and five times larger than Jericho.

“All the observations stated in Genesis are consistent with a cosmic airburst, but there’s no scientific proof that this destroyed city is indeed the Sodom of the Old Testament.”

“It’s an incredibly culturally important area,” says James Kennett, emeritus professor of earth science at the University of California, Santa Barbara. “Much of where the early cultural complexity of humans developed is in this general area.”

A favorite site for archaeologists and biblical scholars, the mound hosts evidence of culture all the way from the Chalcolithic, or Copper Age, all compacted into layers as the highly strategic settlement was built, destroyed, and rebuilt over millennia.

But there is a 1.5-meter interval in the Middle Bronze Age II stratum that caught the interest of some researchers for its “highly unusual” materials. In addition to the debris one would expect from destruction via warfare and earthquakes, they found pottery shards with outer surfaces melted into glass, “bubbled” mudbrick, and partially melted building material, all indications of an anomalously high-temperature event, much hotter than anything the technology of the time could produce.

“We saw evidence for temperatures greater than 2,000 degrees Celsius,” says Kennett, whose research group at the time happened to have been building the case for an older cosmic airburst about 12,800 years ago that triggered major widespread burning, climatic changes, and animal extinctions.

The charred and melted materials at Tall el-Hammam looked familiar, and a group of researchers including impact scientist Allen West and Kennett joined Trinity Southwest University biblical scholar Philip J. Silvia’s research effort to determine what happened at this city 3,650 years ago.

“There’s evidence of a large cosmic airburst, close to this city called Tall el-Hammam,” Kennett says of an explosion similar to the Tunguska Event, a roughly 12-megaton airburst that occurred in 1908, when a 56-60-meter (183.7-196.85 feet) meteor pierced the Earth’s atmosphere over the Eastern Siberian Taiga.

The shock of the explosion over Tall el-Hammam was enough to level the city, flattening the palace and surrounding walls and mudbrick structures, according to the paper. The distribution of bones indicated “extreme disarticulation and skeletal fragmentation in nearby humans.”

For Kennett, further proof of the airburst was found by conducting many different kinds of analyses on soil and sediments from the critical layer. Tiny iron- and silica-rich spherules turned up in their analysis, as did melted metals.

“I think one of the main discoveries is shocked quartz. These are sand grains containing cracks that form only under very high pressure,” Kennett says of one of many lines of evidence that point to a large airburst near Tall el-Hammam. “We have shocked quartz from this layer, and that means there were incredible pressures involved to shock the quartz crystals—quartz is one of the hardest minerals; it’s very hard to shock.”

The airburst, according to the paper, may also explain the “anomalously high concentrations of salt” found in the destruction layer—an average of 4% in the sediment and as high as 25% in some samples.

“The salt was thrown up due to the high impact pressures,” Kennett says of the meteor that likely fragmented upon contact with the Earth’s atmosphere. “And it may be that the impact partially hit the Dead Sea, which is rich in salt.”

The local shores of the Dead Sea are also salt-rich, so the impact may have redistributed those salt crystals far and wide—not just at Tall el-Hammam, but also nearby Tell es-Sultan (proposed as the biblical Jericho, which also underwent violent destruction at the same time) and Tall-Nimrin (also then destroyed).

The high-salinity soil could have been responsible for the so-called “Late Bronze Age Gap,” the researchers say, in which cities along the lower Jordan Valley were abandoned, dropping the population from tens of thousands to maybe a few hundred nomads. Nothing could grow in these formerly fertile grounds, forcing people to leave the area for centuries. Evidence for resettlement of Tall el-Hammam and nearby communities appears again in the Iron Age, roughly 600 years after the cities’ sudden devastation in the Bronze Age.

Tall el-Hamman has been the focus of an ongoing debate as to whether it could be the biblical city of Sodom, one of the two cities in the Old Testament Book of Genesis that were destroyed by God for how wicked they and their inhabitants had become. One denizen, Lot, is saved by two angels who instruct him not to look behind as they flee. Lot’s wife, however, lingers and is turned into a pillar of salt. Meanwhile, fire and brimstone fell from the sky; multiple cities were destroyed; thick smoke rose from the fires; city inhabitants were killed and area crops were destroyed in what sounds like an eyewitness account of a cosmic impact event. It’s a satisfying connection to make.

“All the observations stated in Genesis are consistent with a cosmic airburst,” Kennett says, “but there’s no scientific proof that this destroyed city is indeed the Sodom of the Old Testament.” However, the researchers say, the disaster could have generated an oral tradition that may have served as the inspiration for the written account in the book of Genesis, as well as the biblical account of the burning of Jericho in the Old Testament Book of Joshua.

The study appear in Nature Scientific Reports.

Source: UC Santa Barbara

The post Cosmic ‘airburst’ leveled a biblical city in the Jordan Valley appeared first on Futurity.

Futurity

Star Trek’s Funniest Moments

http://img.youtube.com/vi/fcLbs4lkQOc/0.jpg

Star Trek’s Funniest Moments

Link

Star Trek and its spin-offs have been entertaining audiences for more than 50 years. Part of what makes the shows work so well is the infusion of humor into its characters’ interactions. Looper compiled this video of some of the funniest scenes in the history of the franchise. Star Trek IV is packed with hilarious gems.

The Awesomer

How to Fix iOS 15’s Worst Feature

https://i.kinja-img.com/gawker-media/image/upload/c_fill,f_auto,fl_progressive,g_center,h_675,pg_1,q_80,w_1200/500003f6183ba8c5c76e259f038c6c81.jpg

You see that search bar at the bottom? It’s upsetting.
Photo: Victoria Song/Gizmodo

iOS 15 is officially here, and while it brings many cool new features, there’s also one we really, really dislike: the new Safari search bar.

In iOS 15, Apple redesigned Safari so that the address bar has been relocated from the top of the screen to the bottom. Theoretically, this makes Safari easier to use single-handedly. Apple did improve the search bar so it doesn’t jump around anymore like it did in early beta versions of iOS 15. However, if you find that you don’t like the search bar at the bottom, you can easily switch the address bar back to the top.

After you update to iOS 15, open the Safari app on your phone. In the bottom left-hand corner, you should see the “aA” icon in the search bar. Tap it and then select the Show Top Address Bar. And that’s it. Whoosh, it’ll go back to being up top. If you end up liking the search bar at the bottom, no worries. You can tap the “aA” icon again to send the search bar back to the bottom.

Screenshot: Victoria Song/Gizmodo

You can also change it by heading on over to the Settings app. From there, scroll down to Safari, and select the Single Tab option. Doing it this way also allows you to control some other new features in Safari. For instance, you can toggle the Landscape Tab Bar setting. If you turn it off, then the search bar will disappear whenever you view Safari in Landscape mode. There’s also the Allow Website Tinting setting, which changes the search bar’s color scheme to match the website you’re visiting.

G/O Media may get a commission

Apple first introduced the ability to revert back to the original Safari design we all know and love with the sixth iOS 15 beta. The move followed some backlash from beta users regarding the ping-ponging search bar. (You can see it in action in our iOS 15 preview.) It was a rare move from the company, which doesn’t generally change course when it comes to executive design changes—even if they’re massively unpopular. See: the notorious MacBook Butterfly switches and that time Apple nixed the headphone jack. Still, we’re not about to complain about Apple giving users more control over customizing apps. Here’s to hoping Apple continues listening to feedback and giving customers more options in the future.

Gizmodo

History of Homemade Guns: From Zip Guns to 80% Kits

https://www.pewpewtactical.com/wp-content/uploads/2021/09/Liberator-Pistol.jpg

America has a long history of making its own firearms.

While the craft of gunsmithing has most certainly taken on new characteristics over the past 200 years or so, it’s seen an unprecedented resurgence within the past 20 years.

80% Arms GST-9 Parts
Making guns is fun!

But how has this trend moved along? What happened along the way, and what does the future of homemade firearms look like?

We’re going to examine America’s history with homemade firearms and then peek into the future to see what might impact homemade guns down the line.

If you’ve ever pondered homemade guns, read on…

Table of Contents

Loading…

The Beginning of American Gunsmithing

America was the New World, a land filled with danger and possibilities.

For many, it could prove a harrowing experience to be out in the wild where you never knew if a panther, bear, or arrow was headed your way.

Ralphie Danger

As the early American colonists hacked out an existence in this new land, frontiersmen began to understand the importance of hitting fast-moving targets from long ranges.

The ability to put a deer on the table in the dead of winter and whittle down an enemy’s numbers from a distance was lifesaving.

350 faxon legend and a dead deer
Modern hunting has come a long way.

Unfortunately, the current rifles men used just weren’t cutting it.

American gunsmiths saw a need, and they met it, manufacturing a rifle that had greater accuracy and used less black powder.

The result? The Kentucky long rifle.

Kentucky Long Rifle
Kentucky Long Rifle (Photo: Walters Art Museum)

This made an accurate and economically friendly way for our forefathers to hunt for food and fight tyranny. But there was more to it.

This was the birth of Americans crafting their own firearms.

Fast Forward Almost 200 Years

Improvements in technology and machining knowledge spread throughout the globe. As a result, making one’s own gun became easier.

For years, public education included some type of shop class.

Young Americans learned it by the thousands, whether it was machining, lathe work, carpentry, or some other manual skill.

View of boys in the Carpentry Shop at the Sherman Indian High School

Industrial students were then trained to enter the workforce and fix projects around the home. They were also given the skills to craft their own guns should they desire.

Making a gun out of metal is a complicated process. It requires knowledge of metallurgy, precision tooling, and other hands-on skills.

Many students gained the ability to precision mill their own weapon with tools and skills they’d accumulated in their own hobby shops.

For others, though, making a gun was a more straightforward process…thus, the zip gun came to light.

Zip guns were primarily created by kids who couldn’t get their hands on a real gun.

Zip Gun
Zip Gun (Photo: Discott via WikiCommons)

They used common household items, such as door bolts, thick rubber bands, nails, and car radio antennas, to make a homemade version of a pistol.

While rather hideous to look at, the zip gun could send a bullet downrange. It was a crude yet workable design.

The Gun Control Act of 1968

In 1968 the Gun Control Act created perhaps the largest hurdle to homemade guns.

With the GCA, the federal government began licensing those “engaged in the business” of dealing in or distributing firearms.

This came with a wide number of other rules as well.

President Johnson signing GCA68
President Johnson signing the Gun Control Act.

But essentially, it limited Americans from making guns and selling them to their neighbors.

Now weapons had to be stamped with a serial number, and the person buying the gun had to undergo a background check.

Further, extensive record-keeping was required for those manufacturing and selling firearms.

Gun Show Sales with FFL
Now there’s an entire process to buying and selling guns.

That said, nothing in the GCA prohibits Americans from making a firearm for their own personal use if they’re not already forbidden from having a firearm for other reasons (e.g., being a felon).

Provided you’re not selling it, trading it, or giving it away, you’re free to make your own firearms within the USA without registering it or needing a serial number.

80% Lowers & Parts Kits

Worth noting that under the GCA, only considers finished receivers are considered firearms.

As a result, one can buy an unfinished receiver and complete it.

So long as the gun is reserved for personal use — not sold, traded, or distributed — it does not fall under federal regulation according to the GCA.

80% Arms GST-9 Tan in Box
80% Arms GST-9 Tan in Box

Dozens of gun companies throughout the States cater to this DIY market, selling 80% receivers, parts, and kits.

Sales for 80% receivers shot through the roof in 2020 and 2021, with many sellers struggling to keep items in stock.

For example, 80% Arms is so back-ordered on 80% Glock GS-9 frames that the company estimated that December orders would ship in July.

80% Arms GST-9 Tan Jig and Bits
GST-9 jig and bits

(You can read more about the spike and its causes here!)

It’s important to understand that federal law regulates neither the manufacture nor the sale of every possible gun part.

Federal law regulates “firearms,” which the law defines as “a weapon which will or is designed to or may be readily converted to expel a projectile by the action of an explosive.”

80% Arms GST-9 Complete
Completed 80% project.

That definition includes the frame or receiver.

However, Congress never defined what a frame or a receiver was. The ATF did that.

And currently, the ATF is looking at redefining/broadening what they consider to be a receiver.

ATF Legal seagulls

That means that just to buy an 80% receiver, you would undergo a background check and potentially a waiting period (depending on the state) before taking it home.

You can read up on that and more at our article outlining President Biden’s Executive Actions.

69

at 80% Arms

Prices accurate at time of writing

Prices accurate at time of writing

I Was Gonna Make a Gun, But My Printer Jammed

In 2013, the trajectory of DIY gun-making changed monumentally.

Cody Wilson made the first 3D printed gun, then uploaded the schematics to his site, Defcad.com.

You’ve likely heard of the gun — The Liberator.

Liberator Pistol
Liberator Pistol (Photo: Vvzvlad via WikiCommons)

For the first time, someone didn’t need intricate machining knowledge and access to special tools to manufacture their own gun.

Now, all you needed was a quality 3D printer and the appropriate files.

Everything had changed. And less than a week later, everything changed for Wilson as well.

How? With a letter from the U.S. State Department.

HP Letters

The State Department claimed Wilson violated international weapons export laws by enabling people in foreign countries (where the U.S. does not sell arms) to manufacture their own weapons.

Included within that letter was a cease-and-desist, requesting the immediate removal of Liberator files from his site.

“I thought my life was over,” Wilson said.

Cody Wilson (Photo: Kamenev via WikiCommons)

He noted that his lawyers told him that even though he had complied with the cease-and-desist he would likely still face millions of dollars in fines and years in prison.

Wilson hired new lawyers experienced in First and Second Amendment law as well as export control.

It was then that Defense Distributed — a non-profit group Wilson founded — and the Second Amendment Foundation filed a lawsuit against the U.S. State Department for violations of Wilson’s First and Second Amendment rights.

The lawsuit dragged on for years. But in April 2018, the State Department quietly suggested dismissing the case altogether and settling out of court with Wilson.

But despite the federal government stepping out of the case, state governments weren’t keen to let 3D printed guns go.

On July 30, 2018, eight attorney generals filed a lawsuit to block the settlement, arguing that the Administrative Procedures Act had been violated.

Since Wilson stated he would release the files to his guns on August 1, 2018, after the settlement was publicly reached, the attorney generals moved to stop that from happening.

Wilson received the restraining order on July 31, as 13 other attorney generals joined the suit.

But it was too late.

Wilson had released the files on July 27. They’d been downloaded 20,000 times before the restraining order reached his front door.

Since the presence of 3D-printed gun schematics online has exploded.

Aside from Defense Distributed — where one can readily download files to print an AR-15, AR-10, VZ-58, etc. — other sites have joined the fray as well.

GrabCAD and FossCAD offer hundreds of files of guns, from revolvers to semi-automatic rifles.

State Responses to 3D Printed Guns

Following the Defense Distributed case, California became the first state to outright ban ghost guns.

As of July 1, 2018, residents of the state had to apply to the state’s Department of Justice for a serial number before making their own firearm.

California Gun Owners

Other states went further.

Pennsylvania, New Jersey, in addition to the city of Los Angeles, removed access to Defense Distributed’s website.

Conclusion

Right now, it looks as if 3D printing and 80% kits are where most DIY gunsmiths turn. They’re the easiest and most cost/time-effective option.

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

The possibilities for 3D printed guns are only growing with time, and there’s the very real chance that the entirety of U.S. archived gun data (permitted for public use) could be released in the future.

As a result, homemade guns are here to stay…carrying on the tradition of American gun making.

What are your thoughts on homemade guns? Let us know in the comments below! Ready to make your own gun? Read up on the Best 80% Lower Receivers & Jigs.

The post History of Homemade Guns: From Zip Guns to 80% Kits appeared first on Pew Pew Tactical.

Pew Pew Tactical