T: 773-433-8114

  • Home
  • Business Services
  • Technology Services
  • Resources
  • Blog
  • Contact us

January 18, 2017 By wbadmin Leave a Comment

2 Easy Steps to Prevent Computer Infection Through Email

Many computer viruses, malware, ransomware, and other unwanted software get installed because someone opens an email attachment or click on a link that they think is legitimate.  Often, the email seems to come from a bank or a common website like amazon or ebay, and it tells you that you need to click on a link to fix a problem with your account or look at an attached bill to avoid additional fees.

It is vitally important to be able to differentiate between legitimate emails and those that only appear to be legitimate.  Here are 2 easy steps that you can take when you get an unsolicited email that tries to get you to click on a link or open an attachment:

Don’t Click On Links in Unsolicited Emails

If the email contains a link to go to your account, view a message from the website, pay your bill, etc. DON’T click on the link.  Rather, open your web browser and type in the website directly.  Then log in and see if there is a message waiting for you.  Never trust a link in an unsolicited email because there are many ways to trick you into thinking that it is a valid link when it is not.

Also, if it is not a legitimate email, often the link will contain tracking information so the sender would know that you read and responded to that email.  Armed with this information, the sender can continue to send you similar emails in the hopes that you will trip up once and fall into their clutches.

Check the Actual Email Address

Most email programs or web-based email systems only show you the name associated with the email address.  For instance, you will see Bob Smith as the sender and his email address bsmith@acme.gov will not be visible.  This allows a malicious email sender to disguise their true identity.  For instance, here is one that I pulled out of my Spam folder: PayPal Security Team <security@payservices.net> – the real email address appears between the < and >.  The name that you see as the sender is PayPal Seurity Team, but the real email address is security@payservices.net.  A legitimate email from PayPal should be from …@paypal.com not …@payservices.net.  So, before clicking a link (which you hopefully won’t do) or downloading a document, verify that the email address matches the claimed sender.

Another trick that is used is putting a fake email address as the name so that it appears in the sender column to be a legitimate email address.  For instance, the fake Paypal sender could have used support@paypal.com <security@payservices.net> as an email address with a name that looks like an email address.  Most email applications or web-based email systems will display the support@paypal.com part and you could be fooled into thinking that the sender was legitimate.  Don’t forget that the real email address is between the < and >, so the real address is security@payservices.net but the malicious sender hopes that you won’t notice.

Here is how to see the full email address for some email platforms:

Gmail

To see the real email address in gmail, simply move your mouse over the name of the sender and leave it hovering there for a few seconds.  The complete email address then pops up underneath like this:

Real Email Address - gmail
The real email address is in the red rectangle.

Outlook Web

The real email address is displayed between < and > above the message like this:

The real email address is in the red rectangle.

Thunderbird

The real email address is displayed between < and > in the header above the actual message like this:

Real Email Address in Thunderbird
The real email address is in the red rectangle.

Other Email Systems

Most email systems will show you the real email address above the message itself, similar to Outlook Web and Thunderbird, or by holding your mouse over the sender name, like gmail.  If you have problems finding the real email address, you can search for “see actual email address in …” where … is your email system.  That is exactly what I would do if you asked me the question.

On a smartphone

I highly recommend not even opening suspicious emails on your phone.  Just opening an email may send information to the sender letting them know that you got the email and are reading it.  It is best to leave these emails unread until you can open them on you computer.

Conclusion

The 2 suggestions mentioned in this post will help you catch a lot of illegitimate emails that are trying to trick you into clicking on a link or downloading a malicious document or software.  There are many other things that you could look for, but I wanted to share a couple of simple concepts that could prevent you from falling into common traps.

Please be paranoid about unsolicited emails about accounts, bill, fees, collections, or even security related emails that look like they come from a popular website.  If you are not sure if something is legitimate, be cautious.  Getting rid of a virus or other malware is often very painful and costly.

Filed Under: Uncategorized Tagged With: Email Safety, Malware Prevention

February 21, 2016 By wbadmin 2 Comments

Splitting a GMail mbox File by Label

