Principles and practices, project Management

This week I build my site, tested IDEs, described my potential final project and upload it to through a Git tutorial.

Dreamweaver, Netbeans and Atom: about friendly interfaces proprietary and opensource software.

I developed my 2013 academy page with Dreamweaver that although user-friendly is a proprietary software. As an alternative to it I tested the Netbeans and Atom softwares, that are open source and also easy to use. I realized, as a newbie to both softwares, that Atom is more user-friendly and intuitive than Netbeans. For example, It was easier to open the web's template in Atom and start to build the code, the interface is cleaner and more friendly compared to Netbeans. Atom has several code tools to download and it seems to me more that it’s more collaboratively than Netbeans. At first sight, Googling about both IDEs, I realized that Atom is more popular, but professionally, web developers choose Netbeans to work.

Atom screen

Git and Mercurial: Why use Distributed Version Control Systems (DVCSs)?

Back in 2013, when I first enrolled to FabAcademy I used Mercurial o upload my website but for this year I was advised to use the Git, both are DVCSs and are considered a more efficient tool to work with "code versions" (ours assignments for example: week 01, 02, 03…) in a collaboratively way (with our Faber's friends). Tools like GoogleDrive and Dropbox, doesn't have the same qualities. Other Git great advantage is that the repository “never dies” because every one has a full backup of all the data, being it more secure to use. One more interest thing is about the data integrity: you ".. can’t lose information in transit or get file corruption without Git being able to detect it.” For more info you can see the Git page . Probably it’s because of those qualities that Git is so popular amongst code developers, and then I think Git is better than Mercurial because it is more like a plataform than only a software.

The Git protocols

Git can use four major protocols to transfer data: Local, HTTP, Secure Shell (SSH) and Git. To our FabAcademy course we will use the basic protocol that is the “Local”, that is very simple to access and share the files as a network to which the whole team has access (more info about in here .

Installing the Git

I use a tutorial made by our tutors Kenzo and Siron with Linux adaptations.

(To format blocks of text to look like a terminal session, I use this tutorial.)

          root@alex-V5-171:~# apt-get install git
          [installing ...]
          root@alex-V5-171:~# git
          usage: git [--version] [--help] [-C ] [-c name=value]
          	   [--exec-path[=]] [--html-path] [--man-path] [--info-path]
          	   [-p|--paginate|--no-pager] [--no-replace-objects] [--bare]
          	   [--git-dir=] [--work-tree=] [--namespace=]
          	    []

Ok, Git Installed

This folder I created “fabgity” is a “working directory” that will hold the files of the students from FabLab Insper:

Creating a folder and the permissions

          alex@alex-V5-171:~/Documentos$ mkdir fabgity
          alex@alex-V5-171:~/Documentos$ chmod 777 fabgity
          

SSH/Key

The SSH Key is an encrypted password that will keep safe the communication between my working directory and the Git repository.

I generate my SSH key, accesing the GitFabacademy:

Acess Git Fabacademy

Go to profile Settings / SSH Keys / Generate it.

SSH/Mycomputer key

root@alex-V5-171:~# ssh-keygen -t rsa -C "digitalsocialfab@gmail.com"
          root@alex-V5-171:~# cat ~/.ssh/id_rsa.pub 

Copy the key and add in git.fabacademy.org

Cloning the Fablab Git folders (my personal folder is 'documentos/fabgity')

I cloned my lab’s repository (containing all the students files) into my working directory:

alex@alex-V5-171:~$ cd Documentos/fabgity/
          alex@alex-V5-171:~/Documentos/fabgity$ git clone git@git.fabacademy.org:
          fabacademy2017/fablabinsper.git
          Cloning into 'fablabinsper'...  

During this process occurred the following error:

git@git.fabacademy.org:fabacademy2017/fablabinsper.git
          Cloning into 'fablabinsper'...
          git@git.fabacademy.org's password:
          fatal: Could not read from remote repository.
          Please make sure you have the correct access rights
          and the repository exists. 

I did again all the keys' steps and it worked!

alex@alex-V5-171:~/Documentos/fabgity$ git clone git@git.fabacademy.org:
          fabacademy2017/fablabinsper.git
          Cloning into 'fablabinsper'... 

Uploading the site

There’s a Git mantra that I have to follow to update my assignments in the repository:

Git pull (to pull the content from the server to my folder);

Git add* (to overwrite the new content);

Git status (to verify the changes);

Git commit –m “…” (to notify the changes that I made to the labs repository);

Git push (to update my webpage).

alex@alex-V5-171:~/Documentos/fabgity/fablabinsper/students/470$ git pull
          [...]
          alex@alex-V5-171:~/Documentos/fabgity/fablabinsper/students/470$ git add *
          [...]
          alex@alex-V5-171:~/Documentos/fabgity/fablabinsper/students/470$ git commit
          -m "mywebsite"
          […]
          alex@alex-V5-171:~/Documentos/fabgity/fablabinsper/students/470$ git push
          [… Writing objects: 100% (61/61), 1.93 MiB | 0 bytes/s, done.
          Total 61 (delta 10), reused 0 (delta 0) ]

First ideas to final project

The 3D Zoetrope (from the Greek ζωή - zoe, "life" and τρόπος - tropos, "turn") that me and Juliana Henno are developing as a final project is innovative in the sense that it works as a tool for teaching concepts of animation to people of all ages. It was developed having in mind the viability to replicate this device in any FabLab. It’s also innovative the fact that this project also invite that anyone could participate uploading 3D models to be placed upon the platform (taking into account some guidelines).

My initial sketches - Fab Zoetrope

Inspirations

Ref. Steam activities, in http://www.steamco.org.uk/activities/