News Aggregator


Creating 5,000 background threads in my ASP.NET Web app

Aggregated on: 2022-01-01 13:49:30

I once saw a guy speaking about multi threaded programming, and he asked his audience how many of the people amongst had audience had created multiple threads, at which point half the room lifted their arms. Then he asked how many had used dozens of threads running simultaneously, at which point 25% of the room kept their arms up. When he reached the question "how many have created millions of concurrently executed threads" the speaker was the only person left with his arm raised. The reasons for this of course, is because the idea of creating millions of concurrently executed background threads is simply ridiculous to even imagine. However with Hyperlambda, at least in theory, this is actually quite easily achieved. To understand how this is possible, realise that multi threading is just a state machine, allowing you to perform context switches, at the CPU level, with an interrupt scheduling work for each individual thread.

View more...

Building a ClickHouse Visualization with Altinity and Cube

Aggregated on: 2022-01-01 05:34:29

I like counting stars. Especially stars on GitHub! Tracking the growth of popular GitHub repositories has always been interesting to me. That's why I decided to use the public data set of GitHub events in ClickHouse to create dashboards with actionable metrics. In this tutorial, I'll explain how to build a custom front-end visualization that fetches data from a ClickHouse instance. I'll use a managed instance of ClickHouse from Altinity Cloud and Cube Cloud as the metrics API layer.

View more...

Future of AI in the Mobile App Development Industry

Aggregated on: 2022-01-01 03:34:29

The app development industry is continuously evolving. From adopting technologies such as Blockchain to finding ways of making services more efficient through AI, the industry has been improving app quality. In the app development industry, AI is getting commonly known for chatbots, healthcare apps, IoT apps, and more. The goal is to make them respond better, have increased cybersecurity, and more.  Per a Statista report, the AI software market is expected to touch an approximate global revenue of $125 billion by 2025. From machine learning usages to automation tasks, the expansion of AI is expected to grow into more industries.

View more...

Why Choose Node.js for Backend Web Development in 2022?

Aggregated on: 2022-01-01 03:04:29

Stepping into the software development world is important for every growing business. However, it’s also essential to choose the right backend web development based on the objectives and goals you have established.   One of the technologies widely in use today is Node.js development as modern application development. In recent years, it has been adopted by many companies to develop backend web applications. 

View more...

Java: Object Pool Design Pattern

Aggregated on: 2021-12-31 21:34:29

In this video tutorial, we take a closer look at Object Pool Design Pattern in Java. This tutorial includes an introduction, example, and key points. Let's get started!

View more...

Types of Tools To Use for Application Security

Aggregated on: 2021-12-31 21:34:29

Source Testing applications is necessary, as bugs and other security vulnerabilities are always found in applications. Many developers have to work under tight schedules; therefore, they don’t always have enough time to test the applications, which often becomes a disaster. 

View more...

ES2022 Preview: 10 Exciting JavaScript Language Features From 2021

Aggregated on: 2021-12-31 17:49:29

JavaScript evolves quickly. In 2021, several proposals have moved to Stage 4 of the TC39 process and will be included in ES2022. They add the following features to JavaScript: Classes and Instances Private instance fields, methods, and accessors Existence checks for private fields Public static class fields Private static class fields and methods Static class initialization blocks Module Loading Top-Level await Built-in Objects Error: .cause Array, String, and TypedArray: .at() Object: .hasOwn() RegExp: match .indices ('d' flag) This blog post describes each feature, shows an example of how it can be used, and looks at current browser and Node.js support (as of December 2021). Let's get started:

View more...

How to Update Object Store Values Using Object Store V2 REST APIs: Mule4

Aggregated on: 2021-12-31 17:04:29

Object Store in MuleSoft is used to store key-value pairs that we might need to preserve for future use. In this tutorial, we will learn how we can use Object Store V2 REST APIs to dynamically update the values present in our object store without making any changes to our code. For a detailed explanation on Object Store and rest APIs please refer to official MuleSoft documentation.

View more...

Running CockroachDB With Docker Compose - Part 1

Aggregated on: 2021-12-31 17:04:29

Over the next few weeks, I will be publishing a series of tutorials on CockroachDB and various third-party tools to demonstrate how easy it is to integrate CockroachDB into your daily work. Today, we're covering docker-compose and a single node Cockroach cluster as that will be a foundation for the next blog post. CockroachDB and Docker Compose This is the first in a series of tutorials on CockroachDB and Docker Compose.

