Hello my DevNation friends from everywhere in the world. Thank you for coming for another DevNation tech talk and Today well right now. We have a storm going through here in Cary, North Carolina I hope you're all safe and of course we have this still have the pandemic going on but no worries We have a very special guest today Christine flood is going to be talking everything about Java and containers and I'm sure you will be amazed by the content and Without any other thirdly Christine. This stage is yours. Welcome Hi everybody. I am here in Massachusetts where the weather is gorgeous, but we'll see how it goes I I submitted the abstract to this talk Java and containers. What's there to think about? But as I was writing the talk afterwards, I think a better title might be adventures with containers for JVM hackers I am not directly involved in Container effort, but I am on the open JDK team and I've spent some time playing with containers And I have spent a lot of my career dealing with JVM performance So first a little bit of history I kind of the evolution of Duke when I first started working with Java It was back in the 1990s and the thing we were most concerned of We wanted to be able to download bytecode from the web and run it safely on whatever machine people were using heterogeneous architectures so everything was about bytecode verification and making sure that that it was safe and Then in the 2000s everything was about making sure that Java was fast Right, you could use all the memory on the machine. You could use all the processors on the machine The only question was who could get you know Vlana mark or whatever who could run it the fastest and Then in the 2010s it was all about smooth Duke I'm pretty pleased with these pictures. Oh, and by the way If you have any questions feel free to post them on YouTube. I like to be interrupted I like to have a dialogue if at all possible So smooth Duke This came the era of quality of service guarantees and folks wanted to be able to promise response times in under 10 milliseconds and so all of our JVM work was focused on Making sure that garbage collection pauses were really short making sure that that things could get processed quickly But now it's 2020 and What people want is to fit as many Java virtual machines inside of containers on A physical box as possible So what we're optimizing for now is We want a smaller footprint we want faster startup and We want smaller image size So I'm distinguishing between the footprint and image size because the image size is the thing you download To start running and the footprint in this context is how big the JVM is when it's running your program So when I agreed to give this talk, I thought I'd be talking old school and about What kind of things you can do with open JDK to make your JVM smaller? things that you can do so for example if You're running in a container and you only have one thread You might want to think about using serial GC. It's not as well maintained. It's not the default But it was you know, it's been there since the very early days and it's meant to share a single thread with your Java program You can adjust the GC heap parameters saying oh don't grow the heap so fast Let's all or let's shrink the heap faster and try and get it back down You can adjust how much time you're spending in garbage collection So the default is that you're going to spend 1% of your time doing GC Maybe you want 25% of your time doing GC and keep your Your run size smaller Adaptive size policy weight there are folks who have found that this helped them a lot It's a simply scale from zero to a hundred if you adjust it up Then it's going to it's sort of like a knob. This is okay. Let the GC do more perturbations to trying and have it exactly where Your program needs it in terms of memory space Okay, so there's some more command line parameters There's native memory tracking So if you use these options Native memory tracking summary and print nnt statistics You can see the difference between what you asked your program to use and In terms of a heap size and the memory. It's actually using So there are things that your Java program needs to allocate like they a card table for the garbage collector or Other sorts of things that the JVM needs to run that aren't in the heap and This will give you the ability to look and see what how much memory all those things are taking in case you want to shrink that Each Java thread has a stack So you can decrease the Java stack size if you may all are Then that's less memory that your program will use and Finally, I put this at the bottom if you want to see what the default is for all these operation all these parameters you can print out all of the flags and you can see what you're running with and how you might want to adjust them okay, so and on the previous slide you said that well the default for the stack size is Yes 1024 yeah, 1024 from your experience. What is and a common recommendation for the stack size on most production workloads Well, I as I put here it was 228 K is something that seems to work It seems like it's a good place to start if you can run if you set the sex size stack size to 228 K and Your program still runs. You're good. Maybe you can even dial it down further I'm Doesn't mean we'll get stackover flow errors if it doesn't work your program will fail with a stack over with yes, and so that's just a place to start and you can tune it and Again, I am sort of shooting in the dark here because I have no idea what your program is and how deep your function calls go so It's just a parameter for you to play with and give yourself a little wiggle room because just because it ran in a certain Sack size this time Doesn't mean that it will always run in that stack size So the goal is not to get stack size to the absolute lowest it will ever run in But just to get it small enough so that You're confident that your program will always run But you can still save some memory because 1024 is probably Bigger than you need Awesome. Thank you okay, so I Really, I'm supposed to be talking about containers and that was all old school just giving you How to what some parameters are that you can play with in the JVM to Make things smaller, but you're really running in a container and you can still run with those parameters This is just showing you how to run Java inside of a container I have a program that I'll talk about in a little while called test random and you can just add the class file to your container and then you call it via a command and You can play with all those parameters into a container and see how they affect your program now my experience has been that Things don't always behave in a container the way that I expect them to so it to Play around with this and look at PS and see what your container is doing. I Have set up a Java Running Java with like a two gig deep size and when I look at the process the The RSS is not that big So the kernel is smart enough to say well as long as you haven't looked at this area or touched this area I'm not going to give you that memory yet So it's it's it's an interesting dynamic and something fun to play with So we recommend that you use podman here And so you can if you take the contents in the first part of the slide and put them in a docker file You can build that and then you can one The thing that you so I added this thing here called X show system settings so setting system That gives you some interesting information Especially if you're running with C groups V2 so you can see what? There's of the container are and this is interesting from a Java perspective and I'll get into that a little later But you can set these things so you can say that you only get sort of half of a CPU or That even though you're running on an eight processor system. You only get one processor So my test random program. This is my favorite program I just and when I need a Java program to play with it's what I do it It creates an array with the number of bins set to the first parameter and then it generates as many random numbers As a second parameter and it puts them in bins So it's just a tester for a random number generator. You would expect things to be approximately equal at the end of it, so What can we do with our containers to make them better? The first thing is checkpoint restore now I've been working on checkpoint restore from inside of Java for a long time but that is That doesn't work inside of containers right now right now. You have to checkpoint the whole container So it's pretty straightforward It copies the entire container to a disk In the middle so you're running your Java program you're halfway through you can copy it all out to disk and Then later on you can bring it back in so this can be really really efficient If what your container is doing is what if what your Java application does is it does a lot of class initialization It does a lot of warming up of the jet. Yeah, it You know has a lot of GC garbage sitting around If you can catch it at the right point You can checkpoint it out to disk and then later on when somebody when a request comes in and you need it All you need to do is restore that image and it's very fast. It's within the order of milliseconds So if all of your concern is in startup time Checkpoint restore gives you an answer for that So we have our podman container. We're running it. It's really easy to do Checkpointing and restoring it's a simple command at the podman level So I don't think there's any way to make that even simpler All right, the one thing that I do have to let people know I've tried to make all of my examples runnable and if you're running Fedora 31 it's using C groups V2 and Checkpointing isn't working. So I had to run some Oops Christine seems seems that we lost your audio I'm sorry It seems that we lost your audio for a bit. Can you hear me now and now We can't hear you but we lost the screen share Okay Let me see what I can do. No worries. That's what happens when we're trying to do some things live And if you're watching this, I hope you're seeing a lot of useful information and yes I'm getting a lot of new information and actually Christine. I can see your screen now and I have a question for you Okay, you you've shown this podman commands for a checkpoint and restore just in case somebody isn't Using Fedora Linux or Linux at all. Can we do a checkpoint and restore using docker for example? Oh Okay The checkpoint restore folks have done the work for podman and They've done the work for Linux So if you're running Windows, there's no hope If you are running If you are running docker, I know that I have seen it work and I have played with it I Am not certain that it is currently maintained. I Would have to look into that and if if you want me to look into that send me an email I'm chf at red hat and I will go and double check Okay, thank you All right, so another way to reduce the size of your image or to to make faster startup and Lower memory is to use a native image So I've created I have two ways of using substrate VM now. I'm gonna be honest with you guys. We're all nerds here Up until a week ago. I never used substrate VM, but I couldn't give a talk like this without talking about so if I Believe that we call it mandrel instead of red hat the Sunlabs project was called substrate VM Basically what it does is it gives you the ability to turn your Java program Into a simple Linux executable So if you look at what I've got set up here I'm bringing in an image. So I'm bringing in the the corkis mandrel image and I can use the native image command to generate an executable which is test random that out and then I can Run that image Which will run that command now? This is not the most efficient way to do it my buddies that are on the corkis team are saying that it's Inefficient to generate the executable and run it in the same Docker Container that you probably want to generate it in one and then you can run it over and over again in a smaller one I'm just showing you what worked for me. If you're an old Java hacker and you want to play with it This is a pretty simple way To get it to run You could also rather than Doing all of the Docker file stuff to get it to run You can run it on the command line and I have put a command line here that shows you How to do that I'm not going to dive into this because it's horribly complicated but and I think the Docker file simpler, but if you have questions I can help but it it it's worth trying it because It's pretty cool to be able to run your your Java program without all of the JVM Now I do want to say is that If you are Doing anything like dynamic class loading, so if you don't have a closed world when you start Then you can't use substrate VM The only limitation is that you have to know all the classes that You might use When you build the executable We have a question from Alexander What's the difference between substrate VM and grow VM? same thing Same thing I should have called it grow VM. Actually, I'm just an old It was substrate VM and then it became grow VM so My bad. I Still think of it as substrate VM Anyway, where was I? When it was a labs project at Sun Labs, it was substrate VM and now that it's out in the world for running grow They've renamed it as grow VM Okay, so the second command down here will run Will generate test random three dot out and then you can just execute that as a command line or you can put it in a container and execute it there so Just for grins. This is a little bit controversial and I will admit that but just for grins. I ran a native image which is using grow VM and I ran the same program using open JDK and For this particular application, which is just allocating an array generating a ton or however many of this big number is over here of Random numbers and putting them in array. The performance is roughly comparable The elapsed time is slightly smaller for Open JDK, but the user perceived time is smaller for the native image and the space is It's really on it's in the noise with the differences But I want to I want to say from the beginning when I set up to do this talk I was playing with my favorite program right I am Virtually certain that if you ran a program that did a lot of class loading or a lot of Manipulation of data that was bigger than ants that this difference would be striking in the native image would be smaller and faster I want to bring the podman ps command to your attention When your containers are running you can look and see what they're doing here. You can see that I'm running, you know one of the tests random dot out which is the the native image and one of them is running the JVM the Java command and So it's a it's one way that you can look at What's going on inside? Okay, so there are some questions that I didn't that I promised I was going to address in this talk and I didn't So I want to just talk a little about about what that means And the reason I want to do that is because I don't know what this means and so I want to start people thinking about it What happens if you try to run open JDK on a partial share of a processor, right? When we started out we talked about how Java crew to be able to take over all To be able to run a parallel garbage collection that used all the processors to have separate threads for compilers and Clean up and whatever so if you go when you run your JVM on a partial share of a processor I don't know that all those things are going to work. Well, and I I had hoped to be able to do some runs and to show you But now I'm just going to ask you to think about it What does it mean that you have half of one of the processors on your machine and you're running this program? That was meant to have all these threads if you just run the default on the machine. It's it runs a parallel garbage collector that Doesn't make any sense if you've only got a single processor or a partial share of a processor What so I want people to start thinking or to start talking about what we can do for open JDK? If that's what we want if we want to keep pushing open JDK to work well in containers Make it run well on a single processor And I gave a quick talk. I always give a quick talk, but if you have any questions Feel free to email me. I love to interact with customers. I want to make sure that the things That I'm working on other things Right now I'm focused on doing checkpoint restore from inside of Java so all out and do it But if there's things in the container world that you want to see happen Let me know and I'll see what I can do Are there any questions? Okay, it sounds like there aren't any questions. So I guess we're gonna end a little bit early I want to thank you for your time And I appreciate your attention. Oh, sorry. Sorry. Sorry Christine My bad. I was a mute and thank you Marcus Was now it was a human technical issue or not that technical it seems I Have a question from Lucas like if we're working with a thread pool Is there a way for me to limit the execution of the thread pool like a total execution time? Yes Let me see. I had that side. I meant to put that slide up and maybe it didn't make it in Okay, I didn't make it if you go and look at the pod man Run command. There are ways to say I want to only use This CPU set these three processors or I only want to use This amount of the thread quota I had very much wanted to give Some examples of that in this talk and I just ran out of time. I apologize If you guys want me to give another talk where I go into the details of what does it mean to set the you know Somewhat ludicrous bounds on the container that your Java program is running in and what happens I'm happy to do that Awesome. Let me see Frank Kelly has a very interesting question here Christine would you say it's a bad idea to run Java in production Allocating only one bCPU to the container. I think that um Let me take a minute. I don't think that's a problem. I think that Java can run well in one CPU. I think you need to take a little bit of time to play with some options um, who run well and Open JDK can run. Well, the growl VM can certainly run well in one processor It's not what Java Evolved into in the early 2000s, but it can still handle it. Well um, I Have not done a whole lot of experiments and I'd like to with figuring out how to make Java run Well with limited resources Like you said one one processor or a share of a processor Okay, and another question from guy doom. Dumas. Dumas People still configure memory size with power of two units instead of like round numbers It made sense with bare metal processes, but inside the JVM is there again I personally configure round figures like a thousand instead of a thousand twenty four Is there any difference? Oh Okay, so inside the JVM if you're talking about your heap size It really doesn't matter if you've got a region-based collector like G1 or Shenandoah or ZGC It's gonna break the heap up into a Particular chunk size and whether you have you know, 16 chunks or 18 chunks. It really doesn't matter or Maybe more more likely, you know 2,000 chunks or 2048 chunks. It doesn't matter No, there's no reason There's something tidy about powers of two But I don't think there's a performance difference. I have not seen a performance difference. I never worry about it No, good to know. I didn't know about it either And I think the last question here on the chat is from Lucas again Like I work with Docker and I have many containers running in my cluster in production probably How do you deal with the competition between those containers? Is there anything we can do or each container is independent for each other? Okay, so here we're going off into my ivory tower there has been a paper and If you send me an email, I will find it for you there There has been work done on getting JVM's to cooperate so for example when I talked about how you can have a Parallel garbage collector so you can have a Java program that's single threaded and then every time it goes to garbage collection It uses eight processors, right? And so if you want all of your JVM's to sort of coordinate and agree and say, okay Well, we're only going to garbage collect You know only one of us can garbage collect at a time for example There was a paper by Jeremy Singer on How to get JVM's to do that and to coordinate those things But it's all academic at this point. There is nothing that I know of in production in the real world to tell JVM's to coordinate when they do I I Highly multi-threaded work awesome Well, we already on the top of the hour now and if you have any further questions I would ask you while Christine requests as you send in her an email at CHF at redhead.com Yes, and Yes, so please so Yes, Thomas, please send an email to Christine She'll be more than happy to to reply to you and if you're watching this Thank you very much for staying with us until now. It was a super interesting talk and Christine The DevNation team Thanks you again very much And if you ever have any other interesting subjects, we'll be more than happy to have you again Thanks, everyone Hey, bye and see you next week on the next upcoming DevNation Tech Talk


