How To Use FaceIO To Develop the User Authentication Module of Web App Based on AI

In the past development of web application information systems, user authentication is an indispensable function module. The user authentication function includes user registration and log in authentication. In the past development methods, the common way to realize the user authentication function module is to use email and SMS to verify. Now, many users' computers are equipped with cameras, which can fully use the artificial intelligence technology of face recognition to achieve user authentication. I used the JavaScript library of FaceIO to implement user authentication in the web app project.

This article mainly introduces how to develop the user login module of the web application project through the third-party AI service interface. The source code of the web application project has been uploaded to GitHub and is based on the MIT protocol. There are no restrictions. 

Running an Airflow DAG/Schedule on a Time Zone

Irrespective of the amount of experience you have, it is not possible for us to be aware of and remember each and every facet of a programming environment. I have experienced it multiple times. 

Some of you will definitely say that I would be superficial for not having explored each and every facet of a language like Java if I claim to have sufficient experience using it. So, be it. But extending help to others has helped me, in turn, because I have been able to learn many new things that I did not have a chance to encounter during my project work.  

Blenderbot: A Pre-Eminent AIML Model for Chatbot Development

Table of Contents

  • Introduction
  • Installation of dependencies  and importing of Blenderbot model
  • Chatting with the model
  • Conclusion
  • References

Blenderbot

Introduction

In Artificial Intelligence, Blenderbot comes under the category of conversational agents. A conversational agent, or CA, is a computer program designed to have a conversation with a person, according to Wikipedia. In other words, conversational agents are automated systems — often driven by artificial intelligence — that are designed to have natural-language conversations with people.

How To Start a Lifestyle Blog in 10 Simple Steps

When starting a blog, our recommendation for most people is WordPress with Hostinger because it has great features and affordable plans and is easy to use and learn. You can get started with Hostinger for 80% off with our Quick Sprout code. 

Starting a lifestyle blog is fun, flexible, and exciting. You get to talk about whatever you want and get creative, sharing your life and ideas with your audience. And if you’re lucky, you can turn your blog into a career and make your passion a successful income. 

But because lifestyle blogs don’t have as clearly defined a niche as other blogs do, it can be hard to set one up that doesn’t quickly become overwhelming. Getting the foundations right is important for making sure your blog has the potential to stay successful and fulfilling. Read on for our step-by-step guide on starting a lifestyle blog that stays fun and relevant. 

How To Start a Lifestyle Blog in 10 Simple Steps

The 5 Best Blogging Platforms For Starting a Lifestyle Blog

We’ve researched the best blogging platforms for starting a blog that is affordable, easy to use, flexible, and trustworthy. Here are our top picks based on all the ones we tried:  

You can read the full review here to choose the best blogging platform for your goals. 

Start a Lifestyle Blog in 10 Easy Steps

Setting up a blog is easy if you take it step-by-step, research, think strategically, and use the right tools. Here are the steps we’ll be breaking down in our tutorial: 

  1. Get Signed Up With WordPress on Hostinger 
  2. Do Market Research
  3. Choose a Blog Name
  4. Set Up Your Site and Activate Your SSL
  5. Get a Theme
  6. Customize Your Blog
  7. Plan Your First Few Posts
  8. Add Plugins
  9. Add Legal Pages
  10. Set Up Social Media

For this tutorial, we’re using Hostinger because our research found that it’s the easiest for new bloggers, comes with templates and security features, and has some of the best rates for hosting plans. You can get started with Hostinger for 80% off with our Quick Sprout code.

Step 1: Get Signed Up With WordPress on Hostinger 

The first thing you need to do when starting a lifestyle blog is get set up with a hosting platform. In our case, it’s Hostinger.  

Go to Hostinger’s home page, and sign up for an account by clicking on Hosting in the menu bar and then WordPress Hosting

Then, choose your hosting plan. We recommend selecting the WordPress Starter Pack because you’ll get access to a free domain for the first year, and it has everything you need to run a blog. 

Hostinger WordPress hosting plans
Hostinger offers affordable and flexible plans for new bloggers.

Once you’ve made your choice, add it to your cart, and choose how many months you want to subscribe for. You get a bigger discount the longer your plan is, but if you want to start with just a year, that’s fine too. 

Next, add your payment information and buy your plan. 