View more...

First Mocked Unit Test Generated by DDTJ - Day 9: Building DDTJ

Aggregated on: 2021-12-31 16:04:29

Read the previous parts here: Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Yesterday I ran into some snags, but I'm glad to report that this is all behind me. We finally have the first DDT-generated test in history!

View more...

Top 5 AI Trends That Will Shape 2022 and Beyond

Aggregated on: 2021-12-31 04:19:29

One word that has been on the tip of the tongue of almost every second person on this planet especially since the last decade, and that has completely revolutionized the world in which we are currently living, is none other than technology.  Under the umbrella of technology, there are several terms with which you must be already familiar, such as artificial intelligence, machine learning, deep learning, blockchain technology, cognitive technology, data processing, data science, big data, and the list is endless. 

View more...

Holidays, Entrepreneurship and SLOs with Nobl9

Aggregated on: 2021-12-31 00:04:29

It's finally here, the end of season 1 of the podcast is upon us! To celebrate, Santa is bringing something special - entrepreneurship advice for all the would-be founders of the world, ages 1 to 92. Brian Singer, co-founder & CPO of Nobl9, sits down with Dev Interrupted to help us close out season 1 with a conversation on what it takes to found your own company. Having founded a pair of companies, one of which he sold to Google, Brian has a deep understanding of what it takes to successfully found and scale a startup. More than that, he knows what VCs are looking for. 

View more...

Prototype Design pattern in Java: An Introduction, Class Diagram, Example, and Key points

Aggregated on: 2021-12-30 23:04:29

In the video below, we take a closer look at the Prototype Design pattern in Java including an introduction, class diagram, example, and key points. Let's get started!

View more...

Front Controller Design Pattern in Java: An Introduction, Example, and Key points

Aggregated on: 2021-12-30 23:04:29

In the video below, we take a closer look at Front Controller Design Pattern in Java - Introduction, Example, and Key Points. Let's get started!

View more...

How AI-Assisted Medical Diagnosis Increases Assistance and Efficiency

Aggregated on: 2021-12-30 22:49:29

In the medical sector, artificial intelligence (AI) has become synonymous with assistance and efficiency. From a technology that was looked at with mistrust as promises pushed it as a replacement for medical professionals, AI has grown into the second set of eyes that never need to sleep. Artificial intelligence, AI in medical diagnosis, and healthcare gives dependable support to overworked medical practitioners and institutions, reducing workload pressure and increasing practitioner efficiency.

View more...

Top 7 Reasons To Opt For a Data Science Course in 2022

Aggregated on: 2021-12-30 22:04:29

In today's world, data is something that businesses and industries cannot do without. As technology is progressing, data is becoming very useful for organizations for decision-making and predicting future business trends. In today’s data-driven business environment, it is necessary to have personnel who can understand data and figures.  Data science is a requisite if one wants to manipulate data technically to get meaningful inferences. Having the knowledge and mastery of data science makes a tech professional very valuable for a firm, and in turn, makes the stream a lucrative career option. Insights about customer behavior help companies focus their business towards the target audience and grow in the right direction by helping to leverage the power of data. Useful insights and meaningful forecasting models can be extracted by data scientists from raw data.

View more...

Xmake V2.6.2 Released: Support Building Linux Kernel Driver Module

Aggregated on: 2021-12-30 21:04:28

Xmake is a lightweight cross-platform build utility based on Lua. It is very lightweight and has no dependencies because it has a built-in Lua runtime. It uses xmake.lua to maintain project builds and its configuration syntax is very simple and readable. We can use it to build projects directly like Make/Ninja or generate project files like CMake/Meson. Also, it has a built-in package management system to help users solve the integrated use of C/C++ dependent libraries.

View more...

Why Do You Need to Move From CRUD to Event Sourcing Architecture?

Aggregated on: 2021-12-30 20:04:28

Having a firm understanding of the various architectural formats allow designers to build innovative, reactive, and resilient applications to scale. As such, following these industry-vetted standards can save time, ensure reliability, and drive results. After all, why should businesses spend time and resources reinventing the wheel? But mere acquaintance with the different architectures like CRUD-based architecture, Microservices-based architecture, and event sourcing-based architecture will just not be enough to make a well-rounded decision regarding it. One needs to dive into the details and understand the nature, applicability, and value offered by each of them. 

