On Refactoring Policy
A meditation on changing methods without changing results and how we can approach making the world a better place by being open to new hows for old whats.
Dear Friends,
One of the lucky things that happened to me in life was my mother getting remarried to a computer programmer after the end of her marriage to my father when I was very young. Growing up in a house with computers brought home to do work gave me earlier exposure to the technology than most kids had, being able to type out assignments instead of doing them by hand, and to edit on a screen instead of on a sheet of paper with Wite-Out or an eraser.
That got me hooked on computers just at the time that the World Wide Web was getting started. After buying a computer with a fast modem and using a trial subscription to get online (and getting knocked offline by someone else using the phone), I explored the world of Prodigy and Compuserve and dial-up BBS systems. It helped that my father, even though he was a car dealer, had an affinity for cool technology, building his own television from a Heathkit catalog and installing satellite and computer equipment in his home in North Phoenix.
During the summers, I would watch the Disney Channel on that Heathkit television, usually reruns of cartoons of Mickey Mouse and Jiminy Cricket? Jiminy Cricket taught me to love books and libraries, telling me and millions of other kids that “anything you want to know, you can learn it from a book.”
That cartoon blew my mind and shaped my curiosity to read literally everything I could about anything that interested me.
One of those books was one that I didn’t get from the library, but borrowed from my father’s shelf. “Libertarianism in One Lesson” was the title, by the late David Bergland. Bergland was the 1984 Libertarian Presidential candidate, as well as former Chair of the Libertarian National Committee. As a kid of maybe 12 years old, I had gone to Maricopa County Libertarian Party meetings with my father, but didn’t know too much about it other than more people carried guns at those meeting than at other places we went in Phoenix.
Bergland made the simple case that other people probably shouldn’t decide how you live your life, and more importantly, that we should extend that same respect to others by not trying to decide how they should live their lives. He was a great lawyer and writer, distilling down decades of libertarian theory into something so simple a twelve year-old could understand it.
The rise of the Internet was was like my discovery of the power of books, but instead of waiting for an author to write and a publisher to publish and a library or bookstore to stock the title, you could just send an email or forum message to experts in the field and ask them questions. When I got into Black Flag and Henry Rollins.1 Just an amazing cornucopia of knowledge and connection to people all over the world.
While I considered cooking and even interviewed with a few chefs before going to college, my mom and stepfather encouraged me to get a degree in Computer Science as a base to build from for the rest of my life. I’ve never properly thanked them for that, and was actually quite angry about it at the time, but learned to love the constant change and creativity of code and systems by the time I graduated and got my first job coding for a consulting company in the Maryland suburbs of Washington, D.C.
My computer science career overlapped with my Libertarian Party involvement, during the early 2000s, where by day I was doing programming, requirements analysis, and systems design for a range of government and private clients, while at night and on the weekends, I was leading the Libertarian Party of Maryland as state chair, getting candidates on the ballot and working to “set the world free in our lifetime” as the Libertarian Party statement of principles so eloquently puts the mission of the party.
It was during the rise of the Rational Unified Process and Java and object-oriented programming that I discovered refactoring. Refactoring refers to the process of changing the internal factors of an object without changing the output of the object, usually to improve performance or resource utilization or to redesign a data structure.
Imagine you have a method that returns the number 42. Internally, the output is created by evaluating ( 7 * 3 * 2). If you changed the expression inside the method to (( 4 * 10) + 2), the output would still be 42. Or you could change it to be a loop that adds 1 to a counter until it reaches 42.
From the perspective of the output, refactoring should be undetectable. The result of the method doesn’t change from the implementation, though the performance may change significantly.
Refactoring is a powerful concept when applied outside of computer science, because it reminds us that the primary goal is to produce the expected result, and that changing the implementation should not change the expected result, just the resources required to produce it.
To borrow an example from Milton Friedman, if the expected result is a hole in the ground, you can either dig it with a machine, shovels, or spoons. If you want to maximize jobs and time spent, you give many workers spoons to carefully remove small amounts of dirt from the hole. If you want to minimize jobs at the cost of capital expense on equipment, you give one worker a machine to scoop the hole out in a single bucket. If you want to split the difference, give a couple of workers a couple of shovels.
Many methods to get the same desired result.
In the United States, there has been a great deal of change to how things work in our government, much of it created by Elon Musk and his disastrous DOGE program to “make government more efficient” that ended up mangling many working systems because “move fast and break things” is the opposite of refactoring. The first thing to break is the expected result of the system.
It was a massive failure, but we can use it as a lesson and take the opposite approach.
Begin by finding out what user expectations are for the policies that shape their world, what they expect to get from the system, then we can constrain our changes to ones that still produce that expected outcome. Then we can look at ways to provide that expected outcome with less cost, whether that cost is measured in time, pages of laws, number of bureaucrats, or just hassle. We identify what we want to optimize and do it in a way that it doesn’t break the implied contract of user expectations.
In 2019, I founded the Libertarian Policy Institute to advocate for policy solutions to real world problems that would produce the same or better results with less government coercion. Ideas like shall-issue entry visas for people who want to work in the United States or shifting police from being a job to being a profession that self-regulates. In all of that work, we always started with what a regular person wants out of the policy and made sure that those expectations were going to be met or exceeded by the refactored policy.
Later, the Libertarian Policy Foundation was created as an educational nonprofit to educate and train people to apply these kind of policy principles to their communities, whether by running for office, participating in an activism campaign, or just interacting with their elected officials in a way that yields real change. We developed an intensive one-day nonpartisan training program called “Amplify!” to walk through every step of running for office for people with a real desire to change policy in their community.
Being a founder is kind of like being a parent, in that you have to help something you brought into the world grow into something greater than you. And just like being a parent, that means letting go.
With the help of some long time supporters and some new players, we’re going to spend the next few months refactoring the Libertarian Policy Foundation into something more focused, efficient, and ready to grow. Part of that refactoring is going to be finding someone for the Executive Director role who can grow the organization beyond the limitations of its founder.
Yours truly,
Nick
P.S. If you enjoyed this essay, please consider sharing it.
If you’ve had this essay shared with you, please consider subscribing.
If you have thoughts you want to share, you can either reply by email or leave a comment.
I sent a message and got a reply from an AOL address that, as far as I know, Henry still uses today.
I suggest refactoring look at the laws that regulate and restrict voters from asserting control over government and enforcing the Constitution. I offer for consideration abolishing all ballot access and sore loser laws and replacing them with a universal write-in general election ballot which is voter verifiable with a Chaum Secret Ballot Receipt. Upon a return of voter control of ballot content, voters can abolish incumbent gerrymandering with self-districting by the voter as proposed by Edward B. Foley of Ohio State University. Having disposed of ballot censorship and gerrymandering, voter can then elect legislators who will enlarge the membership of the U. S. House of Representatives from the 435 fixed number based on the 1920 Census as proposed at Thirty-thousand (dot) org. Disempowered voters means a fascist police state by default.