All posts by Santex

Finding and fixing security vulnerabilities

By Hernan Amaya – Java Developer at Santex

One of the main pillars of the Information Technology industry is security. Can you imagine what software would be like without security? Everyone could access privileged information everywhere, causing potentially precarious situations. It’s obvious that everybody who owns software wants to be secure against cyber attacks. Developers are always concerned about designing and implementing software that is protected. Yet, no matter what tools or knowledge are at our disposal, no one can be certain that his or her development is 100% secure. That is why once a certain software is stable, it is good to determine whether it has any security vulnerabilities. Luckily, nowadays it is possible to use security vulnerability scanners for this purpose.

In Santex, we have scanned https://demo.testfire.net (a web application available for this purpose). We have used AppScan from IBM in its desktop and web versions. Besides, we have used several free and open source tools, such as Open VAS, Vega and Zed Attack Proxy.

Each tool is easy to use, simple, and it detects vulnerabilities after the analysis. The steps to run a scan for a web application are:

  1. Select the URL.
  2. Start the scan we default configurations.

Once the analysis ends, vulnerabilities are presented by priority (high, medium, low) with a description and a fix recommendation.   

AppScan is a very powerful tool. It detects several types of vulnerabilities. We think that this is the best tool.

Open VAS is powerful for analyzing servers.

Vega and ZAP are powerful for analyzing web applications. But, they are not as powerful as AppScan

This is a summary of the vulnerabilities of type high:

To sum up, we have discovered that nowadays the most powerful security scanner available is IBM’s AppScan. However, using several free, Open Source scanners is an excellent alternative. Consequently, combining scanners such as Open VAS, Vega and ZAP can be powerful as well.

Another kind of football

Santex QA, Bruno Molinari, tells us about his experience playing American football, which isn’t so typical in a Latin American world dominated by soccer, the other futbol.

How did you start playing (American) football?

I started playing about 8 years ago, but I’d already fallen in love with the sport long before that.

When school would get out in November, I’d spend my days at my grandparents’ house. They have cable TV, and in those days you could rarely see football on local channels, so that was great.

A few days after New Years that year, I saw a whole game for the first time. It as the Jacksonville Jaguars against the Denver Broncos with John Elway. It was a great game that was a really close call! So I kept watching the games in the playoffs, all the way through Brett Favre being named champion of the Super Bowl.

I have to admit that in the beginning it was hard for me to understand the rules, but I learned bit by bit thanks to the commentators, videogames, and researching on the internet.

A few years later, when I turned 13, I asked my mom to take me to the U.S. because I wanted to play American football, but that request fell on deaf ears. Despite this setback, I kept watching games on TV.

Fast forward to 2009, a friend of mine came back from a trip and found a group who had started a football association in Córdoba. They had all the proper equipment – helmets, pads. It was incredible to finally have the chance to practice the sport.

Why do you prefer it over other sports?

There are two aspects that I like a lot. One is that it’s a great team sport that involves all the players. Each player has a different task – some block, others run or pass – but all have to work together in order to function as a proper team. For that, you need big, heavy, strong guys as much as you need ones who are fast and agile.

Secondly, and this might sound funny, but it’s like a human chess game. It’s both a physical and mental game in which physical distress is supported by the intellectual capacity of the team as a whole.

For example, when playing offense, the coach will call out three plays, and the quarterback – depending on how the team on defense has taken the field – can decide whether to throw a pass or run a play. The linemen have to know which blocking scheme they’re going to use for each play. The receivers and running backs need to know what to do in each situation, and adjust their movements in correlation with the pressure from the defense team.

It’s an incredible result of preparation, communication, coordination, and collective execution. I think that’s the best thing about the sport.

Do you follow NFL (National Football League) games in the U.S.?

I do. My favorite team is the Indianapolis Colts. I used to have to wait for the cable transmissions to play the game or read reviews online, but since 2008, the NFL has launched a platform for streaming games online, so I can watch them all! It’s a little costly, but worth it.

In 2013 I was lucky to be able to go and see a game live in Arlington, Texas. I saw the Minnesota Vikings play the Dallas Cowboys, and it was awesome! Even though it wasn’t “my” team, I still really enjoyed the experience. I got to see how Americans live the football culture, with tailgating, festivities, and halftime shows.