View more...

Singleton Design Pattern: Introduction, Example, and Key Points

Aggregated on: 2021-12-30 18:04:28

In the video below, we take a closer look at the Singleton Design Pattern in Java. This tutorial will include an introduction, example, and key points to the Singleton Design Pattern. Let's get started!

View more...

How To Create Better Software for Small and Medium Businesses

Aggregated on: 2021-12-30 17:19:28

Enterprise software is the lifeblood of any business, helping employees work productively and hit new milestones. Even with the negative impact of COVID-19, global IT spending continues to grow and is expected to amount 601 billion in 2021, which is 13.6% more than the previous year. As a company that believes in quality software, we strive to help people and companies find the best tools for productive work. Since Setapp (a subscription to 230+ Mac and iPhone apps) relies heavily on the success of developers, we’d love to help developers, too. 

View more...

Lancet: A Comprehensive, Efficient, and Reusable Util Function Library of Go

Aggregated on: 2021-12-30 16:49:28

Lancet is a comprehensive, efficient, and reusable util function library of Go, inspired by the Java Apache Commons package and lodash.js. Features  Comprehensive, efficient, and reusable  100+ common Go util functions, support string, slice, DateTime, net, crypt  Only depend on the Go standard library  Unit test for every exported function. Installation go get github.com/duke-git/lancet Usage Lancet organizes the code into package structure, and you need to import the corresponding package name when using it. For example, if you use string-related functions, import the strutil package as below:

View more...

How To Get Started With Automated Browser Testing?

Aggregated on: 2021-12-30 15:49:28

If you have a website for consumer products, you must know that some challenges exist only with these websites; one such challenge is ensuring that the functionalities work expectedly across browsers and devices. Browsers interpret things differently; hence you have to ensure consistency in the appearance (UI/UX) and functionalities of the website/web application across different browsers.  This makes cross-browser testing extremely important as it lets you compare the functionalities and design of a website on multiple browsers, devices, and platforms (operating systems). To fast-track the process of browser compatibility testing, developers should use automated browser testing. 

View more...

Java: Creating Terabyte Sized Queues with Low-Latency

Aggregated on: 2021-12-30 15:04:28

Queues are often fundamental components in software design patterns. But, what if there are millions of messages received every second and multi-process consumer need to be able to read the complete ledger of all messages? Java can only hold so much information before the heap becomes a limiting factor with high-impacting garbage collections as a result, potentially preventing us from fulfilling targeted SLAs or even halting the JVM for seconds or even minutes. This article covers how to create huge persisted queues while retaining predictable and consistent low latency using open-source Chronicle Queue.

View more...

Build Issues, Code Generation and Depth vs. Breadth-First - Day 8: Building DDTJ

Aggregated on: 2021-12-30 15:04:28

Read the previous parts here: Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Yesterday I was making substantial progress, so naturally, I spent most of today with my figurative wheels spinning in the mud.

View more...

Contextual Design With Google Actions

Aggregated on: 2021-12-30 14:34:28

One of the most complex tasks while designing a conversation is to create natural interactions with our users. However, there is one process called a contextual design that helps us to create these natural conversations. With the contextual design, you can design your conversation depending on the current situation of our users.  For example, if the user is a first-timer using our Google Action, we will tell him/her a different welcome message than if he/she access it for the second time. Another example is the following one: if the user is from one City, we will provide information related to that city accessing geoinformation. Contextual design is one of the keys of Conversational AI.

View more...

10 Important Software Development Metrics That Every Project Manager Should Know

Aggregated on: 2021-12-30 00:04:28

Software development is quite a critical job. All the team members need constant efforts to bring out the best. We have to focus on every minor and significant aspect of development. A minor setback can also affect the whole process and product quality. Yes, it's a fact: according to some studies, 66% of technology projects end up in partial or total failure. Only one out of three software is considered best, or successful, whereas the rest have issues.

View more...

Improving Development Velocity Using Ephemeral Environments

Aggregated on: 2021-12-29 21:49:28

