1. Principles and practices / Project management¶
Site¶
- Class
- Schedule
- Jan 26: principles and practices, project management
- Assignment
- (Weekly) Group Assignment
- Jan 26: principles and practices, project management
- Students
- Kannai (Yokohama, Japan)
- Lab site
- Weekly Group Assignment
- Machine Building
- Instruction
- Tips
- Lab site
- Student name
- Student site
- Kannai (Yokohama, Japan)
-
- Assessment
- Introduction
- General Essentials
- 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).
- Your files must be hosted in your gitlab repository. Large files, greater than 10 MB discuss with instructor first.
- 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.
- Acceptable use of Commercial Boards
- Principles and Practices
- Project Management
- Final project requirements
- Assessment
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 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
-
- 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
- Sign in: ID from fablabs.io
-
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
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
Notes
You may need to install mkdocs separately
% brew install mkdocs
% pip install -r requirements.txt
Editter¶
ATOM¶
- site
- Tips 2021: Useful packages samples
% 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
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 2020 ffmpeg example
% cd path/to/image
% du -ha | sort | head
1.0M input.jpg
0.5M output.jpg
imagemagic¶
% cd ~
% brew install imagemagick
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