Top 5 Programming Languages for Taking On Big Data

In today’s computing world, ‘big data’ – data sets that are too large or complex for traditional data-processing application software – are increasingly common and having the ability to work with them is increasingly a to-be-expected requirement of IT professionals. One of the most important decisions these individuals have to make is deciding on a programming languages for big data manipulation and analysis. More is now required than just simply understanding big data and framing the architecture to solve it. Choosing the right language means you’re able to execute effectively, and that’s very valuable.

As a proven reliable Canadian web hosting provider, here at 4GoodHosting we are naturally attuned to developments in the digital world. Although we didn’t know what it would come to be called, we foresaw the rise of big data but we didn’t entirely foresee just how much of a sway of influence it would have for all of us who take up some niche in information technology.

So with big data becoming even more of a buzz term every week, we thought we’d put together a blog about what seems to be the consensus on the top 5 programming languages for working with Big Data.

Best languages for big data

All of these 5 programming languages make the list because they’re both popular and deemed to be effective.


Scale blends object-oriented and functional programming paradigms very nicely, and is fast and robust. It’s a popular language choice for many IT professionals needing to work with big data. Another testament to its functionality is that both Apache Spark and Apache Kafka have been built on top of Scala.

Scala runs on the JVM, meaning that codes written in Scala can be easily incorporated within a Java-based Big Data ecosystem. A primary factor differentiating Scala from Java is that Scala is a lot less verbose as compared to Java. What would take seemingly forever to write 100s of lines of confusing-looking Java code can be done in 15 or so lines in Scala. One drawback attached to Scala, though, is its steep learning curve. This is especially true compared to languages like Go and Python. In some cases this difficulty puts off beginners looking to use it.

Advantages of Scala for Big Data:

  • Fast and robust
  • Suitable for working with Big Data tools like Apache Sparkfor distributed Big Data processing
  • JVM compliant, can be used in a Java-based ecosystem


Python’s been earmarked as one of the fastest growing programming languages in 2018, and it benefits from the way its general-purpose nature allows it to be used across a broad spectrum of use-cases. Big Data programming is one of the primary ones of them.

Many libraries for data analysis and manipulation which are being used in a Big Data framework to clean and manipulate large chunks of data more frequently. These include pandas, NumPy, SciPy – all of which are Python-based. In addition, most popular machine learning and deep learning frameworks like Scikit-learn, Tensorflow and others are written in Python too, and are being applied within the Big Data ecosystem much more often.

One negative for Python, however, is that its slowness is one reason why it’s not an established Big Data programming language yet. While it is indisputably easy to use, Big Data professionals have found systems built with languages such as Java or Scala to be faster and more robust.

Python makes up for this by going above and beyond with other qualities. It is primarily a scripting language, so interactive coding and development of analytical solutions for Big Data is made easy as a result. Python also has the ability to integrate effortlessly with the existing Big Data frameworks – Apache Hadoop and Apache Spark most notably. This allows you to perform predictive analytics at scale without any problem.

Advantages of Python for big data:

  • General-purpose
  • Rich libraries for data analysis and machine learning
  • Ease of use
  • Supports iterative development
  • Rich integration with Big Data tools
  • Interactive computing through Jupyter notebooks


Those of you who put a lot of emphasis on statistics will love R. It’s referred to as the ‘language of statistics’, and is used to build data models which can be implemented for effective and accurate data analysis.

Large repositories of R packages (CRAN, also called as Comprehensive R Archive Network) set you up with pretty much every type of tool you’d need to accomplish any task in Big Data processing. From analysis to data visualization, R makes it all doable. It can be integrated seamlessly with Apache Hadoop, Apache Spark and most other popular frameworks used to process and analyze Big Data.

The easiest flaw to find with R as a Big Data programming language is that it’s not much of a general purpose language with plenty of practicality. Code written in R is not production-deployable and generally has to be translated to some other programming language like Python or Java. For building statistical models for Big Data analytics, however, R is hard to beat overall.

Advantages of R for big data:

  • Ideally designedfor data science
  • Support for Hadoop and Spark
  • Strong statistical modelling and visualization capabilities
  • Support for Jupyter notebooks


Java is the proverbial ‘old reliable’ as a programming language for big data. Much of the traditional Big Data frameworks like Apache Hadoop and the collection of tools within its ecosystem are based in Java, and still used in many enterprises today. This goes along with the fact that Java is the most stable and production-ready language of all the 4 we’ve covered here so far.

Java’s primary advantage is in the way you have an ability to use a large ecosystem of tools and libraries for interoperability, monitoring and much more, and the bulk of them have already been proven trustworthy.

Java’s verbosity is its primary drawback. Having to write hundreds of lines of codes in Java for a task which would require only 15-20 lines of code in Python or Scala is a big minus for many developers. New lambda functions in Java 8 do counter this some. Another consideration is that Java does not support iterative development unlike newer languages like Python. It is expected that future releases of Java will address this, however.

Java’s history and the continued reliance on traditional Big Data tools and frameworks will mean that Java will never be displaced from a list of preferred Big Data languages.

Advantages of Java for big data:

  • Array of traditional Big Data tools and frameworks written in Java
  • Stable and production-ready
  • Large ecosystem of tried & tested tools and libraries


Last but not the least here is Go. one of the programming languages that’s gained a lot of ground recently. Designed by a group of Google engineers who had become frustrated with C++, Go is worthy of consideration simply because of the fact that it powers many tools used in Big Data infrastructure, including Kubernetes, Docker and several others too.

Go is fast, easy to learn, and it is fairly easy to develop applications with this language. Deploying them is also easy. What might be more relevant for it though is as businesses look at building data analysis systems that can operate at scale, Go-based systems are a great fit for integrating machine learning and undertaking parallel processing of data. That other languages can be interfaced with Go-based systems with relative ease is a big plus too.

Advantages of Go for big data:

Fast and easy to use

Many tools used in the Big Data infrastructure are Go-based

Efficient distributed computing

A few other languages will get HMs here too – Julia, SAS and MATLAB being the most notable ones. All of our 5 had better speed, efficiency, ease of use, documentation, or community support, among other things.

