Skills

One Step Forward, Two Steps Back

One of the best tools I’ve discovered in my many years of computer work is AMANDA.

AMANDA is free software for doing backups. The gist is that you have an Amanda server. On schedule, the server contacts Amanda clients to perform disk backups, sending the data back to the server. The server then sends the data to “tapes”.

What makes the backup so nice is that it is configured for how long you want to keep live backups and then attempts to do it efficiently. My backups are generally for two years.

On the front side, you define DLEs. A DLE is a host and disk or filesystem to dump. There are other parameters, but that is the smallest DLE configuration.

Before the dump starts, the server gets an estimate for each DLE based on using no other backups, a full dump, or a partial dump or multiple partial dumps. Once it obtains this information, it creates a schedule to dump all the DLEs.

The data can be encrypted on the client or the server, is transferred to the server, sometimes to a holding disk, sometimes directly to tape. I can be compressed on the server or the client.

In the end, the data is written to disk.

Every client that I have is backed up using Amanda. It just works.

In the olden days, I configured it to dump to physical tapes. If everything fits on one tape, great. If it didn’t, I could use multi tape systems or even tape libraries. The tape size limitations were removed along the way so that DLEs can be dumped across multiple tapes.

The backups are indexed, making it easy to recover particular files from any particular date.

More importantly, the instructions for recovering bare metal from backup are written to the tape.

Today, tapes are an expensive method of doing backups. It is cheaper to backup to disk, if your disks are capable of surviving multiple failures.

Old-Time Disks

You bought a disk drive; that disk drive was allocated as a file system at a particular mount point, ignoring MS DOS stuff.

Drives got bigger; we didn’t need multiple drives for our file systems. We “partitioned” our drives and treated each partition as an individual disk drive.

The problem becomes that a disk failure is catastrophic. We have data loss.

The fix is to dump each drive/partition to tape. Then if we need to replace a drive, we reload from tape.

Somebody decided it was a good idea to have digitized images. We require bigger drives. Even the biggest drives aren’t big enough.

Solution: instead of breaking one drive into partitions, we will combine multiple physical drives to create a logical drive.

In the alternative, if we have enough space on a single drive, we can use two drives to mirror each other. Then when one fails, the other can handle the entire load until a replacement can be installed.

Still need more space. We decide that a good idea is to use a Hamming code. By grouping 3 or more drives as a single logical drive, we can use one drive as a parity drive. If any drive fails, that parity drive can be used to reconstruct the contents of the missing drive. Things slow down, but it works, until you lose a second drive.

Solution: combine RAID-5 drives with mirroring. Never mind, we are now at the point where for every gigabyte of data you need 2 or more gigabytes of storage.

Enter Ceph and other things like it. Instead of building one large disk farm, we create many smaller disk farms and join them in interesting ways.

Now data is stored across multiple drives, across multiple hosts, across multiple racks, across multiple rooms, across multiple data centers.

With Ceph and enough nodes and locations, you can have complete data centers go offline and not lose a single byte of storage.

Amazon S3

This is some of the cheapest storage going. Pennies on the gigabyte. The costs come when you are making to many access requests. But for a virtual tape drive where you are only writing (free), it is a wonderful option.

You create a bucket and put objects into your bucket. Objects can be treated as (very) large tape blocks. This just works.

At one point I had over a terabyte of backups on my Amazon S3. Which was fine until I started to get real bills for that storage.

Regardless, I had switched myself and my clients to using Amazon S3 for backups.

Everything was going well until the fall of 2018. At that time I migrated a client from Ubuntu 16.04 to 18.04 and the backups stopped working.

It was still working for me, but not for them. We went back to 16.04 and continued.

20.04 gave the same results during testing; I left the backup server at 16.04.

We were slated to try 26.04 in 8 or so months.

Ceph RGW

The Ceph RGW feature set is similar to Amazon S3. It is so similar that you need to change only a few configuration parameters to switch from Amazon S3 to Ceph RGW.

With the help of Grok, I got Ceph RGW working, and the Amazon s3cmd worked perfectly.

Then I configured Amanda to use S3 style virtual tapes to my Ceph RGW storage.

It failed.

For two days I fought this thing, then with Grok’s help I got the configuration parameters working, but things still failed.

HTTP GETs were working, but PUTs were failing. Tcpdump and a bit of debugging, and I discovered that the client, Amanda, was preparing to send a PUT command but was instead sending a GET command, which failed signature tests.

