Intro to DevOps

This is a post about me giving you an introduction to DevOps, but for this I had to learn myself what DevOps mean. First I would like to say what I think of DevOps before I read anything, only pure experience and casual discussions about this with colleagues and friends.

DevOps sounds like development operations, which is operaciones de desarrollo in Spanish (it’s easier for me if I translate first). With this in mind, I would say that a devOps developer would be in charge of creating a flow system for all the tools and stuff the system could need, this is from servers to deployment but nothing to do in the code of the project in particular. I mean, he or she will establish the environment for the -for example- a web developer may be able to work and deploy all changes he or she make. Something like that.

Okay, now the definition I found on the post my professor recommended us (What is DevOps?) says a lot, a lot of DevOps and finding a single definition is so hard that I just kept the one the author gives first:

DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support.

So I am right in one thing, DevOps involves all the process, actually is kinda a process by what I understood, also it talks more about the environment where the project will be developed and not the system itself. Also, there were given other points I think are useful to “fully” understand what this methodology is.

  • Infrastructure Automation – create your systems, OS configs, and app deployments as code.
  • Continuous Delivery – build, test, deploy your apps in a fast and automated manner.
  • Site Reliability Engineering – operate your systems; monitoring and orchestration, sure, but also designing for operability in the first place.

In these points are mentioned parts of the process involved in a DevOps development. The last one Site Reliability Engineering is more complex to me to explain so, I found a better definition for that. According to wikipedia, “Site Reliability Engineering (SRE) is a discipline that incorporates aspects of software engineering and applies them to infrastructure and operations problems. The main goals are to create ultra-scalable and highly reliable software systems”. According to Ben Treynor, founder of Google‘s Site Reliability Team, SRE is “what happens when a software engineer is tasked with what used to be called operations.”

Sure DevOps may be something like I said at the beginning but it also not, I mean, the term is so much more complex than that and, honestly, impossible for me right now to make it clear to you (it is still not 100% clear to me). But this research surely makes it more clear to me than before and now I know this is something I can add to my projects and it is not hard.

So, that’s what I’m keeping in terms of DevOps knowledge, I hope this is useful for you.

Weekly plan #7

This week the plan is to finish the mockups along with the functional requirements.

With this we expect to end the week with a demo presentation about how the system should work using the mockups and flow diagrams. Also, we expect to have some code this week, but not for the presentation purposes.

A week without the Tech giants.

Impossible. That’s the first thing it comes to my mind by reading the title of this blog entry. But, is it really impossible? This week in class we learned it is not, but this will come with a lot of problems (unless you live in a small town with no access to the internet as I used to do before I moved to the city for college).

First: who are these giants? Just read the next post and you will know, probably you don’t even need to leave this page.

“How 5 Tech Giants Make Their Billions…” …

Now you know who the top 5 are, ask yourself if you think you can live at least a week without them (I mean you obviously can live but you know what I mean). Maybe if you’re an apple user like me you could say the easiest ones to leave behind would be Amazon, Microsoft and Google; I gave this answer when I was asked. Next I will talk about what I thought would be my easiest order to leave them.

  1. Amazon. I said this was the easiest one, but did you know almost all the incomes amazon have is because of their cloud services? AWS hosts a loooot of content we use on internet so if we just “turn off” Amazon a lot of web pages would do the same.
  2. Microsoft. This was my second choice because as an apple user I don’t use much of their products, only Word, PowerPoint, Excel, OneDrive but I actually use sometimes the equivalents from Apple. The thing with Microsoft is that their services are more focused on companies, so it’s very probably that you be asked to used some product from Microsoft in your work, in mine we use Azure Web Services.
  3. Facebook. Facebook could have been my first choice to leave but they sadly manage instagram, my favorite social network and app. I truly hate WhatsApp and the Facebook app I think is one of the most ugliest things we can use, I don’t like it. Also they manage and sell your info like hell so there’s not much else to say about it.
  4. Google. I hate google and I don’t know why. I try to avoid them as much as I can but it’s impossible, they’re everywhere and the worst is that they’re very useful haha, I wish they were not that important.
  5. Apple. I just love them, their design, their UX/UI, all of it (except the prices). The thing in here is that it’s easy to leave them because unless the other four Apple is more a hardware seller, so you only need to throw away your Macbook, iPhone, iPad, etc.

