Skip to content

2. Project management

This week I worked on defining my final project idea and started to getting used to the documentation process.

Todos

Pretty it later.

  • Upload it to the class archive.
  • Work through a git tutorial.

Learning outcomes

  • Explore and use website development tool(s)
  • Identify and utilise version control protocol(s)

Answered these questions?

  • Made a website and described how you did it
  • Created a section about yourself on that website
  • Added a page with a sketch and description of your final project idea(s)
  • Documented steps for creating your Git repository and adding files to it
  • Pushed to the class GitLab
  • Signed and uploaded Student Agreement <-this link is not working.

Gitlab

Git Review

I have been using git for 5 years when we do team collabration in my company. So I just did a quick review of git. Git is distributed VCS, every user has is own private local repository then each user merges changes into a main repository, usually via pull-requests. It also means that every user can work with out a remote repository. When the remote side goes down, users can still work at local machine indepently. gitcommands The most used commands in git are COMMIT, PUSH, PULL, CHECKOUT.

I watched these Chinese video tutorial to learn how to use git and use github/gitlab to manage team projects. It well describes the basic logic behind GIT and introduce many tips of using git.

Can not push error

If you find you can not upload to gitlab:

(base) tobin@TobindeMacBook-Pro tobin-tao % git push
Enumerating objects: 23, done.
Counting objects: 100% (23/23), done.
Delta compression using up to 8 threads
Compressing objects: 100% (19/19), done.
remote: fatal: pack exceeds maximum allowed size
error: remote unpack failed: unpack-objects abnormal exit
To gitlab.fabcloud.org:academany/fabacademy/2022/labs/oshanghai/students/tobin-tao.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to 'gitlab.fabcloud.org:academany/fabacademy/2022/labs/oshanghai/students/tobin-tao.git'

It is because the image and videos have exceeds maximum allowed size in one commit. To solve this problem is to : 1. backup all the files in the commit which has not pushed into the gitlab server. 2. Run command git log, find out the latest master commit which is commit a9f5f01a82576bb1666370dcc208843ecb061a6b

(base) tobin@TobindeMacBook-Pro tobin-tao % git log
commit 88e994bd8c478ea8b397d741a2be1d7553560cbb (HEAD -> master)
Author: oneandzeros <tobinok@gmail.com>
Date:   Wed Apr 27 18:14:01 2022 +0800

    remove

commit a06640ba42e92c48d1d3bcc27fdc395c93d69f32
Author: oneandzeros <tobinok@gmail.com>
Date:   Wed Apr 27 17:44:39 2022 +0800

    update week 13

commit a9f5f01a82576bb1666370dcc208843ecb061a6b (origin/master, origin/HEAD)
Author: oneandzeros <tobinok@gmail.com>
Date:   Wed Apr 20 16:40:34 2022 +0800

    update 12

commit 8656f1e923fb7abb4ce79e33422656af586912f1
Author: oneandzeros <tobinok@gmail.com>
  1. Run command git reset, the commit number is a UUID number, just use the first some letters is OK.
(base) tobin@TobindeMacBook-Pro tobin-tao % git reset a9f5f01a82    
  1. Seperate the commit files into different commits and make sure one commit does not exceeds 10MB. Wish you good luck!

Init preference and password

Url: gitlab.fabcloud.org Frist step: avatar, email, website, easy… Connect with github. Change notification configure: gitlabconfig

SSH keys

How to generate a new ssh key see here.

Type command in terminal:

ssh-keygen -t rsa -b 2048 -C "tobin-fabacademy"

ssh Find the file in path /Users/tobin/.ssh/id_rsa.pub and upload to gitlab. ​

Clone to local

Clone my project to local folder with git terminal.

(base) tobin@TobindeMBP ~ % cd fabcloud
(base) tobin@TobindeMBP fabcloud % git clone git@gitlab.fabcloud.org:academany/fabacademy/2022/labs/oshanghai/students/tobin-tao.git

Write markdown in ATOM

ATOM

what is ATOM? It is a free and open source text editor, by GitHub. atom

Note add on 2023-05: Atom released a notice saying it has stopped updating since December 15, 2022.

Markdown

What is Markdown? Markdown is a lightweight markup language that you can use to add formatting elements to plaintext text documents. I will use markdown to record all the process of my assignments. In my experience, we used markdown to write techical articals and API documention.

Reference can be found in below links. English: https://github.com/adam-p/markdown-here/wiki

