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:

image

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 …” to update what will be committed) (use “git checkout – …” to discard changes in working directory)

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 …” to include in what will be committed)

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

Back to Home Page