Welcome to the mandelbrot set!
TERMS OF SERVICE
Getting Registered
Note: Using mandelbrot.dk for non-viewing purposes requires knowledge of Git and the Secure Shell protocol (SSH). This page has an Environment Setup section which you may refer to.
Note: If you were a registerd user before 2021-12-30 and have still not migrated your acoount, you'll need to create an SSH-key and send it to me in order to do so.
In order to become a registered user on this website, you must first contact me, either via an email or via our Discord server (refer to the bottom of this page).
When sending a request for registration, attach your preffered username, your preffered email address, and a reason for me to approve the request. You must also attach your public SSH key. You also have to explicitly confirm that you have read and agreed to the terms of service.
If any problems arise, feel free to contact me.
When your request for registration has been approved, I will grant you the user role on our Discord server, so long you are a member of it.
Creating a Repository
When you have been registered as a user, you may contact me about opening up a repository.
When I have approved the request, the repository will be available for modification [email protected]:<repo> and as read-only and on the internet at https://mandelbrot.dk/<repo>.
Granting Users Access to your Repository
You may grant other users the ability to write to your repositories.
Contact me requesting it, along with the usernames of the users you want to grant priviliges to.
Other
For any other thing not listed on this page, you may contact me about it. I will try to answer your questions.
Environment Setup
If you wish to use your user account on this site for anything meaningful, you must be familiar with Git and the Secure Shell (SSH).
This section (Environemnt Setup is my attempt at giving a basic introduction on how to operate the server. Do not hesitate to take contact to me if any problems arise.
Git
Git is a source code management tool created by Linux-creator Linus Torvalds.
Git on this site is used for managing the users' repositories.
Install Git:
-
Arch Linux:
In the terminal, run:
pacman -S git
-
Debian GNU/Linux:
In the terminal, run:
apt install git
-
Fedora Linux:
In the terminal, run:
dnf install git
-
FreeBSD:
In the terminal, run:
pkg install git
-
macOS:
Using Homebrew, in the terminal, run:
brew install git
-
OpenBSD:
In the terminal, run:
pkg_add git
-
SUSE Linux Enterprise:
In the terminal, run:
zypper in git
-
Windows:
Download and run the installer from git-scm.com.
Secure Shell (SSH)
The Secure Shell protocol allows for accessing a remote server using a shell or by other means (for example file transfer).
This site uses SSH for modifying repositories.
Install an SSH-client:
-
Arch Linux:
In the terminal, run:
pacman -S openssh
-
Debian GNU/Linux:
In the terminal, run:
apt install openssh-client
-
Fedora Linux:
In the terminal, run:
dnf install openssh-clients
-
FreeBSD:
FreeBSD is bundled with OpenSSH, and no further action is required.
-
macOS:
macOS is bundled with an SSH-client, meaning no further action is required.
-
OpenBSD:
The OpenSSH project is a part of the OpenBSD project, and as such, it is bundled with OpenBSD, and no further action is required.
-
SUSE Linux Enterprise:
In the terminal, run:
zypper in openssh
-
Windows:
Refer to Microsoft's own guidings.
When an SSH-client has been installed, you will need to generate an SSH-key. This key is used for authentication whenever you connect to the server.
Open a terminal and run the following command:
ssh-keygen -a 64 -t ed25519
I recommend using a passphrase for this key.
Observe the output: Two files – a private key and a public key – will have been created. The public key file, whose name has the .pub
suffix, must be attached to requests for registration.
NOTE: If you ever decide to generate a new key, you must notify me with the new (public) key attached. This allows me to replace the key stored on the server.
IMPORTANT: It is very important that your private key is kept, well, private. If anyone gets access to this file, notify me, and I will temporarely disable your account until you've managed to generate a new key.
Epilogue
When you have managed to install Git and an SSH-client: Congratulations!!!
You can clone (download) any Git-repository by running the following command in a terminal:
git clone <repo-addr>
Replace <repo-addr> with the address of the Git-repository you want to clone. If you plan on modifying the repository (and perhaps reuploading it later), you'll have to use the [email protected]:repo
address (Note: This requires authentication). Otherwise, you may just use the public https://mandelbrot.dk/repo
address.
Before uploading anything, you need to set up your Git profile. This profile includes your name and email address (both of which will be attached to commits). Run the following commands in a terminal:
git config --global user.name "<name>"
git config --global user.email "<email>"
Replace <name> with your name (prefereably your forename followed by you surname) and <email> with your preferred email address. Do remember that these credentials will become public once you push (upload) any commits.
To create a new, local repository, use the following command:
git init <repo>
A new repository will be created in a directory of the name <repo>, provided no such file already exists.
To upload this repository to the server, make sure you own a repository of that name on the server beforehand, and do the following in a terminal:
-
Change the directory to the directory of the local repository.
-
Add the remote (external location) origin using the command:
git remote add origin [email protected]:<repo>
Replace <repo> with the name of the repository.
You may change this address later on by using:
git remote set-url origin [email protected]:<repo>
-
Make sure the local repository is not empty. Add file changes to it via:
git add .
-
Commit to the local repository (update it) via:
git commit -m "<message>"
Replace <message> with a description of the new changes.
-
Push (upload) the changes to the remote origin via:
git push -u origin --all
Congratulations! You have now created and pushed your first repository. Remember that this method is almost universal, and knowing it may open up for opportunities elsewhere.
In the future, whenever you need to upload a new version of your repository, redo the steps 3-5.
Make sure to NEVER upload any build artifacts or other large files. Git is not intended for these types of files. Instead, host them on your own server or using a cloud service provider. Try also to avoid commiting any personal information.
If you accidentally do commit any of these things, quickly remove them from your local repository and amend the previous commit using:
git commit --amend --no-edit
And then push with the -f
flag (if the previous commit was pushed to the server). In some cases, however, the previous commit may still be accessible.
Contact
You may contact me, either via an email, or on Discord via our Discord server.
When you have been registered as a user, please make sure the email address [email protected] is not blocked by your spam filter, or you may risk having it end up there (or nowhere at all). Apple and Google do not seem to flag the address as spam. Microsoft (Hotmail, Outlook, and more), however, does.