Law is absolutely not something I would like to be programmatic. The nice thing about having a human being presiding over human affairs is that they can prevent you from using exploits in the letter of the law in the spirit of the law.
Well this is what the smart contract / Ethereum folks are setting out to do. I think they will soon run into the fact that the function of the legal system is not to run through some obfuscated flow chart but to identify edge cases and resolve them by debating the original intent of the law. This is what happened during the DAO hack when they had to fork the chain because everyone agreed thats not what was supposed to happen.
You could have both (we're talking theoretically, I'm not holding my breath...): an automatic public API that answers queries, but final judgements would have to be approved by a human, sort of an automatic no-action letter. It would make public administration much more transparent while retaining a safety valve for corner cases.
Slightly OT, but while I understand the notion that it's desirable to have at least some form of "do what I mean, not what I say" baked into the system, in practice exploits happen where the law is being used for political bullshit as opposed to legitimate regulation.
I don't regard laws that are unclear, unenforceable or overly reliant on judicial interpretation to be serving the public good.
I still think the right to be seen before a judge is integral to the justice system. Automating it to the point where judges are simply rubber-stamping decisions ignores the gravity of legal proceedings and their effect on people's lives.
Sure, but wouldn't it be nice if you could comprehend the law without having a human (which is also really expensive to hire)? Even filing a fairly simple tax return is still a mindfield in some developed countries.
Nobody's stopping you from learning to read legal documents. Regardless, I wouldn't call computer code any less impenetrable than the code of law--it'd just be more up your alley if it was the former.
I believe the advantage of having “law as software” would not necessarily be the increased readability of the documents, but the ability to simulate outcomes / ask questions about the law and get an automated answer instead of having an expert as the bottleneck.
> The nice thing about having a human being presiding over human affairs is that they can prevent you from using exploits in the letter of the law in the spirit of the law.
You mean how large companies cannot evade the spirit of tax laws because a human will stop them from doing so?
Having a discussion about things you disagree with or seeing opportunities for learning are not the only kinds of good conversations. Just a couple of ideas: Being able to work out thoughts or knowledge together with someone else is nice. A topic you are enthusiastic about is still fun to talk about with someone else enthusiastic. Work-related stuff you maybe want to discuss only with colleagues, because it is too specialized for others to talk meaningful about. And for most human stuff it is easiest to share your worries with a friend who has roughly the same values as you.
Different stuff each other have seen, places we've been, things we've done. If they already share my opinion on everything, I could save a lot of time avoiding things I wouldn't like and probably learn about new things I would like.
Debian's tools are kinda clunky, but I think the funny thing is that you can ONLY use Debian to build a Debian ISO. Or Debian packages even. How else would you do it ???
-----
Looking at the original suggestion, I don't think it really makes sense.
Without downloading additional packages, a Linux distribution that can also run as a continuous integration server and build server. This means that the desktop can build .ISOs to distribute itself. The desktop can also build any package that is available in package repositories.
Every operating system can do this, but none of them do it without downloading packages, for good reason.
And "downloading packages" is vague. Windows and OS X do not come with C compilers, but Linux distros do generally. You can build many packages with a C compiler and Make, but not all.
However once you add "real" functionality to it, the size of the build and their transitive dependencies explodes. Like to build a 300 MB .ISO, you'd probably need 2 or 4 GiB of tools.
> Every operating system can do this, but none of them do it without downloading packages, for good reason.
> And "downloading packages" is vague.
I agree completely
> Debian's tools are kinda clunky, but I think the funny thing is that you can ONLY use Debian to build a Debian ISO. Or Debian packages even. How else would you do it ???
So, with Nix (and probably Guix), one can configure the live CD the same way they'd configure a real installation. I think this gives us a way to improve the definition:
1. A distribution where all packages can be built from source or downloaded pre-built
2. installation media can be configured just like the regular installs
3. Customized installer media and reproduce augmented configuration packages in installations without network access
Nix and Guix satisfy all 3 parts of that revised definition.
So, with Nix (and probably Guix), one can configure the live CD the same way they'd configure a real installation
Hm I don't get what this means... Is there a demo or documentation somewhere?
I have rebuilt a Debian chroot inside Debian (which I think is pretty much the same process as building an ISO). It's a big shell script that downloads a more-or-less fixed list of .deb files, installs them, and does some fixups.
I run Guix System on my laptop. To change my system configuration (think installed packages, installed services, users, filesystem mounts, etc) I would run:
'guix system reconfigure ~/guix/system.scm'
...after editing that system config file. To build an ISO image from the same configuration, I would run:
'guix system disk-image ~/guix/system.scm'
...which would build a bootable ISO image of the same configured system. (Obviously I'd need to change things like the filesystem mounts to do this as they're specific to my laptop; it's possible to make more generic configs and inherit them per-machine but I only have one so haven't bothered yet.) Here's the config for my laptop: https://github.com/jfrederickson/dotfiles/blob/master/guix/g...
I'm sure this is happening in about 3-5 years from now, but not in your smart phone, but in an augmented reality glasses-like device (we can probably already build demos for this on NReal or Hololens). The HUD is going to be embedded in the real world. People will be able to control what information they show in their profile. I've seen some VR social apps already doing a very basic version of this, albeit in a 100% simulated environment.
But here's also Another 85+ Ideas for Computing https://github.com/samsquire/ideas2
This is the third item of the series.