Is “The Cloud” a Good Solution For You?

  • Introduction

    – With everything in the media about “The Cloud”, you might think
      it’s the best new thing out there. However, there are some good
      things and even some not so good things to consider. You could
      think of  “The Cloud” as another hard drive somewhere else on the
      Internet that you don’t control. Flexibility and convenience are
      among the greatest cloud benefits whereas vendor lock-in and loss
      of control of your data are among the least useful items. We’ll
      take a look at just a couple of popular cloud use cases. Whether
      the cloud is right for you, for those things you can control –
      your data – is up to you.

      The blog below makes a few points and asks a few questions to
      consider.

– The Cloud In General

    – The good (these are very good reasons to consider using the cloud)
        – Works from any computer
            – Create an account using DropBox, SkyDrive, or iCloud and
              you’re easily able to store and, in most cases, sync your
              data across multiple devices
        – Usually free to use up to a certain data threshold
        – It’s easy. Nothing much to set up other than the basic cloud
          server connection information
    – The not as good (these are very good reasons to be skeptical
      about using the cloud)
        – Vendor lock-in
            – Proprietary cloud solutions by major vendors
                – iCloud, SkyDrive, …
                – No secret that companies want you to use their cloud
                  implementations so you’re “stuck” with them
        – Change of Service provisions
            – “Terms of Service” and their inevitable changes you must
              agree to use and to continue to use the cloud service
                – Remember if it’s free….”you are the product.”
                – Service could go from free to paid at any time
                – Shrinking free data amounts over time
        – Your data is under the total control, whims, and profit
          motives, of the cloud vendor
        – Your cloud account could be disabled, removed, or corrupted
          through no fault of your own
            – As one example, read the article below and draw your own conclusions:
              http://www.pcmag.com/article2/0,2817,2456807,00.asp
            – What happens to your data if your account is removed,
              locked out, corrupted, hacked, etc.?
                – Do you have a backup for this contingency?
                – Did you also have a local copy of your data or did
                  you trust the cloud to be totally fault tolerant?
        – Questions exist about who actually “owns” your data when it’s
          cloud-hosted
            – (yikes!)

– Cloud Computing

    – Cloud Computing is when you run applications from the Internet,
      not from your computer. You generally, almost always, pay a
      regular fee to use these applications.
    – Advantages
        – Software is usually up to date
        – Use the software only when you need it
        – Limits software installed locally and maintaining it
        – Less money up front to get software access
    – Disadvantages
        – Pay to play required — If you don’t pay the fee, you don’t
          have the software
        – Harkens back to mainframe computer days where you get
          services from the “mainframe”, now “the cloud”
        – Seen by many as a cash grab, mainly serving to improve
          monthly cash flow for software vendors
       – Losing Internet connection or the company going offline for technical
          or other reasons means no application access

      
– Cloud Backups and Restores

    – You lose control of your backed up data “in the cloud” (someone
      else’s computer/disk)
    – Does the cloud vendor offer full backups (disk images) or only
      partial backups?
        – This cloud vendor backup completeness (that is a whole disk
          image vs. just data) can vary even by computer operating
          system
    – What’s the cost of the service?
    – Who has access to this data on the server?
        – ID Theft issues possible?
    – Does storing this data violate any HIPPA regulations? (May depend
      on answers to other questions.)
    – Is your computer data encrypted during transmission over the
      Internet (HTTPS)?
    – Does the HTTPS use OpennSSL, which could be vulnerable to the
      “Heartbleed” Internet bug?
    – Are you concerned with possible other ‘zero-day’ exploits that
      could put your data at risk?
    – How long does the backup take? Minutes?, hours?, many many hours?
        – What happens to your machine’s performance during long
          backups?
    – How are restores of your data done?
        – Who does restores in your office or work environment?
        – How do you search for a particular version of a backup file?
    – Can you also create local backups in case of lost Internet
      connectivity?
    – How long is data, from backup to backup, retained?
        – Can you go back and get a “version” of a file backed up last
          week? Last Month? Last Year?
        – As stated above, some cloud backups do not have full disk
          image backups and their “retention policy” over many multiple
          backups might not be what you want or expect. Thus, the
          backup company’s goals and yours may be, and probably are,
          out of sync. One of their goals, obviously, is to “minimize”
          how much data you store on their server(s). Therefore, their
          corresponding “retention policy” is one way how they manage
          data size on their server(s). Their retention policy could
          mean you might not be able to restore an older version (or
          other file) since it wasn’t  … “retained”.
    – Have you experimented calling technical support to see what help
      is available from the backup vendor?
    – Is the cloud backup itself … backed up?
        – How often?
        – By whom?
        – How does the backup company secure their backups of your data?
        – Who has access to this backed-up data?

    – Alternatives: Can you set up the same sync for free on your own?

        – In most cases, YES!
            – CalDav and CardDav are open standards supported by major
              vendors so you could set up your own server for syncing
              contacts, calendars, to-dos, and reminders.
        – Advantages
            – Your data is your own. No cloud company games. This is
              the primary advantage of having your own private cloud or
              sync service
            – Once setup, it’s always free (it’s your server!)
            – No data limits other than your own limits on disk space
            – None of the Change of Serve Terms of Service or other
              heavy-handed (“we’ve got you now”) cloud vendor games
            – Based on open standards so no vendor lock in
            – No chance your service could be canceled by mistake
        – Disadvantages
            – Without VPN, the sync would not work everywhere
            – You are responsible for the server maintenance and updates
                – You could still lose your data if you don’t backup
                  your data and your machine dies
            – Backing up your Synced Data
                – You have to learn and use backup software
                    – Current versions of Windows include backup and
                      Mac systems have built-in Time Machine that
                      automatically creates versioned backups
                    – Have to buy backup infrastructure like USB hard
                      drives
                    – Need to consider offsite backup and other
                      strategies
            – Can initially be complicated to set up
                – Videos on the web make setting up a sync server
                  relatively easy
            – Server must be up and running for sync
                – No one to directly support you if problems arise
                – Will require special software configuration so
                  calendar, todos, and other programs don’t try to sync
                  when server is not up

