On Blogging

--Originally published at Hackerman's house

After reading Ana’s Blog I realized how blogging can become part of our life. It is a tool we use to share our experiences with people we don’t know, but it also can be a place where we are free and can express everything we have inside of us. My personal experience with bloging isn’t as big as Ana’s, but it has been evolving since day 1.

Something important to mention is that my teacher Ken Bauer has given me classes in 4 different semesters, each one has been a little bit different. First semester I had to create a blog for the course and I wasn’t thrilled about it, but after a few days I started messing with the template I was using, the colours and I had a lot of fun doing that, it was a good first experience, at some time I even started using images and gifs to share everything I could about me in there.

In fourth semester I had my worst experience where my blog had to be in Blackboard, that was very boring and didn’t really reflect my personality.

Fifth and six semester were really similar, the thrill about blogging had mostly dissapeared. I enjoy some alone time with my blog, but I rather spend my time doing something else.

Chapters 6.1-6.2 (Team)

--Originally published at Hackerman's house

  • What two properties must be satisfied for an input domain to be properly partitioned?

Completeness and Disjoint. The first one is about how you have to cover every possibility, a resource you can is to use the keyword “other”, this will cover the other possibilities that don’t have that much importance. The second one is that your partitions don’t overlap with each other.

  • What is an Input Domain Model (IDM)?

Represents the input space of the system under test in an abstract way. It is described in order of the input characteristics. Consists of all the possible inputs that the program can take, and define the conditions associated with it, then defining the best IDM approach to deal with them.

  • What gives more tests, each choice coverage or pair-wise coverage?

Pair Wise Coverage, because each choice coverage only uses one value in at least one test case.

DevOps part 2

--Originally published at Hackerman's house

This is a continuation of the DevOps excercise, you can see the first part here where I talked about the definition of DevOps and the process of instalation of ArchLinux in my computer, as well as the setup of programming languages and git (I made a mistake and thought the first part was about this). Most of the things of this delivery area already in that post so this will be kind of short.

For the web deployment I selected a classic LAMP stack. Since 2013 MariaDB is Arch Linux’s default implementation of MySQL, the other parts about apache and php are self-explanatory.

DevOpsInstallation

After installing them I followed this tutorial to setup everything the right way, most of the steps are about modifying the configuration files and starting the services. And here are some screenshots proving that these services are working.

APACHE:

ApacheSS

PHP:

PhpSS

MARIADB:

mariaDBSS

I hope my next post will be a little bit more interesting.

 

 

 

Chapter 5 discussion

--Originally published at Hackerman's house

1.- Some organizations in industry who adopt TDD report that it succeeds very well, and others report that it fails. Based on your knowledge of TDD and any experience you have, why do you think it succeeds sometimes but not all?

Test driven development is really dependent on the culture of the industry. If you try to take this approach, but you don’t develop your test seriously you won’t be able to succeed. To do this kind of development your tests cases have to be defined really well, in order to have high quality software; the validity of your tests play an important role as this allow you to do iterations of programming that get you closer to your final goal (avoiding to waste time).

2.- A few software organizations use test criteria and report great success. However, most organizations do not currently use test criteria. Based on your knowledge and experience, why do you think test criteria are not used more?

Because they don’t create appropriate test criteria and they try to get near 100% coverage, which is impossible and time wasting. It could also be the test they make are not in line with the functionality that they are trying to incorporate to their program and lose the focus of the project.

DevOps

--Originally published at Hackerman's house

DevOps is a combination of software development and information technology operations.  It is basically a culture incorporated in companies to make software faster, thanks to the shortening of the systems development life cycle. It is important that the whole development team is integrated in this culture for it to work.

Assignment

For this week we have a lot of things to do, the main task is to install linux and making sure that we have all the tools we need to develop and starting to use the DevOps culture.

The first thing I did was installing ArchLinux, this was kind of easy to do because my friends Sebastian Serna and Carlos Cabello helped me setting it all up, I learned some things thanks to them and I think I will be able to install ArchLinux in another computer without too much trouble. One funny thing is that Max tried installing it with the help of Sebastian but he had a problem where the network didn’t allow him to download all the files, so I did all of this outside the Tec.

Screenshot from 2019-03-03 22-16-17

I’m really enjoying the experience and I haven’t had that many problems installing the things I want. For this assignment Python was already installed and it is working just fine, and I installed Java 8 to use AndroidStudio and it is working as well.

Python

To install a “Oficial” package you can use this command.

pacman

In the case the package is not “Oficial” you can use the ArchLinux User Repository (AUR), where you can download a compressed folder, extract it and open the console in that folder, then using the command makepkg and makepkg -i.

I already started setting up my git, and I am able to push changes to my repositories.

GitPush.png

That is all for this blog, and Continue reading "DevOps"

Test && Commit || Revert

--Originally published at Hackerman's house

The podcast with Scott Hanselman and Kent Beck called test && commit || revert based on the idea previously posted in Kent Beck blog was really interesting as the idea they discussed was something a bit extreme to me, but it made kind of sense. The basic programming workflow is to program, then test the code and if it works you commit it, if it doesn’t work you have to erase everything you did until the last test was passed. The thing that I find extreme in this procedure is that as programmers (and humans) we don’t wan’t to throw what we did to the garbage. We usually prefer to fix what we did, and explore the same solution making minor adjustments.

Resultado de imagen para tirar basura dibujo

Altought the first time Kent Beck heard of this idea he wasn’t really sure if it would work, he decided that he would give it a try. In this workflow the programmer can experiment really quick so you can quickly determine how comfortable you feel with this weird and different technique. The idea is really easy to understand, but it is not that simple to do it right, a complete change in mentality has to be made for this to work, the test should be made more often and have more inmediate goals, this way you won’t throw away a lot of time of work. Another thing to consider is that the code that passes a test usually can be improved, so if you pass a test you may require to take a look at your code to make sure it is robust enough.

Resultado de imagen para test

To conclude I want to talk about my opinion of this programming workflow. I agree with some of the points exposed, and personally I may try to acquire the habit of testing little parts Continue reading "Test && Commit || Revert"

Test && Commit || Revert

--Originally published at Hackerman's house

The podcast with Scott Hanselman and Kent Beck called test && commit || revert based on the idea previously posted in Kent Beck blog was really interesting as the idea they discussed was something a bit extreme to me, but it made kind of sense. The basic programming workflow is to program, then test the code and if it works you commit it, if it doesn’t work you have to erase everything you did until the last test was passed. The thing that I find extreme in this procedure is that as programmers (and humans) we don’t wan’t to throw what we did to the garbage. We usually prefer to fix what we did, and explore the same solution making minor adjustments.

Resultado de imagen para tirar basura dibujo

Altought the first time Kent Beck heard of this idea he wasn’t really sure if it would work, he decided that he would give it a try. In this workflow the programmer can experiment really quick so you can quickly determine how comfortable you feel with this weird and different technique. The idea is really easy to understand, but it is not that simple to do it right, a complete change in mentality has to be made for this to work, the test should be made more often and have more inmediate goals, this way you won’t throw away a lot of time of work. Another thing to consider is that the code that passes a test usually can be improved, so if you pass a test you may require to take a look at your code to make sure it is robust enough.

Resultado de imagen para test

To conclude I want to talk about my opinion of this programming workflow. I agree with some of the points exposed, and personally I may try to acquire the habit of testing little parts Continue reading "Test && Commit || Revert"