Hostinger WordPress Starter plan pricing
Hostinger offers discounts on long term plans for new users.

You can now log in to your Hostinger dashboard to see your plan and the option to Set Up. 

We’ll cover that in a moment. First, there are a few other steps you need to complete.

Step 2: Do Market Research

The next thing you’ll need to do before you even decide on a name or a theme is to get clear on who your blog will be for. 

With a lifestyle blog, you are dealing with the extra challenge of having a broad niche. You’re not just talking about one thing, like food, travel, or fashion—you’re talking about them all. This means that getting clear on WHO your blog is for and which readers will want to live a similar lifestyle is crucial. 

So, for example, is your lifestyle blog focusing on outdoor living? A lifestyle based mostly around being active, spending time in nature, eating clean, and staying fit? Then your content needs to be more targeted towards that type of reader, all the way down to the type of language you use. 

On the flip side, if your content focuses on minimalism with capsule wardrobes, no-waste cooking, or simple furniture, you will target a different audience. 

Let’s take a look at examples of two very different lifestyle blogs:

The Skinny Confidential homepage
The Skinny Confidential is a great example of a lifestyle blog targeted at young women.
Wit & Delight homepage
Wit and Delight is a great example of a lifestyle blog that is mature and calming.

We can see that one is targeted toward a younger audience, maybe more towards women and that the topics, language, and branding are all done with that type of reader in mind. The other is more understated, aimed at a very different group of people, covering more conservative topics. 

Both are great, but they work because they understand their audience. You need to get clear on who your target reader is and spend some time researching the topics they are interested in. What do they talk about on social media? What content do they like and share? 

You also want to think about the kind of topics they’ll be interested in reading about and that you’ll be interested in writing about. Once you know who will read your blog and have created an avatar for your target reader, you can move on to the next step. 

Step 3: Choose a Blog Name 

Once you know who your blog will be aimed at and what you will write about, it’s time to choose your blog name. Your blog name and domain name don’t have to be the same, but it’s better if they are. 

You want to choose a name that reflects your brand, but these are the other things you want in a name: 

  • A name that is relevant to your target audience 
  • Something short and easy to remember 
  • A name that is easy to spell and type
  • A name with an available domain
  • A .com domain name (not a .net) 
  • A blog name that is available as a social media handle on all platforms
  • A unique name that isn’t too close to any other blogs  

Hostinger has a domain name search tool to help you check if your domain is available. 

Hostinger domain name search
Hostinger lets users check whether their domains are available using it’s free tool.

One thing to note is that no matter how much you like a name, if someone else has a similar name, go with something else. Anything too close to an established blog name can get you in trouble when it comes to copyright or trademark.  

If you create a distinctive blog name from the start, you don’t risk having to change it later on and losing the brand or audience you’ve built. 

Once you’ve chosen a domain name and verified that it’s available, go to Set Up in your Hostinger dashboard and claim your free domain. Then, choose Build a New Website and move on to the next step.  

Step 4: Set Up Your Site and Activate Your SSL

Once you’ve set up an account with Hostinger and chosen a name, it’s time to set up your site. 

In your Hostinger Setup, once you select Build a New Website, you’ll be asked to choose a hosting platform. Select WordPress, then set a login and password for your WordPress account. 

Hostinger dashboard to select a platform with red arrow pointing to WordPress
You can create a WordPress account straight from your Hostinger dashboard.

You can then choose your theme. If you look in the search bar, you can browse through different layouts, including ones specifically for blogging. We’ll look at how you can edit or choose a better theme later in this tutorial, but for now, choose a premade one and continue. 

Once you choose your theme, you’ll get to a page that says your site is ready. Before you go to your WordPress Dashboard, you’ll want to ensure your SSL certificate is installed. Go to the option that says Control Panel and click Manage Site

Hostinger dashboard with red arrow pointing to Control Panel
Users can manage their content and setting from the Hostinger Control panel.

If you need to set up your SSL, you’ll see a yellow button that says Finish Domain Registration. Click it. You’ll then be asked to add your personal details like name, address, phone number, etc. When you’re finished, click Set Up, and then Continue to Control Panel

Hostinger Advanced settings with red arrow pointing to SSL
Users can update their SSL certificates directly through their Hostinger control panel.