There are often times that it is necessary to backup your gmail mail and import the resulting mbox file into your favorite email client. I use Mozilla Thunderbird as a powerful, yet free, email client. However, the mbox file that is exported by gmail is flat – all email from the gmail account are put into one mbox file. Writing a Thunderbird extension was quickly becoming too tedious. (The developer documentation is the worst documentation I have seen! But that is a rant for another time.) So, I decided to write a simple python script to split the mbox file into separate files for each label. It is not perfect (an email in gmail can have multiple labels but will only exist in one mbox file).

Without further ado, here is the script:

import sys
import getopt
import mailbox

def main(argv):
	in_mbox = "MikeBackupInbox.mbox"
	prefix = "MikeBackup"
	try:
		opts, args = getopt.getopt(argv, "i:p:", ["infile=", "prefix="])
	except getopt.GetoptError:
		print("python splitgmail.py -i  -p ")
		sys.exit(2)

	for opt, arg in opts:
		if opt in ("-i", "--infile"):
			in_mbox = arg
		elif opt in ("-p", "--prefix"):
			prefix = arg
	print("Processing file - " +in_mbox+" with prefix = "+prefix)
	boxes = {"inbox": mailbox.mbox(prefix+"Inbox.mbox", None, True), "sent": mailbox.mbox(prefix+"Sent.mbox", None, True),"archive":mailbox.mbox(prefix+"Archive.mbox", None, True)}

	for message in mailbox.mbox(in_mbox):
		gmail_labels = message["X-Gmail-Labels"]       # Could possibly be None.
		if not gmail_labels:
			boxes["archive"].add(message)
			continue
		gmail_labels = gmail_labels.lower()
		if "spam" in gmail_labels:
			continue
		elif "inbox" in gmail_labels:
			boxes["inbox"].add(message)
		elif "sent" in gmail_labels:
			boxes["sent"].add(message)
		else:
			saved = False
			for label in gmail_labels.split(','):
				if label != "important" and label != "unread" and label != "starred":
					box_name = prefix+label.title()+".mbox"
					if box_name not in boxes:
						boxes[box_name] = mailbox.mbox(box_name, None, True)
					boxes[box_name].add(message)
					saved = True
					break
			if not saved:
				boxes["archive"].add(message)

if __name__ == "__main__":
    main(sys.argv[1:])

Filed Under: Uncategorized

June 5, 2015 By wbadmin

Business Catalyst Custom Order Fields

I have been doing a lot of work lately in Adobe Business Catalyst.  I am not sure that I would recommend this product to anyone, since there are many problems with the system and the lack of proper customer support.  However, I don’t want to get into that now.

One of the problems that I have been trying to solve is as follows.  Customer service at a company that I work for uses the same order entry system as the end user.  The bring up the external website and walk the customer through the process over the phone.  The problem is that we cannot track phone orders back to the referral source and therefore have no way of knowing the true number of acquisitions through adwords, for instance.

I wanted to add a checkbox to the check out form that asks if this order is customer service assisted.  This checkbox should only show up for orders originating from the company IP address.

Here are the challenges:

IP Address

Getting the user’s IP address in BC is straight forward.  There is a BC tag {module_visitoripaddress} for that purpose.  However, I did not want to have our IP address visible in the code, so I included a hash function.  The following code illustrates the approach using jquery:

String.prototype.hashCode = function() {
  if (Array.prototype.reduce) {
    return this.split("").reduce(function(a,b){a=((a<<5)-a)+b.charCodeAt(0);return a&a},0); 
  } else {
    var hash = 0, i, chr, len;
    if (this.length == 0) return hash;
    for (i = 0, len = this.length; i < len; i++) {
      chr = this.charCodeAt(i);
      hash = ((hash << 5) - hash) + chr;
      hash |= 0; // Convert to 32bit integer
    }
    return hash;
  }
};

Then insert the following in the $(document).ready function (replace the hashcode below with your own):

if("{module_visitoripaddress}".hashCode() == <hashcode for your ip address>) {
  $(".phone-order").css("visibility", "visible");
}

Attaching the field to an Order

The next challenge is to add a field to the order.  First, we need to extend the database by going to CRM->Extend CRM Database, and adding a new CRM form.  Put the additional fields into that form.