Have you been able to convince any other friends to try the sport?

To be honest, I’ve never tried! I think I play because I really enjoy it, and that’s what your free time should be used for – the things you enjoy. Some friends I know have gone to see some of our league games, and then end up joining the team, but it’s always their choice.

Arepas ‘con Cariño’

Diego Del Aguila recently joined the Lima Team, and thus far has been impressing everyone with his awesome arepas! Diego once lived in Venezuela, and brought the recipe for this typical dish with him when he moved to Peru. Not quite sure what an arepa is? Let Diego tell you about it.

Tell us what goes into making a GREAT arepa.

Arepas are easy to make. The key ingredients are corn flour (precooked, which is common in Venezuela and Colombia), water, and salt. But what makes arepas great is that you can fill them with different kinds of ingredients, like beef, chicken, cheese, etc. Common combinations in Venezuela include la reina pepiada (avocado, chicken, onion, pepper, mayonnaise), el perico (egg, tomato, onion) and la dominó (black beans and white cheese).

Aside from that, the most important ingredient is the care & love that you put into it.

How long have you been making homemade arepas?

For almost 20 years now, back to when I lived in Venezuela. Sometimes I would be home alone and had to make something for breakfast or dinner, and a good option was always the arepas.

Do you have any fun memories making arepas?

When I first started making arepas on my own, I didn’t know the exact amounts of each ingredient that you needed, so I had bad ratios of flour to water and salt, and my first batches came out very hard, bland, not salty at all or with too much salt! It took a lot of time and practice to achieve the perfect recipe. Years later I realized that the bag of flour includes instructions on how to make them!

Are there other things you like to cook as well?

I love to cook different things. I like making Mexican food, pastas, salads – I make my own lunch almost everyday. Every once in awhile I’ll invite my friends or family over for lunch or dinner. I think it’s a nice gesture to cook and provide food to your loved ones, bringing everyone together around the table, enjoying something you made with your own hands.

Gear VR

The VR Experience

By Hernan Senki, Front-End Developer at Santex

These past few days, I’ve been busy visiting the Egyptian pyramids, exploring the depths of the oceans, jumping out of parachutes, shooting off rockets into space, and driving in car races. I’ve been immersed in all these experiences and more, all without leaving my desk, thanks to the Samsung Gear VR powered by Oculus virtual reality headset that Santex lent to try out.

Gear VREven though research for virtual reality, or “VR”, has been going on since the ‘90’s, it’s only in recent years that the mass production of devices has allowed us to experience VR in our households. Companies like Oculus (recently acquired by Facebook), HTC, Sony, and other tech giants are investing large amounts of resources into development because it is, undoubtedly, ‘the wave of the future.’

After updating the Galaxy S7, I put it in the Gear VR, put on my headphones, and was ready to give it a try. I was expecting something like an alpha version experience with lots of errors, but what I got was rather surprising. From Oculus Home, I chose to visit the Egyptian pyramids. Later, I went by the Sydney Opera House and to tell the truth, these videos, images, and experiences feel 100% real. There’s even sound involved that allows you to really travel and feel the experience without leaving your seat.

Tired from traveling, I thought I’d try launching a rocket. In contrast from the earlier experiences, this was neither video nor photo, but rather a very realistic animation which gave the sensation of being immersed in a videogame, minus the aspect of interaction. After sitting behind the controls of the rocket, I then transitioned into being stuck in a bed which appeared to be in a kid’s bedroom – dark and illuminated only lightning bolts entering through the window, creating a terrifying setting where everything was transformed into a nightmare-like experience that I couldn’t escape. The surprises around every turn were shocking and enough to make one jump or scream! I would not recommend it to users with cardiac problems or those who are scared easily.

One of the most highly anticipated experiences for the average user is the virtual reality videogames, which, unfortunately, I didn’t get to try because it required an Oculus control that doesn’t come with the Gear VR package. It allows you to move around, shoot, point, and have greater interaction with the stories. I was always skeptical of these VR videogames, thinking that nothing is more comfortable than a traditional Joystick and a comfy couch, but after trying these other VR experiences, I could probably be persuaded to give it a shot. I would like to try something like Battlefield or Call of Duty and feel fully immersed in the game.

