Insights

Research, analysis, and perspectives from Bommarito Consulting on AI, governance, privacy, and computational modeling.

Research & Guides

Start with our visual guides to Michigan utilities, power lines, permitting, and data-center siting.

Browse the guides →

Research · 14 min

Checking the Case for BAAJA

Seventeen common claims made by supporters of the Senate permitting bill (BAAJA, S. 5653), each checked against the 417-page text with page and line citations: what they get right, what they leave out, and what they overstate.

Research · 12 min

Michigan Pipelines: Natural Gas, Petroleum, and Line 5

How Act 9 and Act 16 divide pipeline siting, how safety oversight works, and what the July 2026 Line 5 ruling requires. Includes original documents, a detailed report, and two videos.

Research · 11 min

Michigan Solar, Wind, and Battery Siting

A visual guide to PA 233: size thresholds, the local and state processes, setbacks, project commitments, and the May 2026 court ruling. Includes a detailed report and two videos.

Research · 10 min

The Michigan Public Service Commission: People, Powers, and Process

From railroad regulation to today’s three-member Commission: its history, current commissioners, appointments, political structure, utility decisions, and public participation. Includes a detailed report and two videos.

Research · 14 min

Michigan Act 30 and the MPSC

Who chooses a transmission route, who pays for a large load, and how residents can participate. A visual guide to Act 30 and the MPSC's broader work, with a detailed report, two videos, case explorer, and primary sources.

Research · 10 min

HB 5940: Power Lines Along Michigan's Highways

Michigan House Bill 5940 would end the rule that power lines along limited access highways must be buried, but four public bodies still have to act before any overhead line goes up, with no deadline for any of them and no new say for neighbors or townships. The change word for word, the path from law to line, a county table, the Senate package, and what township boards, county officials, and property owners in communities such as Williamstown and Locke can do before the MPSC's October 21, 2026 comment deadline.

Research · 12 min

BAAJA, Line by Line

A 132-page, section-by-section reading of the Bipartisan American Affordability and Jobs Act of 2026 (BAAJA, S. 5653): what the Senate permitting bill actually says, what it changes in federal law, and who wins and loses, cited to page and line — with a tested answer to whether it is a data-center bill. Full report PDF and companion videos.

Research · 8 min

The 2026 Senate Permitting Bill

An independent analysis of the September 30, 2026 Senate permitting deal: expanded federal power to approve power lines and take land, narrower court challenges, data center costs left to utility estimates, and no emissions limit — with Michigan worked examples and how the bill reaches other states. Full 40-page report available for download.

Research · 9 min

The Oracle Tax Abatement Application in Saline Township

An independent evidence review of Oracle's $43.1 billion tax abatement application under Michigan Public Act 198: the statutory six-month commencement rule, the county's own permit record, the consent judgment, principal findings, and recommended actions — revised July 18, 2026 after the Township Board's July 14 and July 17 votes, with the full 46-page report available for download.

Research · 7 min

The Proposed ITC Oneida–Sabine Lake 345 kV Transmission Line

An independent, reproducible route and environmental analysis of ITC's seven published alternatives for the Oneida–Sabine Lake 345 kV line in central Michigan — scored on the Act 30 factors with and without House Bill 5940's freeway credit, stress-tested across a million weightings, and resolved township by township. Revised September 2026; full 41-page report and explainer video.

Research · 8 min

Independent Traffic & Siting Analysis of the Proposed Chicago Bears Stadium

A public-data traffic analysis of the proposed Bears stadium at Arlington Park: roughly 32,000 game-day vehicle trips, 112 local-street bottlenecks that persist in every mode-share scenario, the Metra surge-service gap, and equity concentration on the impact corridors — with five adoptable recommendations. Full 55-page report available for download.

AI Governance · 2 min

EU AI Code of Practice Draft: What Boards Should Know

An analysis of the EU AI Office's draft General-Purpose AI Code of Practice, highlighting systemic risk oversight, documentation requirements, incident response, and board-level compliance considerations.

AI Governance · 2 min

AI Lifecycle and the Board's Role

A primer for board directors on the AI lifecycle — data collection, training, and deployment — and the strategic considerations boards must understand for effective AI oversight.

AI Governance · 2 min

AI Oversight: 5 Key Sources of Board Requirements

A framework identifying the five key sources of AI governance requirements for boards — legal mandates, risk frameworks, insurance, internal policies, and customer preferences.

AI Governance · 2 min

Risk Management for AI: A Board Director's Guide

A comprehensive guide for board directors on leading AI risk management through six key elements: establishing context, risk assessment, risk treatment, recording, communication, and continuous monitoring.

