whitespace woes

This commit is contained in:
reaction.la 2022-05-23 14:05:10 +10:00
parent 5c0c8a2a67
commit da88ce597f
No known key found for this signature in database
GPG Key ID: 99914792148C8388
11 changed files with 48 additions and 52 deletions

1
.gitattributes vendored
View File

@ -5,6 +5,7 @@
# Force the following filetypes to have unix eols and encoding, so that Windows does not break them. # Force the following filetypes to have unix eols and encoding, so that Windows does not break them.
# If a file is going to be used on linux and windows, we want it invariant, # If a file is going to be used on linux and windows, we want it invariant,
# rather than automatically translated, because automatic translation always screw things up. # rather than automatically translated, because automatic translation always screw things up.
* text=auto eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4
.gitignore text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4 .gitignore text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4
.gitattributes text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4 .gitattributes text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4
.gitmodules text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4 .gitmodules text eol=lf encoding=utf-8 whitespace=trailing-space,space-before-tab,tabwidth=4

View File

@ -1,7 +1,7 @@
[core] [core]
autocrlf = input autocrlf = input
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 safecrlf=warn
[apply] [apply]
whitespace = fix whitespace = fix
ignoreWhitespace = no ignoreWhitespace = no
@ -9,25 +9,5 @@
lg = log --max-count=6 --oneline --pretty='format:%C(auto)%h %d %Creset%p %C("#60A0FF")%cr %Cgreen %cn %G? %GT trust%Creset%n%s%n' lg = log --max-count=6 --oneline --pretty='format:%C(auto)%h %d %Creset%p %C("#60A0FF")%cr %Cgreen %cn %G? %GT trust%Creset%n%s%n'
graph = log --max-count=18 --graph --pretty=format:'%C(auto)%h %s %Cgreen(%cr) %C(bold blue)%cn %G?%Creset' --abbrev-commit graph = log --max-count=18 --graph --pretty=format:'%C(auto)%h %s %Cgreen(%cr) %C(bold blue)%cn %G?%Creset' --abbrev-commit
alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ / | grep -v ^'alias ' | sort alias = ! git config --get-regexp ^alias\\. | sed -e s/^alias\\.// -e s/\\ /\\ =\\ / | grep -v ^'alias ' | sort
fixws = !"\
if (! git diff-files --quiet .) && \
(! git diff-index --quiet --cached HEAD) ; then \
git commit -m FIXWS_SAVE_INDEX && \
git add -u :/ && \
git commit -m Fix_whitespace && \
git rebase --whitespace=fix HEAD~2 && \
git reset HEAD~ && \
git reset --soft HEAD~ ; \
elif (! git diff-files --quiet .) ; then \
git add -u :/ && \
git commit -m Fix_whitespace && \
git rebase --whitespace=fix HEAD~ && \
git reset HEAD~ ; \
elif (! git diff-index --quiet --cached HEAD) ; then \
git commit -m FIXWS_SAVE_INDEX && \
git rebase --whitespace=fix HEAD~ && \
git reset --soft HEAD~ ; \
fi"
check-whitespace = !"git diff --check $(git hash-object -t tree /dev/null) HEAD"
[commit] [commit]
gpgSign = true gpgSign = true

2
.gitignore vendored
View File

@ -14,7 +14,7 @@ sqlite3/sqlite-doc/
*.vcxproj.filters *.vcxproj.filters
*.html *.html
*.htm *.htm
wallet.cppcheck *.cppcheck
# User-specific files (MonoDevelop/Xamarin Studio) # User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs *.userprefs

View File

@ -81,7 +81,7 @@ its total.
On each block of the chain, a peers rank is the bit position of the highest On each block of the chain, a peers rank is the bit position of the highest
bit of the running total that rolled over when its stake was added for that bit of the running total that rolled over when its stake was added for that
block. block.
So if Bob has a third of the stake of Carol, and $N$ is a rank that So if Bob has a third of the stake of Carol, and $N$ is a rank that
corresponds to bit position higher than the stake of either of them, then corresponds to bit position higher than the stake of either of them, then

View File

