Image Sizes

Images Sizes and why they are important!

Have you ever had your web designer ask for a larger image or an image with higher resolution? Did it leave you confused and wondering what exactly the designer was talking about? Or have you had a designer tell you that they cannot use an image and you think they were being stubborn about the image? Image resolution can play a huge part in the overall feel of your website. In many ways, it is what creates the difference between an amateur looking website versus a more polished, professional site. So, let’s get into the nitty-gritty of image resolution and why the size of your image does in fact matter a great deal.

What is Image Resolution?

According to the Merriam Webster dictionary, image resolution is “a measure of the sharpness of an image or of the fineness with which a device (such as a video display, printer, or scanner) can produce or record such an image usually expressed as the total number or density of pixels in the image.” To further explain the definition, the image size is described in pixels of width and height. If you see an image with a measurement of 1248×650, that means the image is 1248 pixels wide and 650 pixels high. To avoid getting too technical, a pixel is a measurement. It basically signifies how many tiny squares of various colors, make up that image.

What Happens to an Image that is Too Small?

Now that we understand what image resolution is, why is it important? An image that is too small for the space if used will look distorted and pixelated. If you have ever seen Minecraft than that will give you an idea of what pixelated is with it box structures. Seeing pixels might be just fine for Minecraft, but it does not create a good-looking image for a website. How do I Find the Size of my Image? Finding the image size is fairly easy. On a Mac, you can right-click on the image file in Finder and click “Get Info” from the menu. All the information pertaining to the image will pop up. Find Dimensions and that will be your image size. Remember it is width x height. In Windows, you need to right-click then click “Properties,” from the menu. In the properties window that opens up, click the “Details” tab and look for the image’s Dimensions.

What Size Should my Images Be?

A designer can always scale down an image, but should never scale it up. In other words, a large image can be shrunk to fit a smaller area, but a smaller image cannot be enlarged without affecting the look of an image. A designer would rather you sent them an image that was 5847×2658, even if they only need it for a space 640x480px. They can take this image and resize and even compress it to the correct size for the website. A minimum of 1280px wide should work for most website uses. Though if it’s going in a large, full-width space, it may need to be more than double that: 2560px wide. If you just don’t have a high enough resolution version of an image for what’s needed, don’t be disappointed if your web designer says it’s just not usable in the place you wanted it.

Is it Okay to Stretch My Image?

Images don’t stretch! They are not yoga masters. When adjusting image size, it needs to be done proportionally or the image will look elongated or squashed. It’s like one of those mirrors that make you look super skinny and tall or fat and short. Images should only be shrunk proportionally. That means adjusting an image while preserving the aspect ratio. In other words, maintaining the same proportion of horizontal vs. vertical pixels. As designers, we don’t stretch images, but we will scale them proportionally or crop them if needed to fit in a space.

What to Send Your Web Designer

So remember: always send your web designer the highest resolution version of the image that you have. And don’t stretch, shrink, or crop it. Trust the web designer to do that.

How does Greylisting work?


Greylisting is an anti-spamming technique. This is done by a Mail Transfer Agent (MTA) or simply an email server. It is an effective method against email spamming. As the name indicates,  greylisting stands between whitelisting and blacklisting. Suppose you are adopting the exim as your MTA and you are using greylisting in it to prevent the spamming. Now, your MTA will reject any email from an unrecognized sender. This rejection will be temporary. The server will then wait for a predefined time period to see if the rejected email is resent. Suppose the email was a legitimate email, then the email will be resent by the sending server after a time period. This waiting time of the rejecting server will be enough to receive the resent email. If it is received again within the time period, then the server will deliver it to the recipient. Then the sending email will not try to resend it, so that your MTA will wait for the predefined time and will not get the email again.

How does the greylisting work

As we’ve seen earlier, greylisting enabled server will reject the emails from any unknown or suspected email senders. The MTA will keep a record of three pieces of data as follows.