Which Language is Best for You?

This really depends on the use-case you will be developing. If your focus is hardcore data analysis involving s a lot of statistical computing, R would likely be your best choice. On the other hand, if your aim is to develop streaming applications, Scala is your guy. If you’ll be using machine learning to leverage Big Data and develop predictive models, Python is probably best. If you’re building Big Data solutions with traditionally-available tools, you shouldn’t stray from the old faithful – Java.

Combining the power of two languages to get a more efficient and powerful solution might be an option too. For example, you can train your machine learning model in Python and then deploy it with Spark in distributed mode. All of this will depend on how efficiently your solution is able to function, and more importantly, how speedy and accurate it’s able to work.


The Surprising Ways We Can Learn About Cybersecurity from Public Wi-Fi

A discussion of cybersecurity isn’t exactly a popular topic of conversation for most people, but those same people would likely gush at length if asked about how fond of public wi-fi connections they are! That’s a reflection of our modern world it would seem; we’re all about digital connectivity, but the potential for that connectivity to go sour on us is less of a focus of our attention. That is until it actually does go sour on you, of course, at which point you’ll be wondering why more couldn’t have been done to keep your personal information secure.

Here at 4GoodHosting, cybersecurity is a big priority for us the same way it should be for any of the best Canadian web hosting providers. We wouldn’t have it any other way, and we do work to keep abreast of all the developments in the world of cybersecurity, and in particular these days as it pertains to cloud computing. We recently read a very interesting article about how our preferences for the ways we (meaning the collective whole of society) use public wi-fi can highlight some of the natures and needs related to web security, and we thought it would be helpful to share it and expand on it for you with our blog this week.

Public Wi-Fi and Its Perils

Free, public Wi-Fi is a real blessing for us when mobile data is unavailable, or scarce as if often the case! Few people really know how to articulate exactly what the risks of using public wi-fi are and how we can protect ourselves.

Let’s start with this; when you join a public hotspot without protection and begin to access the internet, the packets of data moving from your device to the router are public and thus open to interception by anyone. Yes, SSL/TLS technology exists but all that’s required for cybercriminal to snoop on your connection is some relatively simple Linux software that he or she can find online without much fuss.

Let’s take a look at some of the attacks that you may be subjected to due to using a public wi-fi network on your mobile device:

Data monitoring

W-fi adapters are usually set to ‘managed’ mode. It then acts as a standalone client connecting to a single router for Internet access. The interface the ignore all data packets with the exception of those that are explicitly addressed to it. However, some adapters can be configured into other modes. ‘Monitor’ mode means an adapter all wireless traffic will be captured in a certain channel, no matter who is the source or intended recipient. In monitor mode the adapter is also able to capture data packets without being connected to a router. It has the ability to sniff and snoop on every piece of data it likes provided it can get its hands on it.

It should be noted that not all commercial wi-fi adapters are capable of this. It’s cheaper for manufacturers to produce models that handle ‘managed’ mode exclusively. Still, should someone get their hands on one and pair it with some simple Linux software, they’ll then able to see which URLs you are loading plus the data you’re providing to any website not using HTTPS – names, addresses, financial accounts etc. That’s obviously going to be a problem for you

Fake Hotspots

Snaring unencrypted data packets out of the air is definitely a risk of public wi-fi, but it’s certainly not the only one. When connecting to an unprotected router, you are then giving your trust to the supplier of that connection. Usually this trust is fine, your local Tim Horton’s probably takes no interest in your private data. However, being careless when connecting to public routers means that cybercriminals can easily set up a fake network designed to lure you in.

Once this illegitimate hotspot has been created, all of the data flowing through it can then be captured, analysed, and manipulated. One of the most common choices here is to redirect your traffic to an imitation of a popular website. This clone site will serve one purpose; to capture your personal information and card details in the same way a phishing scam would.

ARP Spoofing

The reality unfortunately is that cybercriminals don’t even need a fake hotspot to mess with your traffic.
Wi-Fi and Ethernet networks – all of them – have a unique MAC address. This is an identifying code used to ensure data packets make their way to the correct destination. Routers and all other devices discover this information Address Resolution Protocol (ARP).

Take this example; your smartphone sends out a request inquiring which device on the network is associated with a certain IP address. The requested device then provides its MAC address, ensuring the data packets are physically directed to the location determined to be the correct one. The problem is this ARP can be impersonated, or ‘faked’. Your smartphone might send a request for the address of the public wi-fi router, and a different device will answer you with a false address.

Providing the signal of the false device is stronger than the legitimate one, your smartphone will be fooled. Again, this can be done with simple Linux software.

Once the spoofing has taken place, all of your data will be sent to the false router, which can subsequently manipulate the traffic however it likes.

MitM – ‘Man-in-the-Middle’ Attacks

A man-in-the-middle attack (MITM) is a reference to any malicious action where the attacker secretly relays communication between two parties, or alters it for whatever malevolent reason. On an unprotected connection, a cybercriminal can modify key parts of the network traffic, redirect this traffic elsewhere, or fill an existing packet with whatever content they wish.

Examples of this could be displaying a fake login form or website, changing links, text, pictures, or more. Unfortunately, this isn’t difficult to do; an attacker within reception range of an unencrypted wi-fi point is able to insert themselves all too easily much of the time.

Best Practices for Securing your Public Wi-Fi Connection

The ongoing frequency of these attacks definitely serves to highlight the importance of basic cybersecurity best practices. Following these ones to counteract most public wi-fi threats effectively

  1. Have Firewalls in Place

An effective firewall will monitor and block any suspicious traffic flowing between your device and a router. Yes, you should always have a firewall in place and your virus definitions updated as a means of protecting your device from threats you have yet to come across.

While it’s true that properly configured firewalls can effectively block some attacks, they’re not a 100% reliable defender, and you’re definitely not exempt from danger just because of them. They primarily help protect against malicious traffic, not malicious programs, and one of the most frequent instances where they don’t protect you is when you are unaware of the fact you’re running malware. Firewalls should always be paired with other protective measures, and antivirus software being the best of them.

  1. Software updates

