Welcome to curated list of handpicked free online resources related to IT, cloud, Big Data, programming languages, Devops. Fresh news and community maintained list of links updated daily. Like what you see? [ Join our newsletter ]

Pymp, OpenMP-like Python programming

Categories

Tags python app-development functional-programming programming performance

Ever since Python was created, users have been looking for ways to achieve multiprocessing with threads, which the Python global interpreter lock (GIL) prevents.By Jeff Layton.

One common approach to getting around the GIL is to run computationally intensive code outside of Python with tools such as Cython and ctypes. You can even use F2PY with compiled C functions.

All of the previously mentioned tools “bypass” Python and rely on a compiled language to provide threaded multiprocessing elements with an interface to Python. What is really needed is either a way to perform threaded processing or a form of multiprocessing in Python itself. A very interesting tool for this purpose is Pymp, a Python-based method of providing OpenMP-like functionality.

OpenMP programming model

OpenMP employs a few principles in its programming model. The first is that everything takes place in threads. The second is the fork-join model, which comprises parallel regions in which one or more threads can be used (Figure 1).

Because the goal of Pymp is to bring OpenMP-like functionality to Python, Pymp and Python should naturally share some concepts. A single master thread forks into multiple threads, sharing data and then synchronizing (joining) and destroying the threads. Read the rest to learn more about parallelism in Python.

[Read More]

Lottie for Android primer

Categories

Tags android app-development ios

Visual design is quite important for an app. The quality of apps has been steadily increased over the years, and the aesthetic part is the area with the biggest improvement in my opinion. By Bevan Steele.

Lottie is a multi-platform open-source library, initially made by Airbnb, for quickly and easily showing smooth animations. These animations are made in Adobe After Effects and they are vector-based (i.e. they can scale without pixelating). But you don’t need to worry about this and you don’t need to make them because there are plenty of such short and cute animations all over the internet (e.g. LordIcons, LottieFiles).

Lottie - library for Android, iOS, Web, and Windows that parses Adobe After Effects animations

Source: https://www.rockandnull.com/lottie-android/

The actual animation is a JSON file that describes the path, color, etc. After acquiring that file, you would need to place it in the Assets directory of your Android project. This is a different directory from your Resources directory where drawables are placed. You would probably need to create it, by right-clicking in the Project Explorer in Android Studio, New -> Folder -> Assets Folder. Place your JSON file in the /app/assets/ folder that has been created.

To get the rest of instructions please read article in full. Cute!

[Read More]

How to exclude URL query parameters in Google Analytics

Categories

Tags google analytics browsers search

Query parameters can sometimes store useful pieces of information in our URLs, but they can cause problems in our Google Analytics data. Query parameters can break apart our pages and make them hard to analyze in our All Pages report. By Amanda Geisler.

An important note before we get started: Personally Identifiable Information (PII) can not be removed with View Settings or filters. Data is collected at the property level, so the View Settings and filters do not stop the data from being collected and violates Google’s Terms of Service.

Query parameter removal with App + Web is a bit different because of the automatic pageview tracking. If you need to remove parameters from your page paths, you can use the page_location field in your Configuration tag in GTM.

Amanda Geislerr

The article then discusses the following:

  • View settings
  • Filters
  • Remove queries with Google Tag Manager
  • App + Web properties from Google Analytics
  • Better reporting on page performance

There are multiple ways to tackle query parameters in your URLs depending on your set up and implementation. If your queries do contain valuable information about your users or content, you may choose to store them as custom dimensions. Stripping query parameters from page paths can streamline reporting and help to mitigate (other) in your content reports. Nice one!

[Read More]

Change data capture with Debezium: A simple how-to

Categories

Tags software-architecture streaming apache data-science queues

Eric Deandrea wrote this piece about one question that always comes up as organizations moving towards being cloud-native, twelve-factor, and stateless: How do you get an organization’s data to these new applications?

There are many different patterns out there, but one pattern we will look in this artticle is change data capture. This post is a simple how-to on how to build out a change data capture solution using Debezium within an OpenShift environment. Future posts will also add to this and add additional capabilities.

