Entradas

13th module: Hidden Figures

Hidden Figures seems, to me at least, like a very special movie. Not only does it talk about one of the greatest milestones of the twentieth century talking from a technological, sociological and political perspective, but it does so from the outlook of another very important event from that time in the USA, the fight for two different and intertwined groups that were heavily discriminated in that time: people of color and women.   This brings a different perspective that aims to acknowledge the efforts and actions taken by this groups and show that history is one big ball of different people and occurrences and that we cannot analyze the lunar landing without considering all the factors and how it impacts the lives of the people, not just from that time, but for the future generations as well. The alienation, blatant racism and sexism practiced by most of the characters inside the NASA workplace and by other characters throughout the film seem a bit bizarre, even outlandish. I

12th design: Ready Design One

As short foreword and review to the book Ready Player One, I can say that it is one of the most entertaining books I have ever read in my entire life. It grips you from the start with clear objectives and a (somewhat) relatable character trying to make sense and be victorious in the world the only way he knows how.   It offers every paragraph to computer and videogame enthusiasts, while also showing the essence of what it means to be a geek: a person that is passionate about something and just won’t shut up about it. In general, one of my top 5 books ever. It proposes an interesting view on dystopias, by making everyone just forget that they are bringing the world farther and farther into decadence by pure negligence and lack of hope. Pretty much all of the characters know the world is in a very bad state and it is not going to get better any time soon and yet they prefer to get the egg and gain control of the OASIS. It is implied that Wade and his friends will use the money fo

11th module: Metaprogramming

While metaprogramming was a topic from the Programming Languages course that was somewhat covered, at least for my group in Semestre I, this article is easy to understand and shows the effectiveness   of this kind of practices that are as old as Lisp itself. Through simple examples I was able to understand the principles and motivations, as well as simple, although strange looking examples. I think metaprogramming deals with a very natural desire for all humans, which is to make things easier through automation and we reached that point in programming quite some time ago, through several generations of languages, paradigms and pattern designs. Maybe I find the examples strange because of the use of Ruby. While I’ve the pleasure of working with this programming language throughout this semester, I just can’t seem to get myself comfortable with all of its “peculiarities”, like its use of loops or just how easy it can insert new code anywhere through class extension. In the case o

10th module: Going Micro(soft)

The article talks about a general overview on the architectural style known as microservice. While it isn’t exactly new or niche (many of my friends who work in mobile and web development use it), it is a rather interesting change from the usual monolithic services, and I think it points towards a trend that has been going for most of the history of the software industry. I am talking about modularity and our preference for smaller units whether it is for hardware or software elements. One example of this is how companies went from giant IBM supercomputer centers over to servers and then going a bit   further distributed systems, among other things.     The authors talk about one of the so-called disadvantages of the microservice architecture being that changing interfaces or code from one service to another can be a lot more problematic than with a monolithic architecture. I, however, disagree, not so much that it can be quite difficult, but rather, that it is not a fault of

9th design: Sum of all parts

Programming, being such an abstract and general concept, is not tied to a single practice, technique or hardware system. It can be implemented in a multitude of ways and new ones are being invented every day, some with more success than others. The truth is, there can be a multitude of implementations because everyone has a different approach or set of factors that matter to them the most. Some are very picky with types, others with portability, while some others still might for concurrency, readability and constant code optimization. As the story of the elephant goes, not everyone can see the whole picture at a time and while it may be beneficial to take everything into account, I don’t think it is necessary or worth it from an individual’s perspective. Which is why I found the 4+1 view of software architecture so intriguing. You don’t need everything inside, as long as everything can pass from thought to paper at some point. You can first think of all the hardware constraints