Then go to Hosting in the top menu bar, and click Manage next to your website. Next, from the Hosting Account page, scroll through the different icons until you reach the advanced section, where you’ll see the SSL icon. Select it. 

Then click Set Up, then Activate, then Install. Your site is finally set up and ready to be customized!

Once you’re finished, you can move on to the next step. 

Step 5: Get a Theme 

Once you’ve finished setting up the technical parts of your blog, you can move on to making your blog look the way that you want, 

For many blogs, the appearance doesn’t really matter, and the content is king. However, when it comes to lifestyle blogs, there’s a little more pressure to create a brand and a full experience for people when they visit your blog. 

When choosing a new theme, you have a few options. 

You can go to your WordPress dashboard by adding /wp-admin to the end of your URL. If you go to Appearance, you’ll have the option to choose a new theme from the WordPress library. These can be paid or free, but they tend to be a little simplistic. 

If you want something a bit more complex, you can buy a theme from a third party. You can easily buy themes from Etsy or stores like Hello You Designs

Hello You Designs themes page
Customers can buy beautiful themes from Hello You Designs without having to learn coding.

The prices can range from $10 up to $100+, but you can choose whatever suits your blog. Once you buy these themes, you can upload them to your site by going to Appearance, Themes, then Upload. They’ll be detailed instructions for the seller of your theme, walking you through how to migrate it to your site.  

If you want to give yourself a real challenge, you can try building your own theme with a drag-and-drop site builder like Elementor or Divi. These offer lots of flexibility on how your site will look, but they are much more compact and time-consuming, so we don’t recommend them for new bloggers. 

Once you’ve chosen a theme and you’re happy with it, you can move on to step 6. 

Step 6: Customize Your Blog 

Now that you’ve chosen a theme, you can start to customize your blog. 

This includes changing the images to your own or at least to stock photos that reflect your branding and audience. You also need to change the content and the copy on the theme. For example, changing the menu content or the buttons, the about me copy, or the home page intro. 

This can be a little tricky if you don’t know too much about copywriting, but if you browse through blogs you admire, you should get an idea of what kind of content people usually share on these pages. Of course, copying is never okay, but it’s fine to take some inspiration for your own writing. 

You can also play with creating a brand color scheme here and even creating logos with a free tool like Canva. A great tool for creating a brand color scheme is Coolors, which can help you generate color palettes and find colors that go together. 

Coolors color generator
Coolors lets you generate and create your own color palette for free.

Once you’ve added, copied, and customized all your blog pages, you can move on to the next step. 

Step 7: Plan Your First Few Posts 

The next step is to plan out what you’ll write about. 

You can launch a site without adding content, but then you’ll have nothing to show your audience or post on social media. 

Planning posts is a good way to avoid writer’s block down the line. As long as you plan posts that can relate to other ones (known as a site map), you’re on the right track. You want to make it easy for your audience to stay on your blog and move from post to post. 

Spend some time thinking about which posts you want to create first. What is very relevant and helpful for people in your niche? What is the essence of your brand? Try to create evergreen posts (not trend pieces, but posts that will stay relevant) that are central to your brand. 

For example, if you are going to blog about minimalism, you might have a few core posts about what minimalism is or how to become a minimalist. These will probably be the first things people look for on your site and will always be relevant to your audience. Then, plan the rest of your content from there based on what can be linked to the post. 

Once you’ve planned at least five pieces of content, you can sit down and write first drafts for them. You can come back to these and edit as you go, but they’ll make it easier for you to plan social media content once you’ve launched your blog. 

Step 8: Add Plugins 

Next, you need to add some plugins to your blog. 

Plugins will help you add extra features to your site, like pop-ups, sticky menus, or quizzes. Some plugins will already be included in WordPress, but if you need other plugins for your site, you may have to download them from the plugin store.

You can see your active plugins in your WordPress dashboard by looking for plugins in the menu. You’ll then see a list of the plugins you already have and a button at the top of the page that says Add New

WordPress user dashboard for adding plugins
You can upload and find plugins directly in the WordPress dashboard.

If you click through to Add New, you can search different plugins or upload your own. You can include anything you want, although you may want to start by keeping it basic, as too many plugins can slow down your site. Here are our recommended essential plugins you need for a blog: 

You can add as many plugins as you need, depending on what features you want for your blog. If you want help choosing plugins, we have an extensive guide to the best WordPress plugins here

