Data for all

--Originally published at

The weekly topic was Data as a commons for Smart City. When I think about a common, normally I think in a good common and as something that is for the benefit or interests of all. There are a lot of applications that daily retrieves a lot of data of us. We easily allow to share our location, our searches, sometimes even our contacts or more personal information. We do this because we just want to disappear the alert that came out in the application, maybe we click and accept as a default action, we are too lazy to read or maybe we do not take much importance to what we are sharing and how important, private it is.

We are the resources that fill database with data. There are many companies that depend on our collaboration and we do not even know it. How interesting is that there are platforms that share some of the information collected with us, that make us feel part of something and transparently ask us for help, ask for our data and we openly do it, in a consensual way because we know that we benefit from other people that also decide to do it.

I just read about a report made by people of DECODE project where they say that data should be the fundamental public infrastructure of the 21st century, as were roads, street lights and clean drinking water in the past. They want city governments to start reconceiving data as a new type of common good, because by helping citizens regain control of their data, it is possible to generate public value rather than private profit.

In fact, the goal of DECODE project is to essentially create data commons from data produced by people, their devices and sensors; a shared resource Continue reading "Data for all"

They listen to me, they hear me, they watch me… ♪♫♪♪♫ tikitikiti

--Originally published at

Smart surveillance, is the use of automatic video analysis technologies in video surveillance applications. This week we had to watch some videos about surveillance aspects of Smart Cities. All the mentioned smart surveillance projects have many different applications and great potential but have significant implications regarding security and privacy.

Talking about security implications, the ability to provide real time alerts, capture high value video and provide sophisticated analysis clearly has the potential to enhance security in various public and private facilities. This systems are intended to assist security guards, and will be measured on their ability to improve vigilance and to reduce labor and storage costs. However, the value of the technology is yet to be proven in the field but as more smart surveillance systems get deployed those systems must be analyzed for their effectiveness in detecting important activity events, while generating few false positives (alarms).

About privacy implications, this kind of systems have the ability to monitor video at a level which is a human cannot. This provides the monitoring agencies with a significantly enhanced level of information about the people in the space leading to higher concerns about individual privacy and abuse of sensitive individual information. However, the same smart surveillance technologies are providing novel ways of enhancing privacy in video based systems which was hitherto not possible.

It is difficult to imagine a future where the surveillance of the space is completely automatic, there is clearly an urgent need to improve the existing surveillance technologies with better tools to aid efficacy of the human operators involved in that field. With the increasing availability of the not that expensive computing, video infrastructure and better video analysis technologies, smart surveillance systems will completely replace the existing ones and the degree of smartness will vary with the level of Continue reading "They listen to me, they hear me, they watch me… ♪♫♪♪♫ tikitikiti"

What is DevOps?

--Originally published at The Sugar team workspace blog

DevOps is a hot trend lately, but it’s not a new thing. This term is becoming real popular in recent years, (just like other terms as machine learning and agile methodologies),

The graph shows in blue the search numbers for the term Devops in Google. Graph taken from Google Trends

This chart is tricky since there weren’t that many Google internet users at 2004 to 2009 but still you can see the big raise of search numbers in recent years

This one is from 2014 until 2019. (It’s funny how every 3rd week of December the search goes down 🎅🏼🎄) .

So… what is DevOps exactly? According to the Agile Admin. This term is all about agile operations and the value of collaboration between development and the operations staff throughout all stages of the development lifecycle when creating and operating a service.

Developers + Operations = ??? = profit

credits to (website filled with ads)

In other words, DevOps is the cooperation between the development and operations team and the people involved in the project to have a satisfactory delivery. It encapsulates the continuous delivery, automate deployment, designing the operability and monitoring.

The DevOps and the Agile methodologies are very tied together, nevertheless, DevOps and Agile are not the same thing.

In my experience, the DevOps team is the team everyone blames when a push is made into the development or any other phase and it doesn’t work properly. They are the sysadmins or masters of /Jenkins/Travis/etc… but this is not exactly the truth. DevOps is the answer to the fast pace of the modern world technology.

Like all the popular stuff, some people won’t like it (either having a reason or not). DevOps is popular so… some people say it’s the same thing sysadmins been doing forever just Continue reading "What is DevOps?"

Felix Jaehn – Honolulu (feat. Matluck)

--Originally published at

I am coursing informatic security class and this week I have a presentation about cyber vulnerabilities in virtual and augmented reality, this was a very interesting topic for me because I feel like I do not know anything about it so I had the opportunity / obligation to do some research and I decided to talk about something related (not vulnerabilities, just AR).

A named that called my attention was Hololens. According to CNN, last Sunday Microsoft announced them in Barcelona at the Mobile World Congress, an annual event for the mobile industry.

They show various possible uses in the workplace in his demo presentation. For example, they presented a real time virtual conference for a toy company, the manufacture of automobiles, the repair of industrial equipment and the performance of medical procedures that were aided by augmented reality technology.

Users who use a HoloLens viewer see the world around them, but with overlapping virtual graphics. The images are often integrated with real objects and surfaces, for example you may see a cup of virtual coffee that seems to perch on a real table (because of this, the company insists on calling it “mixed reality”). The device has eye tracking and other sensors, along with AI additions and facilitate the manipulation of virtual objects. It is also adding more integration in the cloud.

Since its first device, launched in 2016, the company was leaning toward the uses of technology in the workplace, offering a demonstration of an application that allows NASA researchers to see the surface of Mars in their offices. Since then, the company has found several corporate clients and uses for the HoloLens. Automakers, for example, have used the device to help maximize their production processes.

It is available on most high-end smartphones and can help people try out furniture Continue reading "Felix Jaehn – Honolulu (feat. Matluck)"

Chapter 4 and 5 Group

