Codemotion Madrid 2019: Our Experience

On September 24th and 25th, Codemotion 2019 was held in Madrid. This is one of the most important events for developers in Spain. On this occasion, as in recent years, the event was held at Kinépolis cinemas. For Intelygenz, it was crucial that we attended, so my colleagues Xoan, Manolo, and I went along together.

The organization of the event met our expectations for an event of this size (although lunch fell a little short!).

Onto the talks, which is what interested us most about this event, I’m going to tell you which ones were most interesting to me.

I started by attending the talk “Tech Vision 2019: a look at what the post-digital era will be like”, presented by four employees of Accenture Technology: Toni de la Prieta, Enrico Maria Crisostomo, Francisco Javier Moya Suárez and Jorge Hidalgo. Interestingly, throughout their talk, they projected a live video of the speakers and used augmented reality to present graphics and images to illustrate the topics they discussed. I found this to be a unique take on a typical presentation that transcends the traditional Powerpoint!

During their speech, they reviewed where technology is heading:

  • New security paradigms: We cannot longer trust what we see or hear. It will be necessary to evolve the concept of security because the way of relating and authenticating to different devices is changing rapidly.

  • The democratization of technology: We are moving towards a world that is increasingly connected and more dependent on technology.

  • Use of drones: Increasingly demanded and applied to new sectors (security, agriculture, messaging, telecommunications, etc.)

  • Medicine: Technological advances both in the detection and treatment of diseases and changes in the way of relating and using the health sector.

  • Agriculture: Optimization of crops through the use of specialized sensors exploitation of large amounts of data.

  • Space exploration: the boom of new exploration and space transport projects, favored by the development of new technology that allows to optimize results and reduce costs.

Others topics discussed included:

  • Changes in user interaction: the information offered to each user is increasingly personalized. Huge amounts of information about each individual are stored to personalize the content offered to each person.

  • Changes in the technological paradigm. We went from the fully adopted SMAC (Social, Mobile, Analytics and Cloud) to the next DARQ (Distributed, A.I., XR, Quantum computing).

  • The arrival of quantum computing is getting closer, and it will destroy the current calculation limits. For example, it puts the current encryption mechanisms at risk of becoming obsolete.

  • Automation: We’ve already seen a change in the types of tasks that people execute. All automated tasks will be executed by “robots”, while all tasks that require creativity will be executed by people.

Another talk that I found very interesting was “The future was this: Facial recognition on real-time video without servers” by Javier Ramirez, Technical Evangelist on AWS.

The first part was about the possibilities offered by facial recognition (with guarantees) in real-time from videos. For example, in advertising, it is used to identify the user and customize the content displayed on an advertising panel. It can also be used to identify ticket owners and avoid resale, or be used by the authorities to locate people.

After this introduction, the talk was structured in “3 blocks”:

  • Facial recognition: Facial recognition vs facial detection (which are not the same). The speaker showed us different ways to implement this. Of course, everything was aimed to show us how cool Amazon Rekognition is (due to the fact that the speaker is an Amazon Technical Evangelist).

  • How to do this in real-time: Here we talked about Amazon Kinesis Video Streams, another Amazon Product.

  • Serverless services: In this part, he talked about the different serverless services that Amazon offers. In the case of the example, he showed: AWS Lambda.

Although the Codemotion talk was primarily focused on Amazon products, I was left with the idea that with a reasonable effort you can find the open-source of cheaper alternatives with which to implement a case like this. I also realized that there is a large number of everyday uses that this technology already has and it’s many future implementations. As usual with technology, there is a negative side: such a powerful tool needs to be used responsibly. I think it’s a very interesting topic. Click here to watch the full presentation of the talk.

Another talk that I found very interesting was “Dev Tools for Kubernetes”, by Pablo Chico de Guzman and Micael Gallego Carrillo. They talked about how Okteto works to re-deploy applications in a Kubernetes cluster directly from the IDE. I won’t go into detail about this talk here, because I’m sure Xoan will elaborate on it further in another post.

I also attended the talk “Testing HTTP with Karate DSL”, by Marta Arcones. Karate is a Cucumber-based DSL for testing HTTP services. The great advantage of Karate over other testing frameworks is its simplicity and versatility when performing integration tests. In the talk, Marta used a code example to show us how to build a Karate suite of integration tests to test a series of APIs with minimal effort. If you’re interested in learning more about this subject, visit the Karate DSL page where there are many examples and further documentation.

Finally, I would like to mention the Codemotion talk “GraalVM and Micronaut: perfect companions!”, by Iván López. The talk was about compatibility between GraalVM and Micronaut. These are two technologies that share a very similar philosophy, each in its field of action, therefore the integration between the two occurs in a very natural way which complements each other perfectly. In fact, the new version of Micronaut already provides default support for integration with GraalVM.

To understand the relationship between these two technologies, it is necessary to know a little about each of them:

  • Micronaut is a Java framework, we could say that it is very similar to Spring but with a major change in this operation. All that “magic” that Spring does at runtime when the application starts and loads the context, is done at compile time in the case of Micronaut.

This offers two great advantages:

  • Applications are much lighter and use less memory since only the dependencies that are actually going to be used are included in the generated artifacts.

  • Applications start very, very fast. Since it’s not needed to initialize the context when starting the application, applications start very quickly.

Of course, this doesn’t come for free. Another downside is that reflection cannot be used with Micronaut because everything is done at compile time. Many well-known java frameworks use reflection below (i.e. Hibernate). In Micronaut, you can explicitly define these exceptions to be able to use them within the framework, but the advantages of Micronaut for this part of the application are lost.

  • GraalVM is a polyglot virtual machine capable of generating native applications from source code in several languages. It works with all languages based on the JVM and with Javascript, Python, Ruby, C, and C++. In addition, it offers a JVM compiler that generates optimized and lighter artifacts. This is achieved with a mechanism in a similar way to Micronaut, and at compile time it covers all the possible execution paths within the code and only includes the classes and dependencies that will be executed in the generated artifacts. On a negative note, generating native applications with GraalVM implies heavy consumption of resources (both in memory and CPU) on the machine where it is running.

Here you can see the presentation that Iván used during the talk, which he discusses in further detail. The Codemotion presentation also shows some examples of how to use GraalVM and Micronaut together.

So, this was my summary of my experience at Codemotion Madrid 2019, I hope you enjoyed it!

Author: Santiago Herranz Fernández

Did you attend Codemotion Madrid this year? Let us know your thoughts on the event by getting in touch with us on Twitter.

Related Articles you might like

Starting the Automation Journey Part 2: Calculating Process Automation ROI

In part 1 of this series, we showed you how to identify which of your business processes are most suitable […]

View Blog Post

Generating value with A.I. solutions: Where to start

An increasing number of businesses are realizing that A.I. solutions aren’t only hugely beneficial, but also essential for future success. […]

View Blog Post

Starting the Automation Journey Part 1: Identifying Process Automation Opportunities

As mentioned in ‘How to Select Your First Process Automation Project and Calculate the ROI’ , an increasing number of businesses […]

View Blog Post