Velocity is a measurement of how many story points a software development team can finish within a sprint (usually one or two weeks). These points are set by the software development team when they review a ticket and estimate how complex the ticket is. When a team measures this output over a period of time, generally they have a consistent amount of story points they can deliver in a sprint and their velocity is known. Improving developer velocity is directly correlated with performance. McKinsey published an article in April 2020, where they cite that companies in the top 25% on their Developer Velocity Index grow up to twice as fast as companies in their same industries. Intuitively, this makes sense since delivering more allows the development team to learn through iterating and improving.

View more...

Stopping Cybersecurity Threats: Why Databases Matter

Aggregated on: 2021-12-29 21:19:28

From intrusion detection to threat analysis to endpoint security, the effectiveness of cybersecurity efforts often boils down to how much data can be processed in real-time with the most advanced algorithms and models. Many factors are obviously involved in stopping cybersecurity threats effectively. However, the databases responsible for processing the billions or trillions of events per day (from millions of endpoints) play a particularly crucial role. High throughput and low latency directly correlate with better insights as well as more threats discovered and mitigated in near real-time. Cybersecurity data-intensive systems are incredibly complex: many span 4+ data centers with database clusters exceeding 1000 nodes and petabytes of heterogeneous data under active management.

View more...

Getting Started With Cross-Platform Heterogeneous Computing

Aggregated on: 2021-12-29 20:49:28

Heterogeneous computing is here to stay, and it is becoming more diverse and increasingly important for all programmers to understand. Fortunately, the key concepts are easy to grasp. In this Refcard, we will walk through a thorough introduction to cross-platform heterogeneous computing, its benefits, and how to get started setting up your environment.

View more...

AWS Spring Boot Tutorial, Part 3: CodeDeploy, Blue/Green Deployment

Aggregated on: 2021-12-29 17:04:28

In this video tutorial, I will demonstrate the blue/green deployment of the Spring Boot REST API.  I will show you the following steps in the demonstration: Create an IAM role  Create an Application Load Balancer  Create Security Group For ECS cluster  Create an ECS cluster  Create Task Definition  Create ECS Service  Create CodeDeploy Thank you for watching. 

View more...

Observer Design Pattern in Java: Introduction, Example, and Key Points

Aggregated on: 2021-12-29 16:34:28

In the video below, we take a closer look at the Observer Design Pattern in Java. The tutorial will provide an introduction, example, and key points. Let's get started!

View more...

The Clinical Trial Technical Challenge: Programmability and Extensibility at Scale

Aggregated on: 2021-12-29 16:34:28

Clinical trials are an extraordinarily complex and vitally important undertaking. These are enormous projects, with the cost of developing a single new drug averaging $2.6 billion. A phase-3 clinical trial — the final stage before approval — will involve thousands, sometimes tens of thousands, of participants. Hundreds, even thousands, of data points for each participant must be tracked over time for years. Ultimately, this means there could be hundreds of millions of data points that must be protected, secured and blinded. And, ultimately, all of that data will need to pass through multiple different applications for analysis. Don’t be fooled by the extraordinarily fast pace of COVID-19 vaccine development. This is not the norm. These clinical trials were conducted safely and rigorously, but they also had unprecedented resources and the urgent need for a vaccine to combat a deadly, highly infectious disease pushing them forward. Most clinical trials take six to seven years to complete. Given the stakes — these new treatments could save and vastly improve the quality of life for millions of people — if there’s a way to speed up the process without compromising the science or ballooning budgets to the size required to combat an urgent global crisis, shouldn’t we do so?

View more...

Factory Design Pattern: Introduction, Examples, and Key Points

Aggregated on: 2021-12-29 15:49:28

In the video below, we take a closer look at the factory design pattern and the abstract factory design pattern. We include an introduction, an example, and some key points to help your learning and coding journey. Let's get started!

View more...

Grab Hold of Meta With Tech

Aggregated on: 2021-12-29 13:04:28

How Different Tech Stacks Compare After deploying countless websites, you will see the narrow difference between tech stacks. Python, PHP, JavaScript, Elixir, Ruby, and others all write HTTP responses. This uniformity means developers can pass all HTTP handling through a standardized webserver interface like Apache/NGINX. Web servers are a MUST and highly optimized for driving web traffic. Apache/NGINX fulfill common needs such as simultaneous requests, encryption, and "path rewriting" (sales). Businesses that do not use quintessential web servers are doomed to face early scaling issues.