@ -145,7 +145,7 @@ It has become painfully apparent that building a blockchain is a very large proj
Polkadot is a blockchain ecosystem, and substack a family of libraries for Polkadot is a blockchain ecosystem, and substack a family of libraries for
constructing blockchains. It is a lot a easier to refactor an existing constructing blockchains. It is a lot a easier to refactor an existing
blockchain than to start entirely from scratch. [Near] is way ahead of me, blockchain than to start entirely from scratch. [Near] is way ahead of me,
because not suffering from not invented here syndrome. because not suffering from not invented here syndrome.
Polkadot is designed to make its ecosystem subordinate to the primary Polkadot is designed to make its ecosystem subordinate to the primary
@ -553,7 +553,7 @@ generate proofs that prove something about the results of hashes and
elliptic point operations, making very difficult to produce a proof that a elliptic point operations, making very difficult to produce a proof that a
pile of proofs in the pre-image of a merkle tree have been verified. I pile of proofs in the pre-image of a merkle tree have been verified. I
suspect that a prover might take a very very long time to produce such a suspect that a prover might take a very very long time to produce such a
proof. proof.
The proofs are succinct, in that you can prove something about a gigantic The proofs are succinct, in that you can prove something about a gigantic
pile of data and the size of the proof and the time taken to verify scarcely pile of data and the size of the proof and the time taken to verify scarcely

View File

@ -263,7 +263,7 @@ information from the peer that has the node with more children.
stroke-width="1" stroke-width="1"
stroke-linecap="round" > stroke-linecap="round" >
<g font-family="'Times New Roman'" font-size="10" <g font-family="'Times New Roman'" font-size="10"
font-weight="400" fill-rule="evenodd" fill="black" > font-weight="400" fill-rule="evenodd" fill="black" >
<g id="blockchain_id" > <g id="blockchain_id" >
<ellipse cx="10" cy="240" fill="#0D0" rx="8" ry="5"/> <ellipse cx="10" cy="240" fill="#0D0" rx="8" ry="5"/>
<text fill="black"> <text fill="black">

View File

@ -1,7 +1,7 @@
--- ---
# katex # katex
title: Number encoding title: Number encoding
... ---
# The problem to be solved # The problem to be solved
As computers and networks grow, any fixed length fields As computers and networks grow, any fixed length fields
@ -90,7 +90,7 @@ are similarly represented by four base 58 characters.
And so on, for arbitrarily large values. A truly enormous number is going to start with `zzzz....`, `z` being the representation of $58-1$ in base 58. And so on, for arbitrarily large values. A truly enormous number is going to start with `zzzz....`, `z` being the representation of $58-1$ in base 58.
This amounts to shifting the underlying value to the appropriate range, then displaying it as the shifted base 58 value. This amounts to shifting the underlying value to the appropriate range, then displaying it as the shifted base 58 value.
We display a value in the range $0\le n \lt 58/2$ as itself, We display a value in the range $0\le n \lt 58/2$ as itself,

View File

@ -428,7 +428,7 @@ his private network address space, nor his subnet of the globally routable
address space, gets sent to the internet facing network interface. address space, gets sent to the internet facing network interface.
Further, he would like every computer on his network to be automatically Further, he would like every computer on his network to be automatically
assigned a globally routable address if it uses a name in the global system, assigned a globally routable address if it uses a name in the global system,
or a private fd:: address if it is using a name not in the global system, so or a private fd:: address if it is using a name not in the global system, so
that the first time his computer tries to access the network with the domain that the first time his computer tries to access the network with the domain
name he just assigned, it gets a unique network address which will never name he just assigned, it gets a unique network address which will never

View File