Software and system updates are also biggies, and should be installed as soon as you can do so. Staying up to date with the latest security patches is a very proven way to have yourself defended against existing and easily-exploited system vulnerabilities.

  1. Use a VPN

No matter if you’re a regular user of public Wi-Fi or not, A VPN is an essential security tool that you can put to work for you. VPNs serve you here by generating an encrypted tunnel that all of your traffic travels through, ensuring your data is secure regardless of the nature of the network you’re on. If you have reason to be concerned about your security online, a VPN is arguably the best safeguard against the risks posed by open networks.

That said, Free VPNs are not recommended, because many of them have been known to monitor and sell users’ data to third parties. You should choose a service provider with a strong reputation and a strict no-logging policy

  1. Use common sense

You shouldn’t fret too much over hopping onto a public Wi-Fi without a VPN, as the majority of attacks can be avoided by adhering to a few tested-and-true safe computing practices. First, avoid making purchases or visiting sensitive websites like your online banking portal. In addition, it’s best to stay away from any website that doesn’t use HTTPS. The popular browser extender HTTPS everywhere can help you here. Make use of it!

The majority of modern browsers also now have in-built security features that are able to identify threats and notify you if they encounter a malicious website. Heed these warnings.

Go ahead an make good use of public Wi-Fi and all the email checking, web browsing, social media socializing goodness they offer, but just be sure that you’re not putting yourself at risk while doing so.

Determining a Domain Name’s Worth

All of us have heard the stories of people who’ve smartly purchased the rights to domain names they foresaw being in demand in the future, and then selling them for a tidy profit some time later. Then ther was the well-publicized story of a former Google employee who owned for a whole minute and was handsomely rewarded by the Internet giant for giving it back to them in 2015. That same year Google became a subsidiary of Alphabet, and they wisely nipped any problem in the bud by acquiring shortly thereafter.

Here at 4GoodHosting, we register many new domain names for clients every month as a Canadian web hosting provider who offers the service free with our web hosting packages. If you’ve identified the perfect domain for your website, you can request it right here – – and provided it’s available we can secure it for you. For those of you that have ever wondered about the $ of your domain name, you might be surprised to learn that you can actually come to an approximate valuation of it with a few online tools.

Even if your domain name is the most obscure one imaginable and would almost certainly never be in demand, this is quite interesting to learn more about.

Domain Hoarding?

The first thing to understand here is that there are hundreds of thousands of domain names that have been registered but do not have a website attached to them. Nearly all of them have been acquired by individuals who see the possibility of selling it in the future. There’s some very promising examples of this, like when the Expedia group paid $11 million for, or the person who registered receiving millions for it.

If your domain is one that is not unique and describes the nature of your business, or uses a term or portion of it to describe some aspect of the business or venture that would apply to similar ones elsewhere then there may resale value to the domain name. In some instances, there will be individuals who are willing to pay to assume ownership of it. Most of the time they’ll reach out to the owner by their web hosting provider reaching out to yours, and in rarer instances the domain owner will be aware of growing interest in the domain and put it ‘up for sale.’

What Makes a Domain Name Valuable?

For the most part a domain name is only worth as much as someone is willing to pay for it. For some domains, however, there are certain attributes that might make it have greater value:

  • Length – Shorter domain names tend to be easy to remember and require less effort to type them into a browser. Generally speaking, shorter domains tend to be worth more than longer ones.
  • Number of words – One-word domain names are always the most valuable, but combining 2 words to make business names (LinkedIn, Facebook) is a trend and has led to 2-word domain names being worth more too. Combining 3 words is almost unheard of and not recommended, so this type of domain would be by and large useless.
  • Accurate spelling – It’s true that some big brands will buy up domain names that are similarly spelled to their primary domain name. A popular domain name that’s correctly spelled will have more resale value if it is ever made available.
  • Domain name age and activity – Domains that have been live and accessible for a long time will come with built-in SEO attributes. This of course gives them significant value, with whoever buying the name not having to work as hard to get favourable search engine results from it.
  • TLD – A top-level domain (TLD) is extremely important to the value of any domain name. This is the suffix to your domain name, and with .com domains being the most common and popular it is these ones that are the most valuable. Acquiring one will cost more than the .org or .net. version of the same domain name. Niche TLDs like .pizza will typically have little to no resale value..

Finding Out If a Domain Has Value

There are a handful of domain name appraisal services online, and most won’t cost you anything to use them. Do keep in mind that the values these services place on domains are only approximations, so don’t take any valuation provided by them to be a 100% reliable estimation of what a domain name is worth.

Free Valuator is the best among them in our opinion. You can get a value estimation for a domain name in a matter of seconds and they can also introduce you to a professional domain name value assessor if you are considering making your domain name available. Estibot is another one, and it gets a mention here because it uses a different approach to determining how much a website name is worth. It actually uses mathematical models to calculate the value of a domain name.

What’s Next?

After you’ve checked the value of your domain name, you have 2 options; if it’s valuable you can go ahead and make it available for sale. Putting it on a domain auction site, like the one at GoDaddy, is a popular choice. Alternately, you might want to contact a professional domain name broker. They’ll have the knowledge and connections to get you the biggest $ return for your domain name. This is the best course of action if you think a big brand might want your domain name.

Next, if you think the value is bound to be greater in the future then you could sit tight and wait to see if that happens. If this is what you choose to do then taking steps to improve the value of your domain name, like adding content to your site and other approaches to boost its SEO value, is a smart move.

Have a domain name that’s estimated to be much more valuable than you thought? We’d like to hear about it here.

New Blockchain Development Kit Arrives from Microsoft

Blockchain isn’t exactly a household name in the digital commerce world – yet – but for those of us on the inside track it’s already well established as the next big thing in as far as grand-scale transactional computing is concerned. For those who aren’t familiar with it, we’ll explain briefly here; blockchain is a shared distributed ledger technology where each transaction is digitally signed to ensure its authenticity and integrity. From a ‘what does that mean for me’ perspective, it’s a new and very powerful means of upping security for digital transactions as well as ensuring pinpoint accuracy.