--Originally published at The Sugar team workspace blog

The book for reference in all the post is Introduction to Software Testing, 2nd Edition. 

  • What is “correctness” in agile processes?

All agile methods have an underlying assumption that instead of defining all behaviours with requirements or specifications, we demonstrate some behaviours with specific tests. The software is considered correct if it passes all particular set of tests. But to be honest, no one is sure of what the term correctness mean when applied to a computer program.

  • Do TDD tests do a good job testing the software?

Test Driven development is an agile approach (agile is a mindset not a methodology). So it’s a good tool to be responsive to change, because its focus is create a system that does something as early as possible. TDD allow us to obtain critical feedback quickly as possible. For example today at work something in the backend crashed, but it’s better that if it’s going to fail, that fail as quickly as possible.

  • Can we automate our tests without TDD?

  1. Can we use TDD without automating our tests?

  1. What four structures do we use for test criteria?

  1. What usually prevents our tests from achieving 100% coverage?

  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?

  1. 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?


A quote that I like a loot from the book (references at the bottom):

In traditional software development, system requirement are often questionable in terms of how complete and

Continue reading "Chapter 4 and 5 Group"

I got loyalty, got royalty inside my DNA

--Originally published at

My cousin, who is a doctor, is studying a master’s degree (I do not remember precisely the name) related to the connection between nutrition and genetics.

We are unique, we have a unique DNA; understanding our unique biochemistry and following a personalized nutrition approach we can actually optimize our health and prevent disease. Our family health history of disease tells us of potential genetic “weaknesses” and we attempt to find these weaknesses and turn them into strengths.

Besides this he is also doing other doctor’s stuff, but this was new for me, I have never heard about this. He would like to mix everything and trying to figure out how to optimize and translate it into the most amazing and ever created like Uber application. So I decide to research about this doctor’s ft nutrition ft genetics world and I find out that there are some platforms that do DNA studies in a simple and super optimized way, from your home. For example, there is a site where you can order a home-based saliva collection kit, send back your DNA to the lab and wait for the results.

Screen Shot 2019-02-22 at 3.16.51 AM.png

Here is their video:


They focus in your general ancestry information

Screen Shot 2019-02-22 at 3.19.11 AM.png

But there are also other platforms that actually focus on nutrition, and other topics related to health like Helix and Nutrition Genome.


Chapter 4

--Originally published at The Sugar team workspace blog

At first, this is our Calc class:

public class Calc {    
static public int add (int a, int b) {
return a + b;

It only has the add method. Hence, we made failing tests for two methods to be implemented: mult and div, for multiplication and division. 

And a failing test for the add method as well.

The input values for the addition are incorrect. Also, the mult and div message are not recognized by the class.

As we can observe, all tests failed…

testAdd failed
testDiv failed
testMult failed

Then, we changed the testAdd input values, so the test won’t fail.

Now the addition will be correct.

Next, we implemented the methods for multiplication and division in the Calc class:

Calc now has three methods

Finally, we ran the tests again and had a successfull execution.

The class recognizes all Calc methods.

Would you pool with me?

--Originally published at

I found this ridesharing platform, Toogethr, which is a Dutch start-up, from what I read, quite accepted and successful. This project has recently won the The Hague Innovators 2017 public prize.

They say that by driving together, we can beat traffic jams, solve parking problems, reduce emission and create new networking opportunities at the same time. The app connects colleagues in communities; you don’t have to search for colleagues to share a ride with yourself, the app automatically matches colleagues on the basis of location, working schedule and car ownership.

Toogethr purpose is transform the corporate mobility plan in an innovative and environmentally responsible way, while saving costs on traveling expenses. In turn, Toogethr also benefits employees, namely by expanding their networks and rewarding them for shared rides with colleagues.

Here is their promotional video:


This application is not very difficult to develop, I mean there are many car pooling applications in Mexico, I was even working on one focused on the mobility of employees with subsidized transportation, however what worries me is that because of the insecurity that exists in our country few of us would dare to trust in this type of initiatives. Blah blah car and other applications that provide rides are often dangerous due to misuse.
I think we have the intellectual potential to become a smart city, but what do we need to become smart citizens?



Week 4 exercise 3

--Originally published at The Sugar team workspace blog

Retrieved from SWE 437 In Class Exercise #5 JUnit. Code available in the end of the blogpost.

Question 1

Given the 4 @Test methods shown, how many times does the @Before method execute?

Just one time, it will setup the environment for the class we want to test.

Question 2

The contract for equals() states that no exceptions may be thrown. Instead, equals() is supposed to return false if passed a null argument. Write a JUnit test that verifies this property for the EH class.

@Test public void noNPE() {
assertEquals(false, eh1.equals(null));
assertEquals(false, eh2.equals(null));

Question 3

Using the given EH objects, write a test that verifies that equals() returns false if the objects are, in fact, not equal.

@Test public void equalsFalse() {
assertEquals(false, eh1.equals(eh2));
assertEquals(false, eh2.equals(eh3));

Question 4

Using the given EH objects, write a test that verifies that equals() returns true if the objects are, in fact, equal.

@Test public void equalsTrue() {
assertEquals(true, eh1.equals(eh1));
assertEquals(true, eh2.equals(eh2));
assertEquals(true, eh3.equals(eh3));

Question 5

Using the given EH objects, write a test to verify that hashCode() is consistent with equals. This test should fail if hashCode() is commented out (as shown), but pass if hashCode() is implemented.

public void hashConsistent() {
assertEquals(false, eh1.hashCode() == eh2.hashCode());
assertEquals(true, eh2.hashCode() == eh2.hashCode());
assertEquals(true, eh3.hashCode() == eh1.hashCode());

Code repository

4 of 4 test passed