It’s not that easy to stop being a client of these companies, but it is also not impossible. I think the only way you couldn’t achieve this is because of someone or something else like your job but if you can get a job where you don’t need to buy something from them, perfect! 😀

I would never be able to do so, and I don’t want to try it either, I am trying to stop using social network apps, I don’t have them installed in my phone and the ones I have (WhatsApp and instagram) is because of the need (WhatsApp) or because I really like it (instagram), although I have my notifications turned off so I am not into them like all day or every 5 minutes.

Last weekend I went with my friends to Nevado de Colima and extinct volcano to make some camping and hiking, it was awesome. I love nature and being with friends so doing both was just like the perfect weekend (except for how uncomfortable was the night). Also, we were unconnected from internet and society for two days and it was awesome. When I turned my phone on back in the city, the usage report given weekly by my iPhone told me that I used the phone an average of two hours per day, that made me happy because last winter break I used to have an average of 9-11 hours per day. So people, you need to give your phone a break and your body a well deserved clean breath. Go outside and have as much fun as you can. Please.

I feel really happy right now 🙂

Also, I REALLY HATE WHATSAPP because of how people makes you be part of it even you want it or not.

I’m not living in a smart city

Last week, we didn’t have a class because of our beautiful and not well followed constitution so we didn’t discuss any topic in class BUT I did went to work, school, meetings, parties, towns so I will talk about that, how the city I’m living is not that smart as a “Mexican silicon valley” should be.

The first thing is the lack of bridges or bridges in places that don’t have sense. I am talking about the bridges for pedestrians. I work in an office located in a very crowded avenue so it’s almost impossible to cross from one side to another unless you walk 500mts and try to cross in the crosswalk which activates the green line each 5minutes for 5 seconds so you may end up in the middle of the avenue. Why don’t you get off of your bus closer to your job you may ask, let me answer: I am lazy, obviously I’m taking the bus that leaves me the closest to my job which is in the other way of the avenue, well there’s another that may leave me at least in the same side as my job BUT if I want to take this bus I have to take another one to reach the place for that bus and I am not that smart taking buses.

Another thing that makes me believe my city ain’t smart is how they try to be smart but are too lazy to do it. The other day I went to Walmart and the made a big area for picking what you may buy online with a special zone, different colors, etc. But it wasn’t working, they had the place closed by yellow tapes like a crime scene. And the reason a get mad about this is because when I saw the ad saying you could buy things online and just pick them in a specific place with your own cash register and stuff I was like “omg! this is a first world thing!” but later I saw they removed like 6 parking spots for this new thing and I have been to Walmart twice this month and it stills closed, #shame.

Other things are the lanes for bicycle riders which makes no sense by the way they’re built and how people use them like the motorcyclists which use these lanes for them, that’s something that makes me get maddd. Also the dumb time scheduling that the semaphores has. They need to prioritize some stuff over other and not just spend money in things that may sound cool but are just 🐮💩.

Also this can’t be a smart country by choosing a president who wants to take us to the 40’s. I was just telling my brother sooner today how I dislike my president, like a see some news or picture with him on it and I’m just like “ugh”. And I like politics, I’m not talking without knowing. BUT just in case you don’t believe me, they (government) gave the job of director of CONACyT (institute for Mexican scientists, research, schools, universities, technology, etc.) to a fashion designer. I’m sorry but it doesn’t sound like she has too much experience neither as a scientist nor a professor.

Okay, bye, hate talking about politics and I love it at the same time.

UPDATE: they removed the fashion designer of the charge, I think it was because of the well deserved critic from scientists and researchers.

Weekly review, week #4

Last week we focused on continue developing the requirements for our app. It is very important to have well defined our requirements, functional and non functional. Some points we have defined so far are

  • Development of an iOS app.
  • Native app developed using the Xcode tools.
  • Use of API’s for location services as google maps.
  • The design must be simple to the user with not many features but the ones that may cover the main functionality.
  • A Non-Relational database as MongoDB or FireBase.
  • The app must be available all the time.