@ -28,18 +28,25 @@ winConfigure.bat
Should the libraries change in a subsequent `pull ` you will need Should the libraries change in a subsequent `pull ` you will need
```bat ```bat
pull -f --recurse-submodules git pull
rem you get a status message indicating libraries have been updated.
git pull -force --recurse-submodules
winConfigure.bat winConfigure.bat
``` ```
in order to rebuild the libraries.
The `--force` is necessary, because `winConfigure.bat` changes
many of the library files, and therefore git will abort the pull.
[cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed [cryptographic software is under attack]:./docs/contributor_code_of_conduct.html#code-will-be-cryptographically-signed
"Contributor Code of Conduct" "Contributor Code of Conduct"
{target="_blank"} {target="_blank"}
winConfigure.bat also configures the repository you just created to use `winConfigure.bat` also configures the repository you just created to use
`.gitconfig` in the repository, causing git to to implement GPG signed `.gitconfig` in the repository, causing git to to implement GPG signed
commits -- because [cryptographic software is under attack] from NSA commits -- because [cryptographic software is under attack] from NSA
entryists, and shills, who seek to introduce backdoors. entryists and shills, who seek to introduce backdoors.
This may be inconvenient if you do not have `gpg` installed and set up. This may be inconvenient if you do not have `gpg` installed and set up.
@ -48,32 +55,40 @@ This may be inconvenient if you do not have `gpg` installed and set up.
1. `git lg` to display the gpg trust information for the last four commits. 1. `git lg` to display the gpg trust information for the last four commits.
For this to be useful you need to import the repository public key For this to be useful you need to import the repository public key
`public_key.gpg` into gpg, and locally sign that key. `public_key.gpg` into gpg, and locally sign that key.
1. `git fixws` to standardise white space to the project standards 1. `git graph` to graph the commit tree with signing status
1. `git graph` to graph the commit tree
1. `git alias` to display the git aliases. 1. `git alias` to display the git aliases.
```bash ```bash
# To verify that the signature on future pulls is unchanged. # To verify that the signature on future pulls is
# unchanged.
gpg --import public_key.gpg gpg --import public_key.gpg
gpg --lsign 096EAE16FB8D62E75D243199BC4482E49673711C gpg --lsign 096EAE16FB8D62E75D243199BC4482E49673711C
# We ignore the Gpg Web of Trust model and instead use
# the Zooko identity model.
# We use Gpg signatures to verify that remote repository
# code is coming from an unchanging entity, not for
# Gpg Web of Trust. Web of Trust is too complicated
# and too user hostile to be workable or safe.
# Never --sign any Gpg key related to this project. --lsign it.
# Never check any Gpg key related to this project against a
# public gpg key repository. It should not be there.
# Never use any email address on a gpg key related to this project
# unless it is only used for project purposes, or a fake email,
# or the email of an enemy.
``` ```
We ignore the Gpg Web of Trust model and instead use the Zooko
identity model.
We use Gpg signatures to verify that remote repository code
is coming from an unchanging entity, not for Gpg Web of Trust. Web
of Trust is too complicated and too user hostile to be workable or safe.
Never --sign any Gpg key related to this project. --lsign it.
Never check any Gpg key related to this project against a public
gpg key repository. It should not be there.
Never use any email address on a gpg key related to this project
unless it is only used for project purposes, or a fake email, or the
email of an enemy. We don't want Gpg used to link different email
addresses as owned by the same entity, and we don't want email
addresses used to link people to the project, because those
identities would then come under state and quasi state pressure.
To build the documentation in its intended html form from the markdown To build the documentation in its intended html form from the markdown
files, execute the bash script file `docs/mkdocs.sh`, in an environment where files, execute the bash script file `docs/mkdocs.sh`, in an environment where
`pandoc` is available. On Windows, if Git Bash and Pandoc has been `pandoc` is available. On Windows, if Git Bash and Pandoc
installed, you should be able to run a shell file in bash by double clicking on it. has been installed, you should be able to run this shell
file in bash by double clicking on it.
[Pre alpha release](./RELEASE_NOTES.html), which means it does not yet work even well enough for [Pre alpha release](./RELEASE_NOTES.html), which means it does not yet work even well enough for
it to be apparent what it would do if it did work. it to be apparent what it would do if it did work.

View File

@ -279,7 +279,7 @@ which claims:
setup, with the best of SNARKs, support for recursion and low setup, with the best of SNARKs, support for recursion and low
verification cost ... verification cost ...
... transpiled to ZK bytecode, which can be executed efficiently in our VM running inside a STARK. ... transpiled to ZK bytecode, which can be executed efficiently in our VM running inside a STARK.
So, if you have their VM that can run inside a stark, and their ZK So, if you have their VM that can run inside a stark, and their ZK
bytecode, you can write your own ZK language to support a friendly bytecode, you can write your own ZK language to support a friendly

View File

@ -32,7 +32,7 @@ navigation at your fingertips.]
This layout is in some way automatically generated on the server, which This layout is in some way automatically generated on the server, which
sucks. Probably relies on server side include, which is the easiest way to sucks. Probably relies on server side include, which is the easiest way to
do it.The documentation needs to be in every install and every repository. do it.The documentation needs to be in every install and every repository.
Thus wxWidgets documentation on the server has nice organizational Thus wxWidgets documentation on the server has nice organizational
style, but on each person's individual installed copy, disorganized crap. style, but on each person's individual installed copy, disorganized crap.
@ -55,7 +55,7 @@ and any subdirectories.
On reflection, we will not use any cleverness to have a single header bar On reflection, we will not use any cleverness to have a single header bar
file that all html files use because each top bar of each html file will b file that all html files use because each top bar of each html file will b
different, having different items highlighted, and according to its depth in different, having different items highlighted, and according to its depth in
the tree, a different number of '../' prepended to the links in the top bar. the tree, a different number of '../' prepended to the links in the top bar.
Each markdown file and directory in a directory should have a short Each markdown file and directory in a directory should have a short
human friendly name, which will correspond to the name in the top bar, human friendly name, which will correspond to the name in the top bar,