Other Uses

Virtual reality isn’t just fun and games – it can also be applied to different industries like:

Education: It’s a valuable instructive tool. Imagine if instead of reading about places and looking through photos, you could be transported to those places and actually feel surrounded by them. Those are the advances that VR is making possible.Gear VR

Training: VR is currently being used to train a variety of professionals including doctors, automobile drivers, pilots, soldiers and troops, and more. The application of VR in these fields allows trainees to gain valuable hours of practice time while reducing physical risks and costs.

Health: The medical field has not only been using VR to train doctors and surgeons by simulating the operating room, but also to train psychologists and psychiatrists who have reported success cases in treating phobias for patients, such as fear of heights, social phobias, and more.

What Can Be Expected

Virtual Reality is the future, and that future is getting closer and closer. What we are currently witnessing are the first steps. There’s still a lot of room for improvement with both the hardware and software. The applications for VR are currently rather limited in amount and variety, creating an important space for software development companies and audiovisual content generators to work. Without a doubt, the entertainment industry will soon be the tipping point for VR and 360. Soon people won’t be buying from the web, we’ll be going places virtually to select the products we want. E-commerce will become VR-commerce, and it will be the same with concerts, conventions, gatherings, trainings, and more.

It’s a technology that shouldn’t be ignored. It will allow us to travel wherever we want, to live unique experiences that weren’t ever possible without VR. We can interact with family and friends as if they were right in front of us – all in 360º.

Describing what VR is and how it feels is difficult because everyone thinks and reacts differently. The best I can do is to recommend trying the experience and arriving at your own conclusions.

When two emerging trends combine! 3D printing + fidget spinners!

Read about what two Santex guys built when they put their minds together.

How did you come up with the idea to build a fidget spinner together?

Ale Cragnolini: I brought one of my 3D printers to the office to print some parts for a friend’s foundation. All the people in the office asked about the printer’s capabilities and what all it could do, including the idea of the spinners.

Manuel Varela: When I saw that Ale had brought the printer to the office, we talked quite a bit about how it worked and the things he could make with it. I made the comment that it would be cool to print some spinners, and from then on kept pressuring him to try it until finally he agreed to print the structure for one. With the structure he made with the 3D printer, I was then able to add the ball bearings and features to make into an actual spinner.

How long did it take?

AC: The 3D printing process took about 30 minutes. The model was already done and it was downloaded under CC license.

MV: My part of the assembly took about 5 hours, I suppose. Taking out and washing all the ball bearings was the most complicated part. There are some specific tools you need to use to do it, along with hot water, cleaning detergent, and solvents.

Have you built similar devices before?

AC: All the time! I love 3D printing.

MV: No, I’m not really a crafty person. In fact, this is the first spinner I used! I just thought it would be a cool idea to try it.

Do you think you will make more in the future?

AC: I’m always looking for fun new things to print. I hope the next big hit toy has more success than the spinners.

MV: Probably not. I was really curious to see how it could be built, and I enjoyed the process! But I wouldn’t want to have to clean those ball bearings again hahaha.

The Power of Meditation

Gassan Quintar tells us about meditation and how it affects his life

How did you start to take an interest in meditation? How long have you been practicing?

Initially, I was interested in yoga, but I had never made the effort to start. Although it was not on my radar, the word ‘meditation’ appeared on an email invitation from our coworking offices, which said something like “Sessions are intended for all people who wish to take first steps toward meditation.” I thought this was interesting, though not enough.

A friend recommended both the class and the instructor to me, and convinced me to try it by saying wonderful things about this practice. In the end, I decided to go for it.

The email invitation asked the people interested in joining the class to write the reason why they were interested. My motivation was to get into this practice, to learn more about it..

I only needed the first class to know that meditating was exactly what I was looking for, and that through it I was going to gain multiple benefits. Since that time, four months have passed and I still practice it every week.

People often don’t understand what meditation is. Some might think that it’s sitting in a quiet space and falling asleep. What is meditation for you?

People often associate the word “meditation” with thinking or reflecting deeply on a certain topic. For example: “I recommend that you meditate on the topics we were talking about,” etc. In fact, it is much deeper than just thinking. It’s concentration.