One thing that is not obvious in building a Business Catalyst site is that the Online Store Template for Registration – Buy uses a form defined in the Web Forms tab for submitting an order.  So, to add another field to the order,  you need to add the new CRM form to that web form (it may be called Check Out).  From there, you can copy the field from the generated HTML into the Registration – Buy template and, Voila!, you have a new field in your order.  Make sure to surround the new field with a div that has the phone-order class so that the above javascript will work.

(Unfortunately, the form HTML is not well formatted, so it is hard to find the right field.  One way to fix this is to copy the HTML from BC and paste it into dirtymarkup.com and click Clean.)

Adding a Survey Post Order

You can also add more details to the order on the Receipt – Buy page after the order has been processed.  The process is similar to above.  1.  Create a new CRM form with the information you want to capture and, this time, make sure to apply this form to the Order entity in the last tab of the CRM form creation process.  Because the form is submitted with an Order ID (&OID={module_oid}), BC will attach the data to that order.  2.  Create a web form and copy the code into the Receipt – Buy page.

 

Filed Under: Business Catalyst, Process Automation

May 12, 2015 By wbadmin

Automating File Downloads Using Existing Tools

Background

Recently, I started regularly examining some log files from a manufacturing plant in South Korea. We have two computers, one Dell and one Sony, at that manufacturing facility that run through a test procedure at the end of the manufacturing process. The software that automates this test procedure writes out an extensive log of everything it does into dated files in a folder on that computer.

The Problem

Every few days I would remotely log onto the computers at the manufacturing facility, navigate to the folders with the logs and transfer the logs to my own computer for examination.  Due to slower network speeds and the manual steps involved in the process, I could easily spend 10 minutes getting the files before I even started to examine them.

There must be a simpler way to get these logs automatically so that I could spend my time on more productive tasks.  So, the question was: how do I use off-the-shelf software to get the files to my computer without writing software or scripts?

The Solution

After examining several different options, I implemented a solution using the following tools:

  • Dropbox – for synchronizing the files.
  • SyncToy – for copying the log files into the correct Dropbox folder.  The help file describes how to schedule SyncToy to run automatically with the Task Scheduler in Windows.

To implement the solution, I did the following:

  1. Created a new Dropbox account so that other work files were not mistakenly synchronized to the computers at the manufacturing facility.
  2. Installed Dropbox on one of the manufacturing computers and created  Logs\Dell and Logs\Sony folders under the Dropbox folder.
  3. After confirming the email address for the new Dropbox account, I shared the Logs folder with the Dropbox account that I use on my computer.
  4. Installed SyncToy on that computer and created a folder pair as follows:
    1. The original logs folder is the Left Folder and the Dropbox\Logs\Sony folder is the Right Folder.
    2. In the second step, selected “Echo,” which echos changes from the Left Folder into the Right Folder.  This allows for the changes to only go one way.  Mistakenly making changes in the Dropbox folder will not affect the original files.
    3. Gave the pair a name and finished creating the pair.
    4. Once the pair was created, I clicked on the “Change options…” link and selected “Check file contents” since we want any changes in the content of files to be echoed to the Dropbox folder.
  5. Followed instructions in the help file to set up an automated task to run SyncToy at midnight.  Here are the instructions from the help file:

Windows Vista/ Win7

To schedule a task using the operating system:

  1. From the Start menu, select All Programs – Accessories – System Tools – Task Scheduler.
  2. Select Create Basic Task in the Actions pane on the right.
  3. Add a Name and Description and select Next.
  4. Choose when you want the task to start and select Next.
  5. Choose date/times (if applicable) to run task and select Next.
  6. Choose Start a Program option and select Next.
  7. Select Browse and locate the SyncToyCmd.exe.
  8. Type “-R” in the Add Arguments textbox. –R all by itself will run all folder pairs that are active for run all. If you want to run just a single folder pair, add –R “My Pair” to the end of the command line.

On Windows 8/8.1, you can find the Task Scheduler by pressing <WindowsKey> + x, selecting Control Panel, selecting Administrative Tools, then Task Scheduler.

I repeated the installation of Dropbox and SyncToy on the other computer and set up the folder pair and task scheduling.

Viola! Every night at midnight (South Korea time), files are copied from the Logs folder on both computers at the manufacturing facility to the appropriate folder in Dropbox.  Dropbox then synchronizes the files to my computer and I have access to the files without the manual work.

