How Trump, Biden see automation and AI

How Trump, Biden see automation and AI:

 

https://damianfallon.blogspot.com/

The impact of automation and AI on the U.S. workforce has been a longstanding issue in presidential politics. That may be true again at tonight’s presidential debate.

President Donald Trump and Democratic challenger former Vice President Joe Biden both believe automation and AI will take jobs. The issue may come up at tonight’s debate, as the candidates talk about the economy.

In discussing automation, Biden has pointed to self-driving trucks, their threat to millions of trucking jobs and the need for more job training.

Trump hasn’t tweeted once about automation and robots, but when asked in 2017 by The New York Times whether factory jobs will be replaced by robots, he said, “They will, and we’ll make the robots, too.”

When it comes to automation and AI, the candidates aren’t as far apart as they are on other issues. They both support rapid development of AI technologies, and they want the U.S. to be the global leader of AI development. They also agree that the current workforce needs to be reskilled to get there.

And neither candidate has given the topic of automation the kind of attention President John F. Kennedy gave it more than 60 years ago, when he was running for president in 1960. Kennedy worried about tech’s job impact and was vocal about his concern.

The steady replacement of men by machines – the advance of automation – is already threatening to destroy thousands of jobs and wipe out entire plants.
John F. KennedyPresidential candidate, 1960

Speaking at a meeting of union workers in Michigan, Kennedy said that, “the steady replacement of men by machines – the advance of automation – is already threatening to destroy thousands of jobs and wipe out entire plants.”

Regardless, automation and AI may be an ongoing issue in the run-up to Election Day, and the candidates will have to address the economic fallout brought on by such advances.

In a study last year, the Brookings Institution, a think tank based in Washington, D.C., stated that over the next few decades, approximately 25% of U.S. employment is at risk of being automated – especially administrative jobs, as well as those in food services and transportation. The disruption won’t be mass unemployment, but moving displaced workers to new jobs.

“Workers need to switch jobs, often learning new skills, changing occupations and industries, and moving to new locations,” Brookings stated.

In the software and SaaS industry, AI is automating administrative processes. Oracle, for example, released upgrades today to its HCM products that help reduce administrative burden by automating some processes.

A longstanding fear of automation

The fear and debate that automation will take current jobs is several hundred years old.

In presidential politics, worries about automation and AI have remained since Kennedy’s run in 1960. In 2017, in his last month in office, President Barack Obama voiced concern about AI’s impact on labor.

“The next wave of economic dislocations won’t come from overseas. It will come from the relentless pace of automation that makes a lot of good, middle-class jobs obsolete,” Obama said.

While Trump may not be tweeting about AI, the White House has shined a light on the need to reskill the workforce.

“Even if job creation outpaces job destruction in the years ahead, the skills required in newly created jobs will be different from those in jobs eliminated by automation,” the White House Council of Economic Advisers wrote in a 2018 report.

Both candidates want AI investment

The Trump administration wants to accelerate AI development, but his effort has been criticized for a lack of funding.

Biden’s platform calls for billions of dollars of new funds for R&D, including AI, as well as training to reskill the workforce to adapt.

After running into an old classmate who was a truck driver, Biden used the encounter to frame his concern about self-driving vehicles.

“He knows he’s in trouble,” Biden said in a speech last year. He said his former classmate and others are “scared to death; they’re scared to death,” of self-driving trucks.

Andrew Yang, an entrepreneur and former Democratic primary candidate, also stressed the impact self-driving vehicles could have on the trucking industry during his candidacy. He warned that as many as 3.5 million jobs may be at risk. In a comment on automation, then-candidate Pete Buttigieg said workers will need “lifelong learning.”

In software, AI gains arrive release by release

While the warnings seem dramatic, the productivity gains that automation and AI bring to the economy will arrive slowly.

In the software industry, with ERP and most SaaS applications, for example, automation changes arrive release by release.

Such is the case in Oracle’s latest software updates, announced today. Oracle is announcing upgrades to its ERP products, and some of the enhancements eliminate repetitive tasks. One system will “automate routine and mundane data entry.”

Automating rote tasks “allows customers to focus on complex issues requiring human judgement,” Oracle said.

But asked to quantify what the productivity gains may mean in terms of saved labor hours, for instance, Rondy Ng, senior vice president of applications development at Oracle, couldn’t make a generalization. He said productivity gains will vary from customer to customer and will depend on how far along they are in modernizing their systems.

At a U.S. House Committee hearing this month on automation, John Yarmuth (D-Ky.), chairman of the House Budget Committee, warned that automation and AI could exacerbate income inequality, “and push more people into poverty when we eventually emerge from this recession.”

According to a report summarizing the committee’s concerns, “While advancements in AI could create more opportunities for workers with advanced education or specialized skills, workers without these skills could see shrinking opportunities.”

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630681726715297792

Debouncing v/s Throttling: What’s the difference?