Another two days before I found the problem. libcurl was upgraded going from Ubuntu 16.04 to 18.04. The new libcurl treated setting the method options differently.

Under old curl, you set the method you wanted to use to “1,” and you got a GET, PUT, POST, or HEAD. If you set GET to 0, PUT to 1, and POST/HEAD to 0, you get a PUT.

The new libcurl seems to override these settings. This means that you can have it do GET or HEAD but no other. GET is the default if everything is zero. Because of the ordering, you might get the HEAD method to work.

This issue has existed since around 2018. It is now 2025, and the fix has been presented to Amanda at least twice; I was the latest to do so. The previous was in 2024. And it still hasn’t been fixed.

I’m running my patched version, at least that seems to be working.

The Weekly Feast – Creamy White Bean Soup with Tomato

I love tomato soup. I love roasted tomato soup and plain tomato soup. I love it thick and thin, and with a variety of toppings and additions. This is my newest version of tomato soup and I’ve fallen in love with it.

Ingredients:

  • 8 oz bread, cut into 1″ squares
  • 2 tbsp olive oil
  • ¾ tsp oregano
  • ¼ tsp garlic powder
  • salt, to taste
  • 1 tbsp olive oil
  • 1 small yellow onion, chopped
  • 3 cloves garlic, minced
  • ¼ cup tomato paste
  • 1 (28-oz) can whole peeled tomatoes
  • 2 cups chicken or vegetable broth
  • 2 (15-oz) cans cannellini beans, rinsed, drained, divided
  • 1 tsp oregano
  • pinch of crushed red pepper flakes
  • salt and fresh ground pepper to taste
  • 3 cups packed baby spinach
  • ½ cup grated Parmesan, plus more for serving
  • ½ cup heavy cream

Preheat oven to 350°F. On a baking sheet, toss bread, oil, oregano, garlic powder, and a large pinch of salt. Spread in an even layer. Bake the croutons, shaking the pan halfway through, until golden and crispy, 15 to 18 minutes.

In a large pot over medium heat, bring the oil up to temperature. Add in the onion and cook, stirring until softened, about 8 minutes. Add the garlic and continue to cook, stirring, until fragrant, about 1 minute more. Add in the tomato paste and cook, stirring, until the onions are coated and the paste slightly darkens, about 2 minutes.

Stir in the tomatoes, broth, and 1 cup of beans until combined. Add oregano and red pepper flakes; season with salt and black pepper. Bring to a boil, then reduce heat to medium-low and bring to a simmer. Cook, stirring occasionally, until slightly reduced and flavors have melded, about 20 minutes.

Remove the pot from the heat and carefully puree with an immersion blender until smooth. Alternatively, transfer soup to a standard blender and blend, stopping to allow steam to escape very carefully every 10 seconds, until smooth. Return the soup to medium-low heat. Add in the spinach, Parmesan, cream, and remaining beans. Bring to a simmer and cook, stirring occasionally, until spinach is wilted and cheese is melted and incorporated, about 10 minutes more.

Divide the soup among bowls. Top with croutons and more Parmesan.

Notes:

To make this vegan, use vegetable broth. Add most of the beans to the soup and blend them in, and only add a few unblended ones for mouth feel at the end. Cannellini beans make the soup much more creamy feeling. Instead of a half cup of heavy cream, sub in a half to a cup of Forager plain unsweetened yogurt. This will give the creaminess the soup demands, without watering it down or having to resort to using a roux to thicken it (undesirable with this type of soup). Instead of actual Parmesan, use one of the vegan options such as Violife brand.

This tastes incredible when served with grilled cheese (or vegan grilled “cheeze”) sandwiches!

Dry Fire Systems

I’m considering getting a dry-fire practice system.

If you follow the gun-tubers, you’ll have heard of Mantis. I tried to figure out what their system consists of. My concern was that I would have to attach something to the outside of my pistol, changing how it holsters and how I draw. I would rather not have a special holster for my dry fire system.

I read that they have a cartridge system, but what I read didn’t really help me understand how it fit into their system.

Strikeman is another system. It requires my phone to do the analysis, but that would be fine for indoor practice. Better than picking the safe corner for dry firing.

Google suggests Triumph Systems and CooFire Trainer.

Does anybody have any personal experiences with dry fire systems? If so, which system? What did you like about it? What did you dislike?

Prepping – Knowledge

I’ve said book knowledge is not as good as practical skill, and I stand by that. However, I also believe that book knowledge is better than no knowledge at all.

