How to make (almost) Anything by MIT Fabacademy Day 1

How to make (almost) Anything by MIT Fabacademy Day 1

2
 m

How to Make (Almost) Anything Series (1/100)

This week starting 24th Jan, coinciding on my birthday marks the beginning of my incredible journey with MIT’s FabAcademy course “How to Make (Almost) Anything.”

As i dive into digital fabrication, its important ot document the journey, the learnings and understanding the foundational principles and practices that underpin the course.Week01 is about getting acquainted with the concept of git and markdown, but also about embracing the mindset of documentation and researching about the final project.

Task

To complete this week, I need to complete the following tasks:

  1. Sign the student agreement
  2. Build a personal website - Choose between HTML , hugo and mkdocs
  3. Write the “About me” page
  4. Document my progress
  5. Make a sketch of the final project
  6. [Work through a Git tutorial on codeacadem

Key Learnings

A significant part of this week’s learning was focused on mastering git. Firstly, the world of Git is like a rabbit hole and kept me hooked for hours and sometimes in circles. Understanding Git’s functionalities like branching,committing and pushing, metaphorical to the course has equipped me to efficiently manage and track changes in projects. Additionally, i explored the fundamentals of web development, specifically HTML and CSS. These tools were very new to me and i finally decided to use mkdocs and markdown as my building block of the website, enabling me to create documentation on the go. By learning markdown, i gained the ability to structure web content, and may not have the flexiblity as CSS i can now swiftly document my learning. This week was vital for understanding syntax and warming up for the projects and sharing my work with the fabacademy family.

Research

“This week i learnt about “git” , “HTML “CSS” and “Markdown”. Later i met my instructors Nisha and Aatif for sessions on Git and project management.

Three Basic Learning of 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.

  • SSH Key generation and local clone
  • git commit , push and pull
  • Understanding version control and relative file tagging

Three Basic Learning of HTML and CSS

  • I started to learn basic of HTML CSS from Codeacademy

Three Basic Learning of Markdown

Learning Markdown, invented by John Gruber and Aaron Swartz in 2004, a lightweight markup language that allows us to format text on the web easily. Markdown is particularly useful for documenting projects in a clear and structured manner. It’s simplicity and readability make it an excellent tool for maintaining comprehensive documentation, which is a core aspect of the FabAcademy program. I was aware of Markdown,in google docs and Notion and now able to efficiently use it for website development is empowering.

-Syntax -mkdocs build and serve -markdown to HTML

For my website i started to experiment with the default HTML CSS Website and then moved to markddown template from Academy

Template

How to make (almost) Anything - Project Idea

Last year, i launched my own initiative “bitandbrick”, a collection of 3 projects with a vision to bring Physical Computing, Linking your Thinking and Play in K-12 Education.

Everyone Can Make is to empower BBC micro:bit with a backpack accessory based on jacdac connectors. My Final project will be a cube sat box packing and transforamble to a car project

Inspiration of the Project

  1. Electrofreaks basicbit
  2. Databot
  3. iocube
  4. cubesat
  5. xinabox

Useful FAQ’s

  1. How to link image files Gitlab uses relative file name. Start with double dots”..” and forward slash pointing towards the directory the file/image is in
  2. How to compress image files On MacBooks, Preview can compress images, Canva is also slick
  3. How to compress vide files

Using ffmeg and terminal

  1. Steps to navigate week01
  2. For mac users –> install git, homebrew, setup ssh key, clone to local repository, optional install github desktop(commandline works too also vScode can do commits

Code Examples

Resize an image

ffmpeg -i input.mp4 -vf "scale=1280:-1" -c:v libx264 -crf 23 -c:a aac -strict experimental -b:a 128k output.mp4

Resize the video (using ffmeg)

Let’s break down this command: -i input.mp4: Specifies the input video file (replace input.mp4 with your video’s filename). -vf “scale=1280:-1”: Resizes the video to a width of 1280 pixels while maintaining the aspect ratio. You can change the width to your desired size. -c:v libx264: Sets the video codec to H.264 (a widely supported codec). -crf 23: Adjusts the video quality. A lower value like 18 will result in higher quality but larger file sizes, while a higher value like 28 will result in lower quality but smaller file sizes. You can adjust this value to your preference. -c:a aac: Sets the audio codec to AAC (common for MP4 files). -strict experimental: Allows the use of experimental codecs (required for some AAC encoding). -b:a 128k: Sets the audio bitrate to 128 kbps (adjust as needed). output.mp4: Specifies the output filename (you can change this to your desired output file name and format).

source:chatGPT

convert example.jpg -resize 800x800 example_resized.jpg

Using mkdocs build and serve

mkdocs build

mkdocs serve