Entradas

Mostrando entradas de 2018

Ethical Reflction on Ready Player One

Imagen
In this post, I will do an ethical reflection on the book I read during the semester: Ready Player One, a novel written by Ernest Cline. The story is about Wade Watts, a boy who lives in the year 2044, who like the rest of humanity, prefers to spend the whole day immersed in a video game called OASIS, than in real life. After the creator of OASIS dies, Wade gets involved in the search for an easter egg that the creator hid inside OASIS that promises a great fortune and total control of OASIS, finding the egg can give a complete turn to Wade's life, not before facing a whole series of adventures, difficulties and dangers. Ready player one has become one of my favorite readings of the year and now I'm more interested than ever in reading books of the same genre, I really enjoy how the story is built, the universe that the author created seems fantastic to me and all Those pop culture references that I included throughout the book made me learn a lot and get inter

Hidden Figures

Imagen
In this post, I will discuss the movie that we saw in class: "Hidden Figures" directed by Theodore Melfi in 2016.    It's the second time I've seen Hidden Figures and I can say that it has become one of my favorite movies.  The film tells the story of three African-American women who worked for NASA in the early 1960s, collaborating in an important space program. These brilliant women achieved incredible goals that seemed impossible because they were women and African-Americans. What impresses me about these women is their intelligence, their strength, their perseverance and their struggle that allowed them to demonstrate that they were more than capable of being involved in areas that were considered suitable only for the masculine intellect, such as science, mathematics and engineering. I can identify a little with those great women of that movie, not because of how brilliant they were, but because, despite being in the 21st century, in my ca

Microservices

Imagen
In this post, I will discuss the article: "Microservices: a definition of this new architectural term", written by y James Lewis and Martin Fowler. First, it is important to understand what the term "Microservice Architecture" means, a microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating each other. These services are built around business capabilities and are independently deployable. Microservices have a great advantage over a monolithic application,because this style does not put all the functionality into a single process, and  if you want to make a change you do not need to rebuild the application. This article and this term, reminds me of the activity we had in the first class of the subject Software Design and Architecture, where we reflect on the concept an importance of modules and components using Lego blocks. The microservi

The 4 + 1 View Model

Imagen
In this post, I will discuss several things: first a video about the 4+1 View Model , second a very cute video named the six blind men that makes us understand in better way the model that we are talking about, and finally we will discuss the article: The Elephant and the Blind Programmers written by Grady Booch, which deals with the same topic. In the first video, we saw that like in architecture, in software engineering are several views that we need to take into account while developing software, there are 4 + 1 views that are important for this task, these views are: Logical view: this view tells us what kind of objects we are going to build, how they communicate and what kind of data they are. Development view: it is useful for developers to always know which part is related to what else and how things are organized during development. Process view: describes the concurrency and synchronized aspects in the software and the process of using the software or doing things. Physi

Understanding the SOLID principles

Imagen
In this post, I will discuss the book section "Understanding the SOLID principles" written by Edward Guiness. SOLID is an acronym that stands for five widely accepted principles of object-oriented programming and design. It is important to know and understand clearly these principles: S ingle Responsibility Principle This principle tells us, that a class should have exactly one responsibility and exactly one reason that cause it to be changed. As I can see, this principle is very important in the design phase. We must remember that we are searching for high cohesion and low coupling. O pen/Closed Principle This principle states that a class should be open for extension but closed for modification. When we make a modification in the base class, we can break the behavior of child classes, this principle should be applied in the areas that change most likely.  L iskov Substitution Principle This principle intends to keep that happy working relationship between cl

Software Craftsmanship

Imagen
I n this post, I will discuss the podcast: "Software Craftsmanship", with Bob Martin (Uncle Bob) produced by Software Engineering Radio in 2009. This podcast is about agile software development and software craftsmanship. This podcast reminded me of two past posts on this blog,  one called Is Design Dead?  and the other called Who needs an architect? In which the role of the software architect is largely discussed, and also agile design and methods. The first idea that I think it is important to mention and that I also support is that  Uncle Bob  thinks that software architects should not stop programming, because the separation of the leaders and the developers, concludes in bad decisions that can complicate the projects, it is important that they keep their fingers on the keyboard, in this way they understand better the problems that arise and can better lead a team and carry out more complex designs. Robert explains in the podcast what is the software Craftmans

WarGames

Imagen
In this post, I will discuss the movie that we saw in class: "WarGames" directed by John Badham in 1983.  I'm really enjoying reading Ready Player One, the novel has many references, some of them are really important to the plot, one of them is the WarGames movie. When I do not recognize any of the references mentioned in the book, I rush to Google it, that happened with WarGames, it aroused my interest and I planned to see it eventually and even more after reading that chapter where interpreting the movie is the challenge to pass the first gate. I am happy now that I have seen it, the production of the film impressed me, the plot of the story is also very good.  The film tells the story of David Lightman, a brilliant boy passionate about computers, a hacker, who accidentally and curiously discovers a system that catches his attention and that eventually manages to access it through a back door. David begins to play, something he believes is a game, but actuall

Is Design Dead?

Imagen
In this post, I will discuss the article: "Is Design Dead?", written by Martin Fowler. In the last entries, we have discussed how important is the design and adoption of techniques and patterns for software development. It seems that what will be discussed in this post will be a bit different. There are two design styles, the most common (and disastrous) is E volutionary Design , is the design of the system grows as the system is implemented (code and fix), this style makes it difficult to change the system.  On the other hand, we have the Planned Design , here the designers don't need to write code because they aren't building the software, they are designing it, in this way, they avoid entropy by making decisions and carrying out the development of the software. Although the second style is much better, it still has faults, not designing and coding at the same time, it can introduce complex problems in the programming stage. The other fault, which I fou