– Other free alternatives

    – There are free web alternatives to DropBox, for example. However,
      these, again, are web cloud-based services so you have to agree
      to Terms and Conditions. Implicit among these terms and
      conditions is that YOU are the product and that these terms and
      conditions can (and probably will) change without notice. Local
      server options also exist, but these options often require a
      static IP address which means you might have to upgrade to a more
      expensive (home) business account.

– Conclusion

    – The cloud offers incredible convenience and ways to share and
      collaborate that we’ve never seen—especially in enterprise
      environments. However,  for home and for small business users,
      the case for cloud, while still strong, has some significant
      drawbacks to consider.  While businesses are embracing the cloud
      for its cost-cutting benefits, these same benefits for business
      may put your data at risk. What you do when your cloud account
      gets accidentally deleted or through some “misunderstanding” is a
      serious concern. Even in the best case, consider the case where
      you lose Internet for days or longer because of some natural
      disaster. Therefore, “the cloud” for storage of personal and
      small business information, while very compelling because of its
      ease, is still a mixed bag.
    ———

      Please read our disclaimer available from our home page

Four Quick Reasons To Get a Smart Office Database System From Hurricane!

* With our systems, you can start very inexpensively and then grow your system as needed.
* There is NO need for an expensive enterprise software stack some companies require you purchase ($$$) before you could do anything.
* We use a RAD/Spiral approach to quickly develop your software.

   1    Gives You Better Customer Knowledge

Be able to quickly look up all aspects of a customer
    •    A    Instant access to customer and their order information
    ▾    B    Have images in your database system of jobs “before” and “after” for Web site posting and customer history

    •    Images are a valuable way to refine your smart marketing and also to refresh your memory what was done on a particular job

    2    Gives You the Ability to Do Smart Marketing – Very Few Companies Use This Obvious Enhancement to Their Marketing Efforts

When was the last time you got a mailing that referenced anything you had ever done with a company you work with?

    ▾    A    Send customers information relevant your customers using information about what they have ordered from their history in the database
    •    Send a promotion to your best customers
    •    Send a promotion to new customers
    •    Send a promotion to customers who haven’t ordered in a while
    •    Send a “how are we doing?” follow up, automatically, after each customer project/job
    •    Send relevant promotions for customers, based on their history, when you have an extra quantity on hand for a particular item

Note: The database system captures your customer contact preferences so you don’t send them unwanted communications.

    ▾    B    Reconfirm your relationship with your customers
    •    Using Smart marketing, you remind the customer you have done work, that you remember what that work was, and that you want to do additional work for them
    •    Helps your company stand out from the companies who don’t think to reach out to their existing customers

    ▾    C    Have a stateful relationship with your customers (that is, remember the customer from contact to contact)
    •    Customers like to be remembered
    •    Too much of what is received in the mail or email is irrelevant
    •    Your marketing shows your customers you think of their needs

   3    Give You Instant Access to the State of Your Business

    ▾    A    Features beyond what typical accounting systems offer
    •    For example (not relevant for every business) be able to access all customer details, products ordered, inventory used, customer contacts.
    •    Print labels, other (automated) mailings
    •    Automated reminders

    •    B    Automatically updating graphs and other customer information

   4    Allow Multiple Employees in Your Company to Be Able to Print Invoices, Email Receipts, and Interact With Your Office System while at the Customer’s Site!

Being able to access your computer system while at a customer site is a true distinguishing feature. Hurricane’s systems run on popular iOS devices and will connect via 3G/4G to your back office database.
    •    Your office database system is up to date since it’s updated via the 3G or 4G connection from the employee at the customer’s site
    •    No data entry required at the office when data entered on iPad, for example, at the customer site
 

——–

Please read our disclaimer available from our home page

Should Everyone Learn To Program?

Reading the news nowadays it seems that many people are saying that everyone should learn to program. But is this skill really necessary or even a good idea for…everyone?  (Hint: NO!)

The actual skill people need to learn is critical thinking and problem solving. Programming, or “coding”, is that last part….after you have done the thinking and solved the problem. The coding then is merely the translation of the solved problem into a computer program for execution. (Don’t expect the computer to solve a problem you yourself don’t understand.)

Yet, deciding on whether to learn to code may not be an option depending on where you are in the educational system, but learning to code (program) has advantages and disadvantages. Keep in mind that …”just because you drive a car doesn’t mean you need to become a mechanic”.

