Week 01:
Build a website; upload to GitHub

Objectives

Software

Practices

 First, build it.

In order to understand HTML better, I started this week with building a site by hand. This meant establishing a file structure to organize my HTML files as well as my image (also called media) files, downloading an open-source HTML editor with live preview capabilities (I'm trying Brackets and Atom), and looking at w3 schools a lot! A note for other newbies: Firefox has an easier-to-read code inspector window than Chrome. Also, Brackets is a smarter editor than Atom, auto-filling out code tags for you and previewing images in cute and helpful thumbnails; Atom is more swish, more handsome, and has better style for tabbing your code into nice arrow-forms; however, I prefer Brackets' better functionality to Atom's better color and style.

After establishing some familiarity with the basics, I started working with Massimo Menichinelli's great Fab Academy template to make this site.

from our in-class HTML tutorial
clockwise from top left: template site tested on Brackets; handwritten site; template tested on Atom; Atom editor

 Then, upload it. Git theory.

Git is a distributed version control system, which is useful for managing multiple versions of a file / set of files, and managing multiple users -- perfect for the situation of having a changing repository for the globally distributed for Fab Academy. Distributed version control takes the complexity of multiple users and turns it into a virtue: Git takes "snapshots" of a file structure and stores those snapshots, or versions, locally on the different computers of all the users. This means, in essence, a lot of backups of the same work. Here is an image of how it looks diagrammed, taken from Git's main documentation of itself.

Three levels: blobs, trees, and commits.

The file is called a "blob." A bunch of files are organized in a "tree." The tree is referred to in a "commit object," that is like the snapshot that pulls up the metadata that can reconstruct the files at the moment you entered the "commit" command.

Each subsequent commit refers to the commit before it, thus organizing the commit objects in time.

It's most fun to think "git" is the good ol' boy version of "get," but Linus Torvalds, its inventor, writes that, when you are in a good mood and it works, it's "global information tracker."

 Establishing Git

 Using Git

(on the GitLab site, a message shows that the upload is complete)

Final Project concept drafts

To see initial ideas for Final Project, see here and here.

Some Interesting Ideas

A few quotes from an online recitation with Massimo Banzi, co-creator of the Arduino:
 “The beginner had to suffer to learn.” He was referring to his own start in computing as a child.
 “Designing the experience is more important than how powerful is the technology.” He references Ettore Sottsass and Dieter Rams (see Rams' simple design principles.) one of Sottsass' beautiful interfaces

Arduino uses open source software and proprietary production on its hardware. It's one of many ways to modify open source so it can be "sustainable," i.e. by generating profit.