From the point of view of my current practice, it is to focus your attention on the breathing in a conscious way. Through various breathing techniques, you train your mind to reach complete concentration. As you do this, other distracting thoughts get removed from the mind.

What is needed to meditate?

It requires several things –  from a yoga mat to a good teacher – to guide you in practice. But the main thing is the willingness to want and believe in what meditation offers. You shouldn’t want to do it  just because it’s “trendy” without understanding the main concept behind the practice.

Some time ago, my teacher, gave us a guide so we could try practicing at home. It consists of 3 steps:

  1. Motivation: Think about why you are meditating. That includes ourselves as individuals and our environment.
  2. The technique of meditation.
  3. Acknowledgment: Being thankful for what allows us to be present, to be part of the experience, and for all that we achieve.

This is a guide not only applies to meditation, but to life itself.

How has meditation benefitted other aspects of your life?

There are multiple benefits. They impact every aspect of our lives – not just ourselves as meditators, but also the people around us.

Meditation develops several virtues, such as the ability to concentrate, patience, discipline, compassion, forgiveness, and love among others.

What tips would you give to someone who has tried meditation but never felt like they have achieved a state of true meditation?

Being ‘in a state of meditation’ comes in different forms that we know how to identify with the help of a good instructor. It’s worth mentioning that we should not go into meditation practice in a state of anxiety, but that we should go with a mindset of perseverance and discipline for the training so that we may develop our minds and the skills we need. It is daily practice and a great instructor that will help you achieve the proper ‘state.’

 

Internet of Things: Challenges

By Sebastian Pereira, Information Systems & Processes at Santex

The Internet of Things, or IoT, is the inter-networking of physical devices, vehicles, buildings and other items embedded with electronics, software, sensors, actuators, and network connectivity which enable these objects to collect and exchange data.

Wikipedia states that the first discussion around “a thing” that was interconnected was a Coke machine that would determine how many drinks were available.

IoT use cases include several applications that range from connected homes, consumer electronics, industries, retail, logistics, government, automobiles, among other areas.

But if it’s been around for so many years, perhaps with different names but with the same discussions in the background, why we are not surrounded by all these things already? Jayson DeMers in his Forbes article states that part of the problem is too much competition with not enough collaboration –  something that discourages and delays the revolution. It is also encouraging bigger companies such as Google, Amazon and Apple, and taking a step into the problem, that they might drive that collaboration with their own applications and infrastructure.

This  competition and little collaboration can be seen as symptoms of a much bigger problem that pose a series of challenges that everybody will have to solve and agree upon for the revolution to come. We are talking about a potential market of billions of dollars for services and applications that range from apparent trivial things to more complex and with higher impacts on societies and economies.

Following are the top 3 challenges I think we have on the horizon with IoT:

  • Security. This is mainly based on the fact that IoT implies more and more devices will be connected through networks, and therefore there will be more opportunities for hackers to exploit. The one thing we learned over the years is that no one is secure, and basically more interconnected devices means more problems – at least more problems to be solved.

To serve as a terrifying example – one of many – take a look at this article, where hackers stopped a journalist’s car in the middle of a highway to prove their point: they can control a car remotely, mentioning this scary scenario: “Imagine last year if instead of cutting the transmission on the highway, we’d turned the wheel 180 degrees,” says Chris Valasek. I can imagine. But he spells it out anyway. “You wouldn’t be on the phone with us. You’d be dead.”

  • Connectivity. If we go back to the definition stated at the beginning of this article, IoT implies that a lot of devices are interconnected, and aside from the security challenge, this means there will be more efficient ways to have all of these devices talk to each other. The (now) classic way of connecting devices as a centralized paradigm for authorization and connection of different nodes within a network may be heading to a decentralized model, such as Fog Computing. With this,  data, computing, storage, and applications are distributed in the most logical, efficient way between the data source and the cloud. There are other solutions where the decentralization is higher, but certainly each option is tied to different security challenges.
  • Making sense of the data. Does Big Data sounds big enough? Imagine something even bigger than. IoT will pose the challenge of cleaning, processing and interpreting vast amounts of data produced by sensors. Gartner estimates that there will be 25 billion connected things in use by 2020.  Internet networking specialist Cisco ISBG’s forecast is of 50 billion connected devices. To have an example of this from the airlines industry, at last year’s Paris Air Show, Bombardier showcased its C Series jetliner that carries Pratt & Whitney’s Geared Turbo Fan (GTF) engine, which is fitted with 5,000 sensors that generate up to 10 GB of data per second.

