awa

Why Citations Matter

Our system of law is based on the concept of “Common Law”. What this means, in short, is that the law is the same everywhere it applies. A federal law applies the same way in all parts of the US. A state law applies the same way throughout that state.

It also means that how the law applies does not change from court to court, judge to judge, and party to party.

It is what takes us to “No one is above the law.”

Consider a law that was written in the late 1800s that says, “No man shall go armed within 100 feet of the ballot box”.

At the time it was written, everybody “knew” what it meant. It meant, “leave your guns at home when you go to vote.”

By the exact words, though, a woman voting could go armed to vote. Some might argue that “man” meant both man and woman. Others will argue that it actually did mean just “man” because women don’t vote.

That has changed. Women do indeed vote, today.

Here is where “case law” becomes important in the idea of “common law”.
Read More

Geek Speak…

I Am Not A Lawyer…. I am a computer scientist.

Yeah, an actual scientist. I didn’t study “Information Technology” or “Information Systems”, I studied “Computer Science”.

I’ve written in so many different computer languages that I’ve forgotten the names of some of them. My first language was PolySci basic, followed by Apple Basic. I quickly moved into 6502 machine code on an Apple II and a KIM. I learned 8080 and Z80.

I wrote my first interpreter back around 1978. It was written in 6502 machine code with the built-in assembler on the Apple II. It was designed for a custom op/amp system to control a model solar home heating system. The next major code I wrote was for the QC department at Planters Peanuts. This was at a time when the only computers in the plant were mainframes and the personally owned Apple II, the head of QC brought in.

Somewhere in that time frame, I learned COBOL.

Shortly thereafter, I headed off to University.

At University, I learned Pascal, FORTRAN IV, FORTRAN V, a couple of different assembly languages. I had the pleasure of entering a boot program into the boot panel manually. The CDC 6500, and 750 had a panel of toggle switches, you entered the boot program by toggling each bit on that panel. There was just enough space to cause the system to read a block of data from a mag tape and then execute that block of code.

I loved every minute of my time at University. As a broke collage kid I ate well, had all the stereo toys I wanted, had a new car. I even had a girlfriend from time to time.

I’ve never stopped learning. Likewise, I figure that when I stop learning, it will be three days after my funeral.

Computer stuff is how I make my money, it is how I spend my time. I do other stuff for a break and to have actual physical results.

This blog has become very important to me. I’m sure you all are tired of reading my IANAL breakdowns of different cases. 4000 words in part II last night. It was a hard battle to learn how to find the resources to write about these cases. Along the way, I’ve become obsessed with saving you from having to repeat that battle.

To that end, I had to find the right tools. I’ve paid for some of them. Some of them I’ve paid for by providing coding skills.

Let’s take a look at the current pile of crap I’m working with in an attempt to make my life easier.

First, I purchased “languageTool”. This is an open-source grammar checking tool, it is one of the reasons that my writing seems to have improved. It not only catches spelling errors, it also catches wrong words spelled correctly, as well as making me actually put commas in where they belong. It is a powerful tool.

If you don’t write 2000+ word documents, the free version will work for you, very nicely.

The next tool I started working with was PACER. I don’t use it anymore except as a source for CourtListener.

I’ve started providing code to CourtListener. It is written in Python using the Django framework. This has only required me to get better at Python, and Django. It also required that I go out and really learn BootStrap 3 and CSS.

CSS is a description language. You provide it with a magic selector, and it will apply different attributes to the selected item. I’ve had to become much better at writing good selectors and designing webpages to have the right types of selectors.

Of course, you don’t like boring pages. You want them to be interesting and responsive. That meant learning a bit of JavaScript.

JavaScript is a language designed to make webpages interactive. It is designed to allow you to do the simplest of things to a webpage. When a person toggles that check-button, display a hidden element with buttons. Except that those buttons are actually anchors that we’ve used CSS to make look like buttons. When you click on those buttons, it takes you to a new page.

This is the start of dropdown menus.

To make all of this happen reasonably, JavaScript was writing to be asynchronous. In addition, it was written for people that didn’t want to think about strong variable typing. This means that the variable “tmp” can hold a string and then later it can hold an integer, still later a floating-point number, and still later a complex object.

Oh, a variable can also hold a “function” so you can use a variable as if it is a function.

This sucks.

Historically, computer software was written to take input and produce output. If you wrote a program to add two numbers, the program would ask “First Number:”, “Second Number:” and then it would print “The sum is:” with the sum printed.

