domingo, 27 de octubre de 2019

Ethical Reflection on Ready Player One

Halliday quotes deal with a complicated issue. Today we are in a transition to the digital era that is advancing rapidly, we are letting computers, personal assistants, platforms and other technological advances do the work for us, but they are also influencing the way we interact. From social networks that allow us to connect with people we know (such as Facebook or Instagram) to those that allow us to meet new people (Linkedin for the work environment, Tinder for social).
In the past it was impossible to think about meeting people if we did not agree with them somewhere, a party, meeting, work, concert, etc ... However today it has become something completely normal. Now, OASIS poses a digital world in which we can become completely other people, change our physical aspects and pretend to be people we are not. What does that tell us? That we are allowed to give appearances, stop being authentic to fit with society.
I believe that if OASIS existed in reality we would be going through a crisis like the one mentioned by Halliday in the book, a lack of personal relationships, empathy, knowledge of oneself and the other. Although, of course, it would give us many advantages such as eliminating the need for transportation, reducing pollution and increasing effective time, increasing the number of people with whom we can relate, facilitating access to information and providing a safe place in The one to share with others. Finally, it would end with a total degradation of the physiognomy by remaining so long connected to a machine without even giving us the sun, we would be sedentary beings.
I fully agree with Halliday's idea, it may be a way of escaping reality for a while, but eventually we realize that this is not life, it is not reality, and as human beings we require physical contact and personal relationships full that allow us to develop. I do not consider that the benefits of a system like OASIS offset the damages.

domingo, 20 de octubre de 2019

Hidden Figures

I had already had the opportunity to see the trailer of this movie a couple of months ago, although I had not had the opportunity to see it. Personally I think that it is not one but several important issues in today's society that, as much as we have worked, we have not managed to solve: racism, labor exploitation, credit theft, underestimation, machismo, education, etc.
I consider myself a person who actively works to make a change in society, in addition to the social practices we do in the Tec I have had the opportunity to work on other social projects with AIESEC to attack, more specifically, education problems and inequality of opportunities .
In the film we can see, very clearly, that girls are trained, intelligent, dedicated, honest, but their crime is to be women and, above all, to be black. But why should this make a difference? We have seen over the years that people with different qualities are those who provide the best ideas, who achieve the best things. And I want to clarify that with "different qualities" I don't mean to be black, gay or autistic, but to be something different from what society expects us to be, and that's not bad at all.
I think this diversity of people is what allows the world to keep moving. We see it at work and at school, a multidisciplinary team with different backgrounds, different ways of thinking, different opportunities, different stories, always generate better results than a group of people who have the same characteristics, why? Because they are teams that have more to work with, more to discuss. And from discussion, from questioning, knowledge is born.
I consider this a film to reflect on what each of us is doing to change this situation, to realize if we are part of the problem, if we are the ones who discriminate and underestimate people because of prejudices that were instilled in us. This and other films will allow us to question ourselves about the attitudes that we should encourage, those that we should change and those that we should eliminate to become better people, with morals and ethics.

domingo, 13 de octubre de 2019

The 4+1 View Model

The 4 + 1 model proposes an interesting vision on how to design the architecture of a system. It is not the first time that I hear the analogy (although with a different context) of an object that is visualized with different perspectives (and senses) causing a completely different understanding, but which together give a better panorama of reality.
During my career I participated in the development of multiple systems, from the simplest to the most complex, and in all of us we have always encountered the question of what should we do? and how are we going to do it? The first question is always complex because, well ... our client never knows what he wants, but after asking questions, prototypes, making mistakes again and again, we believe that we understand what he wants. Now comes the complicated part: How are we going to do it?
Ah, because the team may have understood what the customer needs, but each of us has a different perspective and, therefore, we try to attack the problem differently. The important thing here now is communication. I think that in the videos and in the article there is not much talk about this important point, because it is of no use to have a multidisciplinary team with high technical capacity and reasoning if they do not know how to communicate.
Once we sit at a round table and start to share what everyone understood and try to express our point of view we come to something similar to what the 4 + 1 model mentions, talk about the same system, but from their different visualizations
We have already applied this model during the race, although we probably did not know that we did it, making the diagrams from these different points of view will always allow us to have a better perspective and, therefore, make better decisions in the analysis and design of the architecture of a system.

domingo, 6 de octubre de 2019

Understanding the SOLID principles

