Skip to main content

· 2 min read

What is Robot Framework?

Robot Framework is a generic open-source automation framework for acceptance testing, acceptance test-driven development (ATDD), and robotic process automation (RPA). Robot Framework allows testers to easily write automated test scripts using a keyword-driven testing approach.

How does RobotFramework Function?

To test both Android and iOS apps, Robot Framework is incredibly simple to set up, use, and change.

Its test syntax is built around keywords, which are simple to alter and further configure to match the application being tested.

Additionally, the test libraries that may be implemented in Python, Java, and even some additional languages are supported, allowing for easy extension of a testing capabilities offered by Robot Framework.

The way those aforementioned keywords function is one of Robot Framework's coolest features.

Users can quickly build new keywords by starting from scratch or by using the existing sample ones.

If you look for more generic information about Robot Framework, there are plenty of great examples and online documentation on GitHub.

How to write scripts for automated tests in RobotFramework

Robot Framework makes it simple to create automated test scripts. In addition to being utilized to carry out activities, keywords also serve as assertion methods. They may experience arguments in an effort to shape their conduct.

The examples "Open Browser" and "Title Should Be" up top are two good ones. Since many test libraries include the necessary automation components as keywords, you don't necessarily need to write Python or Java code.

Notes on RobotFramework Setup and Basics

Visit documentation at link

· 2 min read

Adding or Cloning a submodule

git submodule add <url>

Update All Submodules (no local changes)

If you do not have any local changes in your submodules, and all you want to do is consume new commits for your submodules' upstreams, you can run this command. It will go through each submodule, update remotes, and then update to the latest commit.

git submodule update --remote [--recursive]

Update All Submodules (with local changes)

If you have made local changes to your submodules, and want to pull new changes from the submodules' upstream, git makes this really simple. Make sure to specify whether you want to rebase or merge.

git submodule update --remote [--rebase | --merge] [--recursive]

Another Way to Update All Submodule

git submodule foreach --recursive git checkout master
git submodule foreach --recursive git pull

Push Local Work to Submodule

A submodule is nothing but a clone of a git repo within another repo with some extra metadata (gitlink tree entry, .gitmodules file )

cd your_submodule
git checkout master
git commit -a -m "commit in submodule"
git push
cd ..
git add your_submodule
git commit -m "Updated submodule"

Common Error

fatal: Needed a single revision Unable to find current origin/master revision in submodule path 'xxFolder' Fix by remove the folder and update again

rm -rf xxFolder
git submodule update

Removing a submodule

git submodule deinit path/to/module 
git rm path/to/module
git commit -am "Removed submodule X"

· 7 min read


Tired of pesky ads cluttering your web-surfing experience? Rest assured, there's a simple remedy: installing Pi-Hole. This powerful tool can effectively banish those bothersome popups and ensure that you enjoy the smoothest browsing possible! In this guide, we'll discuss what exactly Pi Hole is - as well as its many advantages. We'll also look at all hardware requirements for setup before moving on to an easy step-by-step tutorial for installation. Plus, should any issues arise during the process, don't worry; we've got troubleshooting tips covered too! Finally, are some handy optimization tricks so that you get maximum results from using Pi Hole. And if it doesn’t turn out to be quite your cup of tea after all… no worries – alternative solutions exist as well.

What is a Pi-Hole?

A Pi-Hole is a Linux-based network-level advertisement and Internet tracker blocking application. It runs on a network-attached computer and acts as a DNS sinkhole that filters out unwanted content. It can block ads, trackers, and malicious websites from loading on all the devices connected to the network. The Pi-Hole is most commonly used on Raspberry Pi devices, but can also be installed on any Linux operating system.

The Pi-Hole works by intercepting DNS requests from the devices connected to the network and blocking them if they match a list of known ad, tracker, and malicious websites. This means that when you browse the web, any requests sent to these blocked websites are automatically blocked, resulting in an ad-free browsing experience.

Benefits of Setting Up a Pi-Hole

Setting up a Pi-Hole offers several advantages. The most obvious one is that it can keep ads from appearing on any devices connected to your network, allowing you to have an ad-free browsing experience without having to install and run any blocking plugins or extensions in your browser.

Moreover, this also enhances privacy protection by halting trackers and malicious websites, thereby decreasing the amount of data accumulated about you online for greater security while surfing the web.

Besides these benefits, installing a Pi-Hole increases internet speed due to its capability of eliminating unnecessary information sent through networks, thus resulting in faster connections!

Hardware Requirements for Setting Up a Pi-Hole

Before you can set up a Pi-Hole, you'll need to make sure that you have the right hardware. The most common hardware used for a Pi-Hole is a Raspberry Pi. However, you can also use any Linux-based operating system on a computer or server.

If you're using a Raspberry Pi, you'll need to make sure that it has an Ethernet port, which is needed for the Pi-Hole installation. You'll also need to make sure that you have a power adapter and a microSD card with at least 8GB of storage.

Step-by-Step Guide to Setting Up a Pi-Hole