Open Source · 2 min

The KL3M Data Project: Building Copyright-Clean Training Data at Scale

Inside the KL3M Data Project — assembling 132M+ copyright-clean documents to enable responsible LLM training and earning the first 'Fairly Trained' certification.

AI Governance · 2 min

How Data Provenance Drives Machine Learning Risk and Value

An exploration of data provenance — the origin and history of data — and why it is a board-level concern for AI risk management, legal compliance, and responsible governance.

AI Governance · 2 min

Pioneering Responsible Data Science: A Framework for Ethical Innovation

Introducing an open-source Responsible Data Science Policy Framework designed to help organizations address ethical AI governance through a modular, adaptable approach.

Firm Update · 1 min

Since Our Last Episode: The Evolution of Bommarito Consulting

A retrospective on the firm's journey from early-stage consulting through the LexPredict era, and the pivot toward AI governance, privacy, and institutional advisory.

Entrepreneurship · 2 min

Built to Sell: Lessons from the LexPredict Journey

Key takeaways from building, scaling, and successfully exiting LexPredict — an AI-powered legal technology company acquired in 2018.

Research · 2 min

Predicting the Supreme Court: AI Meets Legal Outcomes

How our machine learning research achieved breakthrough results in predicting Supreme Court decisions, and what it means for the future of legal AI.

Research · 1 min

Course Material for Complex Systems 530 — Computer Modeling for Complex Systems

Open course material for Complex Systems 530 at the University of Michigan, covering agent-based, Monte Carlo, and network modeling in Python.

Research · 2 min

Predicting the Behavior of the Supreme Court of the United States: A General Approach

Introducing our Supreme Court prediction project using extremely randomized trees to forecast over sixty years of decisions and individual justice votes.

Research · 2 min

Featured in Wired: Measuring the Complexity of the Law

Sam Arbesman featured our paper on measuring legal complexity of the United States Code on his Wired Science blog, the Social Dimension.

Research · 2 min

Is the Tax Code the Longest Title?

An analysis of whether the Internal Revenue Code (Title 26) is actually the longest Title in the U.S. Code, using data from our paper on measuring legal complexity.

Research · 2 min

Measuring the Complexity of the Law: The U.S. Code

Releasing our empirical framework for measuring legal complexity, applied to the U.S. Code, with full replication source and data on GitHub.

Research · 2 min

Summary of Community Detection Algorithms in igraph 0.6

A reference guide to the community detection algorithms available in igraph 0.6, including their runtime complexity, and support for directed and weighted edges.

Research · 3 min

Building an AWS CloudSearch Domain for the Supreme Court

A step-by-step tutorial for building a fully searchable AWS CloudSearch domain using public domain U.S. Supreme Court decisions, covering data acquisition, domain configuration, indexing, and querying.

Research · 1 min

Statistics on the Length and Linguistic Complexity of Bills

An introduction to an automated daily analysis of 112th Congress bills, providing statistics on section count, word count, unique words, and Flesch-Kincaid reading level for every bill.

Research · 4 min

Building Legal Language Explorer: Interactivity and Drill-Down, noSQL and SQL

A technical deep-dive into the architecture of the Legal Language Explorer, a Google Ngrams-style viewer for the U.S. Supreme Court corpus, combining redis (noSQL) for fast time series queries with PostgreSQL for case-level drill-down.

Research · 2 min

21st Century Legal Informatics: Part 1, Introduction

An introduction to three paradigms of legal informatics — 20th century computers-as-libraries, 22nd century computers-as-lawyers, and the practical 21st century middle ground.

Research · 3 min

Historical Data Mining the Supreme Court Headnotes

A demonstration of historical data mining techniques using editorially-assigned legal headnotes from U.S. Supreme Court cases, examining co-occurrence and citation networks to trace the evolution of legal concepts like criminal suspect rights.

Research · 3 min

Two New Papers on SSRN: Measuring EU Integration Through Sovereign Debt & Exploring Relationships Between Headnotes in the Supreme Court

Announcing two working papers released on SSRN: one measuring European integration through sovereign bond yield correlations from 1872 to 2010, and another exploring the network structure of legal concepts in Supreme Court headnotes.

Research · 2 min

Now in Print: An Empirical Survey of the Population of U.S. Tax Court Written Decisions

Announcing the publication of an empirical analysis of U.S. Tax Court citation practices from 1990 to 2008 in the Virginia Tax Review, examining Internal Revenue Code citation frequency and the impact of tax legislation on court decisions.

Research · 2 min

Building a Better Legal Search Engine, Part 1: Searching the U.S. Code