Debouncing v/s Throttling: What’s the difference?:

https://damianfallon.blogspot.com/

 Website performance plays a huge role in enhancing the user experience of our websites. In this article, we will learn about performance optimization techniques like Debouncing and Throttling and the key difference between them.

Debouncing and Throttling are widely-used techniques that help us in limiting the rate at which a function fires off. These two techniques give us a layer of control between the event and the execution of the functions attached to them. API servers often implement either of these two techniques to prevent the application from being overloaded.

These function calls could be anything from a simple scroll event to an API call to the server. Both these techniques are almost identical and help us reduce the number of function calls being made but they have one small, but significant difference among them.

Before we get into the difference, let’s understand how they work individually –

What is Debouncing?

Debouncing is a technique in which no matter how many times a user fires an event, 
the call will be made only after a specific amount of time has passed after the user stops firing the event.

For example, let’s say a user is typing something in a search box. This search box makes API calls and has a debounce function attached to it with a specified time duration of 400ms. So now, unless 400ms have passed after the user stopped typing, the API call wouldn’t be made.

I wrote a detailed article on Debouncing in Javascript, a couple of months ago. If the concept of debouncing is completely new to you, I strongly suggest you go to this link and read the post before moving ahead with this one.

What is Throttling?

Throttling is a technique that makes the next function call strictly after a certain period of time. No matter how many times the user fires an event, the function attached will be executed only once in the given time period.

Let’s understand this by coding a simple throttle function ourselves –

We will start by taking a simple Button. Let’s say this button calls some API. The onclick attribute on this button will call two functions – normalFunc() and apiWithThrottle()

In our Javascript file, we’ll define the functions –

The normalFunc() keeps track of the number of clicks made on the button, and apiCallFunc() keeps track of the number of API calls being made. The function apiWithThrottle() when triggered by the button, will call the throttle() function in which the function to be throttled and the time limit are given as parameters.

After running this code, we see something like this –

Here, we have set the time limit to 1 second (1000ms). Notice how the user clicks the button multiple times but the call to the API is only made 3 times, each after an interval of 1 second. To sum it up in simple words – even if the user clicks the button 15 times in 3 seconds, the number of times the API call will be made is 3 only.

Here’s the link to the CodePen, if you want to try this out yourself.

Debouncing vs Throttling

The difference between the two can be understood by taking a simple real-life example –

  • Debouncing

Imagine you’re a 7-year toddler who loves chocolates. You persistently keep asking your mom for some chocolates. She gives you some but then you start asking for some more. You ask her so many times that she gets annoyed and tells you that you can have it only if you don’t bother her and remain silent for the next one hour. This means if you keep asking her, you will only get it one hour after the last time you asked her.

This is debouncing.

  • Throttling

Consider the same example – You ask your mom for chocolates despite having them a few minutes ago. You persistently keep asking her, she gets annoyed and finally decides to give you some. But she, being your mom, knows that you will ask for some more in a few minutes. So she gives you the chocolates with a condition that you won’t get any more for the next one hour. You still keep bothering her for more but now she ignores you. Finally, after an hour has passed, she gives you the chocolates. If you ask for more, you will get it only after an hour, no matter how many times you ask her.

This is what throttling is!

Use-cases

Both these techniques have their own set of use-cases.

Debouncing can be used when the result of the most recent event occurrence is what is important. For example, a search query on an e-commerce website.

Throttling can be used when the input provided to the function call doesn’t matter or is the same each time. For example, infinite scrolling on a webpage. Here, we need to check how far the user is from the bottom of the page. If they’re too close, we request more data and append it to the page. Here debouncing wouldn’t work as it would only trigger the event when the user has stopped scrolling but we need to start fetching the content before the user reaches the bottom.

Another example would be a multiplayer fighting game where your character has to punch to defeat its opponent. Throttling can be applied to this punching ability of the character such that it can punch only once per second. Now even if the player gives the command to punch 10 times in 5 seconds, the number of punches thrown would be 5 only.

Wrapping Up

Techniques like debouncing and throttling give us control over the execution of events in our websites, helping us reduce the number of high computational tasks that may hamper the performance of our website. They might have different use-cases but the end goal remains the same i.e better performance. So if you’re a developer looking to optimize your website, you know what to do!

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630681726220369920

Using Python for Arduino Projects

Using Python for Arduino Projects:

INTRODUCTION

Every hardware engineer and IoT enthusiast has interacted with a number of micro-controllers and embedded devices, the most common one being the Arduino micro-controller. Well, it’s a good fit for noobs who want to get their feet wet but the only caveat is the C/C++ hybrid language used in the Arduino IDE as most devs find it quite intimidating. 
Today, I’m going to take you down the rabbit hole with me by showing you how to use Python to program your Arduino micro-controller.

REQUIREMENTS