The software determined what was going to happen next.

This is no longer the case, you control what happens next. You are writing an email, you stop in the middle of a word, click on the insert image button, upload an image into your email, go back to writing, click on a different program, watch the cat video, reply to the video, click back to your email, decide to do some formatting, then go back to writing.

You all suck. If you would just do the things in exactly the right order to make the computer happy, life would be so much easier.

So back to the learning curve.

I wanted to have “good citations” to provide you with good links and the ability to look up other cases and references. CourtListener didn’t provide that. I added it.

But I found out that “they” don’t actually use citations the way I want to use them. KOONS v. PLATKIN, 1:22-cv-07464, (D.N.J.) has some 130 different docket entries. Somewhere between 50% and 75% of them are actual documents.

Consider this docket entry:

USCA Case Number 23-1900 for 126 Notice of Appeal (USCA),, filed by PATRICK J. CALLAHAN, MATTHEW J. PLATKIN, MATTHEW PLATKIN, PATRICK CALLAHAN. USCA Case Manager Stephanie (Document Restricted – Court Only) (ca3sb,) (Entered: 05/17/2023)

That is all there is for this docket entry. Translated, it says: the United States Court of Appeals has assigned case number 23-1900 to docket entry 126, the defendants’ Notice to the District Court that they were appealing. The circuit court considers that to be a restricted document.

At docket entry 124 it says:

OPINION. Signed by Chief Judge Renee Marie Bumb on 5/16/2023. (alb,)

This, though, has a document attached to it. A 254-page PDF full of dense legal speak. When I left off last night, there was still another 100 pages of the document to read. I’m not going to.

So, I’m feeling pretty good about adding better citations. Then the subject-matter experts let me have it with all 7 barrels from a mini-gun. It seems that I’m not doing citations correctly. This is absolutely true. Why is it true? Because there isn’t a “right way” to do citations, there are thousands. The tool I started using only has 43. Its parent project has thousands.

This led to another language to learn. “CSL” This is Citation Style Language. This is written in XML. I was keen to learn it because I wanted to have it create citations for me. Above is the citation as pulled from Courtlistener. Here is a citation pulled and formatted with a custom CSL program:

KOONS v. PLATKIN, No. 1:22-cv-07464, Doc. 124 (D.N.J.),

If I want a different version, I can use the shorter version: —KOONS v. PLATKIN

If I want the shortest version, I do that manually: — Id.

The first one is a simple drag and drop. The second one is a drag and drop else where, then copy and paste. Yuck.

I started looking into how to do “fix” it and found a different thing. Zotero.org has an API that will provide me with a citation when I ask for one.

Except that I don’t use “Zotero”, I use “Juris-M”. The version I use has extensions specifically for legal citations.

They even have a plugin for Firefox and Chrome to allow you to click a button and download the citation and link to the document to Juris-M. Juris-M then syncs with Zotero to add your citation into the cloud.

But the plugin doesn’t work with CourtListener. So, I wrote a new JavaScript “translator” to make it work. Did I mention I hate JavaScript? JavaScript is now using “promises” which are new to me. Not the concepts, just the implementation. Which lead to me learning still more JavaScript. Now in the context of software that was interacting with multiple Internet servers, as well as scrapping the Document Object Model of the webpage.

I have things mostly working, except I don’t. I’m not pulling the correct stuff and putting it in the correct places. Close, but not good enough.

Here is the issue in a nutshell. Legal citations require you to use the correct abbreviations. You can’t write “Court of Appeals for the Seventh Circuit” in a citation, you must write it as “7th Cir.” It isn’t “District Court, D. Connecticut” it is “D. Conn.”. I have to extract that information from CourtListener and put it in exactly the right place. Which might require me to use the CourtListener API rather than scrapping the information from the WebPage.

It might be easier to add metadata to the pages from CourtListener, rather than scrapping for it.

Regardless, I can’t get things to work for me with Zotero because I don’t have the right CSL in Zotero.

Which takes us to what I really want to be able to do.

I aim to be able to add citation markers to my articles. I want them to be quick and easy to add. Instead of putting the citation in place, I put something like [Xcite item=”14815850/IBYFACFI” at=5]. There would be a different version for using a paragraph locator instead of a page locator.

I put that marker every place I’m citing that case. I don’t worry about short, long, or anything else. If the cites follow one another, then the following cites would be written as Id. with locator. If there was an intervening citation, it would use a short form. Then it would switch to using Id. again. It could then create a good bibliography at the end of the document.

