2. Project management¶
This week I worked on building out more of my GitLab website. I describe how I did this below. I worked on my introduction web page to introduce myself to other students. I learned about steps for uploading files to my GitLab archive and made sure git was installed on my local PC. I want to make sure I know what I am doing before pushing, to not push large files or strain the system.
Assignment¶
work through a git tutorial build a personal site in the class archive describing you and your final project example example example
Checklist¶
Have you? | Done |
---|---|
Made a website and described how you did it | Yes |
Introduced yourself | Yes |
Documented steps for uploading files to archive | Yes |
Pushed to the class archive | Yes |
Signed and uploaded the Student Agreement | Yes |
Make my website¶
My home page to my website is here. On my home page I decided to make icons for each major part of my website using images from each assignment or project. I used Inkscape to trace the outlines of 3D and 3D models resulting in a pencil drawn black on white icon style. I used the Barran USSR font and traced the text using this font to add it to the icons, to keep the home page style intact.
I was getting driven nuts by not being able to control text formatting using Markdown, so I went to the link https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet listed in Fab Academy Tutorials. The tutorial helped, and I was able to achieve the formatting I have wanted. I had to look elsewhere to find out that two spaces at the end of a markdown line adds a normal line break. I could not get spell check to work with Firefox and git lab, so that was disappointing.
Atom Editor¶
After learning and using git from the command line for several weeks, I installed and have been using the open source Atom editor Atom has spell check and a awesome markdown-preview package that has really sped up my documentation. I set up git repo in Atom using the documention provide on the Atom website above. The Git gui in Atom to allows me to see what I am about to push to my repository and all locally updated files are show highlighted. Here is an image of what Atom looks like when used with Git:
Introduced yourself¶
I created an about me section of this website in 2020. I have been updating and re-configuring this section multiple times per year. I would like this about me page to be a succinct intro covering my history and background leading up to what I do currently. Later I’d like to add more details about my path in life on a sub-page or pages that allow me to reflect on my own history and path, so I can better understand where I am now, why I’m doing what I do now and possible paths for the future.
Push to class archive¶
I watched the version control recitation video and I learned about how to set up git on my local PC which has Linux mint installed. I have used Linux for a long time for file servers at home and MS Windows daily, until 2019. In 2019 switched to using Linux daily, so I could be ready for Fab Academy. Here are the commands I successfully executed in terminal on my home pc:
git config --global user.name "Daniel Meyer"
git config --global user.email "myemail"
ls ~/.ssh
I had already setup key previously as required to get going with gitlab so this was returned by my local computer:
id_##### id_#####.pub
Git Lab Setup¶
2023-Jan-20 Friday:¶
I had wiped my linux mint install off my main laptop and needed to re-clone my fab academy gitlab to my local computer. Also the Atom editor I was using is being discontinued, so I switched to Visual Studio Code, a similar editor.
Here are my commands I ran to get my git setup!
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ git --version
git version 2.34.1
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ ls ~/.ssh/
ls: cannot access ‘/home/meistertek/.ssh/’: No such file or directory
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ ssh-keygen -t rsa -C "meistertek@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/home/meistertek/.ssh/id_rsa):
Created directory ‘/home/meistertek/.ssh’.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/meistertek/.ssh/id_rsa
Your public key has been saved in /home/meistertek/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx meistertek@gmail.com
The key’s randomart image is:
+—[RSA 3072]----+
|xxxxxxxxxxxxxxxxx|
|ooooooooooooooooo|
|ooooooooooooooooo|
|ooooooooooooooooo|
|ooooooooooooooooo|
|ooooooooooooooooo|
|ooooooooooooooooo|
|ooooooooooooooooo|
|ooooooooooooooooo|
+----[SHA256]-----+
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ cat ~/.ssh/id_rsa.pub
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx= meistertek@gmail.com
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ git config --global user.name "Daniel Meyer"
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ git config --global user.email "meistertek@gmail.com"
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ ls ~/.ssh
id_rsa id_rsa.pub
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ git clone https://gitlab.fabcloud.org/academany/fabacademy/2020/labs/incitefocus/students/daniel-meyer.git
Cloning into ‘daniel-meyer’…
remote: Enumerating objects: 6882, done.
…
Updating files: 100% (1229/1229), done.
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ git status
fatal: not a git repository (or any of the parent directories): .git
Shit I’m in the worng director thanks linux for telling me what’s wrong!
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~$ cd /home/meistertek/daniel-meyer
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~/daniel-meyer$ git status
On branch master
Your branch is up to date with ‘origin/master’.
nothing to commit, working tree clean
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~/daniel-meyer$ sudo apt-get install git
[sudo] password for meistertek:
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
git is already the newest version (1:2.34.1-1ubuntu1.6).
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~/daniel-meyer$ sudo apt update
Hit:1 http://mirrors.gigenet.com/ubuntuarchive jammy InRelease
Ign:2 http://packages.linuxmint.com vera InRelease
Hit:3 http://mirrors.gigenet.com/ubuntuarchive jammy-updates InRelease
…
Hit:13 https://ppa.launchpadcontent.net/inkscape.dev/stable/ubuntu jammy InRelease
Hit:14 https://ppa.launchpadcontent.net/mixxx/mixxx/ubuntu jammy InRelease
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
All packages are up to date.
meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~/daniel-meyer$ sudo add-apt-repository ppa:git-core/ppa
You are about to add the following PPA:
The most current stable version of Git for Ubuntu.
For release candidates, go to https://launchpad.net/~git-core/+archive/candidate . More info: https://launchpad.net/~git-core/+archive/ubuntu/ppa Press Enter to continue or Ctrl+C to cancel … Get:17 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy/main Translation-en [2,088 B] … After this operation, 11.4 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 https://ppa.launchpadcontent.net/git-core/ppa/ubuntu jammy/main amd64 git amd64 1:2.39.1-0ppa1~ubuntu22.04.1 [6,161 kB] … Processing triggers for man-db (2.10.2-1) … meistertek@meistertek-ThinkPad-X1-Yoga-2nd:~/daniel-meyer$
ALL DONE! Now I’m ready to do command line git push and pull or to install git for Visual Studio Code.
For Visual Studio Code I ened up simply installing the offical GitLab Workflow extension and from there followed the instructions that showed up in Visual Studio Code ater the extension was installed, Then at https://gitlab.fabcloud.org/academany/fabacademy/2020/labs/incitefocus/ I went to Settings then access tokens, and then setup an access token for myself as a maintainer.
Then I clicked the “Add Account” button in the VS Code GitLab Workflow sidebar in VS Code.
I then pasted the line below into the VS Code box that popped up
https://gitlab.fabcloud.org/academany/fabacademy/2020/labs/incitefocus/students/daniel-meyer/-/settings/access_tokens
Then I clicked the clippy board icon to copy my new project access token on my gitlab and pasted that into the VS Code box that popped up
That failed :( with the following logged errors:
userMessage”: “Request failed: Can’t add GitLab account for https://gitlab.fabcloud.org/academany/fabacademy/2020/labs/incitefocus/students/daniel-meyer. Check your instance URL and network connection.”, “errorMessage”: “invalid json response body at https://gitlab.fabcloud.org/users/sign_in reason: Unexpected token < in JSON at position 0”, “stack”: [ “FetchError: invalid json response body at https://gitlab.fabcloud.org/users/sign_in reason: Unexpected token < in JSON at position 0”, “\tat /home/meistertek/.vscode/extensions/gitlab.gitlab-workflow-3.59.2/out/extension.js:4:332857”, “\tat process.processTicksAndRejections (node:internal/process/task_queues:96:5)”, “\tat async wu (/home/meistertek/.vscode/extensions/gitlab.gitlab-workflow-3.59.2/out/extension.js:450:2372)”, “\tat async LT (/home/meistertek/.vscode/extensions/gitlab.gitlab-workflow-3.59.2/out/extension.js:450:3162)”, “\tat async /home/meistertek/.vscode/extensions/gitlab.gitlab-workflow-3.59.2/out/extension.js:489:7556”, “\tat async s.h (/usr/share/code/resources/app/out/vs/workbench/api/node/extensionHostProcess.js:94:107614)”
To figue out what I was doing wrong I looked at Nadieh’s Fab Academy site at: https://fabacademy.org/2021/labs/waag/students/nadieh-bremer/blog/week-1a/#using-http—dead-end
What I was doing wrong: I needed to enter only “https://gitlab.fabcloud.org” and then my token after that. I was entering my entire fitlab.fabcloud.org/etc etc site name.
Next I installed LTeX to spell check code and documents in VS Code. LTeX is a Grammar/spell checker using LanguageTool with support for LaTeX, Markdown, and others.
2020-Feb-16 Sunday:¶
Today I worked on setting up for my first git clone, pull and push.
git clone git@gitlab.fabcloud.org:academany/fabacademy/2020/labs/incitefocus/students/daniel-meyer.git
This was the result:
Cloning into ‘daniel-meyer’… The authenticity of host ‘gitlab.fabcloud.org (13.59.248.79)’ can’t be established. ECDSA key fingerprint is SHA256:Rphnjz211wPLjTJcyAip0xozt0hOoFgT9hl5eZfxzd0. Are you sure you want to continue connecting (yes/no)? n Please type ‘yes’ or ‘no’: no Host key verification failed. fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.’‘
Something was wrong, so I decide to run the commands below to double-check things:
git --version
git version 2.17.1
ls ~/.ssh/
id_##### id_#####.pub
cat ~/.ssh/id_rsa.pub
cat: /home/meistertek/.ssh/id_rsa.pub: No such file or directory
so I ran the command:
ssh-keygen -t rsa -C "my_email"
Generating public/private rsa key pair. Enter file in which to save the key (/home/meistertek/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/meistertek/.ssh/id_rsa. Your public key has been saved in /home/meistertek/.ssh/id_rsa.pub. The key fingerprint is: SHA256:#####myemail The key’s randomart image is:
+—[RSA 2048]----+
| ** |
| ** |
| ** |
| ** |
| ** |
| ** |
| ** |
| ** |
| ** |
+----[SHA256]-----+
Ok so now I had a sha256 key setup, time to re-try
cat ~/.ssh/id_rsa.pub
ssh-rsa #########
Cool my ssh-rsa key was working
Now I followed the ret of the steps at: http://academany.fabcloud.io/fabacademy/2020/recitations/version-control/
git clone https://gitlab.fabcloud.org/my-site address as copied from blue clone dropdown button link on git lab
Cloning into ‘daniel-meyer’…
The authenticity of host ‘gitlab.fabcloud.org (##.##.###.##)’ can’t be established.
ECDSA key fingerprint is SHA256:######.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘gitlab.fabcloud.org,##.##.###.##’ (ECDSA) to the list of known hosts.
remote: Enumerating objects: 42, done.
remote: Counting objects: 100% (42/42), done.
remote: Compressing objects: 100% (42/42), done.
remote: Total 490 (delta 20), reused 0 (delta 0)
Receiving objects: 100% (490/490), 3.00 MiB | 13.89 MiB/s, done.
Resolving deltas: 100% (286/286), done.
It looked like maybe it worked? I thought about where the repository may be located locally… I browsed my home directory and sure enough there was my local repository in /home/meistertek/daniel-meyer
Yay!
Now it was time for me to batch process all myu photos with ImageMagick, which was a blast from the past for me. I used to use ImageMagick on a Sun SPARCstation CAD Workstation running UNIX back in the late 90’s. We used a gui with ImageMagick x-windows back then, so I looked to a IamgeMagick gui, it looked like a pain to install. So I decided to look at GIMP batch processing. I found this site for a gimp batch gui plugin that allows re-size and compression to be done easily. [https://ulyssesonline.com/2008/09/22/batch-resize-images-with-gimp/] This worked quite well and was easy to use.
Next I worked on pushing my git repo back up with all the smaller batch processed images.
git status
On branch master Your branch is up-to-date with ‘origin/master’.
Changes not staged for commit:
(use “git add/rm
deleted: docs/images/fabshop/hdmakerslidewheels.jpg
deleted: docs/images/fabshop/leanfablabven.jpg
deleted: docs/images/fabshop/rigidmakerslide.jpg
deleted: docs/images/sample-pic-2.jpeg
deleted: docs/images/scijigs.jpg
deleted: docs/images/scimillsketch1.jpg
deleted: docs/images/scirota.jpg
deleted: docs/images/week01/Fab_Shop_Ad.jpg
deleted: docs/images/week01/assignment-photo.jpg
deleted: docs/images/week01/dmeyer_bike.jpg
deleted: docs/images/week01/dmeyer_mazak_cnc.jpg
deleted: docs/images/week01/dmeyer_trs80_modem.jpg
deleted: docs/images/week01/dmeyer_welder.jpg
deleted: docs/images/week01/msi_fab_lab_team.JPG
deleted: docs/images/week01/sshc_airplane_hackers.jpg
Untracked files:
(use “git add
docs/images/fabshop/land/
docs/images/fabshop/port/
docs/images/week01/land/
docs/images/week01/port/
no changes added to commit (use “git add” and/or “git commit -a”)
ok the above reflected the changes I had made locally
I had been changing .mk files online through git lab and I had made changes locally to images re-sizing them and making a better images folder structure. Next I ran a git add . Command
git add
Nothing returned which in Linux/Unix means all went well.
git pull
remote: Enumerating objects: 24, done. remote: Counting objects: 100% (24/24), done. remote: Compressing objects: 100% (16/16), done. remote: Total 20 (delta 15), reused 6 (delta 4) Unpacking objects: 100% (20/20), done. From gitlab.fabcloud.org:academany/fabacademy/2020/labs/incitefocus/students/daniel-meyer 6aaee36..46ac5be master -> origin/master Updating 6aaee36..46ac5be Fast-forward docs/assignments/week02.md | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 111 insertions(+), 4 deletions(-)
This looked correct since I had edited online the wee02.md file. Now for git merge
git merge
Already up to date.
now git commit -m ‘re-sized images and added folders’
git commit -m 're-sized images and added folders'
[master 82def63] re-sized images and added folders
28 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 docs/images/fabshop/hdmakerslidewheels.jpg
create mode 100644 docs/images/fabshop/land/Fab_Shop_Ad.jpg
create mode 100644 docs/images/fabshop/land/hdmakerslidewheels.jpg
create mode 100644 docs/images/fabshop/land/leanfablabven.jpg
create mode 100644 docs/images/fabshop/land/rigidmakerslide.jpg
create mode 100644 docs/images/fabshop/land/scijigs.jpg
create mode 100644 docs/images/fabshop/land/scirota.jpg
delete mode 100644 docs/images/fabshop/leanfablabven.jpg
create mode 100644 docs/images/fabshop/port/scimillsketch1.jpg
delete mode 100644 docs/images/fabshop/rigidmakerslide.jpg
delete mode 100644 docs/images/sample-pic-2.jpeg
delete mode 100644 docs/images/scijigs.jpg
delete mode 100644 docs/images/scimillsketch1.jpg
delete mode 100644 docs/images/scirota.jpg
delete mode 100644 docs/images/week01/Fab_Shop_Ad.jpg
delete mode 100644 docs/images/week01/assignment-photo.jpg
delete mode 100644 docs/images/week01/dmeyer_bike.jpg
delete mode 100644 docs/images/week01/dmeyer_mazak_cnc.jpg
delete mode 100644 docs/images/week01/dmeyer_trs80_modem.jpg
delete mode 100644 docs/images/week01/dmeyer_welder.jpg
create mode 100644 docs/images/week01/land/dmeyer_bike.jpg
create mode 100644 docs/images/week01/land/dmeyer_mazak_cnc.jpg
create mode 100644 docs/images/week01/land/dmeyer_welder.jpg
create mode 100644 docs/images/week01/land/msi_fab_lab_team.jpg
create mode 100644 docs/images/week01/land/sshc_airplane_hackers.jpg
delete mode 100644 docs/images/week01/msi_fab_lab_team.JPG
create mode 100644 docs/images/week01/port/dmeyer_trs80_modem.jpg
delete mode 100644 docs/images/week01/sshc_airplane_hackers.jpg
ok that was all the stuff that I changed locally being committed to the buffer I guess? now to push
git push
Counting objects: 23, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (23/23), 961.15 KiB | 24.03 MiB/s, done.
Total 23 (delta 2), reused 0 (delta 0)
To gitlab.fabcloud.org:academany/fabacademy/2020/labs/incitefocus/students/daniel-meyer.git
46ac5be..82def63 master -> master
That seemed to work… now to check my git lab fab academy site to see if things worked. It look like it did. However my photo links in my .md files were broken, which was expected. Now off to fix them!
I now have much better understanding of how git works!
Agreement¶
I copied edited and created my own student agreement in my archive here: fab academy student agreement