lunes, 9 de septiembre de 2013

Revolution OS

Last Wednesday I saw a documentary in class entitled “Revolution OS".
The current industry of the operating systems is a very diverse; we have Windows, Mac OS, Android, Linux, and etcetera. But several years ago the world was dominated by Windows, but in the 80's the Open Source systems began to emerge with great force.
Microsoft was who actually created the concept of proprietary software, because in the 80's much people started to share software.
The rebellion of Microsoft about the free software started to create quite a stir, because as we know, there are many people living from creating software, and sharing and not pay for it, is not a business as such. Spend as much time for performing a good software and give it away to the world is not a business idea. 
The free software is about the philosophy which taught us from childhood, we were taught that share what we have with others is a good thing, so having software and share it with others is good. 
For this reason were created all legal bases about its distribution and creation, to avoid problems with the fact that someone take free software and convert it in software proprietary. Because as we all know, if we share a proprietary software is illegal.
The philosophy of sharing is good, because we developed technology, and we want share it with others. It changed the way that the systems are used. Now, others can get totally access to the code, encodes a special library for use it or modify a part that makes it more efficient and distribute it.
The point that made free software will start having a boom! It was the creation of companies dedicated to the support of these tools.
These business models are very interesting, as they are not monopolies. They are dedicated to providing the support about a tool that is available to anyone. 
Always the support is by the company that created the software and sometimes it is clearly bad. For example, Microsoft products are only supported by Microsoft.
In Revolution OS, we can see all those little steps to get to today, in a world where there are thousands of tools made by people who can use for free, modify it your own and share them with someone else.
I hope you liked my contribution and I hope your comments.

References
J.T.S., M. (Director), & J.T.S., M. (Writer) (2001). Revolution OS [DVD].

lunes, 2 de septiembre de 2013

Architecture and Pasta

If someone listen the words "architecture" and "pasta" together does not make sense. But some days ago I read a chapter of a book about Software Architecture, in this chapter describes different architectural styles and them compared with pasta.

Software architecture is an important topic, because all system or programs in the world have a design, although sometimes it does not seem.

The software architecture is very relevant because in the process of developing software, the knowledge about the scope is very important, and perform the architectural design of the program is quite helpful to define all that kind of stuff. In this process, you must remember that is important to keep everything simple and comprehensible for to people involved know and understand the software that is being developed.

Think about that software architecture is a complete analogy of the architecture of that building that you like. In software architecture there is much documentation from various perspectives like in the architecture of a house. These perspectives are the conceptual view, the implementation view, the process view and the deployment view. All this for to see first how is the system (conceptual view), then as we create it (implementation view), then for to see how it interacts (process view) and finally how we will install the application (deployment view).

As there are Baroque, Gothic and futuristic styles, there are styles in the software architecture.
It is certainly much easier to explain through pasta, I think in the end this post I prepare a little of pasta as it is giving me hungry.

Well all we recognize the spaghetti, the spaghetti not have a way, if this has nothing to do with some structure and so, it is no-architecture style, not used in industry but maybe in some school project.

I know that you have ever eaten lasagne and that's another style, known as layers, where each layer carries certain elements.

The cannelloni, which incidentally are very rich with lentils, are an example of another style known as pipe and filter. Something comes, performs a process and finish. It's that simple.

The gemelli, as we see two strips between loops and this is sample of the client-server architecture, a strip is the server and he other the client, and we need both for this system. Without a dough strips would not have the same use.

The conchiglie, definitely one of my favorites, each piece of dough is separated, but all are in soup, so is the component-based style. Each component is unique and not known to others, but lives together with the other components.

Canned ravioli, I am not fan of ravioli, but if a bit of food "just heat and eat". This is a style known as Framework, which is a library, which already does many things. The only thing you do is add more stuff.

No doubt the food metaphors regarding the software always make me hungry, so I hope you have enjoyed this post and I will now go and cook.

References
Goodliffe, P. (2006). Code craft.