1) The IP address

2) The envelope sender address

3) The envelope recipient address

These three pieces of data is known as the “triplet”. The three technical terms are described below. To understand this better you need to have an idea on how the email is being sent. The emails are sent using the SMTP protocol on Internet. In this protocol, the emails are sent in units called envelopes. When an email is sent, first the address of the envelope sender is sent, then the recipient address and finally, the actual message. It will consist of the header and body of the email message.

IP address: The IP address of the sending MTA.

The envelope sender address: There are two type of addresses in respect to sending an email. They are the Envelope sender and the from addresses. The first one is mentioned here. It is the email address where the computer will respond to the email in the case of an error or a bounce back. The second one will be the address to which the human will respond. In most cases, the two will be same, but there can be a chance where the two are different.

The envelope recipient address: Like the envelope sender address, there is also envelope recipient address. The envelope receiver address can’t be spoofed. It is unable to display this address for users.

The triplet contains these three data parts. The triplet is registered in the internal database of the email server. The time when the email reached will also be stored there. Now what the email server does is it rejects the email with a temporary error. These errors are defined in the SMTP protocol as 4XX codes. Most of the spams will be sent not using the RFC compliant MTA. They will not try to send back these emails where the fully qualified SMTP implementations are expected to send these emails after a short delay.  The spamming email server will not send them back and that’s how spamming is prevented with the greylisting. The waiting time can be as short as some minutes or a couple of hours. If the sending server is allowed to send the email within this expected time, the server is identified as non-spam source and it will be whitelisted for a longer time. Once a server is whitelisted, the MTA will trust and will not interrupt future messages as long as the server is white-listed on it.

Greylisting can be turned off on the cPanel, but might result in receiving more Spam or Junk Emails.

If you need any further assistance please contact me.

Brexit and Online Dispute Resolution


Important information regarding cases involving UK users

On 29 March 2019, the United Kingdom will withdraw from the European Union. In the event that no withdrawal agreement will be in place on that date (so-called “no deal-Brexit”), the UK’s withdrawal will have the following impact on the use of the European ODR platform:

After 29 March 2019

  • Consumers resident in the UK will no longer be able to submit a new complaint on the ODR platform. They will also not be able to act on any ongoing cases in the platform, whether to send it to a dispute resolution body, contact a UK ODR advisor, or receive an outcome.
  • Consumers resident in the EU or Norway, Iceland or Liechtenstein will no longer be able to use the ODR platform to complain about a UK trader or send their case to a UK dispute resolution body.
  • Traders established in the UK will no longer be able to access their ODR dashboard.
  • Traders established in the EU or Norway, Iceland or Liechtenstein will not be able to act on any ongoing cases concerning UK consumers in the platform or suggest UK dispute resolution bodies.
  • All users can no longer export any relevant complaint data concerning UK consumers or traders from their dashboard. Users have the possibility to export relevant complaint data before 29 March 2019.
  • All users will not be able to contact the UK ODR advisor. Please contact them before 29 March 2019.

For further information, please contact your national ODR advisor.

GDPR and Google Analytics

gdpr and google analytics

One aspect of the GDPR is that its no longer allowed to track Google Analytics on a per IP basis (which is what it does by default).
One solution is to “anonimize” the IP before its sends it to their (Google’s) servers. To comply with this you can adjust the built-in Analytics feature ; all IPs will be anonimized per these instructions; httpss://developers.google.com/…/analyticsjs/ip-anonymization) .
If you are concerned about Privacy or your GDPR Status and need Help with implementing this please get in touch.

Difference between Server Side Caching and Browser Caching.

We probably all know how to clear a Browser Cache to view the latest updated Version of a Webpage. This is something we can do locally on our Computer or Laptop. But Servers also cache Pages sometimes and I have seen instances where the Server or Provider has not cleared cache for a couple of days.

So what is the difference between Server and Browser Cache?