Quick Example: How many times does this for loop run (pseudo code)?
For i = 0 and ≤ 10
    do <something>

(Ans: 11)

The above example is a classic “off by one” error that is present in many computer programs. Note that this error is “logic” problem. Fixing logic errors can take lots of time once the programmer fixes any syntax errors.

Below are some advantages and disadvantages of learning to code:

    – Advantages
    •     helps train the mind how to solve problems
    •    could help prepare someone for an inevitable future working, in some way, with computers
    •    can be extremely rewarding
    •    gives you total control of the machine
    •    programmers are in huge demand ($)

    – Disadvantages
    •    coding is not for everyone (critical thinking is)
    •    can take many years to be truly proficient in a single language
    •    learning to code may never help someone use the computer for the applications they actually need for their job
    •    very time consuming to learn
    •    very time consuming to do
    •    can be extremely frustrating
    •    requires setup and learning about complementing technologies
    •    requires some development environment setup
    •    requires constant effort to stay up with current versions and technologies
    
    – Alternatives
    Become a power user. Many people would benefit far more from learning to use their applications more fully. Perhaps also learn some basic scripting on their computer, for example learn some basic AppleScript, to better interact and control applications.  Additionally, on the Mac, there’s an excellent program called Keyboard Maestro, which enables its users to easily create powerful computer “programs” (macros). For the average person looking to automate their workflows and increase their productivity, programs like Keyboard Maestro might be much better than learning to code in say, Java or C++.

    – Suggestion
            If you’re interested in seeing if coding is for you, try a programming class at your local community college where you can work with others and share experiences. Most of these classes will focus on problem solving first.

    – Conclusion
    Coding can be fun and extremely rewarding, but it’s not for everyone. If you don’t love to work through a difficult “debug” problem (often for hours) to finally arrive at “working code”, you may find that coding is really not for you. And, that’s OK. But, if you get that programmer’s “high” after solving a difficult program issue, then programming may be just the ticket.

——–

Please read our disclaimer available from our home page

How to Be a Better Technical Writer

It’s difficult to understand exactly why technical writing is often mostly gobbledegook. But it seems that when people write, for example, regular emails, those emails are often short and concise. Yet, those same writers, when writing technical documents, often end up writing gobbledegook. Sadly, this phenomenon seems to also be true with (non-trained) technical writers. Unfortunately for their audience (readers), technical writers are often document “assemblers” and take for granted the “boilerplate” and other poorly written text they receive and sometimes even write.

Most technical writing problems fall into several readily-noticeable categories. Below, we list those categories (see: “Change this” and “To This:”) to show how to improve otherwise gobbledegook writing.

Outline: get organized —> Don’t write linearly.

Modern word processors present a page metaphor. This metaphor encourages us to jump in and to write linearly with little if any up-front organization. While writing linearly may be acceptable for a short letter or email, technical writing demands planning. To help plan, consider using an outlining tool or at least a writing environment that includes, or can import, outlines. Having this outline roadmap of what you want to say is critical as you dive into the writing details. Said another way, an outline is your roadmap and will help keep you on track.

(Note: Programmers who “jump in and start coding” with no preparation often end up with buggy programs, difficult-to-maintain code, or, worse yet, never actually finish their tasks.)

Avoid boilerplate gobbledegook

Many companies have so-called “boilerplate” text. This text is often full of unnecessary text, jargon, and other gobbeldegook to make their documents appear “professional” and consistent. Some companies believe more-pages-is-better (wow, look at all this text we can present to you!). Most of this boilerplate text is so poorly written nobody reads it. Therefore, if boilerplate text is required, and if you’re allowed, write that boilerplate text yourself or modify the jargon-laden existing boilerplate text so that it fits your writing project.

Know your audience and write for them

One of, if not the, the most important issues you face is writing to the correct audience. For example, if your audience is management staff, but you’re writing about a program’s algorithms and threading assumptions, then you’ve clearly missed the mark. Conversely, if you’re writing to the technical staff, but you are focusing on corporate objectives and other strategic goals, you probably also have missed the mark. Therefore, one of the first steps to take is to figure out who your audience is and then write to them.

Below are a few examples of typical technical writing issues…

Avoid redundant expressions

Avoid redundant expressions like “in the area of” or “green in color”. Redundant expressions unnecessarily tell us something we already know.

Change this: “He is experienced in the area of technical writing.”

To This: “He is an experienced technical writer.”

Change this: “The purpose of this document is to outline the corporate objectives.”

To this: “This document outlines the corporate objectives.”

(Note: Funnily enough, you’ll see redundant expressions even on sites that are supposed to help technical writers write better.)

Avoid ambiguous antecedents

When you start a second sentence with the word “It”, or other pronoun, it’s up to the reader to puzzle over what actual noun in the previous sentence “It” is referring.

Change this: “Many students use a computer to help them write a paper for an exam. It is often stressful.”

(Does “It’ in the second sentences refer to “computer”, “paper” or “exam”?)

To this: “Many students use a computer to help them write a paper during exams. Writing a paper is often stressful.”

Avoid passive voice

Passive voice has no actor and lacks action or interest.