For starters, you’ll need the following hardware:

  • Arduino (UNO, Mega2560…etc)
  • Arduino USB Cable
  • LEDs
  • Push Button
  • 10kOhm Resistors

Well, the only software requirement is the Arduino IDE

EXPLANATION

The theory behind what we are trying to do is communicating with the Arduino using a serial connection between our computer and the micro-controller itself. There are a number of ways this can be achieved; in Python for example, the PySerial library can come in handy, effectively capturing serial data transmitted between the board and the computer. But that’s an article for another day.

In this article we are going to exploit the Firmata protocol which is already available by default in the Arduino IDE post-installation. This protocol establishes a serial communication format that allows you to read digital and analog inputs, as well as send information to digital and analog outputs.

Uploading the Firmata Sketch

Let’s dive right in and see what we can do. The Firmata sketch is (as I said earlier) already available in the Arduino IDE so on your desktop, launch the IDE and navigate to File then Examples then Firmata and click on the StandardFirmatasketch.

An alternative window will be opened upon which you should select your appropriate board type and port after connecting your board to your computer via a USB cable. Compile the sketch and upload.

Python Fun

Now let’s play with some Python code. You will need to install the pyFirmatapackage through the Python Package manager, pip. Now, for *nix systems i.e (MacOS/Linux) launch your terminal and for Windows users, launch your command prompt then run the following command: 
pip install pyfirmata

You should get some result similar to this…

After installation, launch your favorite text editor, in my case, I’ll write the Python code on an open-source version of VS Code. We’ll now write some simple Python code equivalent to the Blink Sketch (The Hello World of Arduino😉).

Now let’s crack every bit of the code (pun intended😉).
So we first import the library we need to establish a serial connection between our board and the computer. Our plan is to control the inbuilt LED connected to pin 13 on the board so it will be prudent to use the time module in order to control how long we will turn the LED on/off.

Since communication is through a serial protocol, we need to define our port. You can get this info from the Arduino IDE and for my case it is as stipulated above. For Windows users, it may be COMx where x is any integer.
We then instantiate our board object (myBoard) and pass the port as an argument to pyfirmata.Arduino()

The next step is to run the main block of code in a loop just like in the Arduino syntax. So let’s use a while loop for that…
board.digital is a Python list containing all the digital pins of the Arduino but in our case we are using pin 13. The .write() method is used to write the state to the digital pin. The state is represented as either 1 or 0 for HIGH or LOW respectively. The former representing 5V and the latter 0V hence high or low.
The HIGH state provides 5V to the LED and turns it on while LOW state provides 0V hence turning it off. The .sleep() method from the time module is responsible for handling how long each action takes; just like the delay() function in the Arduino syntax.

Running the Code

We can now run the code by launching a terminal and executing:
python pyduino.py
You should however note that the proper syntax is:
python [filename.py]

Now wasn’t that simple. Let’s go even deeper by adding a push button that will change the state of our digital pin…

More Hands-on Experience

We shall first connect our circuit as follows:-

The Button is connected to a 10k pull down resistor so as to ensure the voltage is completely pulled down to 0V on the digital pin.

Our code will only change a bit and it will be just as simple as the other one:

We are conversant with line 1 through 5. Line 6 is used to define an iterator that will constantly read the state of our digital pins. Line 7 only instantiates or activates it.
Line 9 explicitly declares digital pin 10 as output through the pyfirmata.INPUTmethod. This is necessary since the default config use for digital pins is as output and not input.

We then go to our loop and define our switch pin. The rest is as intuitive as it gets.
The final step is obviously running our Python script and Voila! Some action.

CONCLUSION

Micro-controllers and Embedded Devices are on the rise in numerous applications especially in the Internet of Things(IoT). Enthusiasts, hobbyists, Engineers, and other developers are getting the chance to explore numerous possibilities by building projects and contributing to others. 
For the Arduino fans, this article is only a tip of the iceberg. The journey is a deep dark rabbit hole that once you get yourself into, there’s no turning back. This also applies to Python programmers who just don’t like C/C++. 
For those interested in learning more, there is excellent documentation on Pyfirmata here that will be of great use. 
For those who want to do IoT natively in Python, then there are other Micro-controllers such as MicroPython and the renowned RaspberryPi. But baby steps first😅; we all start from somewhere.

Anyway, that’s all for now. I hope you enjoyed.
Thank you.

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630681725208576000

Why you should use Framer Motion

Why you should use Framer Motion:

 

https://damianfallon.blogspot.com/

What is Framer Motion?

Think of Framer Motion as more of an improvement or reinvention of an existing animation library than a brand new one.

Framer Motion is the successor to Pose, which was one of the most popular animation libraries used with React. Like Pose, it’s built upon promotion, which is a low-level, unopinionated animation library, but it provides abstractions to streamline the process.