Concerning the user interface we have opted for a simple as it can be design for the commodity of the user. We are still figuring out how the final design will look. We know what elements will our app have, but we still don’t know exactly how it will look.

We look like we are a little bit slow in the development, but this stage of the project is crucial for how the project will be developed later. We hope to have all well defined so no more changes be necessary later in the development.

How is it goin’, city

I missed the class for week three BUT I am good citizen, I think. Yeah, didn’t do a research about what my classmates studied in the class, but now I am available for everything they want to show me (don’t do an albur joke, please).

What I know we did (because I was there) was to getting together and plan how are we gonna deal with the data we collect from the users of the mobile app, they need to know they will share the info with us and have to agree in doing it, otherwise we would just be a new baby facebook.

So, we went to a meeting with our professor and discussed about that and… we didn’t reach a solution, but we were close. Actually while a was on my way to the meeting in the bus a realized we could do something like I was doing in that moment. Let me explain myself better, I am not a user of busses, I am new at this because of my new job, so I downloaded an app called Moovit which tells you how the public transport works in the city, THANK YOU.

Well, this app asks you if you want to a part of a world movement helping all the community to save the world by sharing your data and giving comments or feedback once in a while. I AM CLEARLY EXAGGERATING but it’s kinda true. They have like a forum where the users share their info and report of a problem with the app or the system or their lives. Anyway, I think that the simple fact of being part of a community that helps the others and the app recognize you for that is something good for you in exchange for giving the info, is like they increase your ego by using public transportation. Maravillosa Jugada.

Yeah, so I thought that the user would agree to share their info just by the simple fact people love to help others IF everybody knows about that, so we share they are good citizens and they tells us where the bikes are.

We haven’t decided how exactly will be, but in my personal blog I speak for myself and I say we do that. Peace.

The smart citizens we are

The title for this entry isn’t correct. I feel like I am not being a smart citizen, well more like a not smart student because I have been having trouble dealing with how I manage my time and tasks/homework/social life/relationship (HA! I don’t have one 😂😔). But here I am, doing my blog entry for the week 2 in our week 4 😀

Well, if I can recall well, in the second week we had our first meeting as a team for the final project. I knew all my team partners since ever (4 years) except for one: David. I liked the guy, he is nice and also is with me in another class, we noticed it after we made the team. I am also working with Gabo, my friend since first semester and one of the people I most trust in the world (for specific things, he is dumb in few aspect of his life) and Constanza, the girl I met in my 3rd semester and who never stops of amazing me, I love to work with her because of how she makes me push harder so she doesn’t go in front of me. I love this guys.

Talking about the class, we decided we would do a mobile app for showing the users where the public bicycles of the city are located and also we take some data from their trips using them. With their permissions obviously.

So, Gabo is the only person with experience in mobile development, we decided to be iOS because Constanza and I hated android studio when we were partners int the mobile development class and had to make an android app. David is not an ISC so he hasn’t experience at all, but he is fine trying new things and we know he will do it just fine.

So, that’s it. We decided how are we gonna work knowing what strengths and weakness of the team are. Yup, that’s it. Peace.


Trying JUnit

Now, for the Software Quality and Testing class, we went into JUnit for unit testing in java. To try it out I followed a tutorial, more like a class, that was pretty nice, I’ll give you the link somewhere in the post so you can do it by yourself. The reason I am l¡hiding the link over there is to you to read some of my post. It will be short, I promise.

Okay, I begun with Eclipse, the IDE for developers, more like java developers. I have always liked to use this IDE since I was in my first semesters of college. Okay, Eclipse already have JUnit or you just install the plugin if not.

I tried JUnit before in my Architecture class, so this was more like a refresh of what JUnit is. Some useful concepts and tools are this:

  • JUnit promotes the idea of “first testing then coding”, which emphasizes on setting up the test data for a piece of code that can be tested first and then implemented. This approach is like “test a little, code a little, test a little, code a little.”
  • A Unit Test Case is a part of code, which ensures that another part of code (method) works as expected. To achieve the desired results quickly, a test framework is required. JUnit is a perfect unit test framework for Java programming language.
  • Fixtures is a fixed state of a set of objects used as a baseline for running tests.
  • A test suite bundles a few unit test cases and runs them together. In JUnit, both @RunWith and @Suite annotation are used to run the suite test.
  • Test runner is used for executing the test cases.
  • JUnit classes are important classes, used in writing and testing JUnits.

