Release 0.1 submission – Implementation of du command for Filer

After setting up the dev environment for filer (cloning the project in GitHub, installing Node.js, npm install, …) I started by running the tests by typing “grunt test” and all of it was successful. Time to start gathering the requirements for du! I had to read Dave’s instructions here more than twice, researched about the du command and its behaviours. I had the ideas in my head, so I started looking at the source codes and checked which ones I need to update for the implementation.

After having everything prepared, I then started trying to understand the basic flow of the already existing codes. I also searched for codes within the files for other commands which are somehow similar to du so that I can refer to it. I observed how they code so that I can write in a similar way as every contributor to the project. The ls command seemed to be the closest so I used that as my base for my assignment. I had to take time reading it using my basic JavaScript knowledge from the INT222 class and from my co-op work terms. I was also unfamiliar of the other existing codes that have been used and had no idea what they were for. At first, everything seems so overwhelming. Just like being a little fish released in an ocean located in a different planet in an alternate universe… Okay I’m exaggerating and I’m not even sure that made sense, but like what Dave has been mentioning in the class, never panic.

In the end, I can’t say I mastered and wrote the most efficient code and covered all the functionalities of du. But it is definitely a start and will help me on the future releases. Pull request link.

0.1 Release progress

TDD or Test Driven Development is new to me. I have read it in a book which I haven’t finished reading yet (The Clean Coder: A Code of Conduct for Professional Programmers) but I never thought I would actually be working on a project following this process so soon! Since it’s new to me, I’m somehow mixing up the steps in my head. I should first and foremost focus on writing my tests but a part of me wants to figure out how I’m gonna code the du shell command for Filer first. I hope I get used to this VERY SOON.

I had problems setting up my Dev environment for Filer early this week. I felt lost probably because open source development is completely new to me and had to ask for help. After downloading Node.js and typing npm install, error messages spewed out from my command line. It’s looking for a package.json file and I have no idea what it is for and what to put in it. Naturally, I got errors for the other commands too. So I asked David Humphrey, my teacher what was happening and the bottom line is, I did the npm install in the wrong directory – funny mistake I know. Just in case someone out there did the same thing, you should execute it while you are in your project’s directory which in this case is my cloned version of Filer. I also saw a not found: git error which got fixed when I restarted my system.

Dave said I should blog about this to help other students who might be struggling too. I don’t know if it’s just me, but if not, hope it helps!

Introductory blog post on Bootstrap – OSD600

I picked Bootstrap for the open source case study as I was doing some reading about it anyway after seeing it in one of the files included in Visual Studio 2013.

So what is Bootstrap anyway? Here are some of the highlights I found out from http://getbootstrap.com/

  • It is a HTML, CSS, and JS framework for developing websites
  • It automatically scales the websites depending on the device where it is viewed
  • It is Mobile first

You can view the project here on github: https://github.com/twbs/bootstrap

A quick test in ASP.net MVC VS2013 and the Bootstrap v3.0.0 that came with it:

1. Normal size

1

Nothing fancy. I simply ran this in chrome after creating a new project. But take note of the contents.

2. Resized 

2

Ta-dah! Without actually coding ANYTHING, it figured out how to display the page when resized. The menu is now hidden and expandable and the contents are all shown without scrolling.

I’ll probably show a mobile view on my presentation day on different devices and different browsers to test how it will be displayed. And that’s it! End of my quick overview of Bootstrap!

Closed and Open license/EULA

Tags

Things that I noticed after looking at Open and Closed licenses:

1.  (Most) Open licenses are simple and short. It’s very much direct to the point so you know what you are dealing with. Closed licenses have so many terms that just wouldn’t fit in one page using a humanly readable font size, hence the reason people just click Agree.  

 

2. I browsed through Apple’s Terms of Use and one of the first things I noticed in this document (http://images.apple.com/legal/sla/docs/iOS7.pdf) is that it basically tells you that if you don’t agree in at least one out of their 1xxxxxx terms, you just can’t use your phone which came with the iOS Software and you may return it. 

 

3.  Open licenses also seem to focus on what you can do with it:

Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. – http://opensource.org/licenses/LGPL-3.0

 

     Closed licenses tell you everything they won’t let you do:

You also agree that you will not use the iOS Software for any purposes prohibited by United States law, including, without limitation, the development, design, manufacture or production of missiles, nuclear, chemical or biological weapons. – http://images.apple.com/legal/sla/docs/iOS7.pdf

     In other words, they are still the ones in control, not you, even if you have purchased your device.