With this goal in mind, I tried “ZotPress”. It almost works. Not well enough to actually use. This means that what I want to do is modify ZotPress to interact with my own Zotero data server. It’s open source! Except that it isn’t maintained for others to use. There are no instructions on how to use it. It is written in PHP. But the version of PHP isn’t exactly right. And it has a major dependency on a framework that is no longer being supported.

In the process of looking through this, I found something called a “citation server”. Well, wouldn’t you know, they don’t actually do any of the citation processing within Zotero. Nope, they make a network API call to the cite server.

The cite server is available as open source. I download it and created a Docker image. Another technology with its own language. It works great. Except it doesn’t like my Juris-M CSL because it isn’t the correct version.

Which meant that I had to make the cite server run in a docker container. Did I mention I dislike JavaScript? Did I mention that JavaScript was designed to manipulate a web browser’s DOM in real time? Did I mention that it is an asynchronous nightmare?

Cite Server is written in JavaScript. The citation processor, citeproc, is written in JavaScript. I’m not working on integrating their cite server with Juris-M’s citeproc. It isn’t going as well as I would like.

And that ends today’s rang.

Still too long at 2000 words. It didn’t take as long to write as I didn’t have to dig through as much legal speak. Hope you are having a wonderful weekend.

Koons v. Platkin — Part II

B.L.U.F. More on District Judge Renee Marie Bumb’s opinion on NJ’s Bruen spasm legislation, Chapter 131. The case is currently being appealed to the Third Circuit court as Ronald Koons v. Attorney General New Jersey, 23-1900, (3rd Cir.)


Her Historical Analysis

The first 50 pages or so of the opinion covered Judge Bumb’s analysis of the text, history and tradition of gun control regulations. When all was said, she found that regulations from as early as the 1328 and as late as the 1890s all support a history and tradition of disarming dangerous people.

She doesn’t cover the Statute of Northampton, from 1328. Different people read it in different ways in regard to how it limits the ownership of arms. She really digs in with regulations dating from 1860.

What most of these regulations have in common is that they set the punishment for the common-law offense” of going armed to terrify the peopleKOONS v. PLATKIN, No. 1:22-cv-07464, Doc. 124 (D.N.J.).

Those that were not about going armed to terrify the people were about disarming disfavored groups. Slaves, Negros, Indians, Catholics, and people that were unhappy with the Government or unhappy with the people unhappy with the government were all groups that regulations disarmed.

While Bruen specifically mentions “regulations” in the context of historical analogies, Judge Bumb extends that to include discussions about regulations.

Consider a debate in the legislature regarding the adoption of the new Constitution. It is clear that they want some changes, amendments, to the Constitution. There are three different versions presented:

  1. The right to keep and bear arms shall NOT be infringed!
  2. A well regulated Militia, being necessary to the security of a free State, the right of the people to keep and bear Arms, shall not be infringed.
  3. The right of the people loyal to the state to keep and bear arms shall not be infringed.

All three of those codify the right to keep and bear arms. The first group pushes hard. They argue that the simple command should be more than enough to protect the right. The second group pushes back. They argue that by explaining the reason why it is so important to protect the right to keep and bear arms, they make the protections stronger.

The third group is concerned about the federal government usurping the citizen militia. They fear that citizens of the state will be tempted by the federal government to take up arms against the states. The wish to have the power to disarm those that are openly agitating against the state government, in favor of the federal government.

After much heated debate, the third version is off the table. The delegates fell that giving the government any say in who keeps and bears arms to be too dangerous. Some more debate and the second version wins.

At this point, we see that The People, via their representatives, have done a means-end or interest balancing tests and determined which version they want.

Judge Bumb feels that the third group’s arguments should be given as much weight in the discussion of the tradition of firearm regulation as the actual regulation adopted. I feel it is the opposite. The fact that they were tested and found wanting means that it was a loosing argument then and is still a loosing argument today.

Her use of surety laws is just as weak.

The Second Amendment only applies to the “Virtuous Citizen”

Read More

Friday Feedback

Last week we asked which cases you were interested in next, the winner was Oregon Firearms Federation, Inc. v. Brown. Unfortunately, this got put on the back burner when District Judge Bumb issued her opinion regarding New Jersey’s Bruen response bill. Part two of the analysis of her opinion is in progress.

Hagar has a couple of articles in the queue, based on the feedback you provided.