So basically, applying analytics to IoT has the same general approach on a different scale: how data is collected and how it is interpreted/how can be used. This Forbes article states that applying Machine Learning to analyze the data will be a more efficient option. Given that the current manufacturers of sensors and IoT applications are not experts on analyzing and getting good quality information that can be actionable, new services start to appear on the horizon. One example is Machine Learning As a Service, where buyers can quickly get the insights they need without making huge investments in technologies that are not core to their business.

Of course there are many other challenges with IoT and many problems to solve, but that’s what makes this so interesting to talk about it and work on. Other challenges that can be mentioned are:

  • Power
  • Sensors
  • Standards
  • User Experience and User Interface
  • Waste Disposal
  • Data Storage
  • Laws and Regulations

It certainly states a huge opportunity for business, whether for good or bad purposes.

Sources:

Programmers to Runners: Meet the Santex Guys that Enjoy this Passtime

At Santex, we have several teammates that enjoy running and participating in races and marathons. Martin Navarro, Nelson Secchi, Fede Schaefer, Manu Varela, Matias Donemberg, Edu Nieto, and Fran Mantaras share with us their experience as runners and what motivates them.

Why did you start running in races?

Martin Navarro.: Growing up, I witnessed my dad run in and win several races, both as a member of the armed forces and a civilian. At first, it seemed really boring to me, but once I got older I started paying closer attention and realized the need to improve my physical health, so I started training. Although I wasn’t originally planning on running in races, over time I saw myself getting stronger and healthier, so I decided to give it a try. I signed up for my first 10k, organized by LAN (LATAM) in 2013, and my times were terrible! But with that first experience I realized I could keep getting better and train harder, and I started to understand why my dad was so enthusiastic about it. He’s older now and because of his health he isn’t able to run anymore, but he still cheers me on at my races and helps me train. My times still aren’t the best, but they’re better from where I started!

Nelson Secchi: I started running last year, 2016. There was a 10k race that a couple of friends from the gym were going to participate in and I decided to join them. Best decision ever! 

I continue running because it gives me something I need, an ever-growing physical challenge.


Federico Schaefer:
At first I started running on my own with the simple idea of doing some sort of exercise outdoors while listening to music, since I’m not a big fan of gyms. When I noticed that I could see myself getting better day by day, I decided to start training with a group of runners in Parque Sarmiento in Cordoba. As a few months went by, I could see that I was in condition to run in a race together with the group.

Manuel Varela: I started running because of a bet I had with a friend. We wanted to see who could run a 10k the fastest, and so we started training. After running my first official race, I realized how much I liked it and so I kept going.

Matias Donemberg: The first race I ran was in 2015 because the idea of running 10 kilometers seems absolutely crazy to me, so I wanted to see what it was all about. Afterward, I found out that there was a gym where on Wednesdays they would go out and run as a group in the park, so I signed up. I realized I really liked it and that it helped me to relax. From that time on, I decided to participate in more of the races that they have throughout the city.

Eduardo Nieto: About 4 years ago, I started running at night with my cousin and some friends. Little by little we would increase the time and distance that we ran, and soon we became interested in running 10k’s and even longer distances.

Francisco Mantaras: Part way through last year, some guys from Santex signed up for the race “Aguas Cordobesas” in the national park and asked if I wanted to join them. It sounded like it would be a nice challenge, so I signed up and went.

What do you do to train for races?

M.N: I go to Quality Gym where I do aerobic training to strengthen legs and core. I also go for runs in Parque de la Vida which is close to my house. It’s huge and has trails with all different levels of difficulty, perfect for training for different types of races.

N.S.: Recently, I joined a running team called Synergo and we exercise three times a week for about an hour and a half. We run no less than 6 or 7 kilometers around the Parque Sarmiento. For bigger challenges, a more thorough training is required, which is something I have on my mind right now.

