Archi & Techno

The Google Assistant for Android developers – PART 1

Everybody knows about the Google Assistant, available on most Android and iPhone devices. As for “Hey Siri”, the well known “Ok Google” has entered common language. We probably all have already used it at least once if only to try it. However, the scope of its field of action and implementation seems to be mysterious for us developers. At least, it was for me until recently. Is it only a mobile feature? Can we use it in our application? What are the possibilities of interactions?…

Read more
Archi & Techno

Seven shades of Git

Tl;dr Every time I stumble upon a Git article on the web, it always talks about how to use it, instead of why I should use it. Wait, isn’t that obvious? We use Git for versioning our code and sharing it with others. This is what Version Control Software (VCS) is used for, afterall.  Thinking like this, it is easy to believe that you can Google your way through Git mastery by searching how-to’s every time you’re stuck on a specific Git-related problem. At least…

Read more
Big Data

Accelerating NiFi flows delivery: Part 1

While working in different contexts with NiFi, we have faced recurring challenges of development, maintenance and deployment optimization of NiFi flows. Whereas the basic approach suggests to manually duplicate pipelines for similar patterns, we believe that an automated approach is relevant for production purpose when it comes to implementing a significant amount of ingestion flows relying on a limited set of patterns or, more simply, when it comes to deploying these flows on different environments of execution. The ability to reach the right level of…

Read more
Archi & Techno

Cache me if you can – 2

Introduction - scope of the article This series of articles deals with caching in the context of HTTP. When properly done, caching can increase the performance of your application by an order of magnitude. On the contrary, when overlooked or completely ignored, it can lead to some very unwanted side effects caused by misbehaving proxy servers that, in the absence of clear caching instructions, decide to cache anyway and serve stale resources. In the first part of this series, we argued that caching is the…

Read more
Archi & Techno

Android Material Components: Exploring MaterialShapeDrawable

Material Components is the (not so) new library made by the Material team to replace the old support design library. It provides components to apply Material Design in your application with ease. Among these components, you can find the famous FloatingActionButton, the CardView or the BottomSheet. But there are also some less known, nonetheless powerful, components. And one of them is the MaterialShapeDrawable.

Read more
Archi & Techno

Comic – Infrastructure as Code (IaC)

Lire la BD en français Hello ! Deploying a new release to production is more complex than simply checking that the app's code functions correctly. We must also make sure that it will run correctly on the existing production servers, and with the production environment's infrastructure. And in order to do this, the Ops leave nothing to chance...!

Read more
Agile

Thoughts about Scaled Agile Frameworks and how to consider them

Comment choisir son framework d'agilité à l'échelle ?

"What if we scaled agile to the entire company..." This is a phrase heard more often than not in companies that becoming more mature at Agile. But what does this sentence mean exactly? What does the idea of ​​"scaling up" imply? Are there solutions that can be applied quickly? Quick overview: Did you say Scaled Agile Framework? What triggers an Agile transformation "at scale"? SWARMing, what is it? A strategy for using scaled agile frameworks ==> Read the entire article (free) <==

Read more
Software Craftsmanship

Putting an end to “Technical Debt”

The First Law of Technology Transfer: Long-range good tends to be sacrificed to short-range good. The Second Law of Technology Transfer: Short-range feasibility tends to be sacrificed to long-range perfection. Jerry Weinberg - Quality Software Management In this discussion, the term: heuristic refers to a method used in a given context, with no guaranteed outcome, that possibly contradicts other heuristics, and which helps reduce the time required to find a solution. The acceptance of such heuristic depends on the context of use, and not on…

Read more