Once you have the hardware ready, you can start the process of setting up a Pi-Hole. The first step is to download the Pi-Hole software. You can download it from the official website (

After that, you'll need to install the software on your Raspberry Pi or Linux-based computer. The installation process is relatively simple and can be done using the command-line interface.

sudo curl -sSL | bash


wget -O
sudo bash

Once the installation is complete, you'll need to configure the Pi-Hole to block ads, trackers, and malicious websites. You can do this by adding the relevant domains to the blocklist. You can find the blocklist on the Pi-Hole website.

Once the blocklist is configured, you'll need to configure your network settings to use the Pi-Hole as the DNS server. This can be done by changing the DNS server address in your network settings.

Once the DNS server address is changed, you'll need to restart your router to apply the changes. Once the router is restarted, all the devices connected to the network will start using the Pi-Hole as their DNS server.

Troubleshooting Common Issues with Pi-Hole Setup

Sometimes, you might encounter some issues while setting up a Pi-Hole. One of the most common issues is that the Pi-Hole doesn't seem to be blocking any ads or trackers. This is usually because the blocklist is not configured correctly. To fix this, make sure that the correct domains are added to the blocklist.

Another common issue is that the Pi-Hole seems to be blocking all websites. This is usually because the DNS server address is not configured correctly. To fix this, make sure that the correct DNS server address is set in the network settings.

Optimizing Your Pi-Hole for Maximum Performance

Once you've set up your Pi-Hole, you can optimize it for maximum performance. One way to do this is to enable the Pi-Hole's built-in caching. This will help to reduce the amount of data being sent over the network, resulting in faster speeds.

You can also reduce the size of the blocklist to improve performance. The blocklist can get quite large over time, so it's a good idea to keep an eye on it and remove any unnecessary domains.

Finally, you can also configure the Pi-Hole to only block the domains that you don't want to see. This will help to reduce the amount of data being sent over the network, resulting in faster speeds.

Pi-Hole Alternatives

If you don't want to set up a Pi-Hole, there are other alternatives available. One option is to use a browser extension or plugin to block ads. These extensions and plugins can be installed on your browser and will block ads from all the websites you visit.

Another option is to use a VPN. VPNs are a great way to protect your privacy and can also help to block ads. The downside is that they can be a bit slow, so you might want to try a different solution if speed is of the utmost importance.

Finally, you can also use a DNS-level blocker, such as OpenDNS. Unlike a Pi-Hole, these DNS-level blockers are hosted on a remote server, so you don't need to set up any hardware. They're also easy to configure and can be used to block ads, trackers, and malicious websites.


NoScript – NoScript is an extension for Firefox and Chrome that allows you to block requests for scripts or plug-ins from third party websites by default. This can help you avoid some ads and trackers on websites, which may cause problems with high quality video streaming sites like YouTube or Netflix.

AdBlock Plus

AdBlock Plus – AdBlock Plus is a popular ad blocker that can be used on Android devices as well as desktop computers and Macs. It has many filtering options and can also block ads in third party apps such as Facebook Messenger or Slack when they're opened in incognito mode (private browsing).


iProxy - iProxy is a free DNS proxy that can be used on its own or combined with Pi-Hole. It allows you to specify your own DNS servers and customizes the Internet experience for you by blocking ads and trackers.


Setting up a Pi-Hole is a great way to enjoy an ad-free browsing experience. It can also help to protect your privacy and speed up your internet connection. In this article, we've taken a look at the hardware requirements for setting up a Pi-Hole, followed by a step-by-step guide to setting up a Pi-Hole. We've also discussed some common issues you might face while setting up a Pi-Hole and how to troubleshoot them. We've also discussed some optimization tips to get the most out of your Pi-Hole. Finally, we've taken a look at some Pi-Hole alternatives available.

So, if you're fed up with seeing ads pop up when you're browsing the web, setting up a Pi-Hole is the perfect solution. It's easy to set up, and once it's running, you can enjoy an ad-free browsing experience. So, what are you waiting for? Go set up your Pi-Hole now and start enjoying an ad-free internet!

Updating the Software

The other thing you need to update is the software. Pi-Hole is releasing updates and fixes regularly, so you need to update it.

To do this, the procedure is simple:

Connect to your Raspberry Pi via SSH. Type this command:

sudo pihole -up

· 2 min read

Based on Research Done


A 404 is not necessarily an error. If you removed the pages and you didn’t set up different URLs to which the server should redirect requests for those pages, then a 404 response is correct.

No penalty as such but indirect impact on your website is evident, when you have so much of web pages 404. 404 says the page is not found but it doesn't say the page is deleted or permanently deleted and the visitor is not going to find it again.

Google understands that. They’re reporting 404 responses, not errors. You’re not being hurt because your server responds with a 404 when Googlebot requests pages that you’ve removed. You are potentially passing up on a benefit, however. If those pages had a decent amount of link equity, that equity would be passed on to pages to which you redirected requests for the old pages. This would also make for a better user experience. Of course, all of this is based on the assumption that you’d be redirecting to pages that served to provide people looking for the old pages with the information they seek.

Waste of Crawl Budget

With 404, Google waits for 2 to 3 months to ensure the page is removed. With 404, the Other impact would be that you waste your crawl budget. The crawler spends time in crawling the periods which are not present on your website. This lead to trouble in discovering new pages on your website.

With more pages failing, Google reduces your crawl budget over time. This will reduce the timely indexing of new pages on your website.

Possible Solution?

It is better to issue 410 since it instructs that the page is permanently deleted. This helps Google to remove the URL from its index quickly. The next time Googlebot visits the page and sees the 410 status code, Google will then remove the page from it’s index within 24 hours. Google will never check again to see if the page has come back.

Here are some different types of HTTP status codes:

100s: Informational requests
200s: Successful requests
300s: Redirects
400s: Client-side errors
500s: Server-side errors

Depending on your browser, the 410 error can appear in a few different ways:

410 Gone
Error 410
HTTP Status 410

· One min read

Get started

Requires Python 3.6+, BeautifulSoup4 and urllib3.

Install by using pip

pip3 install pyseoanalyzer

Command-line Usage

If you run without a sitemap it will start crawling at the homepage.


Or you can specify the path to a sitemap to seed the urls to scan list.

seoanalyze --sitemap

HTML output can be generated from the analysis instead of json.

seoanalyze --sitemap --output-format html

Run From cloned Repository

python -f html > results.html