So, what I learned is that for a good unit test set, you need your code (obviously), the one that will be tested; minimum one class where you will write your tests or how you will test your code, and a main class to run all the tests and return if you win or lose in this race we call code testing.

For example, what I did was a simple class that receives a string and prints it into the console.Screen Shot 2019-02-06 at 00.05.05

Then I have the class where you write your test cases, with simple methods that so what you expect your code to do.

Screen Shot 2019-02-06 at 00.06.09.png

And finally you have your test runner that is where you run your tests (sound duuh) and specify what the outputs will be in case the code passes the tests or fails them.

Screen Shot 2019-02-06 at 00.07.25.png

Before I show you te results of my tests, please try to figure it out by looking at my code, read it very carefully and let’s hope you can see the future.

The result is the following:

Screen Shot 2019-02-06 at 00.10.15.png

This is because in the test class I changed the value of my message to a new one after the code was executed so my test case was expecting a different message that the one was given.

That’s it, hope you liked this post. And, true, the link to the tutorial is in the word Eclipse, in the second appearance of the word in the entry.

Second test

Okay, I have not wrote any blog entry since my first blog post explaining what this blog would be about. The topic is the same, Software quality and testing. Now it has been three or maybe four weeks since the course began and I have to say, I haven’t been so much into it. I mean, I like the course and the topic, but for personal reasons I haven’t giving my best trying to learn.

Don’t misunderstand me, I have not been doing research about the course, BUT I have been having work experience with related to this. True, I didn’t say that about me, I am currently working as a frontend developer and yes, you may think (I used to) that there is no testing or QA in fronted development, but oh my carrot, there is a lot of testing. Actually, when I’m about to finish a component for a web app or something we always joke saying “I finished the task, now I have to wait for Dara to say it is wrong” because it’s true, there’s always something the designer don’t like how it looks or how it feels and we know the importance of user experience, so we always have in mind those little corrections we know we will have to do. So yeah, there is a lot of QA in frontend development.

In rare cases the page is approved without corrections and then it’s like:


Well, keeping with what the class has been for me, I have missed some of them, hope it doesn’t make me miss the semester 😬. Agh, hate that I get distracted by my thoughts so easily. Okay, in the class we have worked about our final project, I don’t know if I discussed it already but you can see what’s it about in my other entries about smart cities (another course) and it begins in here: The beginning.

Now, the class has been focused on work on the project with some discussion about the chapters in the book we use for the class (highly recommended: Introduction to Software Testing-Cambridge University Press (2017)) and we do some quizzes about that using (I love it) -I have been doing just greatly horrible in these- but I have learn stuff like Edison was the first person that talked or used the word bug as we do. (something like that, hope I’m right, in case I am not I would say I’m joking and I do it for making the blog entry more fun 🙂).

Well, also we have been using JUnit for unit testing in java (long time ago without programming in java) and I have to say it works just fine, would be helpful if we would know about this since 2nd semester in our object oriented programming class instead of teaching us about graphics in java (they suck).

Okay, this class has been fun, I like it, I like the attitude, everything is great. Peace, I’ll end here. Love u.

Personal experience in Smart Cities

Hello, there. This is my introduction to a new category, also for my Smart Cities class, but in this one I will be talking in singular, just about me and how I feel on it, my experience with the class, pues. (It’s from norteños ending and explanation with “pues”).

Anyways, this course begun 2 classes ago and what can I say about it. First I have to say that in all my career I have never been in a class with the majority of my friends, it is awesome to share the class with them and furthermore be 1 team (that later become 2 bc it was to big 🙄). Second: the professor, well, it’s Ken, everyone loves Ken, he was the first professor I toke a software related class with (fundamentals of programming).

In the first class he asked what we believe the course was about, and not it is not about smart cities, it is about how to build a smart city. That’s all. The second class was about planning our project which is in our team blog post The beginning and Weekly Plan #1 Smart Cities. Go and check them out. Peace.