Change this: “The proposal was written by the team.”

To This: The team wrote the proposal.

Because active voice has a subject acting, active voice is easier to read.

Avoid weak verbs

Drop-kick weak verbs like “provide”, “perform”, and similar. These verbs add nothing to technical writing. Instead of these verbs, use more descriptive verbs.

Change this: “The work to be performed in the area of task analysis will be completed by June 1.”

To this: “The team will analyze tasks by June 1.”

Which of the two above was easier to read for you to immediately grasp?

Use short sentences

Keep your sentences short. Don’t use commas, semi-colons, and other punctuation to justify longer sentences.

How to Be a Better Technical Writer (and Have Your Readers Better Understand What You Write)

Write simply. Use simple English.

Avoid Elegant variation:

When writing, avoid using synonyms to keep from repeating a word — even if that original word is the right choice.

The tendency by some writers is to look up in the thesaurus some synonym for a word to avoid using the same word over and over.

Simple language is always appreciated by the reader.

Change: “The use of software to write software modules has increased productivity. Modular utilization of software has also cut costs.”

To this: “The use of software to write software modules has increased productive. Modular use of software has also cut costs.”

In other words, don’t use “utilization” just to be different from using “use” the first time. “use” is fine in both sentences. (The examples above also have redundant expressions that the writer could have better worded.)

Avoid needless word complexity. For example, rather than writing “utilize”, try “use” (And similar).

Avoid long variants of verbs.

Include graphics or report samples to back up text

The old saying that a picture is worth a thousand words is applicable when clarifying complicated technical content. For example, when describing a complicated system output, such as a report, consider including a report output sample. Similarly, when describing a graph, show what a perspective graph would look like.

Including graphical output will help you get better feedback from users and from current and prospective customers. There are many tools that will help you prototype system outputs for reports, proposals, and for other technical documents.

Conclusion:

Writing for most people is difficult. Keys to success include:

  1. Getting organized
  2. Doing your research
  3. Outlining your writing to stay organized
  4. Writing simply
  5. Knowing and writing for your document’s audience
  6. Revising as necessary
  7. Reviewing with others

Writing is something we all do every day. Fortunately, becoming a better technical writer is not difficult. Strive to keep your writing simple with short sentences. And, use simple English. By making just a few adjustments to your technical writing, you will make it easier for your readers to better understand what you are trying to convey.

Enjoy!

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Please read our disclaimer available from our home page

Cutting SPAM

SPAM is a Pain!

The last blog posting discussed methods to eliminate or reduce unwanted physical USPS mail.

This posting discusses the scourge of the Internet: SPAM.

 Everyone, it seems, gets SPAM. Most people also seem to have lots of trouble getting rid of SPAM. This posting outlines some techniques to try to eliminate or severely cut down your SPAM volume. Not everyone might be willing to try all the steps listed below, but it’s a good list to keep in mind nonetheless.

SPAM is Part Behavioral (the computer user’s fault)

With social media being the predominant reason to be “on the Internet” for many, freeing up personal information seems to quickly follow. Personal information, like email accounts. Thus, SPAM is part behavioral.

Companies everywhere seem to want your email address(es). Why? So they can try to sell you more stuff you probably don’t need or want, AND, so they can sell your information. In all fairness, many companies you already work with user your email address legitimately, that is, how you would want them to. But, avoiding SPAM means you probably don’t freely offer up your email account information when just anybody or any just Web site asks for it. There are other ways to thwart sites’ “necessity” of having your email address discussed below.

Have your own Domain

One way to avoid SPAM is to have your own domain name and email on that domain. By just having your own domain, you’re instantly out of the email guessing programs used by SPAMMERs that target domains like Yahoo, Comcast, and the like.

(Hurricane could help you set up your own domain and email accounts.)

Use Email Forwarders

An email forwarder, unlike a regular email account, sends email that comes to that forwarder’s email address to another email address you specify when setting up the forwarder. The good news is that the forwarder looks exactly like any email address.

Forwarders are an excellent choice for situations where a Web site requires that you leave an email address. Often Web sites will send you a confirmation link to the email address you specify. Because the forwarder shields the final email address that receives the email, this target email address remains hidden from SPAMMERs. Also, with forwarders, you see which forwarder’s address was used in the email’s “From” field.

Here’s a quick example:

We created a forwarder called: “myforwarder@mydomain.com”. When we set up the forwarder, we told the system to forward any email that came to this address to our actual email account. Now, when we open our actual email account, we will see any messages from the “myforwarder@mydomain.com” in the “from” part of the email, as well as email from our actual email accounts. Cool.

Therefore, a huge benefit of forwarders is that you know which forwarder account is sending you SPAM, if any. It’s also then easy to delete a forwarder since your actual email account was always hidden. SPAM problem gone (from that forwarder, anyway).

The downside of forwarders is that you have to set up each one. Although Hurricane would help you set up forwarders, there is still some time, effort, and thought that needs to go into and maintaining them.

Use Multiple Email Accounts

Sometimes, you’ll still want to respond to a message, perhaps one you received from a forwarder. So, you’ll still need real email accounts. If you got a legitimate email from one of your forwarders and want to respond to that forwarded email, you’d need an actual email account. However, in this case, you’d probably feel comfortable responding with a real email account: no spam risk.