View more...

Multimodal Design With Google Actions: Rich Responses Using Cards

Aggregated on: 2021-12-29 13:04:28

Creating conversations is a really hard task. This is an entire design process that can take a lot of time. In terms of voice assistants, this process is even more complex due to the ability to interact with the user using sound and a display. When you mix those 2 interactions, you are creating a multimodal experience. In this article, we will learn how to create engaging conversations using multimodality in our Google Action thanks to its Rich Responses using Cards.

View more...

Your Code Security Scanning Is Not Enough

Aggregated on: 2021-12-29 12:34:28

In March 2017, over 140 million people's sensitive information was stolen from Equifax company servers. How did it happen?  Equifax was using the Apache Struts framework to run a number of its websites. In March 2017 a security vulnerability (CVE-2017-5638) was discovered in Apache Struts and on March 7 Apache has released a security patch fixing the aforementioned vulnerability. 

View more...

Importance of Data Discovery in Data Mesh Architecture

Aggregated on: 2021-12-29 12:04:28

Data Mesh/Discovery — Panel Recap Recently, I came across a great panel hosted by data mesh learning incorporation with the open-source data podcast — to discuss the significance of data discovery in data mesh architecture and other important issues surrounding data mesh delivery. The panel consisted of expert solution architects, including Shinji Kim, CEO Select Star, Sophie Watson, Principal Data Scientist Red Hat, Mark Grover, Founder of Stemma, and Shirshanka Das, CEO Acryl Data. 

View more...

60x Performance Improvement and Moving on Full-Stack - Day 7: Building DDTJ

Aggregated on: 2021-12-29 11:49:28

Read the previous parts here: Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Yesterday things started improving and today I'm fully recovered.

View more...

Where To Use the Underscore in Java

Aggregated on: 2021-12-29 10:34:28

This series of articles called “Stranger things in Java”, is inspired by the contents of my book “Java for Aliens”. These articles are dedicated to insights into the Java language. Deepening the topics we use every day will allow us to master Java coding even in the strangest scenario. In this article, we will try to clarify the use of the underscore symbol "_" in Java programming. So, let's examine the use cases of this symbol within a Java program. Let's start with the best-known case.

View more...

Changing The AI Landscape Through Professionalization

Aggregated on: 2021-12-29 10:04:28

Artificial Intelligence has been the talk of the town for a while. But, why does AI matter? How can an organization successfully scale AI? And, what role does professionalization play in the process of successful AI deployment? Read this blog to know more about all things the data-driven AI landscape. In the past three years, we have seen companies spend more than $300B on AI applications, and this has turned a spotlight on the AI landscape, making it a high-stakes business priority. 

View more...

Multimodal Design With Google Actions: Visual Selection Responses Using Collections

Aggregated on: 2021-12-29 05:19:27

Creating conversations is a really hard task. This is an entire design process that can take a lot of time. In terms of voice assistants, this process is even more complex due to the ability to interact with the user using sound and a display. When you mix those 2 interactions, you are creating a multimodal experience. In this article, we will learn how to create engaging conversations using multimodality in our Google Action thanks to its Visual Selection Responses using Collections.

View more...

DOAG 2021 Conference Report

Aggregated on: 2021-12-29 05:19:27

The DOAG 2021 conference took place November 16-18. This is the long-running annual event organized by the German Oracle technology user community — one of the largest in the world. Due to the pandemic, the 2021 event was virtual. There is always some Java-related content in the event, including on Jakarta EE, WebLogic, Coherence, and Helidon. I delivered two talks on Jakarta EE, WebLogic, and Azure. Running WebLogic on Azure Kubernetes and Virtual Machines On the second day of the conference, I had the relatively rare opportunity to deliver a talk titled “Running WebLogic on Azure Kubernetes and Virtual Machines”. The material covers the key work Microsoft and Oracle is doing to power WebLogic on Azure. The work includes tools, solutions, guides, samples, and scripts to fully enable WebLogic on both Azure Virtual Machines as well as the Azure Kubernetes Service (AKS). The solutions support simple use cases such as easily creating a single working WebLogic instance. They also support common use cases such as clustering, load-balancing, failover, disaster recovery, database connectivity, caching via Coherence, consolidated logging via ELK, and Azure Active Directory integration. The introductory session includes demos for VMs and AKS. I also cover the longer-term roadmap for WebLogic on Azure. The slides for the talk are available on SpeakerDeck.