In my hallway, the one that leads from my inside door to the exterior door and the garage door, there is a large bookshelf. The bookshelf contains a variety of books on different topics. There are books on basic house carpentry, midwifery skills, cooking over a campfire, emergency survival manuals, and the Foxfire series (minus the really new ones that came out in the last decade). Inside the house are MANY bookcases, often with duplicates of the books on that outside shelf. We generally don’t touch the books on the outside shelf, though we do reference them once in a long while. Most of the time we use the inside versions. Or I use the versions I have on my phone, because I also keep digital copies on an old cell, that I can access even if the grid goes down.

Every time I find a book that covers a broad topic that isn’t already touched on, I get a new book for that hallway bookshelf. That is the bookshelf that contains enough information to live comfortably after a collapse of civilization. How to barter, how to set a broken bone, how to make cheese, how to find clay on a riverbank. Everything I can think of. The bookshelf is always growing, because there are always more things I can add, more knowledge that might be important someday. The bookshelf isn’t just a collection—it’s a strategic resource, organized by the levels of knowledge needed for survival.

There are different levels of knowledge, from an emergency or prepping standpoint. The first level is what you KNOW. This includes stuff you’ll need to just be able to pull out of your brain in an average emergency. If you don’t have at least some practice with the first level of knowledge, you’re just fooling yourself about being prepared. Everyone should know how to assess an injury (even if they don’t know how to treat it), and how to make someone more comfortable if they go into shock. Everyone should know how to start a fire, cook over it, boil water on it, etc. Everyone should know how to cobble together a shelter. Everyone should know how to connect with their people in case the grid goes down and you can’t communicate electronically.

Read More

The Weekly Feast – Roast Vegetable Soup

With the arrival of cooler weather, soups are definitely back on my go-to list of meals. I love soup, because I can have All The Flavors without all the damn calories. When it comes to soups and stews, a little goes a long way. Roast veggie soup is one of those “make it with what you have” recipes. There’s no one right way to make it, and pretty much anything you put in will make it yummy! This is my version of Roast Vegetable Soup.

Ingredients:

  • 1 sweet potato, peeled and cubed
  • peppers (mix of whatever colors/heats you like), large diced
  • 1 large carrot, peeled and coined
  • 1 red onion, large diced
  • 2 large or several smaller tomatoes, whole
  • 1 head garlic, most of the paper peeled away and the top cut off
  • 1 to 2 cups of any combination of the following: cauliflower, kale, leeks, red skinned potato, celery, parsnips, turnip, chard, or whatever else you like
  • salt and pepper to taste
  • 1/2 tsp to 2 tsp each: cumin, thyme, oregano, paprika, marjoram, and rubbed sage
  • 4 to 6 cups vegetable, chicken, or beef stock
  • 1 can white beans, well rinsed

Preheat your oven to 400°F. Cover a large baking tray (lipped) with some parchment paper, then add in the potato, peppers, carrot, tomatoes, garlic, and other vegetables. Drizzle it all with olive oil, and sprinkle the vegetables with the spices. Toss it all together using your hands. Roast in the oven for 10 minutes, then flip all the vegetables over and roast for another 10 minutes. Add in any onions and/or leeks, stir well to cover them with the oil and spices, and continue to roast for a further 10 to 15 minutes, until the vegetables are tender and slightly caramelized. Remove them from the oven.

Set aside a small selection of the vegetables to add whole to the soup. Remove the tomato skins (they should simply slip off) and squeeze the garlic out of its skin. Add the tomatoes, garlic, and any vegetables you don’t want whole to a large soup pot and add in the stock. Bring the soup to a boil, then lower the heat and simmer for about five minutes. Turn off the heat, and blend the soup with an immersion blender. If you don’t have one, you can add it a bit at a time to a regular blender or food processor, but be careful because it will be hot.

Add in the reserved vegetables and the white beans, and bring to a simmer for 15 minutes to a half hour, to allow the flavors to meld. If you like dairy items, adding in a few pieces of parmesan rind at this point will make this a much more earthy, rich soup.

Serve in warm bowls topped with a drizzle of good olive oil, a drizzle of balsamic vinegar, and a sprig of fresh thyme or some croutons.

Prepping – When Violence Happens

I was scanning TikTok when Charlie Kirk was shot. One of my conservative ladies gave out the news on an unexpected “live” thingie, and I went looking, panicking. Yep, it’s real. Damn. God damn. God FUCKING damn!

