fixed the web links
This commit is contained in:
parent
ec0e8650cb
commit
0b2e33d0c4
@ -1,5 +1,5 @@
|
|||||||
[core]
|
[core]
|
||||||
autocrlf = input
|
autocrlf = false #line ending issues should be handled in .gitattributes
|
||||||
whitespace = -tab-in-indent,tabwidth=4,indent-with-non-tab,trailing-space,space-before-tab
|
whitespace = -tab-in-indent,tabwidth=4,indent-with-non-tab,trailing-space,space-before-tab
|
||||||
safecrlf=warn
|
safecrlf=warn
|
||||||
[apply]
|
[apply]
|
||||||
|
@ -3,9 +3,11 @@ title: How to Save the World
|
|||||||
...
|
...
|
||||||
I have almost completed an enormous design document for an uncensorable social network intended to contain a non evil scalable proof of share currency, and I have a wallet that can generate secrets, but the wallet is missing no end of critical features – it is pre-pre alpha. When it is early pre alpha, I am going to publish it on Gitea, and call for assistance.
|
I have almost completed an enormous design document for an uncensorable social network intended to contain a non evil scalable proof of share currency, and I have a wallet that can generate secrets, but the wallet is missing no end of critical features – it is pre-pre alpha. When it is early pre alpha, I am going to publish it on Gitea, and call for assistance.
|
||||||
|
|
||||||
Here is a link to one version of the [white paper](social_networking.html), focusing primarily on social media. (But though information wants to be free, programmers need to get paid.)
|
Here is a link to one version of the [white paper](manifesto/social_networking.html), focusing primarily on social media. (But though information wants to be free, programmers need to get paid.)
|
||||||
|
|
||||||
Here is a link to [another version](white_paper.html) of the white paper, focusing primarily on money and getting rich by protecting capitalism from the state.
|
Here is a link to [another version](manifesto/white_paper.html) of the white paper, focusing primarily on money and getting rich by protecting capitalism from the state.
|
||||||
|
|
||||||
|
Here is a link to my plan for [conquering the world](manifesto/SWIFT.html).
|
||||||
|
|
||||||
# Speech and commerce
|
# Speech and commerce
|
||||||
|
|
||||||
|
61
docs/setup/guix_and_shepherd.md
Normal file
61
docs/setup/guix_and_shepherd.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
---
|
||||||
|
title:
|
||||||
|
Guix and Shepherd
|
||||||
|
sidebar: true
|
||||||
|
misc_links: >-
|
||||||
|
<a href="set_up_build_environments.md" target="_blank">Set up build environments</a><br>
|
||||||
|
abstract: >-
|
||||||
|
I know nothing about Guix. This file exists to record my learning
|
||||||
|
experience.\
|
||||||
|
|
||||||
|
\
|
||||||
|
|
||||||
|
The plan is to be able to install Guix on debian, then load a reproducible
|
||||||
|
configuration file so that I can instantly and reproducibly produce a
|
||||||
|
host setup the way I want it. (Which nix, lacking its own init
|
||||||
|
system, cannot quite do, because one always wants to run services.)
|
||||||
|
...
|
||||||
|
|
||||||
|
Guix is primarily a package manager with a declarative functional language
|
||||||
|
as its package manager.
|
||||||
|
|
||||||
|
Which makes it possible to reproducibly create a setup.
|
||||||
|
Unfortunately the packages are hard to customise,
|
||||||
|
because access to the
|
||||||
|
configuration files is restricted and non trivial -- you have to derive your own package from an existing package
|
||||||
|
|
||||||
|
Guix solves the problem of dll hell by having any number of configurations living on the same machine --
|
||||||
|
which leads to massive and rapid accumulation of garbage.
|
||||||
|
Garbage collection is very slow, and requires either a lot of ram or a lot of swap (12GB swap recommended.
|
||||||
|
This is a feature I do not want, but wind up suffering, for the advantage of reproducible setups.
|
||||||
|
|
||||||
|
To avoid bloat, can use a strategy of re-install from scratch, which Guix makes less painful.
|
||||||
|
|
||||||
|
"With Guix System, you declare all aspects of the operating system configuration and Guix takes care of
|
||||||
|
instantiating the configuration in a transactional, reproducible, and stateless fashion
|
||||||
|
(see [System Configuration](https://guix.gnu.org/manual/en/html_node/System-Installation.html))."
|
||||||
|
|
||||||
|
|
||||||
|
# What Guix is
|
||||||
|
|
||||||
|
A Guix package is a pure function, which generates the install
|
||||||
|
as directory identified by its hash in `/gnu/store` and then a symbolic link
|
||||||
|
in the users directory references the package by human readable name, analogous
|
||||||
|
to git having branch names that point to commits.
|
||||||
|
|
||||||
|
Which is great if you have a lot of users each of which might want a different
|
||||||
|
version of software, but I want to install stuff that will run under
|
||||||
|
the init system, Shepherd.
|
||||||
|
|
||||||
|
The package manager is a great pile of such pure functions,
|
||||||
|
but if you want to install stuff that is fully configured the way you want it configured,
|
||||||
|
you are going to have to derive a packages from an existing package
|
||||||
|
|
||||||
|
The Guix install system, Shepherd, cannot be a pure function, there can only be one http service,
|
||||||
|
one wireguard service, and so forth. It has to be the escape hatch that makes a purely functional
|
||||||
|
system actually do things by not being a purely functional system, akin to Haskell Monads,
|
||||||
|
an isolated piece of procedural code that make all the purely functional code actually do something.
|
||||||
|
|
||||||
|
# Install Guix and Shepherd
|
||||||
|
|
||||||
|
not yet begun
|
@ -3,10 +3,17 @@ title:
|
|||||||
Nixos
|
Nixos
|
||||||
sidebar: true
|
sidebar: true
|
||||||
misc_links: >-
|
misc_links: >-
|
||||||
<a href="set_up_build_environments.md" target="_blank">Set up build environments</a>.<br>
|
<a href="set_up_build_environments.md" target="_blank">Set up build environments</a><br>
|
||||||
<a href="wireguard.html" target="_blank">Wireguard</a>.<br>
|
|
||||||
<a href="dovecot.html" target="_blank">Dovecot</a>.<br>
|
|
||||||
abstract: >-
|
abstract: >-
|
||||||
|
Unfortunately Nix and Nixos has fallen to the social justice warriors
|
||||||
|
who are turning it into broken rubbish.\
|
||||||
|
|
||||||
|
\
|
||||||
|
|
||||||
|
Alternatives: Primary alternative is Guix, which has its own init system, Shepherd, and uses Scheme as its language.
|
||||||
|
|
||||||
|
\
|
||||||
|
|
||||||
I know nothing about nix. This file exists to record my learning
|
I know nothing about nix. This file exists to record my learning
|
||||||
experience.\
|
experience.\
|
||||||
|
|
||||||
|
@ -4,13 +4,15 @@ title:
|
|||||||
sidebar: true
|
sidebar: true
|
||||||
notmine: false
|
notmine: false
|
||||||
misc_links: >-
|
misc_links: >-
|
||||||
<a href="wireguard.html" target="_blank">Wireguard</a>.<br>
|
<a href="wireguard.html" target="_blank">Wireguard</a><br>
|
||||||
<a href="dovecot.html" target="_blank">Dovecot</a>.<br>
|
<a href="dovecot.html" target="_blank">Dovecot</a><br>
|
||||||
<a href="nix.html" target="_blank">nix</a>.<br>
|
<a href="nix.html" target="_blank">nix</a><br>
|
||||||
|
<a href="guix_and_shepherd.html" target="_blank">Guix and Shepherd</a><br>
|
||||||
abstract: >-
|
abstract: >-
|
||||||
These files are not specific to rhocoin. They are a collection
|
These files are not specific to rhocoin. They are a collection
|
||||||
of notes on setting up operating systems and tools. Every time I mess around
|
of notes on setting up operating systems and tools. Every time I mess around
|
||||||
and encounter some grief, I add to this pile of notes.
|
and encounter some grief, I add to this pile of notes, which has become
|
||||||
|
inconveniently long and needs to be broken up.
|
||||||
...
|
...
|
||||||
# partitioning for linux
|
# partitioning for linux
|
||||||
|
|
||||||
@ -3080,6 +3082,19 @@ then put a symlink to your directory in the repository in your apache
|
|||||||
directories, whereupon the clone command takes as its argument the
|
directories, whereupon the clone command takes as its argument the
|
||||||
directory url (with no trailing backslash).
|
directory url (with no trailing backslash).
|
||||||
|
|
||||||
|
### Merge Conflicts
|
||||||
|
|
||||||
|
Resolving a merge conflict is usually a little bit messy, creating opportunities to make mistakes
|
||||||
|
|
||||||
|
The safest way to resolve a merge conflict is to use git `mergetool`, followed by `git gui`.
|
||||||
|
|
||||||
|
`git gui` is useless for resolving merge conflicts, but after having resolved them in your mergetool, then when you click on commit in `git gui`, you
|
||||||
|
can see that the situation is what you think it is before issuing the commit command.
|
||||||
|
|
||||||
|
In linux, git gui is not necessarily available unless you have installed not just `git`, but `git-all`
|
||||||
|
|
||||||
|
The best mergetool by far is Meld. But it is preferable to issue the commit command from within `git-gui`,
|
||||||
|
since you get a more global view of the situation.
|
||||||
|
|
||||||
## Sharing git repositories
|
## Sharing git repositories
|
||||||
|
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit b6e1e94cfb3d8dffdb1bb92b6102e5fad5fe6093
|
Subproject commit de5189af55c7470422f4490ad0d85549b80c011d
|
Loading…
Reference in New Issue
Block a user