Entradas

Hidden Figures

Hidden Figures is a movie directed by Theodore Melfi which relates the story of Katherine Goble, Dorothy Vaughan and Mary Jackson, a mathematician that worked as a human computer in a group where gender discrimination and racism is very present. Katherine and a group of women worked in the West Area Computers of the Langley Research Center in Hampton, Virginia where they were assigned to different jobs as they were needed.  After Yuri Gagarin was launched to space, United States were in a hurry to send their astronauts into space, so Katherine was assigned to work on the program and Mary was assigned to work on the capsule heat shield while Dorothy was still in charge of the rest of the women. After being battered by they job mates, Katherine demonstrated her knowledge to solve difficult equations needed for the launching and for picking up the astronaut, Mary was an essential part of the team that developed the heat shield and finally, Dorothy trained the group of women to progra

Ethical Reflection on Ready Player One

Everything that has a beginning must have an end and this book is not the exception. During the course of S/W Design and Architecture, we read the book "Ready Player One" by Ernest Cline and I would like to make an ethical reflection of this book through this blog entry. I would like to start with two quotes:  Morrow wrote in his autobiography that he’d left GSS because ... he felt that the OASIS had evolved into something horrible. “It had become a self-imposed prison for humanity,” he wrote. “A pleasant place for the world to hide from its problems while human civilization slowly collapses, primarily due to neglect.” (p. 120)  (Halliday speaking) “I created the OASIS because I never felt at home in the real world. I didn’t know how to connect with people there. I was afraid, for all of my life. Right up until I knew it was ending. That was when I realized, as terrifying and painful as reality can be, it’s also the only place where you can find true happiness. Beca

An Introduction to Metaprogramming

After reading the article "An Introduction to Metaprogramming", there are a few things that I would like to discuss through this blog entry, I would like to start by explaining what is a metaprogram. A metaprogram is a program that generates other programs or parts of a program. So, when we talk about metaprogramming we are talking about writing metaprograms. This kind of programs is useful to eliminate or reduce a tedious or error-prone programming task.  There is a special kind of source generator named quines. A quine is a program that generates a copy of its own source text as its complete output. While other programs (dynamic programs) have the feature to modify some parts of the code during runtime without the need to generate a source code. For our course of Software Design and Architecture, we are using Ruby, which employs the feature to automate common programming task, a clear example is on classes, where you use an attr_accessor method to produce the read/wri

Microservices

After reading the article "Microservices", there are a few things that I would like to discuss, we must start first by defining what does a Microservice is. A Microservice architectural style is an approach to developing a single application into modules, each one running its own process and communicating with each other, so when an update is needed the process of implementing the changes is easier.  One interesting thing is the way the Microservice style is compared to the monolithic style where a monolithic application is built as a single unit. A monolithic server is a natural way to approach building such a system. Explaining in a simple way, a monolithic application puts all its functionality into a single process and scales by replicating the monolith into multiple servers; while a microservice architecture puts each element of functionality into separate service and scales it by distributing these services across servers, replicating as needed.  A Microservice

The 4 +1 Model

After watching "The Elephant and the Blind Programmers" and the "4.6 SEM: 4+1 View into Software Architecture" videos, and reading the article "The Elephant and the Blind Programmers" we will discuss the 4+1 View Model, this a model through this blog entry. The 4 + 1 model is used to organize an application according to what every person needs to see, depending on what is the most import things to them and the ones that are not that important. Here we can use the example of the blind programmers and the elephant, every programmer had a different concept of the elephant, the same happens with a team of engineers. The security engineer will see the relevant parts to his needs, so the administrator.  The 4 + 1 model has different views, these are: - Logical View: Class diagram, communication diagram, sequence diagram, state machine diagram, object diagram. Object model: what components will be made and how the will behave.  - Process View: Concur

Understanding the SOLID Principles

The following blog entry will explain the SOLID Principles based on the book Ace the programming interview: 160 questions and answers for success.  SOLID stands for 5 widely accepted principles of object-oriented programming and design, these are the S ingle Responsibility Principle, O pen/Closed Principle, L iskov Substitution Principle, I nterface Segregation Principle, D ependency Inversion Principle. These principles will be explained through this entry.  - Single Responsibility Principle: This principle says that a class should have only one responsibility. It should have only a reason or a class of reasons that cause it to change. This principle might cause a problem for programmers because deciding what a single responsibility means can be a difficulty. A single responsibility refers to a group of related business processes or it could be broken down in its constituent parts, with each part designated as a responsibility. - Open/Closed Principle: This principle s

WarGames

Last class we watched a movie called "WarGames", this is a movie that I found very interesting. The movie tells the story of a guy who connects to WOPR, a military supercomputer programmed to predict possible outcomes of nuclear war, thinking that this computer is a new gaming computer. Once he connects to it, he discovers a list of names that were similar to games, he saw names like chess, tic tac toe but he found a title that referred to a Global Thermonuclear War, he started this game. He played with the computer but then he was wanted by the FBI, the WOPR computer was tied between the simulation and the reality, he attempted to start World War III because it was connected to the nuclear weapons control system.  I must say that even though this movie is not an actual one, I really enjoyed it. The movie plot is simple but grabs the viewers attention. I think that special effects are not a thing that may affect the movie, even though it lacks complicated special effects