My lizard brain is currently doing shots of imaginary coke right now, hopping itself up to keep me aware of everything going on around me. I keep seeing things out of the corner of my eye and it turns out to be dust motes. I’m trying not to shut myself down right now, but also not to get so caught up that I lose track of life.

Why’s this under “prepping” today? Well, we need to be aware that when violence happens, we tend to REact. And frankly, I don’t believe we (and when I say “we” right now, I mean everyone who isn’t an absolute nut job, regardless of political stance) can afford to react. Act, yes. React, no. Reaction is instant. It’s brought about by the aforementioned lizard brain. It engages our “fight or flight” mode, and if we are reacting, we are not thinking.

When we’re in a personal emergency, that’s a good thing. It gets the adrenaline going, gets you up and moving, and might save your life. But with something like this, it’s just not useful. It hypes us up with nowhere to go. And while I trust the people I generally hang out with to be “head on a swivel” without being nut jobs, I don’t trust everyone else. I know too many on the Left who are excited and happy over this, and too many on the Right who have been itching for an excuse and who are using Kirk’s shooting as that excuse and damn the realities. NONE of it is good. Not one damn motherfucking bit of it.

I have enough EMT training to know that he wasn’t going to survive that shot. He lost so much blood in that initial burst that there was simply no way. The second hint was that his team picked him up and moved him. They don’t do that if there’s a chance he’ll survive; instead they form a shield wall and let the EMT do their work. There are lots of rumors out there (see my previous post on rumors) regarding what happened, who did it, and the reasoning behind the assassination. Like Chris, I’m waiting. I need to hear good, quality information from reliable sources, as difficult as that may be.

I will tell you what I think happened. I think a nutjob (very possibly with a septum ring and ties to the Left, but no guarantees) decided that the First Amendment was not worth protecting, and decided to make Charlie a signpost about what happens to people who don’t lap up the narrative from the Left’s breast. I think it was meant to do a few things. First and foremost, I believe it was meant to enrage the Right and hopefully spur people into doing stupid things (those REactions). Second, it took out someone who was effectively teaching young adults to think for themselves (because Charlie always listened to people and encouraged them to support their points). Third, it has been done in a way that makes it a chilling effect.

Read More

The Weekly Feast – Lamb Souvlaki

When I was younger and still living at home, my father would take me out once in a while for dinner. Mom didn’t really cook, and we often had take-out, but dad and I had a special bond at that time. We always went for something mom didn’t like. Something garlicky, or with big sausages, or meat that wasn’t “standard” (ie mom ate beef, chicken, pork, and turkey, and not much else). There was a Greek place he’d take me to once in a long while, and there, I learned to love souvlaki. It’s easy to make, delicious, and relatively healthy (depending on how you make it).

Ingredients for lamb souvlaki:

  • 1.5 to 2 lbs lamb shoulder, boneless, cubed
  • 1 medium red onion, cut in half circles
  • olive oil (for drizzling)
  • juice of one lemon
  • souvlaki seasoning: oregano, thyme, and rosemary, garlic, paprika, cumin
  • salt and pepper to taste

Your lamb should be boneless, though technically you could rub a whole shoulder with the bone in and cook it that way. Trust me and get boneless butterflied leg of lamb. It’s expensive, and entirely worth it. Aldi has it for a reasonable amount. Your cubes should be about an inch across, and all close to the same size so they cook right.

You can buy Aldi brand or other brand souvlaki seasoning, and just sub it in for the dried herbs mentioned above. You want to be heavy handed, which is why I didn’t put amounts in. For 1.5 lbs of lamb, I use about a quarter cup of spice, and I mix all of the souvlaki seasonings mentioned above “about equally.” Salt and pepper I add at the end, and I tend to go lighter (the mixes may have salt and pepper in them, so check before adding those). You want to dump the seasoning on the cubed lamb and slivered half circles of red onion, add in a drizzle of the olive oil and the lemon juice, then get in with both hands and squish it around. Coat everything fairly evenly, but not so thickly that it’s like sawdust. Cover with plastic wrap and stick your meat in the fridge for a minimum of 1 hour, and a maximum of 8.

Make yourself some tzatziki while the meat is marinating.

Read More

chaotic mess of network cables all tangled together

Even the simple things are hard

The battle is real, at least in my head.

My physical network is almost fully configured. Each data closet will have an 8-port fiber switch and a 2+4 port RJ45 switch. There is a fiber from the 8-port to router1 and another fiber from the 2+4 to router2. Router1 is cross connected to Router2.