Browser Side Caching: Your web browser (Chrome, Firefox, Safari, or whatever you use) decides to remember how a webpage looks like so it doesn’t have to ask the server to send the webpage again. This saves time (and bandwidth) by eliminating almost the entire network communication. However, if the server decides to change the way the webpage looks like, you’re in trouble because the browser’s “memory” of how it thinks the page should look like is now out of date, and it’ll give you an old version of the page instead of the new one. This is why people sometimes tell you to “clear your browser cache”– that forces your browser to “forget” what the page looks like. This forces it to ask the server for the new, updated version of the page.

Server Side Caching: The server responsible for generating the webpage (i.e. putting the webpage together), decides to remember how the webpage looks like, so it doesn’t have to generate it again. This saves time (but not bandwidth) because now the server doesn’t have to go through the trouble of constructing a whole page– it can just re-send whatever it sent last time the browser asked for it. However, if any data on the webpage needs to change, the server is forced to throw away its “memory” of what the page looks like, and it will need to generate the page again. This kind of caching is useful if the page is really complex and takes a lot of time to generate

Mailbox Full? / POP3 vs.IMAP Email Setup

POP3 vs. IMAP Email Setup

If you use an email app (such as Outlook or Apple Mail), you’ve probably seen these acronyms before.  If you’ve previously used other email services like GMAIL or MOBILE ME, your email client may have simply set up your accounts automatically, and you may not have had to think about which set up was right for you.

Most of the hosted email accounts (including the ones I set up for you) can be set up either way though. So it might make sense to decide whether POP3 or IMAP is best for how you use email.

Once you understand the difference between POP and IMAP, it can actually revolutionize the way you use email—and it can help turn your Inbox into an effective productivity tool.

More and more mobile devices and updated versions of email clients are defaulting to an IMAP set up when doing an “Automatic” set up, so it’s good to understand what IMAP is, before you get locked into that set up, as it may not be the best set up for your email behavior, especially on our servers.

Let’s break it down . . .

When someone sends you an email, it’s stored on your website’s server. You can access this new email one of two ways:

1) POP – Using your email app (Outlook, Apple Mail, etc.), you can download your email to your computer, and then delete it from the server.


+ You don’t need to worry about running out of online storage space. Since you’re downloading your emails to your computer, you can keep as many emails as your computer can store.

+ You will need an Internet connection to download email, but you can manage (ie: search your inbox, and folders) your downloaded email offline (i.e., without an Internet connection).