It’s always good to have multiple email accounts you use for various needs and even comfort levels (well, maybe you aren’t “that sure” this forwarder you want to reply to is not a SPAMMER.).

Consider creating some email accounts knowing you won’t keep them that long. Perhaps you need a special email account for a job search or for traveling. If these temporary email accounts get SPAMMED, just delete them!

Pick Good Email Addresses

SPAMMERs will try to create emails to typical email addresses.

Examples of email addresses SPAMMERs target: administrator@…, accounting@…, info@…, and so on.

Thus, if you create email addresses that violate these auto spam generation rules, you’re another step ahead.

Don’t post Email Addresses on Websites

Posting an email address on your Web site, especially as a clickable link, is a sure way to get your email address harvested by SPAM bots. Some folks resort to a graphic image of their address or separating parts of the email addresses with quotes to try to fool the bots.

While these tactics might work, or help, it’s still best to just not post your email address at all. Period.

Use a Content Management System (CMS) with a contact form where the system exposes no email address at all. The user fills in a form and submits it. The emailing happens behind the scenes. Thus, no email addresses exposed. You may still get some spam, even with a con » tact form, but it will be MUCH less than if you post your email address on your web site.

(Hurricane can help you set up a CMS on our hosting servers.)

A Domain where you have your email (For example, AOL.COM) was hacked.

    Recently, AOL had an issue where their servers where hacked in some way and email addresses were compromised. People were getting the infamous single line emails with a clickable link to executable code.

This hacking problem reinforces the benefit from having your own domain with your own email on that domain. Since AOL has so many email address already (not to pick on AOL, as this hacking problem happens to others too), it might be difficult to get a set of email addresses you want to use. Additionally, many ISPs will limit just how many email addresses you can have. Do ISPs offer forwarders? Not usually, so you could be out of luck there too.

Should You Click Unsubscribe Links?

When you get a SPAM message, you’ll often see a “click to unsubscribe” link at the bottom. Should you click it? In General: NO WAY!  If it’s SPAM, since you didn’t “subscribe” in the first place, why confirm to the SPAMMER that you are a legitimate email address?

On the other hand, some companies you work with may occasionally send you marketing emails also with an unsubscribe link. You might feel more comfortable about clicking the unsubscribe link in this case. Of course this company also assumed you wanted to be “opted-in” on their junk email marketing (nope), which is annoying, but they’re probably going to respect your opt out (unsubscribe me) request.

Use a SPAM Filtering service?

Although we don’t recommend or list any of these services, you can find them by some quick searches. These services become an intermediary for your email, usually at some cost.

Conclusion

Email and SPAM are here to stay for the foreseeable future.

Trying some simple techniques for SPAM elimination can go a long way to reduce, or even eliminate it. Part of SPAM is behavioral on the user’s part (freely giving away information, filling out warranty cards, etc.). Yet, another part of SPAM is insidious (ISP hacks, etc.).

Hurricane can help you set up your own domain with email forwarders and email accounts.

——–

Please read our disclaimer available from our home page

What Ever Happened To Critical Thinking?

In the world where “opinions” travel through the Internet at light speed often presented as “facts”, how do you know what you can believe? If there is a single skill that is necessary for day to day living it’s being able to think critically. That is, being able to separate the silly from the factual, the rational from the irrational, and the biased from the unbiased. Of all the skills taught in schools, critical thinking never takes front stage. Thus, sooner rather than later, you’re on your own to think, or to try and think, critically.

Here Is a Common Example:

Say an advertisement says their product cleans better than “the leading competitor” by 500%. Of course, 500% sounds big, but 500% just means five times “something”. If the “something” is small to begin with, then five times that amount may not be significantly greater. So, when an advertisement says that a product cleans 500% better than the “leading competitor”, some of the questions that might come to mind include:

– Was there any serious investigation done at all or is this ad just a silly claim?

– Is that cleaning increase significant? What if the leading competitor’s cleaning metric is only 0.00034. Then five times that number is only 0.0017. Significant? Should I care?

– What does “better” mean in this context?

– Who is the leading competitor?

– 500% of “what” (objectively-obtained) cleaning metric?

– How did the investigators measure this claimed cleaning improvement?

– Can I trust the numbers from this source (the advertiser itself)?

– What kind of data were gathered? Nominal, ratio, etc?

– Were the cleaning tests done objectively or subjectively by (possibly paid by company) human “evaluators”?

– How many cleaning trials did the company do?

– What kind of lighting did the investigators use to view/measure cleaning differences?

– How did the company make comparisons to the “leading competitor”?

– Did the company use statistical methods? If so, which ones? At what significance level? With what assumptions? (where can I find those analyses data?)

– What types of clothes did the company use for comparisons (all white cotton clothing or clothing with colors more difficult to judge cleanliness differences between products)?

– What types of stains (dirt, oil, etc.) did the company use?

– Does the company have a “celebrity spokesperson”? Almost always, a celebrity endorser is a red flag. Logically speaking, a celebrity endorsor is: “The Fallacy of the Irrelevant Authority”. Of course, a celebrity endorser who is paid just to endorse the product doesn’t mean the product doesn’t work. In any case, since the celebrity endorsor rarely knows anything about the product he or she is endorsing, a celebrity endorsor demonstrates persuasion via personality – not logic.

