Entradas

4 + 1 View Model

It was a funny adaptation of the six blind men fabled repurposed to programming and software. I believe it managed to transmit the lesson It wanted to give, but a final explanation in not fable form would have been appreciated. Like it was really easy after watching the video about the 4 + 1 View Model, but otherwise that part of the fable would have probably flown over my head, and just by reading without thinking in the order of the model I had issues trying to grasp which programmer was which view. For example, the programmer not-programmer confused me about which view they were supposed to be, although I suppose it is in the same order that the model is presented in the graph of the first video. So, I would guess the fourth “programmer” would be the development view in the 4+1 View Model, but after noticing the oscilloscope and the multimeter I realized that she represented the Physical View as it is the one involved with hardware. The fifth programmer was also a mystery for the

SOLID

  The SOLID principles are really good advice and were explained in a really simple way during this article. Some of them I had already heard as in the past I have read one of Uncle Bob’s books during the Videogame project course. The Single Responsibility Principle is the only one of the principles that until now I always have in mind while writing classes, although being honest just as the article says it is not always that straightforward what would be considered doing only one thing, so sometimes I may not apply it perfectly. The Open/Closed Principle and the Liskov Substitution Principle those are principles that are new to me and certainly go against some of the things I knew.   Because I had learned to use inheritance in those situations, although reading the article I agree that abusing inheritance may not always be a good idea as it may leave the code in an unpleasant state or generate side effects. The Interface Segregation Principle I never had thought about doing that,

Microservices

I have previously approached microservices during our Web development course, although we had a lot of issues with that course such as the pacing being too slow due to some students from other career getting stuck several times. And we also had issues with us not knowing the basics of web development and then teaching us microservices telling us about how they solve a lot of issues, but us having no idea what those issues were. Curiously, we were taught about microservices using Amazon console, business that the article mentioned several times. Now knowing a bit more about web and after reading the article that finally explained some of the problems they solve, I begin to appreciate them more and would like to learn to better use them although with a better pacing. It sounds indeed a lot better to only have to change a service instead of changing the whole code and then having to rebuild and using them it was really comfortable to use python to manage the database and only having to

Software Craftsmanship

  I have been trying to avoid of thinking of programming as a craftmanship since some years ago because we were kind of thought that it was incorrect. During our software development courses we were taught that treating it as a craftmanship was what caused it. But the way uncle Bob explained it as a craftmanship did resonate with me as indeed you do feel proud of your code when it works, and when you manage to program an elegant solution or a clean code it does feel better. Also, everyone has their own way of programming for example when in a group project I see a variable with an unholy name such as ‘iiiiiiiiiii’ I immediately ask Óscar if he did it, and with people you have programmed multiple times you get a feeling of how they code. Maybe it is not a wrong way to see code after all if you can follow the software craftmanship manifesto, which indeed as they say it is not nearly as popular as the agile manifesto. The points in them do sound like really good programming practices to

Hidden Figures

  It was the first time I had seen the movie Hidden Figures, I really liked it. It was a really nice story about women and especially black women and their contributions to science. I believe it is important to recognize the role of women in science and engineering. Also, the movie helps as a grim reminder that segregation was not that long ago, that it was less than 60 years ago, and that there are still people that lived through that period of time. Of course, I am not saying that racism is no more, but we have made progress on that, nowadays there aren’t segregated bathrooms. The part where the boss of Katherine broke the sign in the bathroom so that she would not have to go to another building. Also, the actress of Katherine did an excellent job ranting about why she missed like 40 minutes every day, you could see the frustration with circumstances she could not control. There were several good scenes in the movie, but the one I might have liked the most was when Mary Jackson was

Is design dead?

  “Any unneeded complexity makes a system harder to change in all directions except the one you anticipate with the complex flexibility you put in”. I believe that quote of the reading is the one that does a better job explaining why you need simplicity in the code and the strong point of programming for the present, not for the future. As indeed making a part of my code easy to modify would need that I make the assumption of what type of change would be needed in the future. I really like his moderate posture or coward as he calls it because in some of the things he mentions regarding design or having absolutely no architecture at all, do sound too extreme especially when in situations where is clear from day one that you do need a database. I particularly like his posture in regards to architecture of doing it, but take it as a sketch not something written in stone as you do not know what possible requirement changes come in a project or what specific issues come during the programmi

Who needs an architect?

  The reading did raise two important questions one that I had thought of before and one that I had not, and I believe the one I had not thought about is important to answer the other one. The one I had not thought about was, what is software architecture? I just took the definition given in class at face value, and that definition was really similar to the one given by the IEEE. I just accepted that architecture was that even though it was abstract enough to not be sure what specifically entails the term. I believe that those cynical definition given by the author feel more specific, like they help more to recognize what is software architecture. The question I had already asked myself is, when does someone becomes and architect and what are the qualifications? I asked myself this because seeing the tittle I just thought I definitely am not an architect, but what would it take to become one, or when do you know you are one. The tittle sounds kind of arbitrary because as seen in last