Skip to content

lecture notes

principles and practices presentations project management

Fablab is all about Personal fabrication
2500 fablabs worldwide in 150 countries.
Fabacademy teaches the same things as the MIT course “how to create (almost) anything”.
FAB2024 -> Mexico
FAB2025 -> Czech republic
FAB2026 -> Boston MIT

List of open designs of fablab machines that can be made in a fablab: https://machines.fabcloud.io
Advanced machining is required to change global supply chain to local supply chain to supply components to fablabs so fablabs can build machines.

Digital fabrication could hopefully lead to self-sufficient production.

  • TODO search for final projects related to mine

check https://chat.academany.org/
all final projects of previous year are listed here: https://finalprojects.fabacademy.org/#/

Final project presentation of fabacademy 2023

1 slide and a 1-minute video.
use the video to show that your design actually works!
recommended video editor: kdenlive.

principles and practices

project management

  • on website: introduce me and my final project
  • for each week create a log of what you did
  • example 2021 student Nadieh (Waag) & Arien Torres
  • links to Markdown converters: Markserv Strapdown.js Pandoc Hugo Jekyll VuePress MkDocs https://docusaurus.io
  • Good reference for Markdown here… https://markdownlivepreview.com/
  • in gitlab there’s yml file that publishes the site.
  • All students have a basic HTML template. The idea of this week is to experiment and try. HTML, Markdown, Hugo… But decide on a system this week and not change it throughout the Fab Academy.
  • after changing the files in the git repository, you have to rebuild the website (run pipeline).
  • repo = repository = file system including it’s history.
  • use class issue tracker to ask questions that can’t be answered locally or regionally.
    • https://gitlab.fabcloud.org/academany/fabacademy/2024/class/-/issues
  • git tutorial: git-scm.com/docs/gittutorial
  • commit is like taking a picture of your work when done.
  • TODO try linux subsystem for windows (is it installed?)
  • git status is what you’re going to commit before doing it.
  • Most used git commands: pull, add, status, commit, push
  • Archive size: MBs of data per week. So check size before committing.
  • All files on the commit = less than 10MB
  • web resolution image should be <100 kB
  • raw 3D scans turned into meshes would be too big to commit and can’t be compressed.

supply side time

  • make a schedule based on the time available. Do as much within the time that you have. Work to the calendar, not to the time. Respect the schedule. Make a schedule for every week -> how much timeslots do you have.

spiral development

work in a series of larger and larger spirals. Every spiral is a system that you can test, every spiral will have more & more features added.

document as you go

each day you document what you did and clean after.
Good book on project management: Mythical Man-Month

Assignment

make a sketch of your final project
create a website

Other notes

use JPG instead of PNG elastomer force sensor

Recitation version control & GitLab

  • Git Commit is like taking a snapshot of your work.
    • check gitlab menu - code - commits for all your commit information.
  • Next to repository there is GitLab CI
    • CI = Continuous Integration.
    • Run a set of tests and scripts after every commit -> called a pipeline
    • For us mainly: use it to compile website with static site generator
    • .gitlab-ci.yml is the file that sets up the CI
    • first thing in yml file is the docker container: where will the script run in. Could be ubuntu, busybox, python, etc.
    • The job name running in this docker container needs to be called “pages”
    • Next there are several tags
      • script: -> the actual script that you want to run
      • artifacts: -> which folder to keep after publishing. Needs to be called “public” to publish HTML.
      • rules:
      • other tags… -> find more examples online.
    • Check gitlab menu - Build - pipelines to see if the pipeline failed or passed and to see terminal output with more information.
  • Use Branches as a way to group multiple commits and then commit that to the main branche.
  • Use linux in windows: Install Windows subsystem for windows .
    • Use it by running wsl.exe in a windows command promt.
    • OR install and run Windows Terminal app and set it to run in ubuntu.
  • Limit on each commit on gitlab.fabcloud.org = 10MB.
    • git push will fail. But you’ve already staged the file using git commit.
    • so just remove the big file and add the small file.
    • if you do git status you will see “deleted: bigfilename”
    • Next you’ll use git add to “add” the deleted file to the staging area. And git add the new file.
    • git commit –amend -> means edit the previous commit
  • things to lookup: git stash
  • MKDocs
  • .gitignore file:
    • if you work locally, put /public in here. So you don’t accidentally commit compiled html files.