Right, now that we’ve got the basic explanation out of the way we’re going to come at this from an angle that’s designed for those of you already very much in the know regarding blockchain. Here at 4GoodHosting, we’re like any leading Canadian web hosting provider in that a good many of our customers have ecommerce websites where secure transactions are an absolute priority. As such, blockchain can’t arrive in full soon enough and that’s why recent news from Microsoft is very promising.

Microsoft is about to offer a new serverless blockchain development kit powered by its intelligent cloud platform – Azure. As of now it’s being called the ‘Azure Blockchain Development Kit’ and the aim with it is to facilitate seamless integration of blockchain with the best of Microsoft and other third-party SaaS offerings. The Principal Program Manager at Microsoft states that it will enable users to build key management, off-chain identity and data monitoring and messaging APIs into reference architectures that can be used to quickly build blockchain applications.

It is expected to have 3 major capabilities:

  • Integrating data and systems
  • Connecting interfaces
  • Deployment of smart contracts and blockchain networks

It should enable organizations and individuals to connect to blockchain through user interfaces. The development kit will come ready with voice interfaces, SMSes, internet of things, support for mobile clients, device integration, virtual assistants, and bots. Voice and SMS interfaces for the purpose of tracking and supply chain solutions promise to be very useful for developers, and it will have support for Android and iOS mobile operating systems

In addition, it will be compatible with other ledger technologies like Ethereum and Bitcoin too.

Concurrently with this new Azure Blockchain Development Kit, Microsoft is also announcing their release of a set of Flow Connectors and Logic Apps for blockchain. This Ethereum Blockchain connector will allow users to call contract actions, deploy contracts, trigger other Logic Apps, and read contract state. This is important, because end to end blockchain solutions require integration with data, software, and media that live ‘off chain’ as this state is referred to.

This new product from Microsoft is a next step in their quest to simplify and quicken blockchain accessibility and affordability for anyone who has an idea of what they might be able to do with it. Based on the serverless architecture, the expectation is that it will further reduce costs and thus making it accessible for every blockchain enthusiast, ISV and enterprise.

The Kit is being built atop Microsoft’s investments in blockchain technology and connects to Azure’s compute, storage, data and integration services, which are already proven reliable in the workspace. Over recent years, Microsoft has been working on extending the use of Blockchain and related distributed ledger technologies. The idea is that new digital identities will eventually come together to promote greater personal security, privacy and control.

It should be mentioned that other major players (Google most notably) also recently launched similar blockchain development kits. What will remain to be seen is what developers will think of it and how practical it is for them.

Microsoft has a white paper on how to deploy any decentralized application using the Azure Blockchain Development Kit. You can download it here, and overall the development of Blockchain is definitely something worth keeping tabs on as it continues to change the landscape of the ecommerce world.


Testing – And Improving – Page Speed for More Responsive Sites

In all the recent hubbub about https, GPDR regulation and the like there’s been some degree of neglect for the importance of website loading speeds. Most people behind a website won’t need to be made aware of what bounce rates are, or that in general people tend to be just as impatient when it comes to viewing a website as they are for nearly everything else in their life. Page speed has been a part of the Google algorithm for many years, in fact it’s been a big deal for the better part of 10 years now.

Here at 4GoodHosting, the nature of our business and the fact we’re a Canadian web hosting provider with our thumb on the pulse of the web hosting industry makes it so that we really grasp the importance of issues like these when it comes to website performance. We’re 10 months removed from Google starting to educate us all about how page speed is important for the user experience. The focus has of course shifted to mobile search in a big way, and again that’s quite natural given the way mobile is become the predominant search method.

At the start of 2018 Google announced its ‘speed update’, saying that it would only affect a small percentage of sites that were offering a painfully slow user experience. Most people have gotten on board with it sufficiently over the last year, but for those who have yet to let’s spend today discussing how to test and improve website page speed.

How To Test Your Site

There’s choices when it comes to online services you can use to gain an understanding of how quick your site is. Google’s two are really all you need to consider here. First up is PageSpeed Insights, which provides you with a reasonably accurate overview of how your site is performing and some things you can do to improve it. What we’ve learned from it is that render blocking (a slow part of the page that stops the whole page from loading) is the culprit most of the time. This issue isn’t easy to remedy, but you have to do it.

If mobile is your primary focus, then this tool here is perfect for you. It compares your site to other mobile sites and delivers a percentage score. Keep in mind that for both of these the numbers are estimates, and while they’ll likely be fairly close to accurate you shouldn’t take them as definitive findings.

This leads to the next part of our discussion here – tips you can implement to improve your page loading speeds.

How To Improve Your Page Load Times

There’s much you can do to speed up your site. Sometimes you’ll be addressing platform specific problems, while in other instances they will be more general issues. Some of these changes you can implement yourself, but for others you may need to bring in someone more web savvy than yourself.

  1. Better Hosting

Inexpensive shared hosting means your site is on a server filled with other domains like yours. This of course leads to a slower site due to a lack of available resources on the server. The simple fix for this is to move to better hosting. A dedicated servers (vps hosting in Canada) is an option, but for many smaller sites and interests its going to be an expensive and really unnecessary solution. However, it should be something to consider if shared hosting is being your website’s slow page loading times.

  1. Optimize Your Images

Plain and simple, compressing your images and reduce their size is the easiest and arguably the most effective way to improve page load speed times. Optimizing the image can be done in an offline editor, and one of the best ones is a site called which in our opinion is better than the Adobe compression tool for smaller images sizes.

  1. Cache Your Site For Speed Gains

Caching your site can speed it up enormously. When you cache a site, it takes a snapshot of the page and keeps it handy. It then is able to deliver it to the visitor much quicker than it would normally. This can be done in numerous different ways. WordPress users can do so in the W3 Total Cache. The large amount of options there are something you should familiarize yourself with.

  1. Use A Content Delivery Network

Content delivery networks assume an extremely valuable role in the internet’s infrastructure. A CDN delivers a webpage or any file to a user by accessing it from the closest geographic location available. The benefits of doing this are that it is far more efficient, conserves bandwidth, protects the network, and also improving the user experience by providing the asset quicker.

