Fab Academy 2015

Carlo Liuzza

  Week 1 assignment

Principles and practices, project management (Jan 28)

  Week 2 assignment

Computer-aided design (Feb 4)

  Week 3 assignment

Computer-controlled cutting (Feb 11)

  Week 4 assignment

Electronics production (Feb 18)

  Week 5 assignment

3D scanning and printing (Feb 25)

  Week 6 assignment

Electronics design (Mar 4)

  Week 7 assignment

Embedded programming (Mar 11)

  Week 8 assignment

Computer-controlled machining (Mar 18)

  Week 9 assignment

Molding and casting (Mar 25)

  Week 10 assignment

Input devices (Apr 8)

  Week 11 assignment

Output devices (Apr 15)

  Week 12 assignment

Composites (Apr 22)

  Week 13 assignment

Networking and communications (Apr 29)

  Week 14 assignment

Mechanical design, machine design (May 6)

  Week 15 assignment

Interface and application programming (May 13)

  Week 16 assignment

Applications and implications (May 20)

  Week 17 assignment

Invention, intellectual property, and income (May 27)

  Week 18 assignment

Project development (Jun 3)

  Week 19 assignment

Project presentation (Jun 10)

Principles and practices, project management (Jan 28)


What did I learn this week?

Website

I always wanted to be able to create a simple website. Fab Academy has been the right personal motivation. I did a simple website with the essential information but I plan to expand it during this semester. I would have more time to make my blog nicer, but during this semester I’ll definitely do it. I always think how to do my things better. Usually when I finish doing my job I start thinking how to do better the same thing. Here below some of useful tips I found to understand website tools.
I used Jekyll, bootstrap and a text editor. In the beginning I had some difficulties to understand which is the role of Jekyll (what it does) and bootstrap. Now I can simply say that Jekyll create the baseline structure of the directories for a static website. It also takes as input the markdown (.md) files and convert them in html files to generate the static website. Bootstrap is a collection of lines of code ready to use. If you are looking for a navbar you can find some lines of code that you simply cut and paste into your .html file. I tried to use a theme as it was, but I was not satisfied. I wanted to understand the relation between every single part of the code lines and what I can see on my website. With the help of this tutorial I understood how to build my personal theme.

I also understood how useful is the word layout in the first lines of each .md file. You can build different layouts for your web pages (posts, default, news etc..) and all you have to do to choose a layout for your web page is to write the value of the variable layout. For example:

layout: page

or if you want to change it to the default one you simply have to write:

layout: default

Every layout needs a html file which describes the structure of the layout. Inside the html files in _layouts directory you can find

\{\% include my-navbar.html \%\}

include is a simple way to avoid cut and paste every time the same code if you decide that (for example) the navigation bar of your website always has to be there in every single web page. In this way you haven’t to write the same code but only the same include line and Jekyll will do the job for you. Going ahead you can compose your layout choosing a sidebar, a footer and more. I saw you can also use for cycle but I will test it when I add the news section in my webpage.
Using this few notions I built my webpage with a navbar, a sidebar and a footer. In the navbar I wanted to add a dropdown menu and I learnt that I need to add one line for javascript:

<script src="/js/bootstrap.min.js"></script>`

In the line above you can also see site.baseurl which is a global variable you can find in _config.yml file which is used by Jekyll. This url will be the root of my web page, that is the one in my fab academy archive.
There also two important lines inside the template:

<link rel="stylesheet" type="text/css" href="/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="/css/bootstrap-theme.min.css">

These are useful to use style sheets (CSS). I learnt something about CSS using the tutorial below. There are also other useful links I used to understand better jekyll and bootstrap.

Finally, I wanted to add a little detail in sidebar to underline that assignments are homework. I added the pencil icon using:
class="glyphicon glyphicon-home"
I think it’s really nice


Control Version Systems

With Github and Mercurial I had some little problems but I solved them with some pratice and the tutorial I followed in the pre-class lessons by our local instructor.

Video lesson

I loved the way of thinking of Neil about working at “low level” also because I like to understand how things work in depth. I liked working with a simple text editor to create the website. I chose Geany but I also like nano on command-line. I like command-line because I started working on old Commode64 and I remember when I had an old PC Olivetti 286. Afterwards, obviuosly, I played sometime with MS-DOS and then a little bit with Linux. Now I really want to go in depth with Linux.


Something about project ideas

I found some difficulties about choosing my final project just because I’d like to do many things :)
Here it is the list of the projects I thought:


Home | Profile | Final project