Once you’ve added your plugins, you can move on to the next step. 

It’s easy to overlook legal pages, but you shouldn’t. 

These are pages like your Privacy Policy and Terms and Conditions, and you are legally required to have these on a website. 

A Privacy Policy lets users know how their data is handled and which third-party plugins they use. Many countries and states require that you have these and that they are easy to find, so make sure yours are displayed somewhere obvious, like your footer menu. 

Some states also require a terms and conditions page, which is a page that lets users know any rules you have for your blog, like how old someone should be to access it. 

Termly website footer with red arrow pointing to links to legal pages
Termly can help you generate legal pages like the ones displayed on it’s own website.

For these pages, you can use a generator like Termly, or Terms Feed. These will give you templates that you can use and edit. However, as a disclaimer, these are not the same as getting official pages drawn up by a lawyer. To ensure your legal pages are correct, you should always consult a legal professional. 

Once you’ve set your legal pages up and created clearly visible page links, you can move on to the last step. 

Step 10: Set Up Your Social Media 

Once you’ve set up your blog, you can set up social media accounts using your blog name. 

We recommend setting up business accounts from the start, as these will let people know you are a blogger and make it easier for you to analyze your audience. Instagram and TikTok will probably be where most of your audience is hanging out if you are a lifestyle blogger, but there’s no harm in setting up a Twitter or a Facebook, too. 

Instagram user settings with red arrow pointing to Professional account and another red arrow pointing to Category
Users can set up a free business account with Instagram to analyze traffic and views.

Once you’ve set up your site, you can add your domain to your bio and even an email address so people know how to contact you for partnerships or media inquiries. 

Once you have set up your socials, you can publish and promote your first few pieces of content. You’ve finally finished setting up your blog, and now you just get to move on with building an audience and creating content! 

Final Thoughts About Starting a Lifestyle Blog 

You might hear a lot of people saying that lifestyle blogs are hard to start, but they are interesting, fun, and rewarding.

Lifestyle blogs can also be easy to monetize, as so many brands can sponsor or partner with your content, and you have access to a broad audience. Just follow our steps to get the foundations for your blog right, and you should have no trouble transitioning your blog into a side hustle, or even a career, in the future. 

Hybrid File Integration on AWS, Technical Debt, and Solution Approach

Introduction

As we move/migrate applications from on-prem to the cloud, some of the key architecture decisions regarding hybrid integration are with reference to FileShare between the cloud and on-prem systems/users.

When a part of the ecosystem goes to the cloud, it's important to have the file sharing seamless, efficient, and performant yet cost-effective — driven by a cloud-native solution approach.

How to Disable Emojis in WordPress (Step by Step)

Are you looking to disable emojis on your WordPress site?

Emojis are small icons that are used to express feelings or emotions. WordPress loads additional CSS and a JavaScript file to add emoji support and some users may want to remove it to improve performance and speed.

In this article, we’ll show you how to easily disable emojis in WordPress.

How to disable emojis in WordPress 4.2

What Are Emojis?

Emojis are the tiny icons or smileys used on the internet.

Originating from Japan, emojis have made their way into the Unicode character set and are now supported by desktop computers as well as iOS and Android mobile devices.

The emojis feature was first introduced in WordPress 4.2 and the primary reason for adding this feature was to add native support for Chinese, Japanese, and Korean language character sets.

Emojis example

By default, WordPress loads an additional JavaScript file and some CSS to add emoji support.

You can see it by viewing your website’s source code or by using the Inspect tool.

Emoji JavaScript in WordPress

However, some site owners may want to disable this extra emoji support to boost WordPress speed and performance by not downloading additional code and scripts.

Note: When we say disabling Emoji in WordPress, we mean disabling the extra checks and scripts used by WordPress to handle Emojis. You can still use Emoji on your site, and the browsers that support them will still be able to display them.

Having said that, let’s take a look at how to easily disable Emoji support in WordPress.

Method 1. Disabling Emojis in WordPress Using Code

For this method, we’ll be using a custom code snippet to disable emoji support in WordPress.

You can add this code snippet to your WordPress theme’ functions.php file or a site-specific plugin. However, a tiny error in the code could easily break your website and make it inaccessible.

To avoid this, we recommend using WPCode. It is the best code snippets plugin for WordPress and offers the safest way to add custom code to your site without breaking it.

