Skip to content

1. Principles and practices / Project management

Site

  • Class
  • Schedule
  • Students
  • Documents

    • Assessment
      • Introduction
      • General Essentials
        1. Design files and code must be present in the archive in generically readable forms such as DXFs, STLs, etc., as well as in the original editable format (antimony, solidworks, eagle, CAD, etc).
        2. Your files must be hosted in your gitlab repository. Large files, greater than 10 MB discuss with instructor first.
        3. Take photos, notes and screenshots as you work - compress and resize your images for web
      • Commercial Board Policy
        • Acceptable use of Commercial Boards
          • In any case remember that Commercial Boards are not evaluated. They are not considered as your own work, but a necessary item for your work.
        • Embedded processor boards
          • More advanced processors than AVR microcontrollers can be used. They might come in different form factors (chips, modules). You can solder them to your board or connect them with connectors. The key to be accepted as part of your design is that these commercial processors are embedded in your board.
        • Single board computers: Raspberry Pi, Beaglebone etc
          • These can be used as a substitute for your desktop/laptop computer. You still need to design your own embedded board for your projects.
      • Principles and Practices
      • Project Management
      • Final project requirements
  • nueval

Schedules

Day JST Name Where PW
Wed 23:00-02:00 Class Zoom class 1xxx
Sat 10:00-18:00 Local session @kannai or video conference
Sat 24:00-02:00 Global Open Time Zoom mcu
Mon 23:00-24:00 Recitation Zoom class
Tue 12:00, 21:00 Regional Review(Asia) http://fabacademy.org/2022/video.html 1xxx

(Individual) Assignment

Principles and Practices

plan and sketch a potential final project

Have you answered these questions?

  • Sketched your final project idea/s
  • Described briefly what it will do and who will use it

Project Management

work through a git tutorial
build a personal site in the class archive describing you and your final project

Have you 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

ToDo

git

  • git

    Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

  • GitLab

  • fabcloud

    • Sign in: ID from fablabs.io
      • Academany / Fab Academy / 2022 / Fab Academy 2022 Labs / Kannai / Kannai site
      • Academany / Fab Academy / 2022 / Fab Academy 2022 Labs / Kannai / Kannai students / student-name
      • Academany / Fab Academy / 2022 / Fab Academy 2022 Class
        • Notification -> Watch
        • Issue -> Email
  • git tutorial class archive

  • tutorial
  • Pro Git Book

Install (macOS)

% git --version
git version 2.24.3 (Apple Git-128)

% brew --version
Homebrew 3.3.9
//% brew -v


// If no git and homebrew
// Install Homebrew from https://brew.sh/
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
// Install github
% brew install git

Git setup

% git config -l
user.name=your_user_name
user.email=your@email.com

% git config --global user.name
your_user_name

% git config --global user.email
your@email.com

// If no user name and email
% git config --global user.name "Your Name"
% git config --global user.email "you@example.org"

SSH key setup

% cd ~
% ls -la
.ssh
% cd .ssh
% ls
id_rsa      id_rsa.pub

// If no .ssh folder or keys
% cd ~
% ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/yuichi/.ssh/id_rsa):
// syntax % ssh-keygen -t rsa -f id_rsa -C "comment"


% cd ~
% cd .ssh
% ls
id_rsa      id_rsa.pub
% cat id_rsa.pub
ssh-rsa AAA....this_is_your_public_key....@.local
% cat id_rsa.pub | pbcopy
// or use command+C to copy ssh-rsa........to_end
GitLab > your icon(right up) > Edit profile > SSH Keys(left) > command + v to paste public key

Notes

If you want to make more secured ED25519 format key pair

% cd ~/.ssh
% ssh-keygen -t ed25519 -C “your@email”
% ls
id_ed25519 id_ed25519.pub

Ref. https://docs.gitlab.com/ee/ssh/index.html

Local repository

% ssh -T git@gitlab.fabcloud.org
Welcome to GitLab, @your_name!

% cd ~
% mkdir repos
% cd repos

// clone your repo from gitlab to your pc
// Girlab > your repo > Clone > Clone with SSH > copy "git@gitlab.fabcloud.org:your/project/path.git"
% git clone git@gitlab.fabcloud.org:your/project/path.git student_site
Cloning into 'student_site'...
% ls
student_site

Install Mkdocs in local PC

% pip -V
pip 21.2.4 from /usr/local/lib/python3.9/site-packages/pip (python 3.9)
% python3 -V
Python 3.9.7

// If no pip
% cd Downloads/
% curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
% ls
get-pip.py
% python3 get-pip.py

% cd ~
% cd student_site
% ls
README.md       mkdocs.yml
docs            requirements.txt
% pip install -r requirements.txt
% mkdocs serve
INFO     -  Building documentation...
INFO     -  Cleaning site directory
INFO     -  Documentation built in 0.68 seconds
INFO     -  [14:47:34] Serving on http://127.0.0.1:8000

// to stop mkdocs server
Control +C
Open in Browser http://127.0.0.1:8000

Notes

You may need to install mkdocs separately

% brew install mkdocs
% pip install -r requirements.txt

Editter

ATOM

% cd ~/repos/student_site
% atom .

Git

// Copy agreement text from https://fabacademy.org/2022/doc/students.md
// docs > about > New file > agreement.md
// pase text
// read and sign your name
// save

% cd ~/repos/student_site
% ls -la
.git
% git status
% git add .
% git status
% git commit -m "first commit agreement"
% git status
% git push
// cap 10M/push

// Go to GitLab
// docs > about > index.md > Edit
Hi! I am <your name> .
// Commit changes

% cd ~/repos/student_site
% git pull

% mkdocs serve
Tips 2021 How to recover after rejected large files commit

File size

ffmpeg

% cd ~
% brew install ffmpeg

// video
// http://academy.cba.mit.edu/classes/computer_design/video.html
// variable bit rate 1080p MP3:
% ffmpeg -i input_video -vcodec libx264 -crf 25 -preset medium -vf scale=-2:1080 -acodec libmp3lame -q:a 4 -ar 48000 -ac 2 output_video.mp4

// image
% cd path/to/image
% ffmpeg -i input.jpg -vf scale=-1:1080 output.jpg
Tips 2021 FFmpeg_test
Tips 2020 ffmpeg example

% cd path/to/image
% du -ha | sort | head
1.0M   input.jpg
0.5M   output.jpg

imagemagic

% cd ~
% brew install imagemagick

week2

git-sizer

% brew install git-sizer
% git-sizer -v

The Fab Charter

Attention

The Fab Charter
https://fab.cba.mit.edu/about/charter/


Last update: May 4, 2022