Cheatsheet in Chinese: https://www.yuque.com/ustl-acm/ib9078/bupugw

Github desktop

Download github dekstop and install: github

Install Mkdocs

I have installed python already on the laptop, so just skiped the python part.

pip install mkdocs

Check the mkdocs version:

(base) tobin@TobindeMacBook-Pro ~ % mkdocs --version
mkdocs, version 1.2.3 from /Users/tobin/opt/anaconda3/lib/python3.8/site-packages/mkdocs (Python 3.8)

When I want to start my site locally, some issuse come up:

(base) tobin@TobindeMacBook-Pro fabcloud % cd tobin-tao
(base) tobin@TobindeMacBook-Pro tobin-tao % mkdocs serve
INFO     -  Building documentation...
ERROR    -  Config value: 'theme'. Error: Unrecognised theme name: 'material'.
            The available installed themes are: readthedocs, mkdocs
ERROR    -  Config value: 'plugins'. Error: The "git-revision-date-localized"
            plugin is not installed
Aborted with 2 Configuration Errors!

Install the theme of material

pip install mkdocs-material

Now only one error left:

(base) tobin@TobindeMacBook-Pro tobin-tao % mkdocs serve               
INFO     -  Building documentation...
ERROR    -  Config value: 'plugins'. Error: The "git-revision-date-localized"
            plugin is not installed
Aborted with 1 Configuration Errors!

This problem comes from plugin git-revision-date-localized. Run the command to solve it.

pip3 install mkdocs-git-revision-date-localized-plugin

Now my own site is working on my Mac:

(base) tobin@TobindeMacBook-Pro tobin-tao % mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
WARNING  -  Documentation file 'about/index.md' contains a link to
            'about/tobinok@gmail.com' which is not found in the documentation
            files.
INFO     -  Documentation built in 0.52 seconds
INFO     -  [15:51:16] Serving on
            http://127.0.0.1:8000/2022/labs/oshanghai/students/tobin-tao/
INFO     -  [15:51:33] Browser connected:
            http://127.0.0.1:8000/2022/labs/oshanghai/students/tobin-tao/

mysite

Software Map

TODO

Text content are here. mysite

My path of FAB Academy class Git-GitLab-Atom-Markdown-MkDocs-P5js-MatterMost-Zoom-Spiral Development.

Question: Any tool can convert an html into a mind map? ​

Readings

Meeting Software

http://archive.fabacademy.org/archives/2016/master/students.html

Setting up conference room

February 24th, 2016 - As I am writting this, it is now in the fourth week in the program. It all started with struggling to connect to the Fab Academy conference room from our Fab Lab. I tried all the softwares on Mac and Ubuntu. Following instructions in the hanbook and of gurus in Fab Lab Beach Lab, I kept having error message such as port 5060 is not opened. I tried other ports too and with no access to manage the router, I tried the Polycom app on iPad, also without success. To my surprise, when I was back to the country house, all applications worked! Line phone and polycom on both Ubuntu, Mac and IOS, so it was definitly the setting in the Fab Lab. Testing my connexion and choosing room 1 from the conference room list I notice seeing the lab, I realised I was connected to the same network where we see all the other labs. Back to the Fab Lab, I used jabber video conference and loggins used for the lab to connect. I was happy. Today I am out of the lab and am not abble to connect, thus having time to log what happened then and other experience of the first week of the Academy. If someone reading this knows what could be the problem, please do not hesitate to writte to me.

Thanks to the COVID-19, life changes so much! The world has been totally different from just 6 years ago. Now we have Zoom, Tencent Meeting, GoTo Meeting, Teams, Anydesk, TeamViewer, Oray, Classin and a lot of programs for online meeting and remote sharing. Six years ago they don’t have much choice. Although I did not find which one they use at that time, I am sure it is not easy to make it work correctly. ​

​ ​

New Tools

Sketchpad.app

Draw sketches online and save to Google Drive. sketchpad

​Sketchpad is a one of a kind web-based sketching tool for teachers, students, artists, and other individuals. It is simple to use, it has extensive features to fit a range of design needs.

GIMP

I tried it with compressing pictures, it is good for use.

sketchpad

GIMP is a free and open-source raster graphics editor used for image retouching and editing, free-form drawing, converting between different image formats, and more.

Here are the main functions it provides:

FFMPEG

FFmpeg is a free and open-source software project consisting of a large suite of libraries and programs for handling video, audio, and other multimedia files and streams.


Last update: June 17, 2023