Week 1 - Project Management & Final Project Proposal

Contents

  1. Cube with voxel.css
  2. GitLab Workflow
  3. Using MacDown Editor
  4. PNG Compression Tools
  5. Final Project Proposal

Cube with voxel.css

For the cube of my landing page, I just modified the demo code of voxel.css.

Add Click Event Listener

<script>
    var vox1 = new voxelcss.Voxel(0, 0, 0, 100, {
        mesh: voxelcss.Meshes.grass
    }));
    
    vox1.addEventListener('TopClick', function(event) {
        console.log("top click!");
    });
</script>

GitLab Workflow

Set SSH key on GitLab

Please follow the official documentation

Clone (Only first time)

1 In this step, you will clone all branches from GitLab, e.g., master, test...

git clone git@git.fabacademy.org:fabacademy2016/YOUR_LAB

Get into your folder

Please replace your student ID to YOUR_STUDENT_ID, e.g., "123", "142"...

cd YOUR_LAB/students/YOUR_STUDENT_ID

Create new branch (from master to YOUR_BRANCH)

2 You could use "git branch" to check which branch you are in. Please replace YOUR_BRANCH_NAME below.

git checkout -b YOUR_BRANCH_NAME
git branch

Add to working directory and Commit

3 Please using "git status" to see modified files and add them.

git status
git add YOUR_MODIFIED_FILES
git commit -m "brabrabra"

Push to GitLab(remote) your branch

4 You might set YOUR_BRANCH_NAME_ON_REMOTE equal to local branch name which using git checkout -b YOUR_BRANCH_NAME to set. One branch name is on remote and, however, the other is at local.

git push origin YOUR_BRANCH_NAME_ON_REMOTE

On GitLab merging from "your branch" to "master"

5 In "Merge Requests", Click "NEW MERGE REQUEST" on right side.

6 Change source branch to your branch.

7 Give title something to let others know what is going on in merging.

8 Click "SUBMIT MERGE REQUEST"

9 Click "ACCEPT MERGE REQUEST"

10 You will see "Merged". Great, then all good!

11 See what changed!

Local-branch tracking remote-branch only (not master)

12 If you want your local feature branch to only track remote branch, which means you will not pull/push to remote master directly but only remote branch, you could checkout to branch first and use this command.

git branch --set-upstream-to origin/YOUR_REMOTE_BRANCH_NAME

Using MacDown Editor

It is an open source Markdown editor for Mac OS X with awesome interface and it could also convert Markdown to HTML easily.

Installation

Download from official website, or use Homebrew Cask in command line

brew cask install macdown

Interface

13 After editing, then you can export HTML into your folder and push to GitLab directly. Cool right.

PNG Compression Tools

According to Liang2's experiment with some PNG optimizers, we could not have more than 50% compression ratio with lossless OptiPNG or zopfil, so I would rather use lossy compression tool pngquant to save storage.

Installation

You could compile the source code from the official site, or even install by Homebrew

brew install pngquant

Usage

pngquant *.png

or set quality range,

pngquant --quality=75-80 *.png

Please check more usage with pngquant -h.

Final Project Proposal

I am interesing in physical personal assistant from childhood. Especially I like a racing cartoon called Future GPX Cyber Formula, which has a bot with AI in car helping leading character race and even becoming a friend to human being.

The Lamp

One day, at Fablab Taipei, we were discussing about documentation issue and where we could have better documentation tools to let people leave and share their experiences and knowledge to the space.

14

So, looking at classic tertial lamp, I came up with an idea like Pixar Luxo Jr. and I have decided to make or even redesign this lamp to let it help us do the documentation such as taking photos of your projects automatically. I do love this idea because it will become an useful personal assistant which is my dream from childhood.

15

Idea and Sketch

I am going to mount several servo motors on it, and redesign many parts to let the lamp move smoothly. It might track your projecet object and motion. You could click some button to take photos of projects or maybe it would move and shoot automatically. Most of all, it should upload to your personal repository without your commands.

There are few robotic lamp projects on Instructables, but by far none of them are going to make lamp help people like this way.

16 17 18