Week no.1

  • Principles and practices
  • Project Management
  • Web Design

Assigments :
  • Build a personal site describing you and your final project.
  • Plan and sketch a potential semester project and add it to your website.
  • Upload it to the class archive. Work through a git tutorial.
Softwares Used :
  • Sublime Text
  • Putty
  • GitBash
  • Gitkranken
Principles and practices

The first week assignment was to create our personal website presenting ourselves and describing and sketch our final project idea. For that, I worked my way through a GIT tutorial in Portuguese, written by Siron Cesar and recommended by our local Guru. I learned the base for uploading and version control of my webpage (GIT commands: PULL ADD COMMIT PUSH). Also made a internet search and found a very nice "Git Cheat Sheet" reference:

image

Since I have a Windows-based-PC, and use Windows Power Shell with Linux basic support, I find that it doesn´t work well with SSH Keys Authentication. Images So what I did was find a workaround solution for the keys to work in Windows Shell, and I found PUTTY for windows. It is a backservice that runs at startup automatically authenticating my SSH Keys.

Successfully created the SSH keys and configured Putty following this tutorial, installed the PUTTY-pageant service and got access to Git repository.

Everything was working fine, started GITBASH and uploaded the first version of my webpage. Here are the GIT commands I used, in the actual order:

  • git init: Create a new repository
  • git clone: Create a copy of a repository
  • git pull: Download changes from remote to the local repository
  • git add: add files to be added at next commit
  • git commit: confirm changes in the repository
  • git push: Upload changes to the remote repository

I really liked to learn about Git and versioning control, never used before. I confess I didn’t went too deep because I was afraid of messing up not only mine, but (in this case) the whole Fabacademy repository --- and it happened, latter I describe--. But clearly is not something I would use for my own personal projects (DropBox suites me very well), certainly works better for a group or a development team and is mandatory for creating something open source in a collaborative way.

Update - 16/10/2017: Personal Note

I personally like to work with graphical interfaces rather than and old command prompt window (and yes, I used it a lot back at 90th´s). PUTTY works OK, but I wouldn´t recommend for anyone that is making a website with GIT under Windows environment as it is an outdated workaround. Latter on I discovered GITKRANKEN - a all-in-one graphical solution that fully eliminates the need for a GITBASH and Linux Shell, described at the bottom of the page.

Web Design
Images

I´ve installed Sublime Text editor for HTML and choosed a template developed by FREEHTML5.co under a Creative Commons 3.0 license for a jump start.

The choice is based on my previous experience on webdesign that I got with some personal projects and sites over the years. I´ve got some knoledge on C++, HTML, a little CSS, HTML5, PHP, Java, JavaScript, Phyton and Ruby on Rails.

What I like most of Sublime text editor (beside it´s open source and multi-plataform) is his clean interface and collor markup for codding, also like the Project view - a sidebar that shows the foldes structure for easy navigation thought pages.

The template was chosen for being clean and fast, with CSS indexation, that pattern automaticly corrects font sizes formats and spaces to all pages allowing correct view form different devices such as mobiles and tablets.

For anyone that whants to learn more about HTML and CSS programming I strong recommend w3schools and CODEcademy online tutorials.

CAUTION !!

When I was trying to upload a new version got stuck I on synch errors in GIT.It´s fairly easy to mess things up when you are getting familiar with GIT Bash commands. In my case, I accidentally made a "PULL" request and lost my local updates.Trying to fix and recover last updates from server was a disaster that finished rolling up updates from all my colleagues in Insper FabAcademy Branch !! WOooPs !!

So here is the warning !! After a clean start, I found this nice GIT reference. Moving on whith more caution now !

I´m currently testing GitKranken as a Git Client, substitutes PUTTY and GITBASH with a graphical user interface ... beautiful and intuitive, let´s see how it goes.

Final Project Proposal

As I was creating my website, I thought of what should be my final project… it must be challenging, it must integrate different fabrication skills + electronics + coding, and finally it should be enjoyable … something I would love to do and use after it´s done.

So the proposal is to build a 3D printer from scratch, a different one, with exclusive specs. A more detailed idea and Sketch can be found in my Final Project Section.

Project Management
Images

Planning and scheduling deliveries with gates or milestones with a tool like a Grant chart makes sense when working with a team. Since it is a "one person project" I´ll try a different approach adopting an incremental model that focus on risk management. The spiral development model (Boehm, 2000) is normally associated with software development, consists in a series of interactions running 4 phases cycles:

  • Analysis
  • Risk Evaluation
  • Development and Execution
  • Planning next Interaction

This model should run smooth for prototyping my final project, for each weekly assignment I´ll try a new tool/thechnique to improve a functional part of the "Delta Printer Project". This is the plan, whish me luck !!

Update - 22/02/2017: GITKRANKEN Tool

Finally solved the Git problem with a standalone solution -- GitKranken -- no more putty/SSH/Commandline/Push/Pull ! I totally recommend it ! The major problem was to know what you are doing, in a command line I found to be very easy to mess it up !

image

GitKranken is a graphical interface that runs smooth in windows, so you know if your local files are really synch with remote server and detailed information on modified files local and new uploads in remote. Now I have Git actions by pressing a button ! (Also solved a minor translation problem to Portuguese (push means pull - "puxar" that got me into trouble !)

The configuration process is easy, just log in and connect GitKranken with your Github account. Then add your personal SSH keys and finally clone a new repository pointing to FabAcademy repo :

image

More detailed information you can find at GitKranken Support and there is also a nice Cheat Sheet :

pdf