F.S: We train three times a week for an hour and half each. One day we focus on interval training and race techniques. The other days we run about 7-10 km. Additionally, twice a month we schedule runs in the hillside around the city. Those runs are usually at 15 km long.

M.V: Right now, I try to go for runs in the park 3 times per week at Parque Sarmiento. I usually run for about 40 minutes, a distance of 7 km or more each time. Something that I think is really important for training is having proper nutrition. A balanced diet of meat, fish, chicken, fruit, and lots of vegetables is key for having proper training.

M.D: Running a 10k doesn’t require too much training. You can easily do it with going out for a run once or twice a week. I always try to improve my time a bit, so therefore I go 3-4 times each week to the gym. I do a bit of everything, mainly exercises to avoid injuries and fatigue.

E.N: These days I’m not running much, but not too long ago I would go for runs three times a week. I would try to run 4 km or for about half an hour. On weekends I would go on longer runs of about 10 km.

F.M.: I go out for a run twice a week after work. One of those days I focus on distance, the other I focus on speed.

How many races have you participated in? Which one was the most challenging?

M.N.: Thinking from when I first started, I’ve run in about 10 races. I ran the most in 2016, which is when members from the Santex Cordoba team ran is 6 races together – five 10k’s and one that was 14k. The 14k was the most challenging one for me, both mentally and physically.

N.S: I have run 5 races so far: three 10k’s in Cordoba, a 15k mountain run, and the Columbia XTrail which was 25k. Without a doubt, the latter was the most challenging. Not only was I not fit to run such a distance, but I was also not prepared for the difficulties in the terrain when going both uphill and downhill. Nonetheless, reaching the finish line felt awesome!

F.S: I’ve participated in several 10k’s. I’ve also run two half-marathons (21 km) in the mountains since our group training is focused on such courses. Plus, those are the ones I like the most. The most challenging one was a mountain race in Yacanto, close to the mountain Champaquí. It was 35 km and started at night, so we had to run the first few hours with a headlamp!

M.V: I ran in 6 races this past year. The most challenging was “Primavera Sana” where we ran laps around the Mario A. Kempes stadium until we reached 14 km. It was so hot that day and is the longest distance I’ve run so far. Fortunately, I was able to finish without and problems and was even able to improve my time! This encouraged me to keep training harder.

MD: I’ve only participated in 6 races, 5 here in Cordoba and one in Paris. Among the most challenging was the first one, mainly because I hadn’t trained well… and because it was the say after Santex Fest and the course had a terrible hill! Another difficult one was the second one, which I ran with Nelson Secchi. One of the last kilometers was straight uphill, and it was really tough.

E.N: Without a doubt, the most challenging ones were the two half-marathons I ran in Lima. I’d never run more than a 10k, so to run 21 km was pretty tough. With the first one, I only trained a little bit, up until two weeks before the race I could only run 16 km. Luckily, the day of the marathon I was able to complete the 21 km without stopping.

F.M.: After the “Aguas Cordobesas” run, I signed up for 2 more, one of which was a night run (21kcba.com). I liked that one the most because it was a neat course and fun to run at night. Also, a large number of people participated which made it fun.

What advice would you give to people who aren’t enthusiastic about running?

M.N: That even though it seems boring and tedious, the feeling of crossing the finish line and achieving your goal time is indescribable. There’s also a strong sense of camaraderie among runners. If they see that you’re tired or struggling on the course, they’re encourage you to keep going. I think it’s worthwhile to motivate yourself to try at least one race or marathon during your lifetime so you can feel the support and motivation that comes with it. It’s really nice.

N.S.: Just DO IT! (Please imagine Shia LeBeouf doing his motivation speech). Running is really an amazing outdoor activity. You will be competing against yourself, so you will find a lot of people trying to help you. Give it a try!

F.S.: Go for it! Whether it’s a 5k or a full marathon, I highly recommend giving it a shot. There’s a certain kind of energy among runners that is very special. Plus, the feeling of finishing is unlike anything else, and will keep you wanting more!