This provides limited redundancy, but I have the ports in the right places to make seamless upgrades. I have one more 8-port switch to install and one more 2+4 switch to install, and all the switches will be installed.

This leaves redundancy. I will be running armored OM4 cables via separate routes from the current cables. Each data closet switch will be connected to 3 other switches. Router1 and two other data closets. When this is completed, it will mean that I will have a ring for the closets reaching back to a star node in the center.

The switches will still be a point of failure, but those are easy replacements.

If a link goes down, either by losing the fiber or the ports or the transceivers, OSPF will automatically route traffic around the down link. The next upgrade will be to put a second switch in each closet and connect the second port up on each NIC to that second switch.

The two switches will be cross-connected but will feed one direction of the star. Once this is completed, losing a switch will just cause a routing reconfiguration, and packets will keep on moving.

A side effect of this will be that there will be more bandwidth between closets. Currently, all nodes can dump at 10 gigabits to the location switch. The switch has a 160-gigabit backbone, so if the traffic stays in the closet, there is no bottleneck. If the traffic is sent to a different data closet, there is a 10-gigabit bottleneck.

Once the ring is in place, We will have a total of 30 gigabits leaving each closet.  This might make a huge difference.

That is the simple stuff.

The simpler stuff for me, is getting my OVN network to network correctly.

The gist, I create a logical switch and connect my VMs to it. Each VM creates an interface on the OVS internal bridge. All good. I then create a logical router. This router is attached to the logical switch. From the VM I can ping the VM, the router interface.

I then create another logical switch with a localnet port. We add the router to this switch as well. This gives the router two ports with different IP addresses.

From the VM I can ping the VM’s IP, the router’s IP on the VM network, and the router’s IP on the localnet.

What I can’t do is get the ovn-controller to create the patch in the OVS to move traffic from the localnet port to the physical netwrok.

I don’t understand why, and it is upsetting me.

Time to start the OVN network configuration process over again.

 

Prepping – Saying NO.

We can talk about stocking up on mashed potatoes, learning how to make fires with a flint and steel, or being practiced at sewing our own clothes. They’re all really useful skills. But the one that’s going to get us, every single one of us (and sorry, but those of you who are loud and insistent about how it won’t be you, you’re the first to fall), is the lack of practice with the word “NO.”

But what do you mean, Allyson? We say no all the damn time. We’re great at telling the in-laws to fuck off, and the kids to get out of our hair. Each one of us has told a spouse no about a big household buy. We know how to say no!

The thing is, you don’t. I don’t. None of us do. And we need to get that through our thick, numskull brains. Like… right now.

If the shit ever really and truly hits the fan, “no” is going to be an important word. You’re going to have to say it. More importantly, you’re going to have to know WHEN to say it. And therein lies the problem. How do you determine who is good at what they do, and who is lying? How do you know a raider from a person who might benefit your survival?

There are people who I thought would “for sure” be in my survival group. Then the pandemic hit. Guess what? They’re out. I watched them do risky, stupid things, and in some cases, follow ridiculous orders that had no rhyme or reason. So they’re out. The pandemic changed the landscape of my apocalypse team in huge ways.

Over the last few years, I’ve learned how to say no in a lot of different situations. I’ve always been able to say no to the kids or my life partners, when it’s necessary. No, we don’t have money to buy junk food. No we don’t have any junk food. No, we’re not getting any junk food. No, you may not borrow the car. No, you can’t buy that motorcycle. No. That’s easy.

I’ve also learned how to say no to people on the internet. That one was surprisingly difficult. No, I don’t want to listen to your brand of religion. No, I don’t want to listen to your brand of politics. No, I don’t want to listen to your excuse for not doing any research before reposting that bullshit meme. No, I will not be treated that way by anyone.

Read More

United States constitution with American flag in background on rustic wooden table

Plain Text

I would love to own a machine gun. It would cost me $75 and ten minutes at the milling machine. Locate the selector switch hole, move to the deck a specific amount, and drill a hole. Flip over the receiver and repeat. Then install the parts.

Total time would be around an hour because I would be going slow. The longest time would likely be finding the reamer of the correct size.

Today it would cost me over $10k to buy a machine gun. Because I’m not allowed to manufacture a machine gun, not because of any law directly forbidding it, but because the Hughes amendment in 1986 closed the NFA registration to new machineguns.

That took the cost of an M16 from slightly more than the cost of an AR-15 to astronomical amounts today.

There are other machine guns I would love to make; I’d love to make an M3 grease gun for the Blue-Haired Faire.