CDN’s are fairly commonplace now, with estimates suggesting that 40% of all sites are using one. The best ones will be able to offer speed gains and protection from DDOs attacks.

  1. Minimize The Number Of Http Requests

An onslaught of http requests – requests for information from your server – can overwhelm a website. When someone visits your site they are requesting various files to load in the browser. Most of these requests are sequential and the increase in the number of external files means more requests, and that means a slower load time for that user.

One tip here is to take all the css files and put them into the same file. This can be done with Javascript files too. Consolidating as many files together to reduce the number of http requests is highly recommended.

  1. Disable Hotlinking

Hotlinking is when other sites leech your image content. Visitors to another site receive an image loaded from your server. This can mean your monthly bandwidth is stolen, but the fix is quick, easy, and effective – edit your .htaccess file.

  1. Serve Your Pages Via AMP

Google has put a lot of time and effort into improving the web for mobile, and pushed websites to improve user experience if it’s diminished by a slow connection. One of their recent innovations was AMP – accelerated mobile pages. These pages load faster and serve ads faster as well, which benefits those dealing with a slower internet connection. AMP pages use Amp Html, a special library of JavaScript, and a cache to serve pages.

AMP pages have been well received by larger news sites that see their specific need to be able to serve pages more quickly.

  1. Use An External Commenting System

Having an engaged user base is very desirable, but how they are set up for commenting on the site can be an issue here. It can be a real problem for on-page SEO, and can lead to the page loading much slower. A popular fix for this is to ‘lazy load’ the comments, making it so that the page doesn’t serve up this user-generated content to Google’s web crawlers. Instead, it only shows it to real visitors.

Another fix for commenting problems is to use an external commenting service. Supporting your platform with Disqus is a good choice here.


Machine Learning For Improved Data Security

The reality these days is that malware is constantly reinventing itself, and as such the threat to data storage never minimizes to the extent that we’d like it to. Indeed, data breaches have been a major issue for company IT departments for as long as they have been storing data. Nowadays, it seems there’s a new wrinkle in malware development and distribution that reminds us the threat is as present as ever and an inescapable reality.

However, there is a new technology that is genuinely slowing the malware threat in countless industries, and data security stands to benefit from it considerably. Like any Canadian web hosting provider, we’re very attuned to the need for better security for big data, and especially so considering the ever-increasing level of sensitive and personal information being stored in large data centers. We tip our hats to those who have the expertise needed to counter the growth and advances of malware.

The technology we’re talking about is machine learning, and more specifically artificial intelligence (AI) within it. Many insiders claim it will revolutionize the way we go about protecting data. As it is now, companies are frequently dealing with more and more attacks as their networks and the data volume they handle grows.

Machine Learning From Antivirus Data

One specific area within data security for AI shows especially strong promise. Traditional antivirus (AV) software used the specific signature of malware to identify it, but that method is not ideal for a number of reasons. By making small changes to their malware to alter the signature slightly, these hackers in many cases made it so that the malware could slip past AV software undetected.

Current AI antivirus technology promises a far more sophisticated solution, despite not being AI in the traditional sense. By using machine learning (ML), this technology works by training a program with a large collection of malware data. Eventually it becomes able to recognize the characteristics of potential malware threats in general, and isn’t limited to only looking for signatures as the identifier of particular malware.

This means that provided the programs are kept up to date with new malware to so that they are constantly relearning and being challenged, even malware with completely new signatures can be rendered ineffective and there’s no need to update their software as strictly.

This is a perfect fit, as there is already a large body of data to train the programs on, and the bulk of new malware is not really ‘new’ – it builds off the foundations of other malicious programs. If your machine learning program has encountered a number other malware programs with most of the same core functionality, it becomes a situation where the hacker will need to invest a massive amount of time into creating malware that can disguise itself sufficiently.

Many of the cybersecurity AI firms will claim this is an all-powerful solution, but that might be a bit too grand of a claim. It does provide enough of a deterrent to protect against most typical threats, and primarily because hackers aren’t inclined to create a full malware program completely from scratch.

One important point to understand, however, is that without a large enough set of data these programs won’t be able to train themselves as effectively. Currently there is not quite enough data from network attacks to train machine learning programs as reliably as IT security professionals would like. There have been several hopeful attempts to find a suitable dataset, but so far that’s not been accomplished.

AI: The Solution for Human Error

As you might expect, all of these technological advances can be rendered ineffective if human error comes into play. If an authorized person is the one facilitating the breach, even the best security tools won’t be of assistance, and this of course does happen fairly often.

The majority of data breaches are not the result of malware forcing its way through firewalls undetected. Most breaches are the result of a simple mistake, and often it’s negligence or an untimely oversight. And commonly victims will say it’s an unfortunate reflection of the fact that they’re understaffed, underfunded, and undertrained.

Social engineering education is the solution here. Why? Because with it employees aren’t trained only to defend against common social engineering hacking tactics. When employees are trained, machine learning can be a strong and effective complement to best practices.