Toss in, turn in, now the picture Watched as you wander into a dream Walked out to sea Straight to the sun you go Right to the channel, by helpless continue our journey Recording and sharing the music and stories of the world


Hi everyone, this is Ashima. Today I'll be giving a talk on WIS-CLJ, which is a data visualization library for beginners. Before we start a little bit about myself, I work as a software engineer and have been dabbling with closure since the last one and a half year. I've contributed to some of the libraries and closures data science ecosystem, mainly node space and tablecloths. In today's talk, I'll be covering the following. We'll start with a brief overview of Weggalite and Hanami. These are the underlying libraries that sort of form the foundation upon which WIS is built. We'll then cover the basics of WIS and see some example plots. Following this, we look at some of the documentation and error handling that we have in the WIS library. We'll also take a look at some of the problems that he faced and the lessons that we learned along the way while building this library. Before we begin on a side note, I'm using a tool called NodeSpace to render my namespace into this notebook format. It's a wonderful tool and you should definitely check it out. I've added a link here in case anyone's interested. So let's begin with some setup. Here I'm importing the libraries which I'll be using during my presentation. Along with NodeSpace, I'll also be using this tiny library called Kindly to specify how I want the different elements to get rendered on the page. I'll also be using tablecloth for generating some data sets. Apart from this, I've imported Hanami so that we can compare its syntax with that of WIS. Our focus while creating this library was to build something which would be easy to use, have a consistent syntax, have excellent error handling capability to help users debug their code and have extensive documentation. The reason why we chose to focus on these issues was because upon discussion with beginners, we found that these were the top problems faced by them while trying to learn a new library enclosure. I want to make it very clear here that WIS is not a replacement for Hanami. It's just a starting point for people looking to get their feedback and explore closure's data science ecosystem. Once they feel like they've developed a basic understanding, we encourage them to move to Hanami in order to be able to create more customized and complex plots. Let us now look at how WIS works under the hood. It basically generates a map with all the values that we pass within each function. This map is then converted to the Vega light spec by Hanami within the Swiss function. One thing to note here is that we can change the order in which we call the different functions without having any impact on the final result. For example, I could call type after specifying x and y and it should still work perfectly fine. Since all we are doing is essentially creating a map, we are free to change the order in any way we like. Let's jump right in to see some examples. Here we are using different data sources to generate the visualizations. These include from a local file or from a file on the web. We can also use a tablecloth data set as well as a sequence of maps. You'll notice that in case our data has columns named x and y, it picks those up by default without us having to specify anything. We also have the ability to specify color. Another thing that I would like to mention here is that you can use key words instead of strings while passing parameters into the function. This syntax might feel more familiar and comfortable to season closureings. For those of you familiar with Hanami, you might be aware of the usage of substitution keys. These are the default values which are used to generate templates. They may be replaced with values of our choice depending on the customization that we desire. While using this, we have provided the ability to tweak and play around with Hanami substitutions. This is key to allowing the user to start exploring and learning about Hanami and its features while using this. In this case, we are using the key background to change the background color of the chart from the default floral white to this grayish color. You'll have to make sure to do any substitutions before passing your map into the final miss function. Another option that has been provided is the ability to tweak the Vega light specifications will get generated upon calling the miss function. As you can see in this example, we are changing the background color within the Vega light specification. Apart from being a great way to learn the underlying libraries, this way of tweaking Hanami and Vega light can be leveraged by advanced users who are using this but would like to have the ability to generate charts with features which are currently not available. We also have the ability to transform the data within the miss pipeline. Consider this example where we have data having numbers with different orders of magnitude. The scale seems to be off in this case. We can transform the data using log to linearize the situation. Let us now look at an example of a histogram. One point of note here is that even though Vega light offers us the ability to perform statistical computations on its end, we are choosing to instead calculate the billing data at our backend and then send that computed data for generating the plot. We look into this choice of performing the computations in the backend in more detail when we discuss the design decisions. Another interesting API that we have is for generating multiple layers of charts. In this example, we are passing a map with all the required key value pairs and the layers API is generating a single layer using the data. We also have the ability to pass Hanami substitutions within the map as seen in this case where we are changing the color of the mark. We can create multiple layers using the same data set like in this example where we are creating a point chart and a line chart using the same data. Another feature of this is the ability to pass Hanami templates as the type of the plot. We can also create different layers using different data sets as seen in this case. Another interesting functionality that we have is the ability to generate regression lines. In this case, similar to histograms, we are choosing to do the calculations at our backend before using the data to generate the Vega light spec. In future, we hope to add the ability to generate regression curves as well. Let us now look at error handling in the WIS library. Currently, we have a very rudimentary setup for catching errors, which covers only the most basic types of errors which may come up. This is an area we are planning to expand on in future. As you can see here, we have created a macro which removes all the stack trees and confusing error logs and instead prints out a concise error message which serves to highlight the exact issue. For example, if the user has typed an incorrect file path, we are throwing an error informing them that the file does not exist. Another example that we have here is of the user trying to plot a column which does not exist in their data set. In this case, we notified the user that the column which they are trying to visualize seems to be missing. Another example that I have here is of creating a plot without specifying the type like maybe point chart or line chart or bar chart. You can see the appropriate error which gets thrown in this case. Moving on to the documentation part, we are currently working on providing users with mainly two types of documentation. The first is API docs generated using a tool called codex, which automatically creates documentation from closure source code. This is helpful for people wanting to understand the use of each API or looking to explore the different parameters that can be passed to each function. The second type of documentation is tutorials which involve a little more hand holding. We are targeted at new users explaining the entire setup process and giving a walkthrough of some examples. We have found that a combination of both of these produce the maximum results when it comes to adoption of libraries. Easy to follow tutorials are an attractive option for beginners. And once they become familiar with the tool, they can begin exploring the API docs to understand the nuances and possibilities of achieving more complex results. A key part of our development process was continuous interaction with the users. This helped us get feedback from them right from the get go. We would showcase our progress during the routine study groups with Cyclops with Cyclops organized and would then hold an open discussion to hear users thoughts. This helped us make key decisions and made sure that we were staying true to our goal of improving users experience with closures data science tools. Another advantage of having people experience our libraries at such early stage was that as developers, it helped us make decisions regarding the priorities to focus on and also made it easy for us to pivot in case of a misstep. This would have been a lot harder for a much more established library where a lot of effort has already been put in. While creating this we spent a lot of time exploring libraries in various other languages, which use Vega under the hood. These include Altair and Python, Vega-like API and JavaScript and ggvis in art. One of the ideas that was picked up from these explorations was to use a pipeline instead of a map. This would definitely mean losing some of the flexibility that a map provides as seen in Hanami, but would make our syntax much more simpler. More number of functions, as in the case of a pipeline, would also give us the ability to add checks and error handling at each point. The challenge that we face continuously throughout the development process is regarding the trade off between simplicity and customizability. This is a challenge that almost all libraries face at some point or another, and depending on their goals will make a decision that best satisfies their target audience. In our case, since this is being designed specifically for beginners, we chose to focus on simplicity, but we did not completely ignore giving the users the ability to add their customizations. Wherever possible, we have given the option to tweak Hanami substitutions or the Vega-like spec. This we feel is enough to cover most of our use cases. Another major decision that we made was to have various computations happen at our backend instead of leveraging Vega-like features. This was inspired by our ecosystem where all the statistical tools can be freely used in transforming data while creating plots. We are trying to achieve something similar to that by using Clojure's own statistical libraries to perform the computations. This provides us more flexibility by transforming the data and also makes our code much more efficient since less data is needed to be sent to Vega-like to generate the spec. Going forward, these are the areas that we are planning to focus on, staying flexible and evolving to support more use cases, adding backend site transformations similar to what we saw in case of histograms and regression layers. We hope that this will give users the ability to enjoy the whole of Clojure's statistical computing ecosystem. Then continue to hold experimental user sessions to learn more about the user's experience and have the results from these shape the future path. More statistical error handling using some schemas like maybe Mali. We might consider adding video tutorials for people preferring to watch rather than follow a document's instructions. We might also consider integrating with specific libraries for domain specific visualization grammars, for example, grammar for visualizing machine learning models or for visualizing time series. That's all from my folks, but before we end, I would like to take some time to thank the following people without whom this talk wouldn't have been possible. Thanks to the reclosure organizers for providing me with this platform to showcase my work. I would also like to thank Daniel, who is the co-author of the BIS library and whose help was integral in planning and creating today's talk. I wouldn't have been able to do any of this without his constant help support and guidance. I would also like to thank everyone who attended the Cyclot study groups and gave valuable feedback, which helped shape the direction of this library. Lastly, I would like to thank all the maintainers of the libraries, which served as the foundation upon which this could be built. And finally, thank you to you all for listening to my talk. Hope you found it useful. Have a great day. Bye.


