Hacker News new | ask | show | jobs
by TeMPOraL 2215 days ago
To a first, and second, and third approximation, bureaucracies are distributed computing systems; procedures, laws and bylaws are code, bureaucrats are the computing units. A lot of "fat" in bureaucracy comes with dealing with the fact that the computing units are buggy, unreliable, and sometimes actively malicious.
3 comments

> To a first, and second, and third approximation, bureaucracies are distributed computing systems; procedures, laws and bylaws are code, bureaucrats are the computing units.

Having spent a fair amount of time working in various bureaucracies, and studying law and government administration, that's very much not true. It's very much the idealized view that many people outside of bureaucracies have of them, especially people in computing, but it's very much not a good approximation of most real bureaucracies, or their governing law and regulation, because the latter usually is written in a way which deliberately relies heavily on discretion within (often deliberately fuzzy) constraints rather than seeking to provide deterministic rules for outcomes, and in many systems regulation is actually written by the bureaucrats enforcing it (who also tend to have disproportionate influence on shaping the actual law).

You'll see down in the subthread that I essentially agree with what you wrote here. However, I still maintain the analogy to a distributed computing system is good and revealing. It's particularly the observation of the flow of forms and documents in and out of bureaucracy, as well as within it, that makes me think of it.

As explained below, I don't agree that it's a good idea to replace bureaucracy with code. However, I think the lessons our industry has learned in architecting software systems could inform designing efficient data and request flow within a bureaucracy. At the very least, it gives us language to talk about bureaucracies as systems.

> However, I think the lessons our industry has learned in architecting software systems could inform designing efficient data and request flow within a bureaucracy.

This I definitely agree with; it's kind of disappointing the information systems engineering knowledge has tended to become siloed within organizations dedicated to information technology, because you get much bigger gains if you apply that knowledge to broader processes, not just within computing systems supporting the processes. OTOH, with people who have that knowledge generally getting paid more to apply it in IT (and getting listened to more there), it's kind of understandable if unfortunate that the knowledge gets stuck in IT.

And so the next step would be to actually throw out the written word and replace it with actual code.

I'm serious.

Why let "government code" be subject to all the shortcomings and pitfalls of natural language when you could just use cold hard logic and exact math instead?

Natural language is just programming for humans, anyways.

That would be a very wrong move. I'm serious.

This unreliability that comes from agency of the individual compute nodes has some very important benefits: the system is much more resistant to bugs in code[0], and much more humane. Software, as it is today, doesn't understand morality. That's e.g. you wouldn't want to automate away judges in the justice system - the law is code, but it's buggy, and isn't complete enough to handle all cases in all contexts. You need case-by-case judgements, and that's why it's good to have human bureaucrats who can independently think and override the system as needed. Otherwise, the system would just grind people that fell into it.

--

[0] - Like, "you have to deliver document X before 14th to get something done, but the document is only available from 23rd". Happened to me during university, where some scolarship depended on a government document that you could procure only well after deadline. Of course, the secretary at the university knew this and let you fill in incomplete application; she'd wait for the whole allowed processing time, then send you a letter asking you to bring in missing documents and giving you 14 extra days. Given that this was a bug at an intersection of two bureaucratic systems, if this was software, it would likely go undetected for a while, until someone started to wonder why nobody is applying for scolarships anymore.

I'm just going to hook up on your example of the document and the deadline, and state the following: You're assuming a (very) pessimistic scenario (that you likely justify with your experience of IT systems and their bugs, but Apollo 11 had IT too, and got it done, and everyone back).

Allow the benefit of doubt that a "software-based" system would only be implemented, if it were superior in such a way, that such a situation doesn't even occur in the first place. That is the benefit. It alleviates the necessity for the "human-wiggling-around-laws-that-actually-make-it-illegal-what-you're-doing,-but-those-laws-are-stupid,-so-whatever,-we-don't-care-about-that-specific-law".

It's most likely a very unknown concept for anyone presently, since it doesn't yet exist, but I believe, if human civilization works more on the aspect of creating a universal law that is language-agnostic, we would have a better solution than the ones we currently have.

Also, tax filings and the like are basically automated. It's just about expanding such automated concepts for more efficiency as well as removing the language-bias laws exhibit. I'm fully aware of the shortcomings of automation, and also do believe that a human "arbitrator", or judge, is required and preferred.

But in essence, my goal in stating my opinion was to plant the idea of language-agnostic law, for which maths, code and logic can form a solution. It's philosophical pondering towards a global government policy in a very long-run.

> but Apollo 11 had IT too

So did the Mars Climate Orbiter.

Anything can go wrong, anywhere. Still, I think the IT guys and gals in space-tech have (necessarily) one of the best track records in reliability.
> And so the next step would be to actually throw out the written word and replace it with actual code.

That is, indeed, that natural conclusion of the deeply flawed premise that law and regulation are basically computer code written by programmers who have to contend with buggy, sometimes malicious, computing units.

But other than the fact that the word “code” is often used in reference to each, law/regulation and computer code are not the same kind of thing.

> Why let "government code" be subject to all the shortcomings and pitfalls of natural language when you could just use cold hard logic and exact math instead?

The fuzziness in law and regulation is very rarely anything close to minimum required because you are dealing with natural language, and very often deliberate to create room for flexible application. And there is a strong overlap between the places that that is least true and widely perceived gross injustices in the law.

> Natural language is just programming for humans, anyways.

No, it's not.

So true. It's maybe not intended, but no fat shaming please.