– Since your email is stored on your computer, you must be at that computer to manage your email. This prevents you from managing email on-the-road or from your mobile device. (Although you can set your email client (Outlook or Apple Mail) to NOT DELETE email off the server for a certain period of time, if you plan to travel, or do check your email from multiple devices, thus enabling you to get your email on each device.  It just requires checking the server with all the devices in a regular manner.

– You will need to implement an effective backup system for your computer, in case you need to retrieve lost or deleted emails.

Is POP the best productivity choice for you?

If you always access your email from one computer, and you have limited online storage capacity or use a dial-up connection, POP is probably best for you. It will save you the hassle of worrying about online storage limits or poor connection speeds. Just be sure you back up your computer regularly.

* By default, POP will download and then delete all email in your mail server’s Inbox; however, most email apps will give you the option of keeping email on the mail server, if you prefer. This way you could check your email using our webmail application, Squirrel Mail, from another location.  You could also download emails using a mobile device.

IMAP – Using your email app (Outlook, etc.), you can manage your email directly on the mail server, rather than downloading it to your computer.


+ Since the emails are stored on the mail server, you can access and manage your email and email folders from multiple computers or mobile devices.

+ Email is automatically backed up; so, if you accidentally delete an email, your email administrator can retrieve it.


As your email mailboxes do not have unlimited online storage space, you will need to delete emails periodically to avoid exceeding your storage capacity.  If you want to SAVE the emails, you can  simply “move” the emails from your InBox on the Server to your “Personal” folders on your “local” computer.

– If your Internet connection becomes unavailable, you cannot access your email offline.

Is IMAP the best productivity choice for you?

If you need to access your email and email folders from multiple computers and/or a mobile device, IMAP is best for you. Your email will be centrally located on the mail server, so you can access it directly from any Internet connection.

* By default, email apps store your sent, draft, and trash email on your computer, rather than storing it on the email server (as it should with an IMAP connection); however, most apps give you the option of using your online Sent, Drafts, and Trash folders instead.

Regardless of whether you choose POP or IMAP, you can continue to use your favorite email app—such as Outlook, Thunderbird, Apple Mail, etc.

We generally encourage our clients to set up their email clients, and mobile devices, using POP3, as our servers, while very reliable, are not infinitely large.  POP3 makes it easy for users to manage the size of their inboxes on the server (thus allowing the user to continue to receive email uninterrupted), because email clients can be set to automatically delete email off the server after a set number of days.  This usually is the best scenario, because then the user doesn’t have to remember to move email manually from the INBOX down to local servers.

POP3 set up is especially useful to those clients who don’t want to incur the extra cost of extra Cloud storage, or for a hosted exchange set up (also cloud based). With a POP3 setup, users can set their email client to leave email up on our servers, and thus still check their email from multiple mobile devices (smart phones, tablets), (without having to use the IMAP set up), and easily download and archive their email to one (or many) local harddrives.  This makes it very easy for users to archive gigabytes of email for professional reasons, which would cost much more under a cloud storage or Hosted Exchange framework.

IMAP is really only best for people with guaranteed Internet access at all times, and who never need to access old email stored locally when out of Internet reach.
Here is a YouTube Video Clip explaining it all.

And users can always access email directly from the email server via our webmail applications, Squirrel Mail, Horde or SmarterMail. (they all do the same thing, allowing you to access or view your emails online but differ in layout.)

WordPress 4.4.1 Admin Login Issues

Did your WordPress Website Auto Update to 4.4.1 and you have a wp-admin Loop or Re Direct Issue?
Ask your Hosting Provider to disable ModSecurity Rules #214620 & #214940.
This worked for me.If you do not have access to disable the Rules yourself you can test this by disabling ModSecurity completely (temporarily and not really recommended).If your Login redirect or loop issue is gone, then that is the Issue. Enable ModSecurity again and ask your Hosting Provider to just dis able those two Rules.

Is Google slowing your Site Down?

google tool pagespeed insights

Is Google Slowing your Website down?

How do you leverage browser cache for Google analytics. Since Google added page load times to its ranking system It is ironic that the google analytic code should slow your site down.
Use this safe Google Tool to test your Site for Speed and then read below for some solutions.

Contact me if you need some help.

The short answer is to host it on your own server and download the latest script from Google daily. This way you get to cache the java script as well as cache it,

Google Analytics can be tamed

Here is a step by steip process:

First you need the Google analytics code which you can get by typing google-analytics.com/ga.js This is quite a large script and you can see WHY it slows your site down right away.

Secondly you will need to create a file on your hosting account, create the file in the root folder of your domain.Call it whatever you like as long as it ends with .js
I just called it ga.js

Next, copy all that information from the Google analytics code, just press (control A) and save it inside the file you just created on your hosting account. You can do that via FTP or through Cpanel, Godaddy file manager and whatever other set up hosting companies use.

So that’s the first part out of the way, whats next…

Now that we have the script on our hosting account, we need to make sure it works.

Grab you Google analytics script which would look like this:

<script type="text/javascript">
  var _gaq = _gaq ¦¦ [];
  _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('httpss:' == document.location.protocol ? 'httpss://ssl' : 'https://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

Look near the bottom where it says ‘.google-analytics.com/ga.js’; change it to yourdomain.com/ga.js or whatever you called your script. Then it would look something like this

<script type="text/javascript">
  var _gaq = _gaq ¦¦ [];
  _gaq.push(['_setAccount', 'UA-XXXXXXX-X']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('httpss:' == document.location.protocol ? 'httpss://ssl' : 'https://www') + '.diywpblog.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

Refresh your page when complete and right click to view you source and scroll to your google analytics code to make sure it is there. Also enter your google analytics code in to your browser and it should load the same content as the analytics link above.

How do we update the script

There are two options here, the first is you could copy the google analytics script by typing in google-analytics.com/ga.js and copy its content each day to make sure your up to date, or we can employ the powers of cron.

What is cron?

Cron is in simple terms a way of executing commands or scripts on a daily, weekly, monthly, yearly basics to perform automated tasks. What we want to do is set up an automated task to download Google analytics java script each day to make sure it is up to date.

Create another file and call it something like ga-cron.php and save it to the same place you saved the Google analytics code which should be your root folder. Then copy this code in to the folder and save. You will only need to make one change, Where is says Insert absolute path to the file here.

Usually the absolute path can be found on your dashboard but to quickly find it if its not clearly stated is to enter your domain in to that line followed by the ga.js or whatever name you used for you Google analytics script. Then run this script by typing in your browser, https://Your-domain-name.com/ga-cron.php When you do this the script will execute, but there will be errors, one of them will be about using https. Copy the bold error because that contains your absolute path and change it as necessary.

Once you can run the script with out error then your good to move on to the final part.

Note: for the ga.js file make it writable.

// script to update local version of Google analytics script

// Remote file to download
$remoteFile = 'https://www.google-analytics.com/ga.js';
//For Cpanel it will be /home/USERNAME/public_html/ga.js

// Connection time out
$connTimeout = 10;
$url = parse_url($remoteFile);
$host = $url['host'];
$path = isset($url['path']) ? $url['path'] : '/';

if (isset($url['query'])) {
  $path .= '?' . $url['query'];

$port = isset($url['port']) ? $url['port'] : '80';
$fp = @fsockopen($host, '80', $errno, $errstr, $connTimeout );
  // On connection failure return the cached file (if it exist)
} else {
  // Send the header information
  $header = "GET $path HTTP/1.0\r\n";
  $header .= "Host: $host\r\n";
  $header .= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070725 Firefox/\r\n";
  $header .= "Accept: */*\r\n";
  $header .= "Accept-Language: en-us,en;q=0.5\r\n";
  $header .= "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7\r\n";
  $header .= "Keep-Alive: 300\r\n";
  $header .= "Connection: keep-alive\r\n";
  $header .= "Referer: https://$host\r\n\r\n";
  fputs($fp, $header);
  $response = '';

  // Get the response from the remote server
  while($line = fread($fp, 4096)){
    $response .= $line;

  // Close the connection
  fclose( $fp );

  // Remove the headers
  $pos = strpos($response, "\r\n\r\n");
  $response = substr($response, $pos + 4);

  // Return the processed response
  echo $response;

  // Save the response to the local file
    // Try to create the file, if doesn't exist
    fopen($localfile, 'w');

  if(is_writable($localfile)) {
    if($fp = fopen($localfile, 'w')){
      fwrite($fp, $response);

Finally we need to set up the cron

The cron is simply gonna execute the php code above.

For Godaddy you can do this by going to content—> cron job manager.

Select create cron: give it a name: select update frequency.

I set mine to every hour, but you can do it once a day or once a week, its up to you.

Where it says command, don’t type anything in there, just select browse and select the php file you created then save.


For Cpanel select cron jobs.

Select common settings to set a frequency.

Then you need to type the command which should be something like

php /home/username/public_html/ga-cron.php

Fill in the appropriate information.

General points

I would run the cron at 5 minute intervals at first and check the modification time of the Google script which you have on your server, if it changes by itself then you are good to go.


By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.