Framer Motion improves upon and simplifies the API in a way that couldn’t have been done without breaking changes and rewriting. One difference is that whereas Framer Motion only has support for React, Pose has support for React-Native and Vue. If you’re currently using Pose I would recommend updating to Framer Motion because Pose has been depreciated.

Why use Framer Motion?

  1. If most animation libraries use spring-based animations, then, why should you use Framer Motion? For starters, it has a great API that is simple and doesn’t fill your components with extra code. In most cases, you can simply replace your HTML element with a motion element — for example, div with motion.div, which results in the same markup but has additional props for animation.

  2. Framer Motion is capable of powering animations in Framer X, a prototyping tool, which makes the hand-off extremely convenient. The majority of designers have suffered a situation when they spend ages perfecting every little detail of design only to have it lost in the development process. Framer Motion lets you use the same animation library both in prototyping and production. This way you don’t need to worry your animations are different from what you’ve intended them to be.

How do I start?

  1. Install Framer Motion package.

npm install framer-motion (if you are using npm
or 
yarn add framer-motion (if you are using yarn)

  1. Import motion component in your file.
import { motion } from 'framer-motion';
  1. Try to animate an element using animate attribute. ⚠️ Remember: you are not using more css syntax or attributes, they all are from Framer Motion
export default function App() {
  return (
    
      Yayy, I am animated!!
    
  )
}

You can notice two important things:

  1. motion always comes before the html tag (just make shure on the documentation if Framer Motion supports)
  2. animate attribute pass an object (like the style=)

    1. See my repository about Framer Motion and learn how it works.
    2. See this playlist on YouTube about Framer Motion.
    3. https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630681724450373632

Top React Static Site Generators

Top React Static Site Generators:

 

https://damianfallon.blogspot.com/

Because they are faster and flexible, static site generators are becoming increasingly popular. Have a look at some amazing React Static Site Generators.

Gatsby

is one of the most popular static site generators for React. It is a free and open source framework that helps developers build blazing-fast websites and apps.

https://www.gatsbyjs.com/

Next JS

if you want a static site generator for you next React Project, next.js is definitely worth a look.

https://nextjs.org/

Jekyll With React

is another great static site generator for React which is built on top of Ruby.

https://jekyllrb.com/

React Static

is a progressive static site generator based on React and its ecosystem. Because it is powerful, lightweight, and fast, it will be a great option for your next React app.

https://www.staticgen.com/react-static

UmiJS

is a scalable enterprise-class React Framework that provides out-of-the-box tools and plugins to aid the rapid development of scalable applications.

https://umijs.org/

So, which one you use?

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630681723781431296

Introducing the Shared Styles editor

Introducing the Shared Styles editor:

 

https://damianfallon.blogspot.com/

CSS is, most of the time, repetitive. It’s no surprise, though: the very nature of this language consists of an array of properties and values grouped into “classes”.

A class is a reusable style pattern.

As you work on more projects, you find yourself creating similar style patterns over and over. For example, you may create a class to:

  • reduce the opacity on hover;
  • increase the box-shadow on hover;
  • have a secondary link style.

Some of these classes target behavior selectors (i.e., hover/focus effects); others don’t. The common denominator is they’re used across multiple components. Instead of being copied in each component where they’re used, they should have their own global file.

💅 A library of shared styles #

Today we introduce the Shared-Styles visual editor.

Shared-Styles Editor

In CodyFrame, we’ve always had a “place” for the shared styles (📁 custom-style/_shared-styles.scss). We’ve used it to store reusable styles like shadow or radius values.

Over the last months, we’ve observed how CodyFrame’s users have been extending the functionality of this “global”. It turns out the number of shared styles can increase exponentially as the project grows in complexity.

The Shared Styles editor will help you build this library of styles in the browser and answer the “where have I used this style before?” question. No more digging into other components’ CSS to copy that style: create the shared-style in the editor, then come back later to copy the class name.

The SCSS generated by the editor should be pasted into the 📁 custom-style/_shared-styles.scss CodyFrame’s file.

Example 1. Create a behavioral shared-style #

Probably the most frequent use for the editor is to collect style behaviors.

For example:


.component-1 { box-shadow: var(--shadow-sm); transition: .3s; } .component-1:hover { box-shadow: var(--shadow-md); } .component-2 { box-shadow: var(--shadow-sm); transition: .3s; } .component-2:hover { box-shadow: var(--shadow-md); }
.hover\:elevate { box-shadow: var(--shadow-sm); transition: .3s; } .hover\:elevate:hover { box-shadow: var(--shadow-md); }

In the editor you can create a hover:elevate style:

Example 2. Create a complex shared-style #

You can also use the editor to collect “complex” styles. By complex, we mean styles that contain multiple CSS properties and values.

For example, let’s suppose you’ve created a text style and use it across multiple components.

You can create the style in the editor and copy the class whenever you need it.

Shared-styles vs. utility classes #

Unlike CodyFrame’s utility classes, shared-styles can be more complex and target behaviors. Other frameworks have pseudo-class variants, but shared-styles solve a different problem.

Imagine you have different components that share some style:


With pseudo-class variants, if you want to update the hover effect, you have to track down all the components where it’s used and update the utility classes. With shared-styles, you change the hover:elevate class.

Shared-styles vs. components #

Shared-styles are not to be confused with components.

For example, let’s suppose you have multiple components with a “close” button (e.g., modal windowdrawerdialog…). For consistency, you’re applying the same style to these buttons.

If you’re working with a JS framework (Vue/React/…), you should probably create a  component. If you’re not using a templating language, you can take advantage of shared-styles to modify the design of multiple elements at once.

However, keep in mind that shared-styles should not replace components. They’re style patterns shared across multiple components.

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630681722769522688

Introducing the Shared Styles editor

Introducing the Shared Styles editor:

 

https://damianfallon.blogspot.com/

CSS is, most of the time, repetitive. It’s no surprise, though: the very nature of this language consists of an array of properties and values grouped into “classes”.

A class is a reusable style pattern.

As you work on more projects, you find yourself creating similar style patterns over and over. For example, you may create a class to:

  • reduce the opacity on hover;
  • increase the box-shadow on hover;
  • have a secondary link style.

Some of these classes target behavior selectors (i.e., hover/focus effects); others don’t. The common denominator is they’re used across multiple components. Instead of being copied in each component where they’re used, they should have their own global file.

💅 A library of shared styles #

Today we introduce the Shared-Styles visual editor.

Shared-Styles Editor

In CodyFrame, we’ve always had a “place” for the shared styles (📁 custom-style/_shared-styles.scss). We’ve used it to store reusable styles like shadow or radius values.

Over the last months, we’ve observed how CodyFrame’s users have been extending the functionality of this “global”. It turns out the number of shared styles can increase exponentially as the project grows in complexity.

The Shared Styles editor will help you build this library of styles in the browser and answer the “where have I used this style before?” question. No more digging into other components’ CSS to copy that style: create the shared-style in the editor, then come back later to copy the class name.

The SCSS generated by the editor should be pasted into the 📁 custom-style/_shared-styles.scss CodyFrame’s file.

Example 1. Create a behavioral shared-style #

Probably the most frequent use for the editor is to collect style behaviors.

For example:


.component-1 { box-shadow: var(--shadow-sm); transition: .3s; } .component-1:hover { box-shadow: var(--shadow-md); } .component-2 { box-shadow: var(--shadow-sm); transition: .3s; } .component-2:hover { box-shadow: var(--shadow-md); }
.hover\:elevate { box-shadow: var(--shadow-sm); transition: .3s; } .hover\:elevate:hover { box-shadow: var(--shadow-md); }

In the editor you can create a hover:elevate style:

Example 2. Create a complex shared-style #

You can also use the editor to collect “complex” styles. By complex, we mean styles that contain multiple CSS properties and values.

For example, let’s suppose you’ve created a text style and use it across multiple components.

You can create the style in the editor and copy the class whenever you need it.

Shared-styles vs. utility classes #

Unlike CodyFrame’s utility classes, shared-styles can be more complex and target behaviors. Other frameworks have pseudo-class variants, but shared-styles solve a different problem.

Imagine you have different components that share some style:


With pseudo-class variants, if you want to update the hover effect, you have to track down all the components where it’s used and update the utility classes. With shared-styles, you change the hover:elevate class.

Shared-styles vs. components #

Shared-styles are not to be confused with components.

For example, let’s suppose you have multiple components with a “close” button (e.g., modal windowdrawerdialog…). For consistency, you’re applying the same style to these buttons.

If you’re working with a JS framework (Vue/React/…), you should probably create a  component. If you’re not using a templating language, you can take advantage of shared-styles to modify the design of multiple elements at once.

However, keep in mind that shared-styles should not replace components. They’re style patterns shared across multiple components.

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630670395001929729

3 growing applications of AI in data management

3 growing applications of AI in data management:

 

https://damianfallon.blogspot.com/

There are plenty of ways AI can augment data professionals throughout the data pipeline, from sifting through large data sets for duplicates to easing the preparation process.

Science fiction has long anticipated the day artificial intelligence would be created, usually with dystopian results. The reality has proven more prosaic so far, with initial promises of expert systems replacing all manner of human experts turning out to be elusive.

There have been many advances in AI in recent years, leading to a level of excitement about its potential use in areas such as medicine, fraud detection and even generating email marketing subject lines – an application eBay has already employed. How does this brave new world of AI apply to data management?

There are many applications for AI in data management that make sense to streamline the process. Here are three main applications for the growing technologies.

AI in master data management

An obvious example of AI in data management is in data matching, which is a core element of data quality and master data management tools. 

It is quite common to find 20%-30% duplication in materials master files and other supposed master data sources. In large companies, data related to key subjects such as customers or products is often duplicated across multiple systems. The various versions of a customer name and address record may be incomplete, out of date or just plain wrong. And employees may enter data into assorted sales and marketing systems without realizing that a customer record already exists.

Rooting out duplicates has led to various tools that apply algorithms to detect common misspellings, verify postal codes and recognize that Robert and Bob may be the same person. However, only a certain proportion of records are obvious duplicates, and a proportion of potential duplicate records needs to be reviewed by a human expert.

An expert system can be trained by watching a human expert review many hundreds of such records and devise rules that allow the software to get gradually better and better at mimicking the human expert’s behavior. In this way, the software can credibly match records automatically in a much higher percentage of cases.

AI in data catalogs

Another area where AI has promise is in data catalogs or metadata repositories, which have long suffered from getting out of date as the landscape of applications in an enterprise change.

Business term tagging via machine learning can actively learn from expert user input and suggest terms based on previous human actions. The system can recognize the similarity between items in the data catalog and make suggestions on business terms to be assigned.

AI in data preparation

A further area where AI in data management is beneficial is in data preparation, the process of taking raw data and preparing it for further processing and analysis.

Data preparation is an essential exercise as you identify your sources of data, which may overlap; figure out where the data is being used and whether it is trustworthy; decide whether it needs to be linked to other data sources; and possibly enrich it with additional attributes.

AI tools are well suited to analyze of relationships between data sources and apply survivorship rules to decide which sources are most trustworthy. For example, AI programs can determine that an address updated last month may be more reliable than one updated 10 years ago.

Just as with data matching, in many cases things are not clear-cut and require human judgement. By watching the actions of domain experts, an AI program can steadily learn how to mimic the judgement of an expert human.

Challenges with AI in data management

While there are many benefits to AI-driven data management, the technology is still growing and has proven challenging in some environments. Many AI models are black boxes, meaning that they struggle to explain their reasoning in a way that is accessible to humans. This makes trust an issue, especially when there are well-publicized examples where the AI did not deliver as expected.

In 2013, IBM partnered with the University of Texas MD Anderson Cancer Center to use IBM Watson to scour research and patient data to spot patterns that would help doctors fight cancer. An admirable goal, but after five years a review of the system found “multiple examples of unsafe and incorrect treatment recommendations,” according to medical specialists on the project.

A 2018 survey of 200 CIOs by Databricks found some major challenges in deploying AI programs. Ninety-eight percent of survey respondents described the preparation of large data sets as challenging, 96% said the same for data exploration and iterative model training, and 90% found deploying AI models into production to be challenging.

Nonetheless, in well-defined areas such as data matching and data catalogs, there is clear potential to automate tasks humans have traditionally found tedious. In many cases, sensible application of AI in data management – without overselling their capabilities – may bring real benefits to enterprises.

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630579802893680640

Singapore to build 5G talent pipeline

Singapore to build 5G talent pipeline:

 

https://damianfallon.blogspot.com/

Singapore’s telcos will start hiring and training about 1,000 telecoms professionals by year-end to support the deployment of 5G networks

Singapore’s mobile network operators will start hiring and training about 1,000 telecoms professionals by the end of this year to support the deployment of their 5G networks.

The Infocomm Media Development Authority (IMDA) will also set up 5G workforce transformation committees to identify the talent requirements of telcos in diverse functions such as 5G networking, cyber security and solutions engineering.

“Part of the first wave of 5G opportunities is in the creation of jobs to support the network infrastructure,” said Singapore’s minister for communications and information, S. Iswaran, at ConnecTechAsia 2020. “We expect the demand for 5G professionals to continue to grow as the 5G rollout gathers momentum and more enterprises participate in the ecosystem.”

To ensure Singapore has a strong pipeline of talent who are ready to hit the ground, IMDA will appoint a consortium comprising the National University of Singapore and Singapore Polytechnic as the 5G and telecoms programme manager.

Iswaran said the consortium will coordinate programmes to develop skills across Singapore’s 5G ecosystem including telcos, enterprises and technology firms. A total of 5,000 5G professionals are expected to be trained over the next three years.

“We will continue to work closely with the industry to equip our workforce with the right skills so that our workers can secure good jobs as demand grows in emerging tech areas like 5G,” he said.

“A strong and skilled workforce, together with our 5G infrastructure and trials, are essential to expand Singapore’s capacity for innovation. Our investments will stand us in good stead to capitalise on the exponential growth in the digital economy to come.”

Singapore has been conducting several 5G trials to speed up innovation in its economic sectors. To date, there are six consortia testing 5G applications in areas such as smart estates to consumer gaming.

The most recent trial was announced in May 2020 by a consortium comprising IMDA, IBM, Samsung and M1, to test the use of 5G in manufacturing and other industries.

Iswaran said the consortium’s Industry 4.0 studio has been constructed, and that the development of 5G use cases is in progress, with advances in areas including visual recognition, augmented reality, acoustics and analytics.

“Singapore will continue to push the boundaries of 5G applications through these trials to transform our economic sectors, and build a competitive edge,” he added.

Singapore’s largest telco Singtel and a joint venture formed by the next two biggest players, StarHub and M1, will operate the country’s first 5G networks, which is expected to cover at least half of Singapore by the end of 2022.

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630579802203734016

5 Best Analytics Tools to Boost SEO

5 Best Analytics Tools to Boost SEO:

https://damianfallon.blogspot.com/

It is never easy to discover the best SEO analytics tool that can grow your site. With so many metrics and insights to consider when managing your site, it is crucial to select an efficient and reliable tool. 

Why is Web Analytics Important?

Web analytics offers insights that help to understand the needs of your site visitors and their behaviors. You can adjust your content, CTA, and product offerings based on the gathered data. 

Funnel analysis plays a crucial role in conversion rate optimization. Web analytics tools let you set customer journey funnels so that you can accurately track all the stages of the user journey right from being a visitor to becoming a customer. 

Some useful data you can gather web analytics tools are:

  • Which pages are the users entering on your site?
  • What is the bounce rate or average time on the page of your site?
  • Which keywords are driving the maximum traffic?
  • Which products or service pages are the visitors viewing the most?
  • What are the sources of traffic?
  • What action does the user take after entering your site?
  • Which CTAs are being clicked the most?
  • How many conversions is your website getting?
  • Which products or pages are generating the maximum conversions?

Answers to questions like these and several others can be accurately obtained using a combination of web analytics tools.

Here are the top five SEO analytics tools that can help you identify and fix the bottlenecks in your SEO strategy.

1. Google Analytics

Google Analytics is amongst the best analytics tools for SEO. It provides a range of features that you need to improve your website SEO and rank high on search engines. 

With Google Analytics, you can analyze every data about every site visitor and track your site performance across various platforms.

If you recently established an online store and want to know where most of your customers originate, Google Analytics can help you locate that. With this tried-and-tested SEO tool, you can track site traffic, user behavior, customer conversions, and optimize other crucial metrics such as the bounce rate

Google Analytics uses a JavaScript tracking code to gather all the information about how users interact with your site. It does this by dropping cookies on browsers. When the users accept cookies when visiting your site, Google Analytics collects all the useful information you need to improve the user experience.

Key features

  • It comes with a traffic reporting feature that helps you tell how many people visit your website daily.
  • It comes with a Real-time Report feature that enables you to determine the real-time traffic revenue from your pages or products.
  • The tool comes with a pivot view and social report feature that you can use to create detailed data. This way, it exempts you from exporting data to Google Sheets.
  • It has advanced filters like Audience Data & Reporting that enable data segmentation so that you focus more on what is essential for your SEO. For example, you can filter visitors who have added some products in their cart but didn’t complete the purchase.
  • It provides detailed reports using the in-page analytics feature that help you segment data and make the right decisions on your marketing campaign.

Benefits of Google Analytics

  • You can link it to Google Ads and keep track of all your PPC campaigns.
  • GA keeps track of essential metrics like site bounce rate, site speed, and dwell time, which helps you optimize your site to enhance user experience.
  • It is a useful tool for content marketing because it provides significant insights for customer conversion. You can use it to determine what customers are looking for whenever they visit your site.
  • You can use it to find out which keywords people are using to find your site. 
  • You can use this tool to determine the third-party sites that send you traffic so that you can focus more on them to power up your content strategy.

2. Finteza

Finteza is an advanced web analytics platform. The tool provides you with real-time data in the form of diagrams, charts, and reports, which makes it useful for on-page optimization. 

The tool analyses your site base unique parameters such as events, visit sources, page addresses, and UTM parameters. For instance, by using Finteza, you can discover useful information about mobile users in a click. This feature is available on the ‘devices’ section on the Finteza dashboard.

Key features

  • It has a ‘Funnels’ section that helps you detect all the fake conversions.
  • It features user behavior tracking and a comprehensive botnet analysis that enables you to discover low-quality data from multiple channels.
  • You can generate an efficiency report on your adverts with a few clicks.
  • It has a Time on Site Tracking feature you can use to determine how long users stay on your website.
  • It comes with an in-built advertising engine that helps you sell your advertising space and accept payments.

Benefits of Finteza

  • It provides detailed user analytics. You can use it to identify bad traffic and advanced audience data.
  • It features a distributed system architecture that ensures no additional site load.
  • You can use the tool to measure the quality of data from affiliate and partner sites.
  • It helps you cut your marketing cost by providing useful data for your digital campaigns.
  • You can use Finteza to collect information from all users that click on your Google Ads regardless of their location.
  • It provides accurate and real-time data without extrapolation and sampling.

3. SEMrush

SEMrush is one of the best all-inclusive SEO analytics tools you can have for your website. This SEO tool comes with all the essential features and an elaborate dashboard that helps you manage your site. 

With this tool, you can improve your technical SEO, find the best link building opportunities, and create high-quality content for your site.

If you are finding it difficult to audit your site for SEO, SEMrush can rescue you. With this tool, you can discover any underlying issues on your site that are stopping it from appearing on organic search results.

Key features

  • It comes with a complete SEO toolkit to help you to audit your web pages and make them more attractive to visitors.
  • It has a ‘Social Media’ management tool. You can use this tool to conduct a thorough social media posting and analytics.
  • It has a link building tool that enables you to analyze a link profile and create a reliable user outreach strategy.
  • It has a PPC keyword research tool you can use to build a paid search campaign.
  • It comes with a ‘content feature’ that helps you to create and share your social media posts to a large audience.

Benefits of SEMrush

  • You can use SEMrush to establish new ways to create marketing content. For example, you can check all the important keywords in your content space and use it to create useful blog posts.
  • It is a useful tool for developing a content strategy backed with data-driven solutions to market your site content to a broader audience.
  • It is useful for conducting a competitor analysis. You can use the tool to find out what your competitors are doing to incorporate in your marketing campaigns.
  • It is faster and helps you create your marketing campaign in minutes.
  • It is cost-effective and comes with three different pricing plans, Pro, Guru, and Business. 

4. WooRank

WooRank is another useful SEO analytics tool that provides you with useful information on optimizing your web pages and making it more useful for your target audience. 

It provides critical data to boost your marketing efforts. As an inclusive site review tool, it offers a lot of information that you can use to drive more users to your website, increase the number of leads, and convert more visitors to customers.

It comes with a day free trial to all new users. You can take advantage of the free trial version of this tool to improve your site and subscribe to the paid version in the future.

Key features

  • WooRank features a keyword tool that you can use to compare how your site ranks to your competitors and discover new keywords for your site content.
  • It comes with the ‘site crawl’ feature that ensures search engines crawl, access, and understand your site to rank your site on the organic search results.
  • The ’SEO Monitoring’ tool helps you discover which of your site landing pages drive more traffic to your site.
  • The Sales Tool features help you identify successful leads and send them custom pitches based on how they interact with your site.
  • WooRank comes with a ‘traffic estimation’ feature that helps you compare your site traffic to that of competitors. 

Benefits of WooRank

  • It offers services in six different languages including Spanish and Portugese.
  • It covers multiple areas including SERP ranking, server optimization, backlinks, and social media data.
  • WooRank offers you a money-back guarantee if you are not satisfied with their services.
  • WooRank is available on a 14 day free trial when you subscribe for the first time.
  • It provides a lead generation tool that you can use to convert your visitors to successful leads.

5. Moz

Moz is another best SEO analytics tool you can try out for your site. This excellent tool comes with a minimalist dashboard that makes it easy to use for any beginner in SEO. You can use MOZ to gain some insights on useful links to your website. 

This tool is available on both a free and paid version. You can get a full link analysis feature on a free version to perform some link-building to increase traffic.

With this tool, you can determine all the useful keywords helping your site grow and work towards creating useful content based on your keyword research.

Key features

  • It comes with a complete SEO toolbar for keyword research, rank tracking, and domain analysis.
  • It offers a ‘Local Marketing’ feature that helps you with business listing audit and citation management.
  • The SEO Audit & Crawl feature can crawl the most extensive sites and keep a record of all recurring issues on the site which need immediate fixing.
  • The ‘My Online Presence’ feature on Moz helps you determine how your business location appears on directories and local search engines.
  • The tool comes with the ‘Stat’ feature useful for daily SERP tracking and competitor intelligence for experts.

Benefits of Moz

  • It crawls your site weekly and provides real-time alerts on critical issues that need your attention.
  • It comes with a paid and free version. Each version has some unique features that help you optimize your site to improve usability.
  • It helps you come up with different topics for your content strategy. You can use this tool to optimize your site for relevant topics and specific keywords.
  • It provides free domain analysis for any site. You can use it to see your competitors’ top ranking keywords and web pages.
  • The tool provides custom reports on the website crawl data, rankings, links, and competitors. This way, you can track your site progress and determine if you are on the verge of maximizing your ROI

Final Thoughts

There are many SEO analytics tools you can use to improve your site and make it rank at the top of the search results. 

If you are looking for the best tool to optimize your site for search engines, I recommend these five. You can start using Google Analytics as a beginner. Once you’ve gained more experience, then you can use more sophisticated tools like Finteza, Moz, and SEMrush. These tools are affordable and provide you all the useful insights you need.

https://damianfallon.blogspot.com/

from Tumblr https://generouspiratequeen.tumblr.com/post/630579801674088448