But that is not the state of case law today.

The simple answer is that I should be able to go to court and say, “I want to manufacture a machine gun for my personal use. I would do so but for 18 U.S.C. §922. This is in violation of my Second Amendment protected rights.”

The next step that should happen is that the court does a lexical analysis. Are machine guns arms? The answer is obviously “Yes.”

Subsequently, the state must prove that machine guns are both unusually dangerous and uncommon. The Supreme Court has set the upper limit on “common” at 200,000. If there are more than 200,000 machine guns owned for lawful purposes, then machine guns are in common use.

Because the Supreme Court did the analysis in Heller, the common use test is all that must be done. Any other language in HellerBruen, or any other Supreme Court finding is outside the holdings of those two cases. That is still good case law.

This is not happening currently. The courts are tying themselves in pretzels to say that machine guns are not arms. Or that “in common use for lawful purposes” actually means “in lawful use for self-defense,” where “self-defense” is defined as pulling the trigger.

Regardless, the fact remains that machine guns are arms, they are protected by the Second Amendment, and they are in common use for lawful purposes. If the number in common use isn’t at the 200k mark, the case can be made that they would be in common use if the law didn’t prohibit making new ones for The People.

This means that there are cases being argued along these exact lines. And the district and circuit courts are doing the shuffle and twist to find machine gun bans constitutional.

The question becomes, do we want a machine gun case to reach the Supreme Court?

I point you to Rahimi. This was a case with a terrible fact pattern. Rahimi was an asshole wife/spouse/girlfriend beater who had no problems shooting at people, brandishing his firearms, and being a criminal thug. If his conviction for having a firearm while being a prohibited person had been overturned at the Supreme Court, he would still have been in prison. The firearms charge was just a topper on all the other charges he was convicted of.

Rahimi was good case law for us. The holding was fairly simple: if you are adjudicated a violent person, you can have your Second Amendment protected rights temporarily abridged. While the inferior courts continue to misuse this case, that was the holding.

If it had been Range that made it to the Supreme Court, we would have had a much more favorable fact pattern. He failed to report extra income he was earning doing odd jobs. He pleaded guilty to the charge. He served no time. The maximum amount of time he could have been sentenced to was exceeding a year.

Under the GCA of 1968, this makes him a “felon” and a prohibited person. There is no evidence he is a violent person. Since his conviction, there have been no other incidents to paint him in a bad light.

Garland did us dirty with Rahimi. He knew the fact pattern was horrible; he used that to get a holding that wasn’t as strong as it might have been in the Range case.

When you or I think of machine guns, we are likely thinking about M16s or an MP-5, or any of those cool things. Most machine gun cases in criminal court are about “Glock Switches.” These cases almost always have bad fact patterns. We don’t want these cases in front of the Supreme Court.

Which leads us to my example case: I file a civil lawsuit with the backing of the gun rights group. It will take a while to make it up the courts: 6 months in the district court another 8 to 12 months before the circuit court opines. Then a year or so waiting for cert., oral arguments, and then the opinion from the Supreme Court.

Just a few million dollars to exercise my God given rights.

What is the likely outcome before the Supreme Court?

I believe that Thomas and Alito would find for The People. Given what Kavanaugh said in Heller II, I expect that he would find for The People as well. Jackson, Sotomayor, and Kagan would find a reason to support gun control. That leaves three justices.

Roberts isn’t to be trusted on this sort of case. That leaves Barrett and Gorsuch. I don’t know where they will fall in that case. I’ve been impressed with Gorsuch and Barrett, but there is too much at stake right now.

What I want to see is a couple of Second Amendment cases make it through this court, with maybe an additional Trump-appointed justice. I would like to see where Barrett, Kavanaugh, and Gorsuch line up before I risk a machine gun case in front of them.

Suppressors, SBRs, and SBS are all ripe for the Supreme Court to take on. Those are tax issues. With a zero tax, there is no justification for the registration process. This means they become firearms regulated under the GCA of 1968, not the NFA of 1934.

Sensitive places is another good subject for the Supreme Court. Kavanaugh thinks we will be seeing a magazine and semi-auto rifle ban before the Supreme Court shortly.

I don’t know about those. I think that the Supreme Court is more likely to take a different subject for direct reasons and then clarify what “plain text” means with explicit language. I’d love to see part of the dict that reads, “Just as AR-15s are arms under the plain text of the Second Amendment, …” because that is a hammer to be used in the inferior courts.