First, you need to install and activate the WPCode plugin. For more instructions, see our guide on how to install a WordPress plugin.

After activation, simply go to the Code Snippets » All Snippets page from the WordPress admin dashboard.

From here, you need to click the ‘Add New’ button at the top.

Add new code snippet

This will take you to the ‘Add Snippet’ page.

From here, take your mouse over to the ‘Add Your Custom Code (New Snippet)’ option and then click the ‘Use snippet’ button.

Click Use Snippet button

This will bring you to the ‘Create Custom Snippet’ page. You can start by typing a name for your code snippet. It can be anything you like.

After that, you need to select ‘PHP Snippet’ as your ‘Code Type’ from the drop-down menu present in the right corner.

Type a name for your code snippet and choose PHP as code type

Now all you need to do is copy and paste the following code in the ‘Code Preview’ box.

/**
 * Disable the emoji's
 */
function disable_emojis() {
 remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
 remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
 remove_action( 'wp_print_styles', 'print_emoji_styles' );
 remove_action( 'admin_print_styles', 'print_emoji_styles' ); 
 remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
 remove_filter( 'comment_text_rss', 'wp_staticize_emoji' ); 
 remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
 add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
 add_filter( 'wp_resource_hints', 'disable_emojis_remove_dns_prefetch', 10, 2 );
}
add_action( 'init', 'disable_emojis' );

/**
 * Filter function used to remove the tinymce emoji plugin.
 * 
 * @param array $plugins 
 * @return array Difference betwen the two arrays
 */
function disable_emojis_tinymce( $plugins ) {
 if ( is_array( $plugins ) ) {
 return array_diff( $plugins, array( 'wpemoji' ) );
 } else {
 return array();
 }
}

/**
 * Remove emoji CDN hostname from DNS prefetching hints.
 *
 * @param array $urls URLs to print for resource hints.
 * @param string $relation_type The relation type the URLs are printed for.
 * @return array Difference betwen the two arrays.
 */
function disable_emojis_remove_dns_prefetch( $urls, $relation_type ) {
 if ( 'dns-prefetch' == $relation_type ) {
 /** This filter is documented in wp-includes/formatting.php */
 $emoji_svg_url = apply_filters( 'emoji_svg_url', 'https://s.w.org/images/core/emoji/2/svg/' );

$urls = array_diff( $urls, array( $emoji_svg_url ) );
 }

return $urls;
}
Paste your code snippet

After that, scroll down to the ‘Insertion’ section to choose an insert method for your code.

Simply select the ‘Auto Insert’ mode so that the code can be automatically executed on your site upon activation.

Choose Auto Insert as insert method

Now go back to the top of the page and toggle the switch on the right from ‘Inactive’ to ‘Active’.

Finally, click the ‘Save Snippet’ button to save your custom code snippet.

Click the Save Snippet button to save changes

That’s all, you have successfully disabled emojis in WordPress.

Method 2. Disable Emojis in WordPress Using a Plugin

For this method, we’ll be using a plugin to disable Emojis in WordPress.

First, you need to install and activate the Disable Emojis plugin. See our guide on how to install a WordPress plugin for more instructions.

The plugin works out of the box and there are no settings for you to configure.

Upon activation, it will automatically disable emoji support from your WordPress site.

We hope this article helped you learn how to disable Emojis on your WordPress site. You may also want to check out our guide on how to create a custom Facebook feed in WordPress and our article on how to add web push notifications to your WordPress site.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

The post How to Disable Emojis in WordPress (Step by Step) first appeared on WPBeginner.

Vagrant+VirtualBox on MacOS Catalina: But It Works on My Machine!

What Is Vagrant?

First launched back in March 2010 by Hashicorp’s Mitchell Hashimoto and his partner in crime John Bender, Vagrant is an open-source command line tool for virtual machine (VM) lifecycle management. The utility aims to increase development productivity by making this process a lot more simple. While Vagrant was originally tied to Oracle VirtualBox, since version 1.1, it has also included support for VMware, KVM, and others. Yet as helpful as virtualization is in web development, using Vagrant is not always a bulletproof option.

Why Use Vagrant? Is It Worth It?

First and foremost, Vagrant provides much greater flexibility with a hypervisor-based immutable environment. This enables developers to build environments requiring features only available on other systems.