An introduction to indexing and searching the U.S. Code using Apache Lucene, structured public domain data, and open source software.

Archive

Technical tutorials and programming posts from the early years of the firm.

Archive · 2 min

Advanced Approximate Sentence Matching in Python

Advanced techniques for approximate sentence matching in Python using Jaccard similarity on token, stem, and noun lemma sets after stopword removal.

Archive · 2 min

Fuzzy Match Sentences in Python

A tutorial on fuzzy matching sentences in Python using NLTK, covering tokenization, stopword removal, stemming, and lemmatization approaches.

Archive · 1 min

Isotonic Regressions in scikit-learn

A practical example and discussion of isotonic regression in Python's scikit-learn, including contributions to improve the IsotonicRegression class.

Archive · 2 min

Is There Tax in the Cloud?

A discussion of the U.S. tax implications of cloud computing transactions, highlighting Orly Mazur's SSRN paper on the challenges that IaaS, PaaS, and SaaS create for federal income tax principles.

Archive · 1 min

Benchmarking the new AWS Postgres RDS instances

Postgres has finally come to RDS (http://aws.amazon.com/rds/postgresql/)!

Archive · 1 min

AWS EC2 hs1.8xlarge Oracle ORION benchmark results

Benchmarking I/O with Oracle ORION (http://docs.oracle.com/cd/E11882_01/server.112/e16638/iodesign.htm#PFGRF95222) is an important part of planning, baselining, and performance-tuning Oracle environments.

Archive · 1 min

ipython notebook for R: Quickstart for Ubuntu

If you're like me, you love ipython notebook (http://ipython.org/notebook.html) but often write R.

Archive · 1 min

Plotting average read and write operation size by ASM disk for Oracle

Throughput, throughput, throughput - for many databases, this is the performance measure of importance.

Archive · 1 min

Law's Future from Finance's Past: Recorded Talk from Reinvent Law Silicon Valley

The recorded video of Michael Bommarito's talk at the Reinvent Law Silicon Valley event, drawing parallels between the evolution of finance and the future trajectory of the legal industry.

Archive · 2 min

Connecting R to an Oracle Database with RJDBC

A step-by-step guide to connecting R to an Oracle database using RJDBC, a cross-platform JDBC-based approach.

Archive · 1 min

Retrieving the VIX term structure in R

Much of my time lately has gone into analyzing and trading products in the volatility complex.

Archive · 1 min

Natural Language Processing and Machine Learning for e-Discovery - Slides from guest lecture at MSU College of Law

Fellow Computational Legal Studies (http://computationallegalstudies.com/) blogger and MSU law prof Dan Katz (http://www.law.msu.edu/faculty_staff/profile.php?prof=780) invited me to give an expert guest lecture for…

Archive · 1 min

Debugging parameter mismatch across RAC database instances with R, dba_hist, and gv$parameter

Much of this morning went into investigating strange ADDM reports on a two-node Oracle RAC database.

Archive · 1 min

Wordcloud of the Arizona et al. v. United States opinion

Here's one purely for fun - a wordcloud built from the Supreme Court's opinion on Arizona et al.

Archive · 1 min

Building Python pandas from development source

I first heard about Python pandas (http://pandas.pydata.org/) from a friend at RenTech or AQR in the early summer of last year.

Archive · 2 min

OTM in the Cloud: Hosting Architectures, Part 2 - 1+RDS

In our last post on cloud architectures, I covered a simple one-node Oracle Transportation Management instance on Amazon Web Services using EC2…

Archive · 3 min

Oracle Transportation Management (OTM) in the Cloud: Hosting Architectures, Part I - Single Node

As I mentioned on Monday (http://michaelbommarito.com/2012/05/21/upcoming-series-oracle-transportation-management-otm-in-the-cloud/), I'll be starting a series of posts on Oracle Transportation Management (OTM) in…

Archive · 1 min

Visualizing the #nonato Twitter hashtag - time series and top users

The NATO summit (http://www.nato.int/docu/review/index_EN.htm) is currently being held in Chicago, and, as is typical for NATO or G# summits, the streets and tweets are full of dissent.

Archive · 2 min

eDiscovery Consulting in the Cloud: Searching an Outlook Mailbox and Attachments

A real-world case study demonstrating how to make Outlook PST mailboxes and their attachments searchable using AWS CloudSearch, processing 1.3GB of Enron email data on a laptop in under an hour.

Archive · 1 min

Down with the static

After six years of static HTML, it finally became apparent that this site needed a real CMS.

Archive · 2 min

“Google” for Subpoenaed Emails: AWS CloudSearch for eDiscovery

A practical look at using AWS CloudSearch to build a scalable, on-demand search engine for subpoenaed email in eDiscovery engagements, eliminating the need for large capital expenditures on servers and storage.

Archive · 1 min

Generating AWS CloudSearch SDF for Emails

In my last post on CloudSearch and eDiscovery (http://www.michaelbommarito.com/blog/2012/04/21/google-for-subpoenaed-emails-aws-cloudsearch-for-ediscovery/), I described something like "Google" for eDiscovery emails.

Archive · 1 min

Visualization of Reading Level Frequency by Congressional Bill Stage

Here's a fun example of how you might use my data on Congressional bill length and complexity (http://www.michaelbommarito.com/blog/2012/04/14/updates-to-data-and-statistics-on-congressional-bill-complexity/).

Archive · 1 min

Visual Summary of #jan25 Twitter Activity

Last year, I covered a number of the so-called "Twitter protests" in China (#cn220 (http://www.michaelbommarito.com/blog/2011/02/20/dataset-tweets-from-the-chinese-protests-cn220/)), Iran (#25bahman…

Archive · 3 min

Debugging ORA-02292: integrity constraint (OWNER.CONSTRAINT) violated - child record found

Working with Oracle databases (http://www.oracle.com/us/products/database/index.html) can be daunting to developers and analysts who lack a deep understanding of relational models and SQL.

Archive · 2 min

Saving Memory in Redis and Python with struct.pack

Using Python's struct.pack to convert numbers from string to binary representation in Redis, achieving significant memory savings.

Archive · 1 min

Blogging for myself, not you.

In between writing the wrong year on documents, I've been reflecting on this blog.

Archive · 1 min

Single HTML File of the Michigan Compiled Law (MCL)

Last night, I posted a copy of the Michigan Compiled Law (MCL) as an improved and structured XML document.

Archive · 1 min

XML Copy of the Michigan Compiled Law (MCL)

A few weeks ago, Ari Hershowitz (http://blog.tabulaw.com/) posted on Quroa calling for a Californa code hackathon (http://www.quora.com/Ari-Hershowitz/Hackathon-Anyone-Recode-Californias-Laws).

Archive · 1 min

Building igraph's Python bindings with plotting support on Ubuntu

igraph (http://igraph.sourceforge.net/) is my preferred library for graph manipulation.

Archive · 1 min

Deaths per TWh (terawatt-hour) by Energy Type

The chart says it all, with nuclear winning by two orders of magnitude (via ManyEyes (http://www-958.ibm.com/software/data/cognos/manyeyes/visualizations/2e5d4dcc4fb511e0ae0c000255111976/)).

Archive · 1 min

Christoph Gohlke's Windows Python Packages

Last night, I spent a few hours configuring a new OCZ Vertex 2 (http://www.ocztechnology.com/ocz-agility-2-sata-ii-2-5-ssd.html) on my M4500 (http://www.dell.com/us/business/p/precision-m4500/pd), my primary workstation.

Archive · 1 min

Tracking the Frequency of Twitter Hashtags with R

An R script for downloading and plotting the frequency of Twitter hashtags over time using ggplot2.

Archive · 1 min

Plotting 3D Graphs with Python, igraph, and Cairo

A demonstration of how to generate 3D network animations using Python, igraph, and Cairo, applied to a Twitter user graph.

Archive · 1 min

OCR'd Exhibit A - List of Closing Stores from Borders Chapter 11 Filing

Here's an OCR'd version of the list of Borders stores that are closing.

Archive · 1 min

Pre-processing text: R/tm vs. python/NLTK

Let's say that you want to take a set of documents and apply a computational linguistic technique.

Archive · 1 min

Dataset: 5 Days of #25bahman

What do 88,831 tweets about protest and revolution in Iran look like?

Archive · 1 min

Plotting a Revolution: Time Series Comparison of #feb12 vs. #fev12

I wondered yesterday whether one of the Algeria/Yemen hashtags would dominate (http://www.michaelbommarito.com/blog/2011/02/13/twitter-hashtag-battle-royale-febfev12-vs-12febfev/).

Archive · 1 min

Twitter Hashtag Battle Royale - #(feb|fev)12 vs. #12(feb|fev)

Algeria and Yemen seem to be pushing a #feb12 (http://twitter.com/#!/search/%23feb12) revolution hashtag like Egypt's #jan25 (http://twitter.com/#!/search/%23jan25) tag.

Insights by email

Get new insights by email

One email when we publish something new, and nothing when we don't. No tracking pixels, and leaving takes one click.

Lists

We'll send one email to confirm. See the privacy notice.

Working on something like this? Talk to us →