One particular tool that carries a big stick in this regard is Onfido ( It prevents identity fraud by verifying the login with a photo ID, a selfie, and machine learning algorithms. It identifies whether the right person is trying to log in, and then crawls the Web for any potential problems with that identity. Fraudulent data access is prevented with this technology, and even if passwords are compromised.

Monitoring Behavior Patterns

Another machine learning variation is capable of identifying the baseline online behavior for a particular identity, and then any deviation from standard patterns are flagged as indicating a possible malware threat. It’s not unlike your credit card company calling when someone makes a charge on your card on a different continent, but in the digital landscape instead.

It’s very promising for people like us to see how machine learning, and perhaps eventually true AI, can deliver the type of complement that effective data security practices need in response to the new realities of IT security risks. It’s only just beginning to open its lungs and breathe in full, but hopefully once it starts to roar we’ll be able to rest a little bit easier when it comes to knowing data is secure in our data centers.



Be Wary of Backlinks in Disavow Files

The term ‘black hat’ SEO isn’t bandied around as frequently as it used to, and that’s probably for two reasons. First, developments in the web development industry have made it so that it’s not the buzzword it once needed to be. And then there’s the fact that engaging in less-than-ethical SEO aims via shady link building just doesn’t occur like it used to. There are many reasons for that, but Google’s Disavow File is a big part of why black hat SEO doesn’t get your very far anymore.

Here at 4GoodHosting, like any Canadian web hosting provider we don’t pretend to be web development experts but we are sufficiently knowledgeable regarding the subject. Sharing anything and everything we know with our customers is part of what we do, with the hope that by enabling those managing their website they’ll get more out of their digital and internet marketing efforts. It’s competitive out there, and the value of strong search engine rankings can’t be overstated.

For those of you who may not be familiar with them, a disavow file is a .txt file that contains instructions to Google informing them that you’d prefer if they ignored any number of links to your website. And the reason for doing so? Because they’re having a negative impact on your rankings. Google created it so that webmasters can push back against unsolicited mail and be able to ignore any links that are still pointed to their website after link treatment options have been unsuccessful.

Typically, it’s a last resort option used when certain pesky links aren’t neutralized by standard link removal means. It’s very effective and scads of users have put it to good use over recent years. The best of them contain both root domains and links to individual pages along with comments detailing your removal efforts undertaken for each.

Pay Extra Attention

A recent piece of advice from a Google webmaster trends analyst and industry expert has been warmly received across the industry, and it concerns how some links can actually pair with disavow files to cause your rankings to drop quite pronouncedly. The long and short of it is that you may wish to adjust the links in your disavow file if your rankings drop after submitting it.

There could be any number or reasons behind your employing a disavow file – maybe you engaged in some shady link building practices, or experienced negative SEO, or simply decided to look over backlink profile when auditing and found many low-quality backlinks flagged by link audit tools like CognitiveSEO, SEMrush, or Ahrefs.

These are all good tools for carrying out a link audit, but on occasion there may be some links that you are unsure about, and it’s in these instances when a disavowed file can cause your rankings to drop.

What we can learn here is that we have total control over which backlinks appear in your disavow file and can add or remove them at any time.

The question is typically in trying to understand if the backlinks are bad but have not been flagged by Google yet. A primary consideration in determining this is to see if the backlinks are new. If so, they may not have been categorized or flagged by Google as bad backlinks, but that does not mean they won’t be in the future.

As a result it’s not a good idea to spend a huge amount of time chasing those one or two links that look bad, but that you wish to remove from your disavow file. It’s better to put that time and energy into creating more high-quality content, but that’s somewhat besides the point here. Another common question is how long it takes for links to count after being removed from your disavow file.

Google SEO is constantly evolving, and the ways they counter spammers by incorporating delays in ranking changes after making changes is one of their ways to deter the practice. Spammers can no longer take advantage of instant trial and error testing. When it comes to the use of disavow files, though, the common – and logical – belief is that it will be a little problematic / confusing because there is a time delay from when you remove a link from the disavow before it starts to count again.

That’s not the case, however. Google has clarified that there is NO artificial delay or time-penalty and that rather it involves Google recrawling, re-indexing and reprocessing the pages. It is still unclear whether Google will reinstate links removed immediately, and there is likely a significant time delay.

Just how long this reprocessing element takes is also unclear, but the belief is that it is not something that happens overnight, even if that appears to be the case.

The process does take a small amount of time, so don’t expect an immediate recovery and don’t expect your disavow file to be all-powerful in addressing shady links pointing to your website. Do use them, though, and the consensus is that it’s best to let things settle for 3 months after making any significant changes. You can expect some links to be updated faster than others but overall it seems this is the best bet when trying to analyze the effect of any link network changes you make.

There’s much more on this topic discoverable with a quick Google search of ‘best ways to use google disavow files’, and if this is something that’s relevant for you we encourage you to build on the understanding you’ve gained here. Hope it’s been helpful.

How to Fix 502 Bad Gateway Error in WordPress

Website owners will always find it frustrating when they’re forced to deal with site errors when they’re not entirely sure why it is happening. The all-too-common 502 Bad Gateway Error can have various potential causes. When you’re unsure what is causing it, you’re obligated to test multiple solutions until you find the right one.

Here at 4GoodHosting, we were once greenhorns when it came to troubleshooting web development issues, but in the many years since what’s helped make us a top Canadian web hosting provider is the way we’ve gone through the process to be ever more capable with solving our customers technical support requests. Enabling them to be able to undertake these ‘repairs’ on their own is beneficial all round, so today we’re going to discuss the 502 error in WordPress and the best methods for remedying the situation. Let’s dig into it

What’s the 502 Bad Gateway Error?

Browsing a website involves the browser sending many requests to the server hosting the site. In normal situations when there is nothing amiss the server will send back the information you asked for, and then the site will load it. However, if the server does not return those requests and instead comes back with ‘invalid’ for the request, then the connection has timed out or there is another problem.

All of this stems from the fact that the connection between the websites and your browser is not a straightforward one. For instance, your request via your browser could be routed though the proxy server before it makes the way to the server hosting the site. When this is the scenario, it can be difficult to pinpoint exactly where the problematic issue is occurring.

Even worse, many websites will use more than one server, and it can make things more complicated when you have to locate which server’s error is leading to the 502 error.

Here are the 2 most common causes for the 502 Bad Gateway Error:

  1. Something is wrong in your DB

In these cases the server hosting the website has timed out and is currently unavailable, or is not working as it should. Your server proxy server goes wrong as a result.

  1. One of your themes or plugins includes faulty PHP scripts

When you can identify the fact that the issue is located within the server it is generally better news because it means the issue is on your end, and that means you’ve got the means of fixing it. You need to contact your provider and explain the situation. Most websites cannot afford any long-term downtime, so you really stand to benefit from being able to take action on your end and troubleshoot the problem on your own without delay

How to Fix the 502 Bad Gateway Error in WordPress

Before you move into troubleshooting mode, you can run a quick test to determine if the server is working as normal. Try running a traceroute to check if the server is available. If you pass this test, then the issue is probably exclusively on your end. If the traceroute test shows your server is not reachable, you will have to contact your WordPress hosting provider.

Resetting your routers and checking your DNS settings is also worthwhile. Sometimes little fixes like this can make the 502 error disappear, and they’re simple enough steps to try on your own. Failing that, here are the best fixes for re-establishing accessibility for your website.

  1. Clear Your Browser Cache

When your browser relies on its cache rather than loading the latest website version from remote server it is possible to have the 502 Bad Gateway. Fortunately, the fix is easy in these instances. Reloading the website server times should do the trick. However, if you still have the 502 error message on your screen and you are on Windows, the CTRL +F5 prompt will make your browser reload the site with the latest version and empty your browser cache. This method works well for nearly all browsers, and including Firefox and Chrome.

For OS X things are a little bit different. The prompt is CMD+CTRL+F5 in Safari.

Should this fix fail then you have to manually empty the browser cache. Those using Chrome can do this by going to ‘Settings’ >> ‘Advanced’ and find the option ‘Clear Browsing Data’.

Next, locate the option ‘Cached Images and Files’ under the ‘Basic’ tab, and then press ‘Clear Data’ once you have selected it. Do keep in mind though that if you do not disable the setting before you press the ‘Clear Data’ button, this order will proceed to delete all your browsing history. If that would be a problem for you then this approach my not be best for you.

For Firefox, Internet Explorer, Safari and almost all other browsers you can perform this process to deal with the situation above. Try reloading the website again after clearing the browser cache. Usually the 502 error will have been fixed but if the problem is still there then you need to move on to more heavy-handed fixes.

  1. Temporarily Disable Your CDN

As mentioned, sometimes browser requests may be routed through the reverse proxy server. This means that you are utilizing the proxy server to place an intermediary between your server and the audience’s browsers.

Services like CDN route incoming traffic relying on the reverse proxy to move that traffic with more efficiency. The additional layer sometimes causes trouble as you attempt to connect to the website’s original server. The 502 Bad Gateway Error will stem from this issue as well.

You can determine if your CDN is the cause of the issue by temporarily disabling your CDN. After that, you can test if your site is loading right without the service. The disabling process can be different depending on the CDN services you are applying to your site, but generally it’s not particularly difficult.

After disabling your CDN service, your site will then load directly from your original server and able to skip the standard request / permission process to access it. If your site loads then you can understand the issue must be related to your CDN service. You will unfortunately have to wait quite some time to re-enable the CDN service. After that happens you will of course want to check that the 502 Error has been eliminated.

If this doesn’t work either, try recommendation number three.

  1. Test Your WordPress Plugins and Themes

Sometimes the issue is directly in the structure and makeup of your WordPress website.

There may by even a tiny error within your WordPress themes or plugins where one of them is trying to execute a script that the original server cannot load correctly. This can lead to an invalid response with the browser sending requests that lead to the 502 error.

You are only able to activate one WordPress theme on the site, so it is simple to deactivate the one you are currently using and then switch to the default theme temporarily. Then try to access your site again to determine if the problem is solved. Oppositely, you can activate multiple plugins on your site but this will mean you need to test all of the plugins you are using on your site to find out which one is the culprit.

In instances where you are blocked out of the WordPress dashboard because of the error, you must disable these plugins and themes manually. You don’t actually delete them though, and reactivating them shouldn’t take much time.

Make sure you take a backup of your site before trying this.

FileZilla is probably the best choice for doing this. Open the FTP client you selected and log into your site via FTP client and proceed to find ‘public html’ >> ‘wp-content’ >> ‘plugin folder’. Each plugin you installed on site should be locatable, no matter whether it is active or not.

Right click on a plugin folder to view the different options that can be applied to the plugin, One of them is ‘Rename’. Choose that option and then change the folder name to another one like ‘disabled.thepluginname’ or something similar. Make it easy identifiable as your temporary one only used for this purpose.

When you then access your site again you will not find these plugins disabled on the site. It will still load without these plugins. If these plugins are behind the 502 error, you’ll be able to browse normally now. Also, be sure to apply the command CTRL+F5 prompt to make you’re deleting the browser cache before reloading.

It is recommended to disable your plugins one by one to test which one is the problem. You also need to remember to restore the plugins that you have determined are NOT the problem. For WordPress theme, the same process is effective for testing it.

Once you find the right plugin or theme that’s causing the 502 error, go ahead and delete it all and find another replacement. Or if the plugins or themes are outdated, you can try to update it and see whether that’s an additional fix that improves page loading speed or general performance.


WordPress makes website creation much easier, and troubleshooting it is often not as challenging as you might think – if you know what you’re doing. Some errors have multiple potential causes, but if you can go through a process-of-elimination method and go through these steps here then you’ll find you can do the troubleshooting on your own. Again – always remember to take copies or backups of your website before you make any major changes.

Struts vs Spring as Java Framework

Spring and Struts are a pair of the most popular frameworks for Java web. More than a few of you among the developers out there will either already be familiar with them. If you’ve found the one that works best for you then this week’s blog may be one to pass over, but it may be a good read for those who’d like some insight into which one is best for you. Java has no internal organization, so both Spring and Struts offer a web development framework that allows the user to focus on building solid web applications.

There are a handful of different iterations of both. Here at 4GoodHosting, as a leading Canadian web hosting provider we’re very familiar with the value of being in the know regarding frameworks. And considering Java web is nearly ubiquitous for web app developers we’ll weigh some of the most common differences between Struts and Spring today.


Spring is a Java web framework. Java relies on objects collaborating and interacting with each other to produce applications. From these interactions come dependencies that Java doesn’t have the means to organize. Spring’s framework gives these components organization, handling your application’s framework to get you up and running quickly.

Spring’s components help you with different elements of your build. MVC handles web applications and replaces the older Struts model for increased functionality with more significant developments. MVC makes web app building less challenging because it your components are separated into three parts. The results is that it becomes easier to build and reuse code without too much modification.

Benefits of Spring:

  • Flexible
  • Easily integrated with other programs
  • Code can be tested easily

Spring’s Drawbacks:

  • Complex to learn
  • Less stable than Struts


Struts is also an open source Java web framework that helps with organization of the Java components in your app. It’s a front controller pattern that comes with fewer options than Spring, but not significantly less of them. A lot of the difference will depend on your preference.

Struts is an older, legacy application and many heritage sites are still constructed using it. It has integrations with Spring, especially with Struts2. It remains an accessible framework to learn, but it’s not entirely compatible with modern app development depending on the scope of the project.

Struts 2 was an outgrowth of the legacy system, and it helps to simplify Struts to make it more compatible with modern web development. It keeps the same architecture as the old system, with refinements and updates to its components. It must be said that it does have a history of security bugs.

Struts Benefits:

  • Simple design
  • Good tag features
  • Multiple view options

Struts Drawbacks:

  • Poor documentation
  • Has frequent compatibility issues

Struts2 vs Spring

A comparison between Struts2 vs Spring primarily becomes a question of updated legacy or documentation and thriving community. Struts 2 is more of an enterprise solution and it really benefits from having such elegant workarounds. It streamlines the development cycle very nicely.

The action is like a controller. As every time a request is made, the action is then initiated. This is unlike the ones in MVC architectures.

Spring, however, is really going to be a lot more efficient here. When we compare Struts2 vs Spring, Struts 2 gets high marks for its elegance, but Spring gets right down to the nitty gritty to give you a cleaner result that’s more consistent.

Strut 2 Features:

  • Ajax Support
  • Extensive support for both themes and templates
  • Configurable MVC components
  • Simple and reliable Java Object-based actions

Spring Features

  • Roles through MVC separated neatly
  • Flexibility with scale and highly adaptable
  • Flexible mode provides easy integration process
  • Spring tag library is robust but simple

Spring 2.0 Vs Struts

Spring’s modal view controller was introduced in response to common issues with Struts. It successfully delineates different aspects of your triad, making it easier to prototype and test. It’s not necessary to keep writing or modifying the code to get the result you’re after. This comparison of Spring 2.0 vs Struts starts with what’s easier.

Struts continues to generate actions in response to requests. For example, MVC neatly packages that action into the controller where it repeats itself without generating any type of a mess. It’s a neat little package, and popular for that reason.

If stability is your primary aim then you can integrate some aspects of Struts into the Spring framework. However, the Spring architecture does offer more flexibility within your design execution for Spring 2.0 vs Struts.

Struts Features:

  • Stability
  • Explicit control of your design

Spring MVC Features:

  • Clear web development
  • Handles aspects missing from Spring MVC

Choosing Struts Vs Spring

Struts is a legacy system to the extent that it’s always good to become familiar with how it works. Older systems likely won’t be able to integrate with Spring, and that makes it so that nearly every developer will encounter something made with Struts in their working life.

Struts still has a pretty dedicated following too, though documentation for it isn’t as vast as it is for Spring. Among its collection of satisfied users are those working within a problematic Java application and enjoying its stricter, more opinionated framework. If you appreciate direction, Struts will make the grade for you. We recommend it if you’re working with legacy programs or with clients unwilling to migrate to something else. Also, for simple applications that won’t have many requests, the structure does feel safer.

Boundaries aren’t always beneficial, however, and so working with Spring provides a much more open framework. It’s less opinionated, so you have the freedom to break from convention more frequently as needed. There’s no shortage of documentation now that the addition of MVC and the veneer of Spring Boot have provided fixes for Spring’s glaring issues. Java can be clunky, but with Spring you really benefit from the organizing framework.

Struts vs Spring: Conclusion

Finding one to be clearly superior to the other is difficult and most people will feel similarly. We recommend Struts with its legacy applications and neat, button-ed up design that will work well for the bulk of developers. Spring will work well with more creative, flexible designs where space is needed to move past convention now and again.

Consider the types of projects you’re going to be working on within Java and choose the one that gives you options to enhance the efficiency and reach of your work. As is always the case, experimentation and being in no real rush to come to conclusion is the best way to find out which web app development framework is going to be best for you.



Cloudflare is changing the game

In a world where Google, Amazon and Facebook dominate the tech space, Cloudflare has stolen away the headlines for the betterment of the internet with its recent announcement. The company announced on its 8th birthday that they would be launching a domain registry, and it is unlike any we have seen before.

Cloudflare, to the shock of many in the industry, has decided not to charge anything above the federally mandated cost to register a domain with the government. That is right; this multi-billion dollar company has chosen to not make a single penny off of your domain registration. In a world where the average Canadian spends between $10-$15 per domain, this is remarkable.

Cloudflare is not a small company and is about the same scale as Google at the moment. It has a core set of business that sees itself as a content distribution platform and secure infrastructure vendor for millions of client across the globe. It also has recently announced it is on a path to an IPO and has raised hundreds of millions of dollars in preparation for this. So why do this?

Cloudflare is a unique company in the tech and capital market as they are doing two different things than any other major brand. First, the company does not see the internet as a property that you can corner, and instead looks to promote a free, equal and open internet, much like the values from Internet 1.0. Secondly, the company is doing things for the good of the internet, and although this might ultimately fail once the company scales, it is still a refreshing view from a larger company in the tech space.

This does leave one important question for consumers, what does this mean for the cost and registration of their domain? Well, it is a little up in the air. The Cloudflare system is still being tested and should be live within the month, but it looks to be set up similar to every other registry system. If you are up for renewal, it might be time to take a look around and see if you can benefit from using this new system. As well, for those who are operating hosting or other third party services, your overall cost to your company to get a website should start to drop for your packages if you choose Cloudflare as your registry option.

However, this does still leave some questions. Will the other registry companies like GoDaddy also drop their prices, or will they continue the same old costing options going forward? As well, if you are looking for other nations or domain names, will Cloudflare offer those? Finally, will Cloudflare provide an easy to use swapping option? These are all tough questions, and we will need to wait and see how Cloudflare’s announcement has changed the industry in only a few short weeks.

What are your thoughts? Is this just a bump in the road for the major registry options on the web, or the start of more competitive space for those looking to register domains?