Change data capture (CDC) is a pattern that enables database changes to be monitored and propagated to downstream systems. It is an effective way of enabling reliable microservices integration and solving typical challenges, such as gradually extracting microservices from existing monoliths.

Sadhana Nandakumar

The article main chapters:

  • What is change data capture?
  • What is Debezium?
  • Application overview
  • Setting up the database
  • Create an OpenShift project
  • Create the MySQL configuration
  • Starting the application
  • Deploy AMQ Streams
  • Deploy Kafka Connect

… and more. This step by step detailed tutorial and if you want to automate the provisioning of everything, feel free to take a look at an Ansible Playbook that is capable of doing this. Excellent read!

[Read More]

Convolutional neural network implementation for car classification

Categories

Tags big-data data-science azure learning

Convolutional Neural Networks (CNN) are state-of-the-art Neural Network architectures that are primarily used for computer vision tasks. CNN can be applied to a number of different tasks, such as image recognition, object localization, and change detection. By Dr. Evan Eames and Henning Kropp.

This article captures interesting challenge: Develop a Computer Vision application which could identify the car model in a given image. Considering that different car models can appear quite similar and any car can look very different depending on their surroundings and the angle at which they are photographed, such a task was, until quite recently, simply impossible.

The article is split into:

  • Setting up an Artificial Neural Network to Classify Images
  • Image Augmentation with Koalas
  • Coding a ResNet in Keras
  • Tracking Results with MLflow and Azure Machine Learning
  • Getting Started with CNN Image Classification

This article and notebooks demonstrate the main techniques used in setting up an end-to-end workflow training and deploying a Neural Network in production on Azure. The exercises of the linked notebook will walk you through the required steps of creating this inside your own Azure Databricks environment using tools like Keras, Databricks Koalas, MLflow, and Azure ML. Superb!

[Read More]

Under the hood of the Angular Compatability Compiler(ngcc)

Categories

Tags frontend web-development angular nodejs javascript

In this artice, we will explore how angular makes non Ivy libraries compatible with Ivy libraries using its compatability compiler ngcc. By Ajit Singh.

Angular compiles the code in the latest version(v9) but, not all code is compiled at the same time. There are libraries, npm modules, dependencies are precompiled and these may not work well with the way ngtsc compiles Angular code. This may cause failures at runtime, compile-time, etc. Fortunately, the Angular has already solved these problems for us using the Angular compatibility compiler ngcc.

One of the first problems that we face while transpiling non-Ivy code into Ivy compiled code is that we now have no decorator info in our files. To solve it ngcc uses the .metadata.json files in the Angular Package Format. These files contain information that was present in the Typescript source but was removed during transpilation to Javascript, and this information is sufficient to generate a patched JavaScript files which add the Ivy static properties to decorated classes.

The article is split into these detailed sections:

  • What is ngcc?
  • How ngcc works?
    • Metadata files from Angular Package Format
    • Overall ngcc architecture

Follow the link to original article to get the full overview. Well done!

[Read More]

Heal for SAP

Categories

Tags management cio miscellaneous software fintech

Shaivya Easwaren published this 4th article in the series about self-healing as the solution for ensuring site reliability in modern day enterprises with ultra-dynamic workloads. In the previous blogs of the series, we have seen the various issues that typically plague such environments, how AIOps and self-healing tools help resolve these issues, particularly how Heal helps by monitoring the Four Golden Signals for SRE.

The article then explains:

  • Issues in SAP Monitoring
  • How do AIOps Tools help?
  • Smart Automation for Ops Monitoring Readiness
  • Self-Healing – the “Extra” Element for Ops Readiness and SRE
  • How Heal for SAP Works

The Heal SAP agent collects various metrics from the environment, including:

  • Discovery & Configuration: Landscape discovery information and configuration details for services
  • Workloads: User workload, Datacenter processes, end user transactions, batch jobs (background workload)
  • Component Metrics: Relevant performance metrics from SAP application servers, databases and hosts (using Heal Component Agent)
  • Logs