With these critical questions, and others you might think of, you’ll be in a better position not to have, in this case, advertising, sway you with their (often unsubstantiated) messages.

From the critical questions above, we can generalize to say that good general critical thinking skills include:

  • Curiosity – Wanting to learn more information about things around us.
  • Skepticism – Not always believing, without investigation, and not blindly accepting what we hear.
  • Objective Research Methods – Objective methods to test hypotheses. Verify data. Repeat results. Break a large problem into smaller ones if necessary.
  • Humility– The ability to rationally admit we were wrong about a belief or idea.
  • Thinking logically not emotionally

Example of Critical Thinking in Action:

When researchers start an experiment, they often have a belief on what the outcome will be. Yet, if the objective experiment’s results don’t match those pre-conceptions a researcher had, the researcher accepts the results.

Stop! You’re Not Making Sense to Begin With!

Be wary of claims where the claim itself makes no sense to begin with. If a claim says that something is 2 times smaller, or takes 4 times less time, you need to clarify that claim’s hypothesis. Since “1 times” = 100%, you can’t exceed that amount for something that’s less than 100% in some dimension (time, space, etc.). In other words, it’s impossible that something can be 2 times smaller or take 300% less time. (a measurement could be one-half as large, but not twice as small.) With imprecisely or incorrectly (or mathematically impossible) stated claims, you might correctly conclude that the claims themselves need serious investigation or clarification (and doubt).

Secondary Data

The additional problem we have is that all of the data we get is (at best) secondary data. That is, since we didn’t get the data ourselves, we have to believe (or somehow verify) that the data we got are accurate. Thus, we need to know who got the data, what their agendas might be, if any, and so on. Can we dismiss diet claims from diet company commercials? Well, show us the data! How was the data gathered? By whom? Etc. (Having a healthy diet and exercise and avoiding diets – in the first place – would be recommended, but never mentioned on these commercials.).

Conclusion:

Thinking critically is the a critical skill you need to have your entire life. You may never need to use Avogadro’s number or solve a differential equation, but critical thinking is something you can use every day to separate the silly from the factual, the rational from the irrational, and the biased from the unbiased.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Please read our disclaimer available from our home page

When Not To Program (Email Address Validation)

Have you ever been denied a purchase because your email address, that you use successfully for many other purchases, was deemed “invalid” by some 3rd party site handling purchases for a software company?

Enter the commonly-used regular expression, as found all over the Internet, to validate email addresses:

^([a-zA-Z0-9_\-\.]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$

This regular expression allows any number of letters, numbers, dashes, or underscores before the “@”. But, that’s it.

So an email address like this:

mail—–i_____l_D@somedomain.com

is valid.

But what about special characters?

This is exactly the problem our reader encountered. The real problem (failure) encountered was not just a too simplistic regular expression, but the fact the email address didn’t need to be validated at all.

Imagine this workflow:

1. The user goes to a site to buy a neat software product upgrade.

2. He chooses to pay with PayPal.

3. He goes to the PayPal site, logs in, using his PayPal email with the special character(s) in his email address.

4. He is then redirected, after PayPal validates his credentials, back to the third-party payment site to complete the software purchase.

5.  But, the third party payment site, for whatever reason, chooses to validate his PayPal email address. Then, due to the simplistic regular expression they used, like the one above, they deny him the purchase with: “Email address is invalid.”

To add insult to injury beyond (1) faulty incorrect use-case analysis and the (2) wrong (too simplistic) regular repression, the email address is read only so the user has no way to complete the sale!

One of our favorite user interaction books: “The Inmates are running the asylum”, by Alan Cooper, describes these kinds of ridiculous user technology interactions.

The problem here, completely missed by the programmers at the payment site, was that the PayPal email address should not have been validated in the first place. If it’s good enough for PayPal, it’s already valid.

Apparently, no code reviews ever caught this problem either.

However, even with the incorrect use-case analysis by the third party payment vendor, they should have probably consulted even the most basic of resources for a more general regular expression to cover most, if not all, email addresses:

https://en.wikipedia.org/wiki/E-mail_address

This article discusses, among its many considerations, possible special characters in the ‘local part’ of the email address.

Thus, the following regular expression, though still unnecessary given the use-case and user workflow, would have worked and completed the sale (the user’s goal, after all):

^([a-zA-Z0-9_\-\.!#$%&’*+-/=?^]+)@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$

——–

Conclusion:

The difference between a programmer and a computer scientist, sometimes, is that the programmer will just “code”, where the computer scientist will just “think” (first).

In today’s world of “how fast can you create this functionality?”, thinking is sometimes a scarce commodity for anyone. Yet, for successful Web sites,  thinking about “user goals” is key. User goal analysis is beyond the scope of this article, but it’s a fascinating topic.

Here, the user goal was to: COMPLETE THE SALE for me.

Sadly, the user goal failed (wasn’t correctly considered) for our reader who, even after notifying the software company involved after being denied the purchase (nothing happened to fix the problem!), decided to stick with his old version of the software.

And, the software vendor LOST A SALE for a completely unnecessary reason: for slopping coding when no coding was necessary and when no coding would have been better.

Enjoy!!!

—-

Please read our disclaimer available from our home page

“It was a Sophisticated Hack”

You may have read this headline about the “very sophisticated hack” in a letter sent to you when a company or other data collector gets caught with lax security that they only then, after the (latest) hack, start to patch.

Thus, by all outward appearances, most companies seem to be reactionary: – IF a data breach occurs – THEN, a company take some kind of action. Then, the company often makes the data breach “sound” like there was absolutely nothing they could have done about it — had they *been* proactive in the first place, of course.

Getting your personal data takes at least two steps:

1. Breaching a company’s server and firewall safeguards — Most of the efforts to keep your data safe are usually here.

2. Accessing and then downloading data — Encryption needed to protect data if server breached.

You are probably now wondering if companies encrypt (scramble) your most personal data, like health data, on their servers.  We can’t know for sure, but it appears that in most cases, based on all the disclosures from the companies themselves, they don’t.

What we do know is that break-ins and theft of your personal data is happening at higher and higher rates. Companies are not accountable to us and seem to suffer no penalties for what we, as customers and citizens, must go through to deal with personal data being compromised.  

A rare exception is that Target has proposed a settlement from the 2013 hack for up to $10,000 for each customer for damages.  From the Target hack, hackers stole information from 40 Million credit cards. (This settlement is pending approval at this time.)

The evidence that our data was not secured (encrypted) on a company’s server comes when we’re warned, via a “it was a sophisticated hack” letter from the company to us that … “hackers have obtained personal information”.  If the hackers have obtained information, then it was not encrypted or the letter would indicate this fact and we could breathe a small sigh of relief.  Furthermore, this one letter is usually the last thing we hear from the company since the hackers are rarely, if ever, caught.  

It’s interesting that most of us use encryption every day without usually even thinking about it. We encrypt our hard drives, we encrypt our iPhones (standard in iOS 8 with password) or other devices, we encrypt our credit card purchases over the Internet, etc.

Although you might feel secure with the little lock icon on your browser, it is not enough to use HTTPS to secure your Internet traffic during transit if your data is then stored unencrypted on an insecure server. This HTTPS-only expectation is like taking a armored truck (in this example, the secure HTTPS “transit” piece) with cash to a (non-secured) table at a restaurant (in this example, the possibly insecure server where your data lives) and leaving the cash there (and hoping the cash would still be there the next day).

————

While no company can promise total protection and security of online data, at Hurricane, our private clouds are encrypted using AES 256 bit encryption. To connect to your cloud data, you must additionally use HTTPS.  Thus, your cloud data is strongly encrypted on the server itself and in transit.

Furthermore, we use industry Enterprise Linux with advanced firewall filtering for your additional security and piece of mind.

Please contact us for more information on setting up a private cloud for you with your domain account already hosted by us.

——–

Please read our disclaimer available from our home page

Smart Marketing 101

Smart Marketing, 101

Personalized or data-driven marketing to your customers, “smart marketing”, is something few, if any companies actually do. Most companies still just send the “blast-a-gram” to everybody with zero personalization or forethought. These types of marketing “messages” typically get thrown into the trash without the recipient (home owner, or other recipient) even glancing at the (wasted) mailing.

By following a few simple steps, you can improve your odds of getting a positive customer marketing response. And, at the same time, not waste time and money trying to sell your services to people who don’t want them or perhaps couldn’t even use them. There are no guarantees in marketing, of course, smart marketing or otherwise, but with some filtering, you can weed out the least likely to use your product or services.

Below is a simple example of how just using simple customer data and a database could save you lots of money — even on the first mailing. The amount of money saved on this first example could buy database software for several employees!

This example assumes you have a database (of some type), a label printer, and a way to print labels for a 5×7 mailer.

————

Let’s say you’ve been in business for 10 or 20 years and you have 1,000 customers. Now, some of these customers may have only used your service once, moved away, don’t use the particular service your marketing flier covers, or are the best customers ever. But, how do you know?  You could go through each of the 1,000 customers one at a time by paper, but this exercise would take days if not weeks every time.  

We need a better way: a real computer database of our customers — which is usually very easy to set up.

Now, using “traditional” (non-smart) marketing, if you had just ordered 2,000 5×7 color mailers, which for our example, cost $2.00 apiece after postage, you would spend $2,000 to send a mailer to each of the 1,000 customers in your database.

Is this “smart” marketing? Nope. Just because you used a cool computer to print out the 1,000 labels on a cool new label printer could mean you’re wasting money faster using technology.  Instead, doing an even relatively shallow analysis on your customer data could narrow this list extensively (save your marketing dollars) and improve your odds of getting a response.

For this example, to narrow the list, let’s just assume we apply a “filter” to our database to our data so we only include “active customers” for the mailing who:

1. Have done business with us in the last three years.
2. Have done at least $500 business with us.
3. Actually use our product or service in the mailer.

Now, after applying this simple filter to our customer data, instead of all 1,000 customers, we now have 250 that meet the selection criteria, the “filter”, above.

So, using our simple filter, we’ve…

1. Saved $1,500 from the mailing cost (we already paid for the fliers, but we can still use the unsent ones later) and
2. We are sending fliers to “active customers” who have the product or service we’re promoting.

And, because this filter is part our our database, we can use it over and over. Note too that since part of the filter above is “date-based”, the rule/filter will potentially show you different customers on each filtered list over time. That’s cool since you don’t need to do additional work to show the current list each time you run the marketing report, label printing, or whatever.

Note that this example’s definition of what an “active customer” is a “business rule” and it’s never guaranteed to be correct.  Each business would need to define and test out their own business rules and modify as necessary. Hurricane could help you define business rules for your business.

The idea with a business rule is to define rules which describe aspects of your business that you can use in the database software for decisions. For example, what does it mean to be an active customer?  Or, another business rule might define “what is a problem vendor”?. Perhaps you track issues with delivery, quality control, or other metrics. This rule might be as easy as how many times you need to have issues with a vendor before you need to take corrective action.

In this example, we didn’t discuss if you had a customer’s email address and you used that instead of snail-mail in your marketing to save even more money. For example, your database software could “loop through” all the selected filtered customers. Then, if a customer record had an email address, and that customer was OK with marketing emails (you track that contact preference too), you email the marketing information to that customer instead of printing a label and snail-mailing an expensive flier. Or perhaps you do both: print a mailer and email. A nice flier in the mail, personalized in some way for a customer, might have a better impact than an email message. That’s another possible business rule — Always print a mailer and email if possible.

Finally, to further personalize your mailer, perhaps you use a larger label so you can include the name or brand of product the customer has.

—-

How do you get started with smart marketing? Some questions for thought below.

1. Do you use customer data?
2. How do you use it?  Database? Excel?
3. Can you search it?
4. Do you support your customers using that information when they call you?
5. Can you take your database software “with you” to the customer site?
6. How do you enter new information and keep your database up to date?
7. Do you personalize your customer marketing?
8. Do you track marketing responses?
9. Do you track each date a customer event occurred?
10. Do you know what types of products you offer each customer uses?
11. Do you collect email addresses for customers and also track which customers are OK with email marketing contacts?

Many companies can’t answer at least some of these basic questions.

At Hurricane, we can help you set up a customer database, import existing data, and get you started with smart marketing.  We can help you set up your own database in your office or in the cloud. We can also get your database system mobile and connected to your home office. You can start with a small system and grow that system as your needs grow.

Many companies will try to sell you you an expensive “CRM” system to market to your customers. However, for many small- to medium-sized businesses (< 250 employees), a CRM system could be much more than you need, is expansive, may require lots of other “supporting” software, and often, is difficult to learn and use.

We can start you on an inexpensive database platform and even teach you how to use it if you want to maintain it. If and when your needs grow beyond that initial database, we could transition your data to another database.

Let’s get started!

Please contact us today for more information!!!

——–

Please read our disclaimer available from our home page

Are You Using Lazy Software?

Have you ever gotten a dialog message similar to the one below when trying to use a program?

If so, what is the point of this dialog?

Basically, this dialog, the program, is telling you that:

(1) it has a serious internal bug or has found an actual file system problem that it is not handling at all
(2) it has given up
(3) it has dumped the problem in your lap
(4) it wants you to click “OK” — that it’s … “OK” (it’s NOT OK)

Unhelpful dialogs like these are often from lazy programming, poor technical reviews, or other problems. These programs, instead of focusing on “user goals”, only follow their internal structure – making that implementation painfully aware and exposed to you, the user.

What was the user’s goal in this case, anyway? Clearly, the user just wanted to check the activity log and the program should do everything it can to make that possible. Elegantly-designed programs do not give you these types of ridiculous error dialogs.

Instead, a well written program would instead possibly:

(1)  fix the problem in code automatically so you would never see the dialog in the first place, OR
(2)  fix the problem in code and possibly warn you that the program created, in this case, a new “activity log”, OR
(3)  if all attempts failed, some suggestions, in the dialog about what you might need to try, OR
(4)  other stuff….

Since creating a new file, as with the case above, is so utterly simple for an application program, why wouldn’t the program do it? Good question!

Trying to figure out the problem yourself could be tricky since other programs, all sharing the same log folder as in this case, might correctly re-create the log file if it’s not found leaving you with too many variables to know for sure what’s happening (again, not that you should be the one trying to figure out why the program isn’t working correctly).

In Java, for example, creating a new file, assuming paths are correct, etc., is as simple as this:

    // if the log file is not found, for some reason…
    File logFile = new File(“logs/error.log”);
    logFile.createNewFile();

Internally, (sadly) the program in question most likely caught the error but rather than the program dealing with it, it just dumped the problem in your lap. Programs with dialogs like the ones above may have not gotten much, if any, review by technical management. In many cases, management isn’t technical to begin with and is focusing on “shipping software on time”,  or other non software quality goals, which can make oversights like these more likely.

——

Using a well-written program is a joy. Seeing the internal implementation bleed out of the program with unhelpful dialogs isn’t (a joy).

So, if you get a dialog like the above just remember that it was up to the program (the programmer) to do the work and make every attempt to fix any runtime issue found. Is that unhelpful dialog a sign it’s time to ditch the program and find a better one.

Good question.

Enjoy!

——–

Please read our disclaimer available from our home page