View more...

Data Pipeline Essentials

Aggregated on: 2021-12-28 22:34:27

Modern data-driven applications are based on various data sources and complex data stacks that require well-designed frameworks to deliver operational efficiency and business insights. Data pipelines allow organizations to automate information extraction from distributed sources while consolidating data into high-performance storage for centralized access. In this Refcard, we delve into the fundamentals of a data pipeline and the problems it solves for modern enterprises, along with its benefits and challenges.

View more...

Cooperative Multi-Agent Reinforcement Learning and QMIX at NeurIPS 2021

Aggregated on: 2021-12-28 22:04:27

Authors: Gema Parreño, David Suarez (Apiumhub), with thanks to: Alberto Hernandez (BBVA Innovation Labs). The following post aims to introduce Cooperative MARL and goes through innovations by S. Whiterson Lab, with QMIX (2019), and their current contributions for NeurIPS 2021. Going through this article might imply having certain fundamentals about Reinforcement Learning.

View more...

SonarQube Local Setup Using Docker

Aggregated on: 2021-12-28 20:49:27

SonarQube is a static code scanning tool that helps us to improve code quality. Join me in this video tutorial as I explain three easy steps to set up SonarQube using the Docker tool for our development environment in your local machine. 

View more...

Avoid Yoda Conditions in Perl You Should

Aggregated on: 2021-12-28 20:49:27

I remember a brief time in the mid-2000s insisting on so-called “Yoda conditions” in my Perl. I would place constants to the left of equality comparisons. In case I accidentally typed a single = instead of ==, the compiler would catch it instead of blithely assigning a variable. For example: Perl   if ( $foo == 42 ) { ... } # don’t do this if ( 42 == $foo ) { ... } # do this if ( $foo = 42  ) { ... } # to prevent this And, because a foolish consistency is the hobgoblin of little minds, I would even extend this to string and relational comparisons.

View more...

Data Orchestration on Cloud Essentials

Aggregated on: 2021-12-28 19:49:27

As data-driven applications continue to grow, it is important for organizations to develop data-driven strategies that drive their business fundamentals. For modern businesses, data is invaluable. Unsurprisingly, a large chunk of emerging technologies and approaches are focused on ensuring efficient data management, enhanced analytics, and robust data security. In this Refcard, we explore how data orchestration helps break down data silos, enables complex analytics, and eliminates I/O bottlenecks. It also dives into various data orchestration best practices and use cases.

View more...

Good News and Bad News, Pivot and Turn - Day 6: Building DDTJ

Aggregated on: 2021-12-28 11:49:27

Day 1 Day 2 Day 3 Day 4 Day 5 Last week I spent 5 days building and designing the DDTJ project. Hopefully, I’ll complete the MVP by this weekend. As we left the series last week, I was stuck. This week there’s a bit of an improvement. There are a lot of variations on the good news/bad news joke. I’m sure you all know some form of it. Here’s a programming oriented one: 

View more...

Local Debugging on a Google Action

Aggregated on: 2021-12-28 11:49:27

Google Actions can be developed using Firebase Cloud functions or a REST API endpoint. Firebase Cloud Function function is Googles's implementation of serverless functions available in Firebase. Google recommends using Firebase Cloud Function functions for Google Action development. This is a very lightweight and powerful approach to developing our Google Action. However, it is complex to work locally with serverless functions like Firebase Cloud Functions.

View more...

Kafka for Condition Monitoring and Predictive Maintenance in Industrial IoT

Aggregated on: 2021-12-28 11:49:27

The manufacturing industry is moving away from just selling machinery, devices, and other hardware. Software and services increase revenue and margins. A former cost center becomes a profit center for innovation. Equipment-as-a-Service (EaaS) even outsources the maintenance to the vendor. This paradigm shift is only possible with reliable and scalable real-time data processing leveraging an event streaming platform such as Apache Kafka.  This post explores how the next generation of software for Condition Monitoring and Predictive Maintenance can help build new innovative products and improve the OEE for customers.

View more...