Cooper’s Hill Annual Cheese Rolling Contest
Roll you glorious cheese, and the insane people that seek to catch it. All in 4K video.
Roll you glorious cheese, and the insane people that seek to catch it. All in 4K video.
This is sort of covered in other spots, but not as clearly and from scratch. Here’s a complete guide that shows how to set up your own git server and git clients. I found this setup handy when trying out some more complex git merging commands and experimenting with remotes while learning git.
I tested this on Ubuntu 16.04 by creating an Ubuntu virtual machine and then cloning it. 1 VM for the server, and 2 for clients. I used bridged networking so each would get their own IP address, but that’s not required as long as the VM’s can communicate with each other over TCP/IP.
There are two ways to set the git accounts up. The first way shown has all client users accessing the repository through the same server user account. While each user’s submissions will be labeled correctly in the git log, having everyone use the same system account isn’t safe computing practices for groups. Instead, if you follow the instructions in the optional part you can use individual user accounts and keep things more safe.
First, on the server:
server$ sudo apt-get install openssh-server
server$ ps -A | grep sshd
server$ sudo apt-get install git-core
server$ sudo adduser git server$ sudo passwd git server$ su - git server$ mkdir -p .ssh
Next, on your client:
client$ sudo apt-get install git-core
client$ ssh-keygen -t rsa
This should create a file called id_rsa.pub in your ~/.ssh directory. See documentation on ssh-keygen for full details.
client$ scp ~/.ssh/id_rsa.pub git@server.com:/home/git/client_id_rsa.pub
Back on server:
server$ mkdir ~/.ssh
server$ cat ~/client_id_rsa.pub >> ~/.ssh/authorized_keys
sudo groupadd gituser sudo usermod -a -G gituser git
server$ cd ~git server$ mkdir -p mydepot server$ cd mydepot server$ git init --bare --shared=group Initialized empty Git repository in /home/git/mydepot/
chgrp -R gituser /home/git/mydepot chmod -R g+rw /home/git/mydepot chmod g+s `find /home/git/mydepot -type d`
Back on client (if it is a clean client without files for the repo):
client$ mkdir -p depot/project1 client$ cd depot/project1 client$ git config --global user.email "you@client.com" client$ git config --global user.name "clientUsername"
client$ git clone ssh://git@serverurl_or_ip:/home/git/mydepot/ .
Enter your username password and you’re done. The clone and the remote should be connected. Push/Fetch as normal. See the optional part below if you don’t want to use a global git user account on the server.
Or – Back on client that HAS existing files you want to get to the server:
Lets say you have a client that already has a bunch of files or even a git repository and you want to start using a remote repository. Here’s how you can add those local files into the remote server repository you just created.
client$ git init Initialized empty Git repository in <blah> client$ git add . client$ git commit <Write something about this being a commit from the client>
client$ git remote add origin ssh://git@serverurl_or_ip:/home/git/mydepot/
If you don’t want to use the git account, then you must first create a user account on the server that matches the client userid (making sure to set the group/user properties on the server account), then use this:
client$ git remote add origin ssh://serverurl_or_ip:/home/git/mydepot/
Enter the password for your username or the ‘git’ server user depending on which one you used.
client$ git config --global push.default simple client$ git push --set-upstream origin master
You will be prompted for the passkey you used when you created your RSA key in the above push step. Enter that passkey (not your git/user account password).
The previous instructions had everyone use the same ‘git’ server user account when checking in – which means everyone must have the ‘git’ server account password. The log will show the right names, but security-wise this isn’t always best to use one global account on servers.
If you have more than one user but want everyone to log in separately, simply create a user account on the server like this:
On client for each client user:
client$ scp .ssh/myclient_id_rsa.pub git@serverurl_or_ip:/home/git
On server:
server$ cat ~/myclient_id_rsa.pub >> ~/.ssh/authorized_keys
server$ sudo useradd client_username server$ sudo passwd client_username
server$ sudo usermod -a -G gituser client_username
From now on, you don’t need to specify the git user account. Do not put the git@ part into the git clone url and use the username’s password when asked to log in:
client$ git clone ssh://serverurl_or_ip:/home/git/mydepot .
This method works great, but does require that you keep the client and server userid account passwords synced.
Once the server is set up, you’re almost there. Microsoft has written a good guide. You’ll need OpenSSH or Windows 10 installed the generate an ssh key (if you don’t have one already).
https://docs.microsoft.com/en-us/vsts/git/use-ssh-keys-to-authenticate?view=vsts
Set the Youtube video settings to 4320p and watch a 12K video capture of New York downtown from the helicopter mounted Shotover K1 Hammerhead Aerial Camera Array.
Terry Davis is a programmer that has had a very difficult life. After a series of manic episodes, at 44 Terry is now homeless and most believe he has schizophrenia or suffering some other seriously debilitating mental disorder. He was most recently spotted on the streets here in Portland.
What’s unusual about Terry is that he wrote his own operating system: TempleOS. It’s free to download, and is written in HolyC. He even has his own youtube channel. There is even video of him debugging it while living homeless in his car in the middle of parking lots.
His life currently demonstrates the terrible state of mental health care in the United States, and the difficult reality of many homeless. They are often very intelligent, but have disorders that make them non-functional in society.
Read more about TempleOS and Terry on wikipedia.
Warning: his more recent videos have racist and inappropriate sexual language.
Saki is a great author – I think he’s due for a re-discovery. He’s a humorist author that wrote around the turn of the century, but his biting wit and description of high society social foibles is timeless. Here’s a clip:
Clovis continued, “My mother is thinking of getting married.”
His host responded, “Again!”
“It’s the first time.”
“Of course, you ought to know. I was under the impression that she’d been married once or twice at least.”
“Three times, to be mathematically exact. I meant that it was the first time she’d thought about getting married; the other times she did it without thinking.
I’ve always been one that believes when you’re together, be together. Put your !@#$ cell phones away when having dinner together or enjoying a show. I personally believe the Phone Stacking Game should be mandatory. Now Yondr has come out with something almost better. Something I hope catches on.
You are handed one of their little Yondr pouches – slightly larger than a cell phone. You put your cell phone into the pouch and the case locks shut with a little pin/tag similar to those use in department stores on clothes. You can only unlock the pouch and get your phone back out at unlocking stations located at the exit.
This allows you to go to venues where you don’t want cell phones to be distracting the experience yet let each person retain ownership and control of their phone. Even better, if you might get an emergency call, you can hear the ring tone/feel the vibration and immediately exit to see it.
I can see parents using this with children, at movie theaters, or even churches.