M.V: Running is a great sport and has lots of health benefits. It improves the functioning of your heart and lungs, helps you lose weight, relieves stress, and even helps you sleep. An inspiring movie is “100 Meters.” It tells the story of a young guy from Spain who was diagnosed with Multiple Sclerosis and sets the goal of completing an Ironman marathon. I highly recommend it!

MD: The first thing to keep in mind is that you aren’t competing against anyone but yourself. Participating in these kinds of races is a great experience. Being able to run on the streets without worrying about anyone running of you is awesome hahaha. I guarantee that you will meet lots of people who you never knew were interested in running. For me, of course the most satisfying is crossing the finish line.

E.N: To people who are interested, I would say to start little by little and make sure to maintain a healthy diet. It really helps to avoid injuries. I would also recommend finding a place in the city where lots of other people run. Seeing other people running helps motivate you. Lastly, what really helped me was having friends to run with, or run in a group or as a couple. That makes it a lot more enjoyable!

F.M.: Get started by going to a race and seeing what they’re like. There’s a really great atmosphere that surrounds races both big and small. Running is a nice activity, especially for people who don’t have much time on their hands or who have limiting schedules. It’s something you can do alone or in groups – anywhere, anytime. Whenever you have a free moment, you can just get up and go out for a run. All you need are tennis shoes and the will to improve.

Go for Golf!

Juan Cruz Leyba tells us about some life lessons we can all learn from the sport.

I started playing golf in 2009 because a friend recommended that I should try it. One time we were playing golf well past sunset, and he told me, “If you like it, you should start tomorrow and I promise you won’t regret it.” Sometimes when I have a bad day on the course I remember what he said and I want to go back to him and tell him just how much I regret it! But then when I finish at the end of the day, I’m always anxious to play another round.

Golf is a unique sport. As far as sports go, it’s the most democratic of all – anyone can play and compete against anyone else. Your skill doesn’t matter, nor your height, weight, age, or anything else. Of course, the more you practice the greater are your chances of winning.

Among golf’s many unique traits, there are a few that apply not only to the sport but to life as well. One of these is etiquette.

Even though each player is accompanied by someone keeping score, it’s generally understood that the player tells the truth with the number of strokes he/she has taken, etc. Of course, there is always someone who is tricky or tries to cheat, because such actions and lack of honesty are for personal benefit. But overall there is a lot of trust amongst players.

Another rule of etiquette is to always be considerate of the person or group who is playing the course behind you. If you leave a mark or damage to the course, you should fix it so as not to jeopardize the following games. Always thinking of others is a practice that helps us in all areas of life.

On a personal level, golf has taught me many things. The first tournament I won was in 2009 and before that I always lost and was always at a disadvantage compared to other players. However, for some unexplainable reason, I didn’t lose my patience that day or get nervous because I saw I was losing. When it was my turn, I did my best and in the end I won! Since that time, I learned to have more patience when playing and that the right moment always comes and you just have to take it.

They say that golf doesn’t build character, it reveals it. People who get anxious or angry quickly find that golf will just accentuate those aspects of their personality. Players often scorn their club, the ball, the hole, or even themselves. However, you quickly realize that it’s almost mandatory to learn to control these frustrations in order to play a better game – or to simply not end up throwing your clubs in the trash!

What I love most about golf is that you compete against others, against the difficulty of the course, and, more than anything, against your personal flaws, be they physical or mental. There are no excuses, and improving depends solely upon yourself. Also, the 19th hole (aka the bar) is one of the best parts of the game!

Since 2009 when I fell in love with the sport, I recommend it to everyone and tell them “you won’t regret it!” I know that’s not 100% true, but I also know that in spite of having off days, I’m always excited to get back on the course.

Things to keep in mind before adding a Software Dependency to your project

By Agustin Aliaga, Mobile Developer at Santex

In my work experience, one basic thing I learned about software engineering is that you don’t need to “reinvent the wheel” every time you want to achieve some functionality. Open source projects have revolutionized the way we work in that we can reutilize existing software in addition to collaborating with others devs. In the web-development ecosystem, there are plenty of frameworks and tools that already simplify things like user authentication, routes, templating (client-side and server-side), state-management, database queries, web sockets, etc. On the other hand, however, sometimes the existing solutions are just not good enough or it may be that there are no alternatives at all, but that’s a completely different story.