Deploy a Nodejs App to AWS in an EC2 Server

There are multiple ways you can deploy your Nodejs app, be it On-Cloud or On-Premises. However, it is not just about deploying your application, but deploying it correctly. Security is also an important aspect that must not be ignored, and if you do so, the application won’t stand long, meaning there is a high chance of it getting compromised. Hence, here we are to help you with the steps to deploy a Nodejs app to AWS. We will show you exactly how to deploy a Nodejs app to the server using Docker containers, RDS Amazon Aurora, Nginx with HTTPS, and access it using the Domain Name.

Tool Stack To Deploy a Nodejs App to AWS

  • Nodejs sample app: A sample Nodejs app with three APIs viz, status, insert, and list. These APIs will be used to check the status of the app, insert data in the database and fetch and display the data from the database.
  • AWS EC2 instance: An Ubuntu 20.04 LTS Amazon Elastic Compute Cloud (Amazon EC2) instance will be used to deploy the containerized Nodejs App. We will install Docker in this instance on top of which the containers will be created. We will also install a MySQL Client on the instance. A MySQL client is required to connect to the Aurora instance to create a required table.
  • AWS RDS Amazon Aurora: Our data will be stored in AWS RDS Amazon Aurora. We will store simple fields like username, email-id, and age will be stored in the AWS RDS Amazon Aurora instance.
    Amazon Aurora is a MySQL and PostgreSQL-compatible relational database available on AWS.
  • Docker: Docker is a containerization platform to build Docker Images and deploy them using containers. We will deploy a Nodejs app to the server, Nginx, and Certbot as Docker containers.
  • Docker-Compose: To spin up the Nodejs, Nginx, and Certbot containers, we will use Docker-Compose. Docker-Compose helps reduce container deployment and management time.
  • Nginx: This will be used to enable HTTPS for the sample Nodejs app and redirect all user requests to the Nodejs app. It will act as a reverse proxy to redirect user requests to the application and help secure the connection by providing the configuration to enable SSL/HTTPS.
  • Certbot: This will enable us to automatically use “Let’s Encrypt” for Domain Validation and issuing SSL certificates.
  • Domain: At the end of the doc, you will be able to access the sample Nodejs Application using your domain name over HTTPS, i.e., your sample Nodejs will be secured over the internet.
  • PostMan: We will use PostMan to test our APIs, i.e., to check status, insert data, and list data from the database.

As I said, we will “deploy a Nodejs app to the server using Docker containers, RDS Amazon Aurora, Nginx with HTTPS, and access it using the Domain Name.” Let’s first understand the architecture before we get our hands dirty.

Jenkins Tutorial for Beginners: A Comprehensive Guide With Examples and Best Practices

We all know that Continuous Integration and Continuous Delivery are integral parts of DevOps, as they are used for integrating multiple stages of the methodology. There are many CI/CD tools in the market, but do you know that Jenkins, the Java-based open-source CI/CD tool, tops the popularity list? Jenkins for test automation is a popular choice among developers because of its ability to easily integrate with a variety of testing tools. It has always been the go-to option for DevOps professionals and beginners.

Jenkins is the oldest player in the CI/CD market, and it has more than 16,000 stars and 6,500 forks on GitHub. It also has huge community support with more than 1,500 plugins to help professionals ship faster through their Jenkins Pipelines. Let’s look at how we can use Jenkins test automation, as it allows developers to quickly and easily run tests on their code to ensure it is working properly.

How To Get Started With the Hazelcast Viridian Serverless

The Hazelcast Serverless means that Hazelcast manages the cloud infrastructure for you. Each Viridian Serverless cluster is an independent deployment of the Hazelcast Platform in a Kubernetes container. This design guarantees resource isolation, prevents resource stealing and provides isolated network access. Viridian Serverless clusters come in two types:1) Development: Capped storage. You can store at most 1 GiB of data; and 2) Production: Uncapped storage. The cluster scales as you add or remove data. In this tutorial, you’ll learn how to connect a client to a cluster and use SQL to query data in the cluster.

Before You Begin

You need the following:

Collision in VB.Net

I'm trying to make the picturebox collide with the others.
I tried to do several things but they don't work.
I spoke to my teacher and he said I should do something like this:

PictureBox1.Left + PictureBox1.Width >= PictureBox2.Left And
         PictureBox1.Top + PictureBox1.Height >= PictureBox2.Top And
         PictureBox1.Top <= PictureBox2.Top + PictureBox2.Height And
         PictureBox1.Left <= PictureBox2.Left + PictureBox2.Width

But it didn't work either, not if it was because I didn't set the variables right or if I didn't put it in the right place.

This is The full code:

Imports System.Math
Imports System.Security.Policy

Public Class Form1
    Dim CoordX As Single
    Dim CoordY As Single
    Dim Velocity As Double = 0
    Dim Angle As Double
    Dim Time As Double = 0
    Dim Gravity As Double = 9.8
    Dim moving As Boolean = False
    Dim mousePosX As Integer
    Dim mousePosY As Integer
    Dim X As Integer = 80
    Dim Y As Integer = 250
    Dim picturebox1 As New PictureBox
    Dim Timer1 As New Timer
    Dim Timer2 As New Timer
    Dim Tracking As New RichTextBox
    Dim Angle2 As Single
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Time += 0.1
        'formula da trajetoria para o x e o y
        CoordX = Velocity * Time * Cos(Angle)
        CoordY = (Velocity * Time * Sin(Angle)) - ((Gravity / 2) * Time * Time)
        picturebox1.Invalidate() 'desenhar a bola 

        picturebox1.Top += 0.1
        If picturebox1.Bounds.IntersectsWith(PictureBox3.Bounds) Then
        End If
    End Sub
    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Dim deltaY As Integer = 250 - mousePosY
        Dim deltaX As Integer = mousePosX - 86
        Dim temp As Single
        temp = Math.Atan2(deltaY, deltaX) * 180 / Math.PI
        If Not temp >= 0 Then
            temp += 360
        End If
        Angle2 = temp
        'mostar as cordenadas - mas para isso funconar  preciso criar uma label na public class
        'Tracking.Text = " Ball Coord_X: " & CoordX & vbNewLine & " Ball Coord_Y: " & CoordY & vbNewLine _
        ' & " Gravity: 9.8" & vbNewLine & " Velocity: " & Velocity & vbNewLine & " Angle: " & Angle2
        Tracking.Text = "Pontos:"
    End Sub
    Private Sub PictureBox1_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        ' verificar se a bola est em movimento ou a saltar
        If Timer1.Enabled = True Then
            moving = False
        Else
            'reiniciar
            CoordX = 0
            CoordY = 0
            Time = 0
            Velocity = 0
            X = mousePosX - 8
            Y = mousePosY - 8
            moving = True
        End If
    End Sub
    Private Sub PictureBox1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        If Timer1.Enabled = False Then
            moving = False
            X = mousePosX - 8
            Y = mousePosY - 8
            Timer1.Interval = 10
            FindAngle()
            Timer1.Start()
            'label.Visible = False - isto s  valido no caso de mostrar-mos os dados na label
        End If
    End Sub
    Public Sub FindAngle()
        'obter 2 angulos x
        ' (250,80) est no meio 
        Dim deltaY As Integer = 250 - mousePosY
        Dim deltaX As Integer = mousePosX - 86
        Dim temp As Single
        temp = Math.Atan2(deltaY, deltaX) * 180 / Math.PI
        'Tirar numeros negativos
        If Not temp >= 0 Then
            temp += 360
        End If
        'angulo inverso
        'se a bola tiver em 225, entao vai ser lanado num angulo de 45
        If temp + 180 > 360 Then
            temp += 180
        Else
            temp -= 180
        End If
        'degrees to radians
        temp = temp * PI / 180
        Angle = temp
    End Sub
    Private Sub PictureBox1_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs)
        'Mover a bola
        If moving = True Then
            mousePosX = e.X
            mousePosY = e.Y
            picturebox1.Invalidate()
        End If
    End Sub
    Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e As System.Windows.Forms.PaintEventArgs)
        If moving = True Then
            ' regras
            If mousePosX - 8 < 120 And mousePosX - 8 > 10 Then
                e.Graphics.FillEllipse(Brushes.OrangeRed, mousePosX - 8, mousePosY - 8, 16, 16)
            Else
                If mousePosX - 8 > 120 Then
                    e.Graphics.FillEllipse(Brushes.OrangeRed, 118, mousePosY - 8, 16, 16)
                    mousePosX = 118
                Else
                    e.Graphics.FillEllipse(Brushes.OrangeRed, 12, mousePosY - 8, 16, 16)
                    mousePosX = 12
                End If
            End If
            'da velociade ao calcular a distancia que esta se encontra do  centro
            'quando mais for a distncia maior  a fora
            Dim xx As Integer
            Dim yy As Integer

            If mousePosX > 80 Then
                xx = mousePosX - 80
            Else
                xx = 80 - mousePosX
            End If

            If mousePosY > 250 Then
                yy = mousePosY - 250
            Else
                yy = 250 - mousePosY
            End If

            If yy > xx Then
                Velocity = yy
            Else
                Velocity = xx
            End If

        Else
            'single - para desenhar melhor 
            e.Graphics.FillEllipse(Brushes.Navy, X + CoordX, Y - CoordY, 16, 16)
        End If
        If Y - CoordY > 315 Then
            Timer1.Stop()
            Time = 0
            X = X + CoordX
            Y = Y - CoordY
            ' a velocidade tem de diminuir enquanto a bola tocar no cho 
            Velocity -= 5
            If Velocity < 1 Then
                Timer1.Stop()
                Velocity = 0
                e.Graphics.FillEllipse(Brushes.OrangeRed, 80, 250, 16, 16)
            Else
                Timer1.Start()
            End If

        End If
        e.Graphics.FillEllipse(Brushes.White, 82, 254, 8, 8)
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.BackColor = Color.Black
        Me.Size = New Size(900, 370)
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedToolWindow
        picturebox1.Location = New Point(0, 0)
        picturebox1.Size = New Size(900, 390)
        picturebox1.BackColor = Color.Transparent
        picturebox1.Name = "picturebox1"
        Tracking.Location = New Point(750, 12)
        Tracking.Size = New Size(200, 106)
        Tracking.BackColor = Color.Black
        Tracking.Cursor = Cursors.Default
        Tracking.BorderStyle = BorderStyle.None
        Tracking.ReadOnly = True
        Tracking.ForeColor = Color.GreenYellow
        Me.Controls.Add(picturebox1)
        Me.Controls.Add(Tracking)
        Tracking.BringToFront()
        AddHandler picturebox1.Paint, AddressOf PictureBox1_Paint
        AddHandler picturebox1.MouseMove, AddressOf PictureBox1_MouseMove
        AddHandler picturebox1.MouseUp, AddressOf PictureBox1_MouseUp
        AddHandler picturebox1.MouseDown, AddressOf PictureBox1_MouseDown
        AddHandler Timer1.Tick, AddressOf Timer1_Tick
        AddHandler Timer2.Tick, AddressOf Timer2_Tick
        Timer2.Start()
    End Sub
    End Class