If you would like me to automate manual tasks for you please contact me at wbayever(at)wboptimum.com or 773-433-8114.  I look forward to helping you become more productive!

Filed Under: Process Automation Tagged With: process automation

February 11, 2015 By wbadmin

Consistency in Customer Interactions

One of the problems that processes and systems solve is being consistent when working with your customers or partners.  All too often, a company’s interaction with the outside world depends on the individual who is communicating.  So, a person will call up customer support multiple times and have a different experience each time.  This can be frustrating for the customer.  In addition to being told different things, a person can be treated differently depending on the individual and possibly the individual’s mood.

There are a few personal examples that I would like to use to illustrate this.

Canadian Customs

A few weeks ago my son, who had come home for a weekend, went back to Toronto to continue his religious studies at a school there.  He has a visa and this was the third time that he was entering Canada with this visa.  The customs agent told him that everything was wrong and he should not have even been let into the country back in October.  He sent my son to “the back” for processing.  The next person to talk to my son looked at his documentation and told him that everything was in order and that it was OK for him to continue.  He also helped him understand his situation and what he needed for the future.

Consistency, consistency, consistency!  I was not there, so I don’t know if the original customs agent was having a bad day, if he was new and not properly trained, or if there was another “excuse” for mishandling the situation.  However, if customs were a competitive environment, they would have lost a customer!  I would tell my son to try the competition next time.

Apple App Review Team

Another example happened to me recently.  At Sound World Solutions, we have been working on a beta version of an app to customize the CS50 personal sound amplifier (you can follow the link if you want more information).  Since the app cannot be used without the hardware, I have had a note in the Notes box since the first beta submission that mentions that we will submit a demo video when we release the app.  For 6 submissions, the reviewer had no problem letting the app go through for our beta users without a video.  On the 7th submission, the reviewer decided that he will not let the app through and we need to submit a video.

Did something change??  I don’t know.  However, I suspect that the reviewer was not properly trained.  The instructions that he gave to add the video didn’t even work.

Consistency, consistency, consistency!

Starbucks

Starbucks has a reward system where after earning a certain level you can get free refills on your brewed coffee or tea.  Here are the rules:

“You must use your registered Starbucks Card to purchase a beverage and then present that same Starbucks Card for refills of hot or iced brewed coffee or tea during the same store visit at participating Starbucks® and Teavana® stores”

Here is an article that explains the benefit in more detail.

However, there is plenty of room for inconsistency from store to store.  In this post, there is the following question:

Can I get a free refill if I went outside and had my beverage on the store’s patio?

I don’t know the exact answer to this.  I’ve actually heard baristas say both yes and no to this.  It would seem to me that since you’re still on the store’s property, you should be able to get a free refill.  This appears to be another area of ambiguity.

(the underline is my own)

In addition to free refills, you can get a free beverage loaded on your card for every 12 stars if you are a Gold Level member.  But, did you know that not all locations participate in this reward?  I went to a Starbucks in Target and was charged the full cost of my latte, even though I used the card with the reward “loaded” on it.

So, now I am confused about where and when I can get a free refill or free beverage.  Obviously, I don’t feel like I am getting a consistent customer experience and I don’t know what to expect the next time I walk into a Starbucks and try to use the benefits of the rewards program.

In Conclusion…

As a small or medium sized business, we do not have the luxury to give our customers an inconsistent experience when working with our brand.  Unlike Canadian Customs, our customers can go elsewhere.  Unlike Apple, we aren’t the gatekeepers to other companies customers.  Unlike Starbucks, we don’t have an overwhelming presence that keeps our customers coming to us, despite the inconsistencies.

If you haven’t already started writing a customer service manual or at least documenting the proper customer facing processes or systems, I highly recommend that you get moving.  You don’t want to lose customers to your competition because they are treated differently every time they interact with you or your brand.

Filed Under: Consistent Customer Service

Helpful Articles

  • Business Catalyst (1)
  • Consistent Customer Service (1)
  • Process Automation (2)
  • Uncategorized (2)

About Company

WB Optimum was established to help business owners get their operations under control, reduce stress, and spend time on the appropriate tasks.

Location

Chicago, IL
T: 773-819-0471

Copyright © 2025 · Wboptimum