The ability to know when to implement the feature yourself and when to use an existing solution will be a crucial asset for your team. Adopting a new library, language or technology as a dependency to build your product without extensive research could become headache in the future, so you should always ask yourself at least these questions about it:

1. Does it meet all your needs?
Sometimes you’ll find a solution for your problem that does not cover all the specific features you need. In that case, you might have to deal with forking and extending it (if it’s an open source project), and this means greater time investments and costs. Are your team and the client prepared for this scenario?

2. Is there any documentation?
If so, is it well documented? Just as an example, one of the things I like the most about Django (web framework) is the quality they put into the docs. It’s remarkably easy to find the topics you need for the framework version you’re using. https://docs.djangoproject.com/en/.

3. Is it supported by a “big” community and/or a private company? Having a company or a community behind it helps a lot when you’re having trouble and need assistance from others. You may have to send a “help-desk” ticket (probably if it’s a paid service), find information on blogs or StackOverflow, or maybe even post a question to those sites. If you’re relying on the community to help you, your chances of being helped are proportional to the popularity of the software dependency.

4. Is it an “external service”?
If you rely on services like “Google Maps API”, “Facebook Graph API”, “Google’s Firebase”, etc. be aware that they may change in the future without notice, or they could just stop working at any time (temporarily or permanently). SaaS/BaaS solutions are great but you should think twice before setting them up as a critical piece of your system. Just as an example, read about what happened to Facebook’s Parse: (https://techcrunch.com/2016/01/28/facebook-shutters-its-parse-developer-platform/).

5. Is it actively maintained and improved?
If hosted on Github, “Pulse” and “Graphs” tabs will give you an idea of the latest activity. You probably don’t want to set up an outdated library, because it could bring retrocompatibility issues to your project. Also, if it’s constantly evolving, sometimes it could mean you’ll have to update your code repeatedly.

6. Is it tested?
Some libraries use automated tools to build and test every change that is introduced (applying continuous integration tools like Travis CI, Circle CI, etc.). This makes the library more reliable.

7. Are you compromising another dependency if you adopt this new library?
Sometimes libraries don’t play well together.

8. Will it affect your product’s performance, speed, size, etc.?
You should always take this into consideration. In the “web environment”, a giant front-end library could affect the browser’s performance and also increase network transfer times. On the back-end side, you want to avoid server overloading. In the mobile world, things get even more critical because mobile phones don’t have as many resources as a desktop computer. In Android, an app that wastes memory and CPU is a real candidate to be killed automatically by the operating system.

What about Android ?

The core-functionalities that Android brings to the table are sometimes more than enough to build simple applications. You could build an entire app by using bare Activities, Fragments, Views, AsyncTasks, Services, Content Providers, Broadcast Receivers, etc.

But in my experience, sometimes this means you’ll have to write (and then maintain) a lot of repetitive/boilerplate code. In other words, sometimes sticking to the core framework means you will have to invest more time to taking care of all the details. Some examples of libraries that made me more productive in Android development are: Retrofit, Dagger 2, and Butter Knife.

You should also know that if you add too much direct and transitive dependencies (plus your own code), you might exceed the “64K-method limit”, explained by Android documentation:

Android app (APK) files contain executable bytecode files in the form of Dalvik Executable (DEX) files, which contain the compiled code used to run your app. The Dalvik Executable specification limits the total number of methods that can be referenced within a single DEX file to 65,536—including Android framework methods, library methods, and methods in your own code. In the context of computer science, the term Kilo, K, denotes 1024 (or 2^10). Because 65,536 is equal to 64 X 1024, this limit is referred to as the ’64K reference limit’.”

If you exceed this limit, you’ll have to change your application to support “multidex”, which means it will have to load multiple dex files. This will produce higher compilation times, and also performance/loading issues in the app itself. So I’d recommend to always be careful with the dependencies that you add to your Android project.

Conclusion

I have seen these concepts apply not only to Android development (a technology I use every day at work), but to all software development in general. Every product relies on dependencies (whether it’s an OS, a service, a framework, a library or some other kind of software). The goal is to pick the best ones to maximize your productivity, without affecting your product’s performance, scalability, and capacity to evolve over time.