Creating Your Swiss Army Knife on Java Test Stack

The code testabilities guarantee several excellent points in an efficient code design, such as maintainability; it helps with the documentation and makes it easier to refactor and build an evolutionary design/architecture. There is no doubt about it, but what is a good test stack to start a project? This video will explain the minimum test stack to start your project with Java.

The first point to understand when we talk about the minimum is that there are no silver bullets on the test stack. Eventually, we need to include or remove dependencies, especially when we talk about legacy code. Given that, I'll give what my favorite test stack on Java is, and I use it and recommend as a minimum for starting from scratch:

Partitioning Disaster Recovery With pg_partman

Partitions are an excellent mechanism to reduce your queryable data size. PG_partman is a tool that enables DB admins to create partitions in the Postgres database. It is packed with features and offers a lot of functionality to create and manage partitioned tables.

Ideally, when partitions are created using pg_partman, we need a monitoring mechanism to ensure that we have enough to accommodate our incoming data as time passes. This post explains how to monitor and auto-create partitions in pg_partman on an AWS infrastructure.

A Guide to Implementing Passwordless Login

Passwordless authentication is becoming an increasingly popular choice for developers. Even notable names like Slack, Notion, and PayPal are all transitioning to SMS, email, or social logins for their authentication.

A driving factor for its increasing adoption is that it’s inherently less prone to cyberattacks. Since not even password hashes are stored in a database (which have varying degrees of security based on the hashing & salting scheme used), there’s no exposed attack surface with user credentials for malicious actors to target.