After O.F.F. v. Brown is updated, I’ll be looking at Boland v. Bonta which is the California rooster case.

There are a few more cases in progress.

I’m hoping that Miguel will take a look at some of the bills making their way through Congress. One of my feeds reported a bill that was introduced to restrict firearm purchases for anybody 25 or younger.

Is there anything you’d like us to look into?

Give your feedback down below.

Have a Great Weekend!

Progress?

In my “docket alerts” over at CourtListener, I have over 30 alerts set. Each alert causes the site to send me email when a case is updated.

I’ve talked about how long it takes to get a case through to completion. The excellent news, today, is that completion now feels like it will be a win for the Second Amendment side.

But I noticed something, we are less than a year out from Bruen and the Supreme Court has already looked at two different cases. They decided against intervening, but this seems to have been done on procedural grounds.

The latest was an appeal from the 7th Circuit court. From the time of the appeal to the time of decision by the Supreme Court was less than 2 weeks. The request was denied. It doesn’t matter.

It is still a win for the Second Amendment.

In the past, 2A cases would languish in Circuit Court limbo for months or even years. The cases were delayed, progress was slow and painful.

The 7th Circuit is one of the courts that has a history of dragging its feet when it comes to Second Amendment rights. As long as the state holds the upper hand, the courts respond slowly.

We have already had the 2nd Circuit Court go from “yeah, we’ll hear the appeal sometime in the future.” to “We will hear oral arguments in 2 months.” The 7th did an instant grant of a stay. It looked like it would be many months before the 7th got around to hearing the case.

Instead, one of the cases was appealed to the Supreme Court. The Court asked for a briefing and within the week the circuit court had scheduled briefings on an extremely tight time frame.

Of those 30+ cases? Nearly half of them are at the Circuit Court level already. Some at the preliminary injunction level but some at the injunction level.

Nobody is sitting still.

I’ve been wrong about some of my timelines.

I believe that what is going to happen is that the Circuit courts are going to delay issuing their opinions until the end of the Supreme Court Term. That will give them a bit of time before the Supreme Court can take new cases.

We might be seeing cases before the Supreme Court by the end of 2023.

It is an interesting time to be involved with the 2A community.

Koons v Platkin — Bruen Spasm Response


B.L.U.F. A District Judge in New Jersey issues her order and opinion on a motion for a Preliminary Injunction. She is not happy with the state. She does an okay read of Bruen, finds in part for the plaintiffs (good guys) and in part for the defendants (bad guys/state).


Good News

In conclusion, the Second Amendment’s “right to bear arms in public for self-defense is not a ‘second-class right, subject to an entirely different body of rules than the other Bill of Rights guarantees.’” Bruen, 142 S. Ct. at 2156 (quoting McDonald, 561 U.S. at 780). That does not mean, however, that the right is “unlimited.” Heller, 554 U.S. at 626. The Constitution leaves the States “some measures” to combat handgun violence. Id. at 636. But what the Second Amendment prohibits the States from doing, and what the State of New Jersey has done here with much of Chapter 131, is to “prevent[] law-abiding citizens with ordinary self-defense needs from exercising their right to keep and bear arms.” Bruen, 142 S. Ct. at 2156. That is plainly unconstitutional.
KOONS v. PLATKIN, No. 1:22-cv-07464, Doc. 124 at 234 (District Court, D. New Jersey, May 29, 2023)

The short answer, here, is that the Judge gets it. Chief Judge Renee Marie Bumb has written a 235-page opinion that is extensive. While the final outcome is not a 100% win for the Second Amendment, it is still a devastating take-down of the state.

History

In Bruen’s wake, New Jersey’s Legislature sprang into action, amending the State’s firearm laws in many ways. First, the Legislature dropped the State’s firearm law requiring a person to show “justifiable need” to carry a handgun in public for self-defense—a requirement that Bruen explicitly struck down. Second, the Legislature created a list of 25 “sensitive places” where firearms are banned under threat of criminal prosecution. These places range from government-owned buildings, libraries, entertainment facilities, and restaurants that serve alcohol to all private property unless prior consent to carry is given. In enacting the sensitive places law, the Legislature purported to abide by Bruen by declaring the Nation’s “history and tradition” supported banning firearms at these identified locations. 2022 N.J. Laws, ch. 131, § 1(g).
Id. at 7

A pretty good start. sprang into action has that sort of dig against the state the Courts do when they are telling the state they understand the nefarious motives of the state.
Read More