Although the blog today mentions the Heal SAP agent, you can even try out the Heal Agentless Edition with our ingestion API to stream your existing monitoring data into Heal’s MLE for deriving insights. Good read!

[Read More]

The 3 essentials for properly setting up Google Analytics conversion tracking

Categories

Tags analytics big-data cio data-science

We asked 48 experts to share their most useful tips, tricks, and tools for properly setting up and tracking website conversions via Google Analytics. Written by Belynda Cianci.

To give everyone a starting point for improving their relationship with Google Analytics, we asked 48 experts to give us their number one tip for improving conversion tracking so you can get everything you want out of your reporting. They gave us some pro-level insights into how to be sure you’re looking in the right direction for your goals and Key Performance Indicators (KPIs), and offered advice on where to get help if you’re feeling a little out of your depth.

Using Google Analytics to keep up to date with your website activity can be a valuable data tool when wielded properly. You can use it to track traffic, sales, conversions and more —if you have the proper setup. Tracking conversions is one of its most vital functions for marketers looking to drive growth and identify areas to improve their offering and journey.

The article then dives into:

  • Which types of conversions do you track in Google Analytics
  • Tracking tips – Events, Actions, Goals
  • Form submits & thank you pages
  • Tag Manager
  • Reporting tips & tricks
  • Troubleshooting and support

Google Tag Manager, a companion tool to Google Analytics, can be used to insert javascript tags into your pages, track actions for those tags, and add variables to the data. Many of our experts swear by Tag Manager for its power to help them track conversions.

Getting a clear view into your data, user behavior, revenue, and conversion numbers is the most effective way to make well-informed decisions and create growth for your business.Super insightful for anybody working oon improving the conversion rates!

[Read More]

Test Ansible roles using Molecule and Podman

Categories

Tags ansible devops infosec tdd cicd

I needed to have testing added to Ansible roles. There are various people in the customer organization developing roles, and we want a lightweight, easy to use test process to unify the looks and quality of the roles. By Ilkka Tengvall.

There are some clear benefits of podman for containers and Ansible for tests:

  • Containers are slim and quick
  • Podman requires no root, which makes it easily part of CI/CD
  • Easy testing language

Molecule encourages an approach that results in consistently developed roles that are well-written, easily understood and maintained. Molecule is the official testing framework for Ansible roles. It provides a streamlined way to create a virtualized environment to test the syntax and functionality of a role.

We can use podman as Molecule plugin to spin up tests quickly in containers. And thanks to podman, no root gets hurt during the process. Which means we can put this safely into the CI/CD process, because of everything gets run as a user. Follow the link to full article. You will also get video tutorial and links to example code in a GitHub repository. DevOps rules!

[Read More]

What is Kata and how is it different from Lean?

Categories

Tags agile management cio programming career teams

This article tries to find answer to questions: What is Kata? How do Kata Coaching and the Improvement Kata work? How are they different from other lean concepts? By Rever Team.

The term “Kata” means a structured way of doing things or practice. It has its roots in Japanese martial arts where learners spend much of their time practicing drills to improve specific moves. By repeating a movement on a consistent basis, the correct technique is gradually mastered. It becomes ingrained in muscle memory until it happens by reflex. This kata definition then developed into a mainstream business practice when Toyota adopted it as part of its lean production system.

The term “Toyota Kata” was first used by Mike Rother in his book of the same name. In it, he outlined the core routines that he had observed at the Japanese automotive manufacturer which contributed to its continuous improvement efforts. Rother’s book explained how organizations could implement and benefit from Toyota’s improvement concepts by following structured habits or “Katas”.

In the business world, there are two main Katas or practices: the Coaching Kata and the Improvement Kata. These can both help businesses to develop a culture of improvement and innovation.

The article goes over following topics:

  • What Is Kata?
  • Benefits of Kata
  • Implementation
  • Improvement Kata
  • Coaching Kata
  • How are Kata and Lean different?
  • Principles

… and more. We liked: This improvement policy isn’t just about processes – it’s about people too. This is where the Coaching Kata comes into play. It is what helps employees to develop the skills and capabilities needed to continuously improve. Nice read!

[Read More]