SOLID principles are a very simple way to remember the good practices that any object-oriented programmer should consider. Each of the principles attacks a specific point that affects the way in which a programmer defines the objects within a program, how they will interact, how they can be used, their capabilities, and so on.
I consider that both the acronym is very consistent with what it refers to because the idea is to create robust, resistant to change, robust applications.
The 5 SOLID principles are:
- Simple Responsibility: That refers to a class or object should only attend a specific task, it is the decision of each programmer how specific these activities should be, but intentions should not be mixed.
- Open / Closed: It means that classes or objects must be open to extension, but closed for modification, so that the behavior of a defined class cannot be altered.
- Liskov Substitution: It means that a class that inherits from another must be interchangeable for a function that requires the base class, that is, it can be substituted.
- Interface Segregation: It means that the interfaces must be simple and simple, not have more than necessary. In case an interface becomes very complex, it must be divided so that the classes that implement them do not have empty methods that are not used.
- Dependency Inversion: Refers to avoid dependence between 2 classes from the implementation of an interface instead of a class when it is required to use.
Taking these principles into account when programming the systems will allow for greater ease of maintenance of the applications and will make them scalar without having to pay too much work to the people who do this maintenance. It is important to consider the principles not only because they are good practices, but because they will make the systems of higher quality, reusable and scalable.

domingo, 29 de septiembre de 2019

Microservices

I think it is clear enough the importance of architecture in the development of a system or application, so it should not be overlooked at any time.
Speaking of microservices we find the utility of a small, concise and available tool through HTTP requests that will be running at any time on a server and that will respond to all requests made from our original system.
What is the advantage of using an architecture based on microservices? Well, basically we can modularize the application by eliminating many dependencies, avoiding conflicts with local libraries and allowing the architecture to be deployed in a more distributed way, which increases the scope and ease of scaling.
For me, one of the most important things is that it facilitates the selection of the elements that are most occupied, or that carry a greater workload and allows them to be replicated in different instances and through the use of a load balancer it is possible to distribute the requests of an application and only replicate microservices that need more processing capacity. This would not be possible in a monolithic architecture because absolutely the entire system would have to be replicated, which increases the cost and reduces the possibilities.
The last point addressed in the article is about the future of microservices and although the author still does not give enough credit to these architectures, for me the future is heading there. We have seen how companies that provide services in the cloud have recently grown and, most of these, are microservices. Why does this happen? Simply and simply because the titans of computing services have realized that companies that use technology are more willing to pay only for what they are using to maximize their performance and reduce their costs. For this reason, I believe that we are going to a stage of computer systems that is based on microservice architecture. And even more so considering that the speed of data transfer over the internet has been increasing astronomically due to the new transmission methods, which increases the advantages of these microservices.

domingo, 22 de septiembre de 2019

Software Craftsmanship

Throughout the career we have studied we have seen different methodologies to develop software, we even find ourselves with the dilemma of understanding the difference between a methodology and a framework (as agile is). Personally I believe that this framework of good practices to develop software more efficiently, quickly and with better teamwork, has been a total innovation in our area.
I totally agree with the author when he mentions about the craftsmanship of the software, because it is, no software is a copy of another because we are always producing new things and each programmer puts a little of his part, his essence, and the way he solves Problems when programming are part of the way you think, the way you express yourself, that makes software art.
Imagine for a moment return to the development of traditional, sequential software, with PMI. The requirements of our customers, today more than ever, constantly change. The technologies we work with are evolving day by day, the people we serve are and suddenly no longer, the business needs change day by day adjusting to the market, the ecosystem, the economy. Then what do we do? Are we still developing software unable to adapt? Do we cancel the projects at the moment they become useless? All these questions are solved with the implementation of this new way of developing software: agile. A framework that focuses on giving greater concentration to the client and that says "changes are welcome" allowing that, even at late stages of the project, changes are accepted in order to meet the needs of the client or end users who will use the system.
Personally I am very fan of this type of software development and I have even certified in Scrum methodology with ScrumStudy and IBM Agile courses because I think it is a fairly successful framework for the shortcomings of software development.

domingo, 15 de septiembre de 2019

Wargames

I loved the film in all aspects like almost any material that Professor Ariel shares with us, always very attentive to what we need to know, but with a Geek touch that makes us more interested.
Well, where do I start? First, I work at IBM in the Security Intelligence department and obviously I am very focused on the cyber aspect of systems security. This movie touches on some issues such as the back doors, the monitoring of a person's activity on the network, protected systems, etc. He even mentions topics such as artificial intelligence and the classic "robots of the future will control the world and subdue human beings" by Terminator.
Not much to say, really. This film lets us see the capacity of the systems, even if they are very old, and the potential they have to facilitate the work and decision making of human beings, but always with responsibility.
I think that is precisely the point I would like to highlight, to develop technology with responsibility. Because in my opinion it is not just about developing technology just because it is, but about understanding the consequences of what we are doing and the destructive capacity that any system can have in the wrong hands. It sounds a bit like a science fiction movie, yes, but let's imagine that what happened in the movie happened today in real life. Doesn't it sound so far from reality? Yes, it is possible for a system to take military control of a country and start a world war that ends the lives of everyone on the planet, only that we don't think about it very often.
We will have to continue advancing with technology, but apply our ethical education so as not to make systems that compromise, in any way, the integrity of people, animals, the environment, etc. It sounds complex, but it is our duty as engineers and as humans to consider the impact of our actions and more taking into account that we, as experts in the technological area have the future of the world in our hands.