Good evening. Good evening. I'm Harold Pacious. We're on the air again with another edition of Pacious on the News. As you know, we try to make these as topical as possible, and obviously, in the last week and a half, there's been a lot of discussion about guns, about what we do about the problem, and you know, there's a great division in our country about this, and it's a very difficult political issue. It's very difficult for many people, including sportsmen, who say, well, why do they want to take my weapon away from me? And one of the issues is, do they really want to do that, or as some of the opponents to gun control say, it's a slippery slope? Once you start, who knows where it will end? We're very fortunate tonight to have as our guest David Tran, who is the executive director of the Maine Sportsmen's Alliance. I'm going to let David talk a little bit beginning and tell you about his organization. Most of you have heard of it, particularly if you're a hunter and a fisherman. You know about Sam, the Sportsmen's Alliance of Maine, and I think that those of you who are not familiar with it, you know about local rod and gun clubs. You know about fishing clubs and so forth. So sportsmen belong to a lot of organizations. This is one of them. This is the big umbrella organization for sportsmen in the state of Maine. And we've got David here to tell you about it, answer some of my questions. Welcome, David. David, happy you're here. I ought to say, David, at the beginning, we have a little bit of an unusual arrangement here tonight because David is not with us. He's on Zoom. You know, we had these programs on Zoom for about a year and a half, and we're very happy to get back. Well, today, David called and said that he had been exposed to somebody in a car last night whose spouse tested positive this morning, and that person doesn't feel so well today. And David doesn't feel great today.  Where are you in your office? Yeah. I'm actually at home. I have an office here when I was a legislator. I used to do most of my testimony and work here in my office. So I'm down in Waldenboro, Maine, in my office. And yeah, I appreciate you accommodating the Zoom. I was really just too close to the COVID virus to be comfortable coming down. So thank you for accommodating me. Well, we welcome you on the show, David, and we welcome you here. But here I am in the studio, and I'm glad you're not sitting within six feet of me. So David, just to put this in context, why don't you describe for our audience what the organization is, what SAM is, what its mission is, who its members are, a little bit about it? Sure. So the Sportsman's Alliance of Maine was created in 1976. It was in response to growing concerns around hunting and firearm ownership. Originally, our mission was to defend firearm rights and hunting. Since then, though, our organization, because of its reach, its membership, its political influence, has broadly expanded its mission to include all sorts of issues, including land conservation. Over the years, we were instrumental in creating the Land for Mains Future program, a very popular conservation program. We also worked to create the Maine Outdoor Heritage Fund that has supplied tens of millions of dollars for conservation. What's unique about our organization, first of all, we have, and we are viewed as a very strong political and influential organization, we have 70 fishing game clubs we partner with. We reach about 30,000 people, so that's a pretty good group of folks that can be influential. We actually have two, really three divisions of SAM. We have a separate non-profit C4 that does our political activity. That's our Institute for Legislative Action. I run that organization. I also run the non-profit C3 side of it. We have, in addition to that, we have an education center in Augusta, 112 acres, with an archery, air gun, 22 range, two kids fishing ponds, miles of trails, and we host youth events throughout the summer and fall. So I run all three organizations. We have now, I think, seven employees, mostly part-time, two full-time, but we're very, very busy. But I think what's unique about our organization is, when complicated problems come up, like firearm issues, land conservation, not only are we asked to use our influence, but we also write policy. We can offer up ideas to solve problems. And then having been a legislator for 12 years myself, former state senator and chair of taxation committee, I'm familiar with writing law. We do that on a regular basis. We work with committees to write law and solve problems. And that's why I'm kind of excited to be on your show. I think we've had some successes on the firearms issue side. And I think we, because we don't engage in what I call the politics of screaming at each other, that we can be helpful if we listen, offer ideas, and try to bring a reasonable approach to issues. And that's our role at SAM, and that's the role we want to fill. OK. You know, you're familiar with the debate, obviously. This is your business. And you're very familiar with the debate. And we've now had another incident in a school, and there's been a succession of terrible tragedies where many schoolchildren have been killed. Any ideas from your point of view of what can be done or whether anything can be done? Sure. Well, first of all, I think all of us need to recognize the political atmosphere that exists. Right now, both parties are completely divided. Right now, there's 48 Democrats in the U.S. Senate, two independents, and 50 Republicans. The two independents caucus with the Democrats. So it makes it a 50-50 split. So it's incredibly difficult. If you lose even one vote as a caucus, then you're not going to achieve the votes that you need to make change. So recognizing that current environment, you need to work within it. And you need to find ways to make progress. Because I'll explain to folks that are listening, you know, really what it's like in this process. Imagine on these controversial issues, there's an abyss with a narrow bridge that goes across the abyss. The more extreme measures you add to that little narrow bridge, the more unlikely it is to cross it. And that's sort of the place we are right now in our politics. We need to find ways to avoid the screaming and work with the people in the middle who can make progress on issues. We've done that since my tenure at SAM started almost 12 years ago. Some of the successes after one of the other tragic school shootings, which we all look at and just are horrified, whether you're a gun owner or a second amendment supporter or somebody who is considered themselves pro-second amendment, I mean pro-gun control, we all are horrified. And I think if we can put that energy to good use instead of screaming at each other, we have options to have some successes.  I'll get to those things in a moment. I was in Rockport with my wife at a restaurant, and when I was coming out of the restaurant, a mother with her daughter was waiting for me at the door and said, I belong to the Gun Safety Coalition. I know who you are and I know you're an influence maker. I want to tell you my story, my tragic loss of a family member who died from a firearm suicide. And I hope that you, when you hear my story, will use your influence for good. And I said, ma'am, I've always tried to use my influence for good, but based on your story, I will make, I'll give you my word that I will break from the pack and try to do something, make some progress. So this was about four years ago. I actually, it was quite a while ago. I started it as a state senator. The first thing I did was I wanted to work to harden our schools security, not just for shooters, but for all the issues that affect young people from drug addiction, peer pressures, bullying. So I introduced legislation to create the main school safety center. The first year we had difficulties with it. I retired from the Senate, moved in as Sam director, asked representative Patrick Corey to work with me to implement that main school safety center, and we accomplished that goal. That school safety center is housed in the Department of Education and it is their job to examine security at all main schools and then make recommendations and connect people to funding to improve the security at their schools. Now, as we've learned most recently with a teacher opening a back door to the school, the best security in the world still depends on humans to implement those security measures. I heard recently that the teacher said that she closed the door, but it didn't lock. Bottom line is she never should have opened the back door to begin with because then it created an opening for the shooter. We must learn from that experience as as horrifying as it is for that teacher. Can't imagine living with that, but the main school safety center is designed to learn from that experience. Where I learned about this level of accountability and sharing of information just so you listeners know, when I was a legislator, I spent seven years creating our government oversight agency, OPEGA, that reviews state agencies. In addition, I spearheaded the effort to create Maine's mandatory medical errors reporting system. Both of those systems are designed to learn our flaws, learn from them and try to improve. So that means school safety centers in place. They have a big meeting coming up in a few weeks where they're going to be meeting to share information across the state with our school systems. The second thing that happened that I think was very, very important was when red flag legislation was brought to the legislature, the governor called me personally and said, you guys have a chance here to help us. We want to work on something. Let me just interrupt you. So our folks that are watching know what was the red flag proposal and who was the governor that called you? It was Governor Janet Mills who called me. I served with her in Maine legislature. We have a great relationship and so I believe it's a trusted relationship. So the red flag legislation was brought, I believe, three years ago by a Falmouth senator. And what it does basically is allows a family member relative to go to the police and say, I believe this individual is a danger to themselves and others. This is an ex post factor, which means without that person's knowledge that individual through a policeman can then go to the court and petition to have their firearms taken away. Well, that's been very controversial because it lacks new process for the individual who's being accused. You think about it, no crime has been committed. It's just an individual's opinion. The governor, who was an ex attorney general, Senator Carpenter, who was an ex attorney general, Derek Langhouser, one of the best legal minds in the state. We met and said, can we figure out a better process that that would institute some levels of due process and also connect individuals to services that they need. We met for a month or more. And the best legal lines in the state working with the judiciary committee reformed the mains, mains protective custody statute. The press called it the yellow flag law. The way that law works is when an individual, somebody calls the police department and says, an individual, John Smith is acting irrational. They believe there are a threat to themselves or others. The police will come evaluate the situation and under law, which has been in effect for almost 50 years. Police have been able upon upon probable cause that a person is a danger to themselves or others and suffering mental illness, possibly to put them into protective custody. In the past what was happening was that person would be held for 18 hours. In a few cases might get access to care, but would then be released. They were still a dangerous danger to themselves and others. One that person now under the yellow flag is in protective custody. The law directs the officer to take them to a medical practitioner who has an expertise in mental health services. They evaluate that individual. And then if they concur, then that person, they can go to a judge and that person can have their firearms removed for up to 14 days. At that point, the judge with clear and convincing evidence can put in an order, a longer order to take the firearms away. That process has also a telemedicine component. The the law called for the development of telemedicine services for that evaluation. That's critical because being another rural states don't have access to the kinds of services that they need to to treat mental illness and the problems that are associated with it. So that was very controversial at past with bipartisan support. It is now being discussed at the federal level. I know because I've been having conversations with Senator Collins. Congressman Golden, who are both looking to be players that move legislation forward that can pass the Congress. So there's also one more additional program we created just past the legislature. It's called the safe homes program. But under that program. Next year we're going to have safe storage month September, in which there's an education program about safely storing firearms and other dangerous weapons including prescription drugs. In addition to that there's a second component that when an individual who in most cases is in the system or being treated by non profits at risk individuals. There's a grant program created to assist the families in securing dangerous weapons firearms and prescription drugs in the home. That can be in a daycare setting hospital setting any setting in which there's a vulnerability. The state will work with them to to better secure their homes. So though all three of those programs are being considered right now in Congress. Okay, so those are the that's what you or your group would propose we do to to try to rain in this problem which is a some people think a national problem you may not but the people do think it's a national problem. No problem and I don't disagree with you. We've got to do something in this country and I think we need to look beyond. Beyond, I know the gun issues always going to be forefront. It's always going to be controversial always going to talk about it. But we also have to address. I think as a society the fundamental issues that we face as a society. I want to say something and it's going to be a little controversial but I've been thinking a lot about it. As a society what we view as entertainment. It's starting to disturb me. I've watched some Hollywood movies recently that are incredibly graphic. It's killing from the beginning to the end. They're using weapons that most people don't even possess now. It's almost glorifying it. We're watching things like. Why do you think I may interrupt you a little bit because we'd have to. I'm trying to have a little discussion with you on this some of some of these things. I appreciate your views and I'm interested in them but we want to have a little bit of a discussion. So so why do you think the movies are like that. Why do you think there's so much violence in movies. Well what sells is what's on your TV. So so they like it. They like it. It's it's it's the market wants it. Correct. People like violence is what you just said. That's very very scary. I said the market likes it. The people who are what people don't go to a movie with all of these killing and all of this gunfire unless they wanted to. You don't have to go. It is healing to certain people. You would agree with that that it is does appeal to certain people. I agree that it appeals to certain people but it's not just the movies that we're watching. It's the I mean the technology has made everything so incredibly graphic in detail and it's playing to people's I don't know inner depths of an emotion. You look at the mixed martial arts for instance flipping through the channels you watch people beat each other to a pulp until some is unconscious and we call that. We call that entertainment. Yeah absolutely. They call it entertainment.  So it's appealing. So it's a it's a problem in society. It's a problem with human beings. You know there's certain aspects of human nature that are problematic. It always has been the case. And so I think that's the problem with also some people think that's the problem with mass killings that you're always going to have them unless you can somehow reduce them by making it more difficult for people to engage in that. Now one of the things I want to talk about is gun control. That is in for instance in Australia and Canada and places where they've had mass killings not many. They've taken various steps which steps which I understand that you folks would be opposed to National Rifle Association would be opposed to but they've taken these steps. And to control guns and one major step taken in most countries in the western world is registration and we have registration in this country but we have some loopholes. So there's this idea that they want to close up loopholes like for gun shows and things of that sort. Would you folks listen to that argument if people wanted to propose that kind of a solution. This is an example of what I started with in the beginning and that is you need to recognize the atmosphere and the political atmosphere that you're dealing with. There are not enough votes and I believe you're going to see that coming right up in the house. The Nancy Pelosi the speaker is going to put a bunch of gun control measures up for a vote in the house. They are admittedly and even the leadership in the house will say there's symbolic votes. They're going to be gun control votes and it's going to be so in the next election they can be used against those that voted. Well you're talking about politics. I don't want to talk about politics. I want to know whether there's anything that can be done. And one of the issues specifically I want to know is closing up the registration loopholes. OK. So and so anyway and I'm not to agree with people who want that. You may disagree with it. But I'm just trying to get answers for people who are watching the program. Sure. My organization actually has a federal firearm license. We attend gun shows. We raffle firearms. We run. I'm sure you do. The question is getting to your answer. If you could be patient with me. I'm getting to your answer. Back about seven or eight years ago when Senator Stan Grisoski was on the Criminal Justice Committee we did a comprehensive look at gun shows in Maine. All of the people that were conducting gun shows including my organization does background checks on all firearms that either raffle or whatever gun shows all of them require background checks. What you're talking about goes on in the parking lot and it's unknown to the people running the gun the gun so-called gun show. What happened is there'll be an advertisement or if the gun show is going on people show up in the parking lot and say hey Joe I've got a gun I'd like to sell it. The bottom line because we got a lot to cover here and we've only we've used up almost half our time. So what you're saying is it's not workable premises including the parking lots that firearm background check be conducted. You can do that. That's a policy decision of the Congress. And given the split that's going on in the Congress what I'm telling you is that may not be the best time for that policy. Yes you can address it. When you say I want people to understand what you're saying is it may not be the best time for that policy because it'll be opposed by enough people that are prohibited from being enacted. We want to inform the people here so why won't they enact it. I mean the Republicans seem to be uniformly against any of these proposals to regulate gun ownership. What you say is it's slippery slow. And they may be right. They may be right. The reason that I think there's resistance is that it's already against federal law to felony to sell a firearm to a prohibited individual. And that's included in the parking lot. So it's already a federal crime. I know ATF attends those gun shows because I see them and I know that I know that they have a presence and they're policing it. So if you if you're talking about solutions to this this gun this event that happened in the school many people tell you we don't think that that's going to solve the problem. So that's probably why it's not going to get the focus. OK. What will solve the problem. Now you've talked about the program that you lobbied to get enacted in Maine to support school safety more security in the schools things that but there are that that has nothing to do with the weapons. It has to do with putting more police in the in the schools. And there's some people I know have said well we need to arm the teachers. We need teachers in there with weapons. Do you agree with that. No I do not. Teachers they learn they go to college to teach children not to handle firearms. They are not the best individuals to handle firearms. Now do I think that you can improve security. I suggested on the radio just yesterday that why doesn't why doesn't the school district have an office to any local county state police local police an office in their school. You can do administrative work. You can do benign things. You can have a low key presence. I know having been endorsed by the Maine Education Association repeatedly. I've talked with folks over there. They know our stance at Sam. We don't support Army teachers. But once a person a shooter is in the building. I don't. The only defense is how many bullets that individual has. So you've got to have the turn. Once they get past the gate. Once they pass the gate then it's just a matter of how much damage they do. You can't let them in the door. And if you do you better be prepared once they're in the building. You think that you know when I was growing up and I'm fairly old when I was growing up. My parents weren't afraid that there were no police in the school and my parents weren't afraid that if I went to school I might become home dead shot. What's caused this. Well I remember when when all the terrorism activity was happening on our on our jetliners people were dying and crashes. As a nation we came together and we came up with laws. We created marshals for those aircraft and and great security and it reduced those terrorism incidences to nearly zero. We have to get serious about the most vulnerable who are in our schools not just the children the teachers the support staff. Okay so school security is what you're talking about. Problem once that's addressed. This individual was known to the police that did the shooting. He had threatened women with violence. He had told people what he was going to do. We need to examine the entire situation not just that this individual. I'm not afraid of research research every one of the individuals participated in these events and learn from those experiences and then make changes in policy. The firearm the firearm stuff to be honest with you in this environment the more extreme it is the less likely it has a chance to pass. But don't just I understand. We I think everybody understands that's watching this show that the Republicans in Congress will pretty much uniformly all of them oppose not all of them. Maybe one or two won't oppose it but oppose most gun control measures so they understand that. And so I think we're talking about not about the politics. We understand the politics but what else can be done. Let me let me throw one thing out David in Israel which is one of the countries that tries its best to control this because think of it. They're in a part of the world and where there's a lot of violence and where their country is subject to violence from terrorism and so forth. So if you're an Israeli citizen and you want to own a weapon keep a weapon you can. They say yes you can have a weapon but to buy a gun in Israel you need a government license. You need to be licensed to have the gun and the requirements for the licensing include satisfying a minimum age limit age 27 for anyone who hasn't served in the military or national service. Passing a gun safety test and obtaining a letter from a doctor that you are sound mind and body. What would be wrong with that it wouldn't affect the people that are your members they can go target shoot. They'll get a license they're not going to hurt anybody why would they worry about that. Well there is that darn thing we call the second amendment and people are concerned and rightly so that once government has the name and information of everybody that owns firearms that someday they'll get confiscated. Now do I agree with that. I mean the second amendment just says you have the right to bear arms and this is in Israel you have the right to bear arms but there are certain requirements that you have to meet. Can you look it up because I think you're required to have a firearm. I think they require. You know you can't you can't have a firearm in Israel which really needs a militia. You can't have a firearm in Israel unless you take the test and unless you get the doctor certificate. Can't have a firearm. I don't think you you can you can say all you want that makes sense to you but in this country it doesn't make sense because of the concerns that people have around the national registry and what it looks like to confiscate firearms. For instance I'm going to I'm going to throw it right back at you. Right now there's this big push to ban so called assault weapons. Well anyone that knows much about firearms knows that so called assault weapon is a semi automatic firearm of which I own some that we use for hunting. They look like hunting rifles. The mechanism in a second. This is this is an assault weapon right. It's a AR 15 is what it is. And that's an assault weapon. A switch on it to make it fully automatic. Well I don't have the thing here but I'll look at it. Have you ever seen it. Have you ever seen a weapon like that. If it's a semi automatic firearm that's exactly the same firearm which is a very provocative photo but it's the same firearm that that have the same mechanism that a semi automatic hunting rifle has. It looks just looks different. The mechanism is the same. How much in the magazine one of these semi automatics. Well under the law you can have a high capacity magazine. Again that's the policy of Congress to establish what that number is going to be. I'm not. All right. I'm not arguing with you but I want to get information. And so OK that's the law. You can have it unlimited or whatever. Let's say 90 cartridges. OK in the magazine. So why not put a limit on it. Why not say you can only have five or six.  Again that is the policy discussion that Congress is having. What I'm getting at is you try to to imply that that was a weapon of war. A semi automatic firearm does nothing on the on the war field because the weapons they have are fully automatic semi automatic. I'm not talking about the war. I'm not talking about war weapons. I'm talking about a semi automatic where you have to pull the trigger in order to fire a shot. All right. But but with a semi automatic watch my finger. I can move that finger 50 or 60 times in less than a minute. So you can shoot 50 or 60 bullets in less than a minute with a semi automatic. The question I have. Go ahead. The question is I'm not debating with you. I'm trying to get information. So I'm asking a tough question like what's wrong with limiting the amount of bullets that can be in the cartridge. Whatever you're calling. That's me the question. The I think the floor in in this whole thing is that you're assuming if that if we restricted magazines to say five rounds that somehow that was going to change what happened in that school. There are there are make 30 million high capacity magazines in this country. If you do that you're going to have to confiscate those high capacity magazines. That again is Congress is bailiwick. I'm not I'm not here to argue gun control with you. You you asked me to come on and talk about what kind of progress we can make in Congress in 2022. I told you what that is. I'm not going to come out there and say we're in favor or opposed to these various controversial gun control proposals because that's not the role of the sportsman's alliance to me. Our role is to make progress. It is the common sense at the table and work on things we can get done not keep screaming at each other. I think you know I've been doing this for 16 years so I ask questions and not every question is a comfortable question. But this is unfortunately the way I do it. And I don't want you to take it personally. I ask questions. That's how I get information. And it's not always the information. I'm not talking about you but I've had people on that the questions I ask the answers are not the information that people they want to talk about things that they they want to talk about. So I'm not trying to be a tough guy here. I'm just asking questions. Now this is that that answer is important for I think our audience to understand is that on these specific proposals that may be made in Congress. For instance, making an unlawful to be able to have a rifle with a magazine that has more than 10 bullets in it or something. You don't have an opinion one way or the other. You just say it's going to be tough in Congress because there's going to be a lot of people opposed to that. And I think people do understand that there will be a lot of people opposed. I guess my my organization has been opposed to limiting magazine capacity. In the past. I don't know what we're going to do this time around. But all I know is that I'm talking to people at the highest levels of government all the way up to the most powerful US senators about proposals that can make progress. We failed in this country to react after these shootings. There's a stalemate. I'm interested in making progress. And if I start making broad statements like the ones you want me to make, then I don't become a moderator, a common sense voice in this debate. I become just part of the right or the left. And I don't want to do that. We're going to position ourselves to save lives. And we're going to look at every element of these shootings to do that. We're just not going to get drawn into that broader and more controversial debate.  We have a problem and people say, well, we'd like to look to the government to solve some societal problems because because we are divided. It takes the government sometimes to say, look, this is the way things are going to be. And so you may have to take a stand on some of these specific proposals. We understand the National Rifle Association. Do you do you get do you get there? I know they get money from the gun manufacturers. Does Sam get any income of money from gun manufacturers? Well, of course we do. We have an education program in which we have certified instructors that train the National Rifle Association as one of the finest youth education firearm education programs called the Eddie Eagle program in the country. They have given us funding for our instructors for our shooting range, safety components. People want to try to link us because we might have got a grant from the friends of the NRA, somehow to gun manufacturers. They can do that all day long. But where are the folks that are spending tremendous amounts of money to educate the next generation shooters? You can't do that without money because the gun control community will never give us money for that purpose. So it's an investment, really, in the future. And I'm not going to be ashamed to say that we take money for that purpose. Well, I would say that I don't want to ask a question that's unfair. I understand there are going to be proposals or people want there to be proposals to ban assault weapons. You have a lot of members that you don't call them assault weapons, the other side does call them assault weapons, but semi-automatic weapons, or to strictly regulate them. When people go to a range or go hunting, I'm serious, I don't understand. I think people would like to understand. Why are these high volume magazines important? I mean, why do they like that? Well, they are simply to use at a shooting range. Again, a person's choice on a high capacity magazine. I think you can look to the federal courts for that answer. There have been several challenges recently in places like California and others to limiting magazine capacity. And the courts have said, if the bad guy can have it, the good guy should have it too. That's generally what they stare at. It's a second amendment problem too, you're saying. Every one of these laws you're talking about are likely to get challenged in the federal court, because we have hundreds if not thousands of gun regulations. And I think we've done pretty much everything we can to bump up against the second amendment. And now you're going to start stepping on his toes, and that's where you're going to see the challenges. Okay. I find that interesting. Everybody's talking about the most recent gun cases, DC, Heller versus DC, which was the District of Columbia ordinance which prohibited people from having guns in their homes. And that was struck down by the court. Scalia wrote the opinion, and that's the law of the land now, and it's the most recent gun case. But what's interesting, and I want to say there's not so much for your benefit, but for the people watching the show, because some people do watch the show and this is information. In that decision, and everybody's talking about Heller and they say it says this or it says that, but here's the decision. Very thick, a lot of pages, hundreds of pages. But the court, Scalia writing for the majority, five to four majority, we have to remember with Supreme Court cases, particularly now, there's usually one or two votes difference and opposite and opposing views. But Scalia wrote for the majority, like most rights, the rights secured by the Second Amendment is not unlimited. From Blackstone through the 19th century cases, commentators and courts routinely explain that the right was not a right to keep and carry any weapon whatsoever in any manner whatsoever for whatever purpose. And they go on and they say, although we do not undertake exhaustive historical analysis today of the full scope of the Second Amendment, nothing in our opinion should be taken to cast doubt on longstanding prohibitions in the possession of firearms by felons and the mentally ill or laws forbidding the carrying of firearms in sensitive places such as schools and government buildings or to prohibit the laws, laws imposing conditions and qualifications on the commercial sale of arms, like an AR-15. So we're not saying what the court will do, who knows, but this is what the court, the majority said. So they've said one other thing. We also recognize another important limitation on the right to keep and carry arms. Miller, which was an original, a prior Supreme Court case on guns, Miller said, as we have explained, that the sorts of weapons protected were those in common use at the time the Constitution was written, in common use at the time. We think that limitation, says Scalia and the majority, that limitation is fairly supported by the historical tradition of prohibiting the carrying of dangerous and unusual weapons. So if a weapon, I'm a lawyer, so I would argue, others would argue against this. If a weapon can kill in a minute 25, 30 people, it might be argued, will be argued, that it is a dangerous weapon and as such is not prohibited, is not permitted by the Second Amendment. So there's a complicated business, there's no question about it. There's nothing simple about it, but I'm just trying to get information and I understand that people do it. I'm not passing judgment on it. There are people that like to fire these. I have friends who like to fire these weapons. But hunting, the one thing I would say, people say to me, I don't understand the hunting thing, and I don't either, and let me say I'm not a hunter. So you got a babe in the woods here, doesn't really understand things. But these semi-automatic weapons have fire bullets with great velocity, and I watched a 60-minute program last Sunday in which they showed that the high-velocity bullets tear apart somebody's insides, that they, much more than a .22 rifle or something like that. What does it do to the animals that they hunt? I don't know, you may not know the answer to that, but it pretty much destroys them too, their insides. So I'm not sure what you're getting at for a question. I mean, if I... The question is why do you need a semi-automatic rifle to go hunting? People ask that question. I'm sure there's a good answer. I'm not attacking anybody. People look for the answer. Now we've got to the, I guess, to the nut. You just said, why does anyone need a semi-automatic firearm? It's an example I started with. When people call for an assault weapons ban, they're calling for a ban on semi-automatic firearms. Let's just call it that. Yeah, okay. Good. That's what, let's call it that, okay. So first of all, I fully support Scalia's decision. I understand what's in it. I read it. Governments can regulate firearms. That policy area always falls back to Congress. And again, if you want to further regulate, that has to go through the Congress, except there is a push to try to get the ATF to do some of this work with executive orders and other things. But the bottom line is, working through our Congress, through our representative democracy, we make these decisions. And that Scalia decision reinforced that. You take it to the Congress, you have the debate. Right now, you're not going to get those kinds of bans on semi-automatic firearms through Congress. It's, you know, it's an emotional debate. It's going to drum up a lot of money and voters in the next election, one side or the other. But ultimately, do we make progress on this issue? I am dedicated as I was. My wife is sitting with me now. She was there when this lady and her daughter pleaded with me to use my influence. And I promised her I would. And I'm going to do that. I'm not going to become part of the screamers. I want to be part of the solution. So with that, getting back to your semi-automatic firearms. You know, your description of how a bullet works, that's what they're designed to do. In a hunting setting, the most important thing as a hunter for me is ethics. When I pull the trigger to harvest the deer, I want it to be a humane kill.  The likelihood of killing it in a short, quick kill is very slim. That animal is going to suffer maybe for days. Those firearms for hunting purposes, including semi-automatics, are designed for a quick humane kill. It's up to every hunter to use ethical shot placement to do that cleanly. What you're doing is you're talking about how that works with humans and the graphic nature of what that looks like. That is horrific for all of us. None of us want that to happen. I was asking about the answer. The answer is a good answer. I can understand that it's a humane way to shoot an animal. Also, in hunting, I've gone back to my other question because it just seems logical to me, but it could be illogical. I admit that. The magazine capacity, high capacity magazine, is that useful in hunting? In a hunting setting, I know because I served on the Inland Fisheries and Wildlife Committee for 12 years. I've lobbied in front of it for another 11 and two years prior to that, I served on the advisory council. Rounds are limited for several reasons. First being for humane and ethical reasons, meaning it's a fair chase issue. You don't get to shoot 30 times at a deer running through the woods. It's just in society, the legislature wouldn't accept that. You're limited on the rounds that you can use. For safety purposes, you can't be spraying the woods with 20 or 30 rounds, so the legislature said, no, we're going to limit it. There is a limit on it, but it's not because of what you're alluding to that it's in a person-to-person confrontation. In hunting, it's different. It's for the safety of those that don't hunt. It's for the ethical hunt and all those types of things. The state law that regulates how many shots the hunter can take or something like that? Yes, there are so many in your fire. For instance, when you're duck hunting, the federal law is that you can have three rounds in your shotgun. You also have to use non-led ammo when you're hunting waterfowl. There are regulations on semi-automatic firearm for duck hunting. Good duck hunter. I'm kind of terrible. My wife will tell you that, but it is limited for that purpose. I never knew that, so in other words, if I was a hunter and I had an AR-15, there is a state law that regulates how I use that AR-15 when I'm in the woods hunting. You use an AR-15 duck hunting? You can only have some- Not duck hunting. I'm talking about non-duck hunting, not ducks. Sure. How about deer or moose? Yeah. I believe the rounds are five, and you're limited. An AR-15, in my opinion, you know, it's up to the hunter to make those choices based on their skillset is not my caliber of choice. Wait, wait, wait. Yeah, but I understand it's not your- My question is, is there- I asked why you need, you know, so many bullets if you're out hunting, and then you said, well, you can't. You got to be careful. You know, spray the woods. It's a safety issue and so forth. And then I may have misunderstood, there are no state regulations as to how many bullets you can have in your magazine when you're out hunting. Is that correct? State law. You can only have so many and you're gone. Okay. All right, yeah. I wasn't clear on that. So, look, I sense that you thought I was on the attack here, and all I'm doing is trying to ask questions that I know these people want to ask. And you're trying, and I understand this. I said, I've been doing this a long time. You're trying to- you have a job to do, and you're trying to tell us how you want to do your job. And I think that's excellent. I have no problem with that. I'm just trying to- I don't understand hunting. That's why I asked you about what the hunters do. I don't- I'm not a gun guy. I don't have a gun, so I'm at a real disadvantage because I know people. I have good friends who love guns. I have guys that go- I know a guy who went traveling with him. He bought two pistols for thousands of dollars because he loves guns. I think he's a good guy. Okay, so I'm not passing judgment on that. I'm just trying to get answers because there is a debate, as you say, in this country. We're all aware of the debate. There are unreasonable people on both sides of the debate. There are people who say things that are inaccurate on both sides of the debate, and our job here is just to get information to people. So I'm- I just want to explain to you, I'm not after you. I do want to bring up something that I think it's an important discussion topic. In this country, because of the violence levels that occur in inner city, it gets a lot of attention in the media. There's a lot of violence. The rates of crime are going up significantly in heavily populated urban areas. We see that in Maine because people are moving here because we are the safest state in the nation to live as it relates to violent crime. There is a stark divide between urban and rural U.S. citizens. And in the rural setting, you know, I grew up in a rural area. I view guns much differently than, say, somebody who grew up in the urban areas where hunting is and recreational shooting just don't exist. Guns are seen more as a tool of crime, I think, in some of the more heavily populated urban areas. In the rural areas, guns are passed on. They're failing heirlooms. They're passed on from generation to generation. They're not seen as, you know, a scary tool that's going to be used in a crime. And so there's two different cultures that have evolved, two different views of firearms. And I think that a lot of times you're seeing that clash going on where the people in the inner cities are saying more gun control, because they want to reduce crime and unnecessary death in their cities. The people in the rural areas are saying, oh, God, crime and violence is very seldom and it's a big part of our culture in rural areas. We don't understand what they're driving. So that's the clash that's going on, I think, is this stark divide between rural and urban areas? You're absolutely right. I think there's no question about it.  You're not going to solve this problem with everybody getting their way. Everybody has to be a little unhappy when it's all over. And you know, when the national debate is over with, I think you'll see that I am proud of the work that our organization did with the Mills administration, with a Democrat majority in the House and Senate. We worked with both parties to pass legislation when other states couldn't. I'm proud of that. I saw that model being effective and I knew that someday a little old man would be in front of Congress with some of the things we've done. And that's exactly what has happened. David, I'm getting a signal from the producer here, this signal, which means we got to wrap it up. Listen, I really appreciate you giving us this interview and this information. It's been helpful to me. I've learned some things in asking these questions of you. And I know a little bit more than I did before, which is a good thing, because I didn't know much. Thank you very much. I really appreciate your coming on the program. All right, thank you.


music has never failed me and in my life music always is there it's it's just something it's an art form it's an art form that nature produced so that's how passionate music is to people around the world so everybody needs music and I just read an article that said music is even more important than we think it is and we already think it's important but we know that plants animals everything responds to music get up stand up for music