Blocking Telemarketers with an OBi ATA

July 22nd, 2012 3 comments

No one likes telemarketers, but if you have an OBi ATA, you can easily blacklist them based on their Caller ID.  For this we'll use the ATA's excellent User Defined Digit Maps feature.


Fixing SpamAssassin Spam/Ham Reports on cPanel servers

July 5th, 2012 1 comment

A few months ago, cPanel released an "upgrape" that caused SpamAssassin Spam/Ham reports to include blank lines.  This is a problem because folding continuation lines cannot contain only white space, so the header is invalid.  The result is that the report or other headers may appear in the body of the email if you use an email client such as Outlook, or AVG's email scanner.  Also, the subject may not appear.

Since the two cPanel techs we dealt with, as well as a tech from our datacentre, did not know how to solve the problem, we post the workaround that we wrote here.


Using VoIP for POTS Voicemail with an OBi110

June 24th, 2012 No comments

Those of you who mix VoIP and POTS may find it useful to use VoIP-based voicemail when you're unable to answer your POTS calls.  There are a few reasons you might want to do this.  VoIP voicemail is typically free, but POTS providers often charge for it.  VoIP voicemail often has more/better features, such as email or SMS notification, or even multiple voicemail boxes for different people.  Also, it might be convenient to have one single mailbox to check instead of having to check both a POTS mailbox and a VoIP mailbox.


Run a script on every column of every table in your MySQL database

June 23rd, 2012 No comments

Have you ever needed to recursively run a script in a loop on every single column in your MySQL database?  This PHP code can help.
// Start by getting the list of tables.
$tables_result = mysql_query("SHOW TABLES FROM `$database`") or exit("Error " . mysql_errno() . ": " . mysql_error());
while ($tables_row = mysql_fetch_row($tables_result)) {
 // Loop through the tables.  Get the list of columns from each table.
 $table = $tables_row[0];
 $columns_result = mysql_query("SHOW COLUMNS FROM `$table`") or exit("Error " . mysql_errno() . ": " . mysql_error());
 while ($columns_row = mysql_fetch_row($columns_result)) {
  // Loop through the columns in the table.
  $column = $columns_row[0];
  /* --------- Anything you want happens between here... --------- */
  echo "$table $column\n"; 
  /* ---------------------- ...and, here =) ---------------------- */

Cloning a Windows 7 hard drive

June 23rd, 2012 No comments

Recently when cloning a hard drive with Windows 7 installed on it, we ran into some problems.

We first attempted to use Windows' backup tools; this was unsuccessful as Windows refused to restore the image to the new drive.

We then attempted to use Ghost 11.5 (we didn't have the latest version handy).  Though it appeared to be successful, the computer would not boot afterward and simply displayed a black screen after POST.

We attempted to use CloneZilla which was not successful because the destination drive was slightly smaller than the source drive.  When we attempted to shrink the partition, Windows informed us we could not do this because there were several unmoveable files near the end of the drive.

What finally worked was a clean install of Windows 7 on the destination hard drive, then Ghosting the data partition from the source drive to the destination drive.

Vegetarian Quiche

June 9th, 2012 No comments

Dice ½ red bell pepper and slice ½ a medium zucchini, or other in-season vegetables.  Steam until tender and brightly-coloured, but not wilted.  Lightly saute one diced onion in one tablespoon butter or olive oil.  Arrange the vegetables in a 9" pastry shell and sprinkle ½ cup freshly-grated Parmesan cheese on top.  Beat together 5 eggs, 1/2 cup milk, 1/4 teaspoon curry powder, 1 teaspoon salt, and fresh ground pepper to taste.  Pour over the vegetables.

Bake for 45 minutes at 350F.  Cool for at least 10 minutes before serving.

$90 for PCI Validation?  Get real.

May 3rd, 2012 1 comment

Our merchant services provider, Global Payments, sent us a letter stating that we must be PCI Compliant, or face consequences such as fines, termination of our merchant account, and general woe and spiders.  We already follow the prescribed standards.  So, no problem?  No, problem: they want us to pay $90 to fill in a self-assessment questionnaire.



Canada withdraws the penny in 2012

March 29th, 2012 No comments

The federal government has announced that Canada will withdraw the penny from circulation in 2012.  This means if someone offers a penny for your thoughts, they will have to pay by cheque.

I think they have not fully considered the ramifications of their decision.  For example, anyone selling something that costs a pretty penny will now need to sell a five pack if anyone wants to pay by cash.

If someone usually has to think for a minute before the penny drops, they will be in trouble.

Finally, people who are used to putting their two cents in will need to have opinions that are 2.5 times better.

How to Save for your Child's Education with an RESP

March 26th, 2012 No comments

One can never start saving too early for their child's education.  An RESP can even be opened for a newborn, as long as he or she has a Social Insurance Number.  Once you've opened an RESP, you'll be eligible for many government grants, such as the Canada Education Savings Grant (20% of your contributions up to $500 per year and a lifetime maximum of $7200), the Canada Learning Bond ($500 first year plus $100 subsequent years, if you qualify for NCB supplement), and several provincial grants.


Canadian No-Fee, No-Minimum Bank Account Comparison

March 10th, 2012 No comments

If you like to do most of your banking online, there's no reason to pay fees for everyday banking, maintain minimum balances, or be limited to a certain number of transactions per month.  Here's a comparison of three selected Canadian financial institutions offering bank accounts with no monthly fee and no fee for typical banking transactions, and requiring no minimum balance:

ING DirectBMO IGA/SobeysPC Financial
ChequesFirst book of 50 free, then $0.25 each.First book of 25 free, then $0.20 each.Free
Canadian ATMs>2300>2500>3400
Savings AccountYesNoNo
Chequing account pays interestYesNoYes
BranchesFive cafés across Canada, no teller-assisted transactions.Teller-assisted deposits at over 900 branches free; other transactions $1.00 each.>200 Pavilions across Canada, no teller-assisted transactions.
Free email money transferYesNoNo
Link your other bank accounts and transfer funds back and forthYesNoYes
OverdraftsFree, up to $250 for 30 days.$2.50 per month plus interest or minimum $5 per transaction for a transfer from another account.$4.97 per month in which it is used, plus interest.
J.D. Power ratingFive starsThree starsFour stars


  • BMO IGA/Sobeys does offer a savings account.  However, a fee is charged for withdrawls and the minimum balance is $5000.  Since this is the No-Fee, No-Minimum Bank Account Comparison, it is not considered in the above table.
  • PC Financial offers a savings account; a minimum balance of $1000 is required to earn interest.
  • In the event of a discrepancy between this comparison and the official terms of service of the financial institution in question, the later shall prevail.  (Please notify us if this is the case!)

10 Things We Didn't Know About ING Direct

March 10th, 2012 No comments

Mango's ING Direct account is another one of these things that makes him go, "Shoot!  Why didn't I do this years ago?"

  • Through their association with THE EXCHANGE ATM Network, ING Direct effectively has well over 2000 Canadian ATMs.
  • Owe someone money?  Giving a gift?  You can transfer money to any Canadian bank account, as long as you or the recipient know the transit, institution, and account numbers.  It works in a similar way to Interac e-Transfer, but it's free.  (They also offer Interac e-Transfer; receiving is free, sending costs $1.00.)
  • There is no transaction fee on ING Direct's Investment Savings Account.  You'll earn a higher interest rate than the big banks, AND you can use your savings account for as many bill payments, pre-authorized debits, and direct payroll deposits as you like.  (Similarly, there is no fee and no minimum balance required for their chequing account.)


Canadians: Get a Free Copy of your Credit Report

March 10th, 2012 No comments

We never knew until recently that a Canadian could request a copy of his or her credit report, for free, by mail.  This seems like it would be a good thing to do every year or so.

In order to do this, you should contact both of Canada's credit-reporting agencies.  You can contact them by phone, mail, or fax.

If you need access to your credit report right away, you can order it, along with your credit score, online for a small fee. You may also pay a monthly fee and be notified periodically of any changes.  Your credit score will not be disclosed to you, for free.  However, typical use of having this information is simply to verify that what is on your credit report should indeed be on your credit report.  For this use, the free report will be perfectly adequate.

The report we received in the mail had our information obfuscated.  Though it provided us with the information we needed, it provided little information that could have contributed to identity theft, should the mail have been misdelivered.

For more information, see this document about requesting your free credit report from the Financial Consumer Agency of Canada.

Payment Processing in Canada: Beanstream vs.

February 13th, 2012 2 comments
Beanstream is compatible with many Canadian merchant accounts or will provide you with a blended-rate merchant account with no contract and no works only with Global Payments in Canada (high but negotiable setup fees / 3 year contract / $500 early termination fee / difficult to reach your account manager) and cannot provide you with a Canadian merchant account.  (Edit: Now compatible with Global Payments, Chase Paymentech, Elavon, and First Data.)
Beanstream provides Pre-Authorized Debit and Direct Depost for Canadian and US bank's product supports debit from US bank accounts only.
Basic fraud detection tools are free.Basic tools free, Advanced Fraud Detection Suite available at a cost. (Edit: Now free.)
Phone and email support available.Phone, email, and live chat support available.
Cutoff time is midnight Eastern.Cutoff time is configurable.
Beanstream's user interface is extremely fast.The speed of's user interface is satisfactory.
API very clearly documented and easy to use.API complex, but functional.
First level sales rep didn't understand complicated questions, but escalated to someone who did.Sales rep underquoted our fees, then refused to provide us with the quoted rate.  Later discovered resellers that offered better rates.

Both Beanstream and support payment profiles (new to Beanstream), batch processing, recurring billing, and virtual terminal; they have good reporting, and a powerful API.  Their fees are similar.  Our sales rep underquoted our fees, in writing, by $20/month, but refused to actually provide us with the quoted fees after we'd signed a 3-year contract with Global Payments.  Near the end of our contract, we discovered we could have obtained better rates from an reseller than by dealing with directly.  Our experience caused us to investigate Beanstream as soon as they released their payment profiles feature.

Beanstream and both offer a product that will satisfy any eCommerce merchant's needs, but we prefer Beanstream for its better support of Canadian merchant accounts, its PAD/Direct Deposit product, its clear pricing, and its superior customer service.

Truck Rentals in Canada: Budget vs. U-Haul

February 11th, 2012 4 comments

Budget has a new fleet of trucks.U-Haul's trucks may be new or ancient.
For one-way rentals, only a 16-foot truck is available, in limited parts of Canada.Almost all types of trucks are available for one-way rentals anywhere in North America.
Depots are in major cities.Depots are just about anywhere.
Trucks have a low deck.Trucks have a very low deck; very easy to load; lower clearance required.
$944.23 tax included for a one-way rental from Vancouver to Red Deer$1059.52 for the same move with a truck 57 cubic feet smaller and same insurance
You rent an empty truck.A dolly and furniture pads takes up valuable space in the truck; you can't remove them unless you want to pay for them.
Our truck was provided to us with a full tank of diesel.Our truck was provided to us with less than a quarter tank of gas.
Cube truck"Mom's Attic" over the cab
Diesel or Gasoline fuelGasoline fuel

The verdict: If each end of your move is in or near a city with a Budget depot, and a 16-foot truck will suit your needs if you're doing a one-way rental, we recommend Budget for their newer trucks and competitive prices.

If you're picking up and dropping off your truck at the same location in a major city, you may also wish to investigate Penske and Ryder.  (Note that these two companies have different insurance terms than Budget and U-Haul.)

If your move isn't near a large city, you're doing a one-way move outside of Budget's area, or you're doing a one-way move and a 16-foot truck isn't appropriate, U-Haul will often be your only option.

Computer case fan testing

February 10th, 2012 No comments

Mango's case has terrible ventilation at the front and as you will see, an intake fan doesn't really do much.  We tried every configuration to find out what the best possible cooling would be under these circumstances.  Mango doesn't own a hard drive, so perhaps the temperatures are a little cooler than they otherwise would be.

These measurements were taken at stock speeds with stock CPU cooling.  The case fans are Zalman ZM-F1 Plus 80MM, which come with a noiseless adapter that lowers the speed of the fan by about 1000 RPM.  We eventually settled on a single rear fan with noiseless adapter.


Password prompt for PHP CLI

January 28th, 2012 No comments

Do you use PHP from the command line and need a password prompt?  This is how you do.

$scriptpw = new Com('ScriptPW.Password');
$password = $scriptpw->getPassword();
The Windows version requires the file scriptpw.dll.  This comes with some versions of Windows, such as XP, but not others, such as 2000, Vista, or 7.  If you don't have the file, simply copy scriptpw.dll from the system32 folder of another machine to the system32 folder of your machine.  Then, from a Command Prompt window (running as Administrator for Vista and 7) enter the command regsvr32 scriptpw.dll

system('stty -echo');
$password = trim(fgets(STDIN));
system('stty echo');
echo "\n";

Video Editing Software for Windows: Sony vs. Adobe

January 14th, 2012 No comments

These opinions were formed based on recent use of Sony Vegas Pro 10 and Adobe Premiere Pro CS5 on a computer running Windows 7 with a quad core Intel Core i7-2600K CPU @ 3.4 Ghz and 8GB of RAM.

Spoiler alert: Sony Vegas Pro wins!


Offset printing: Good, Fast, and Cheap.  Pick any 3.

December 9th, 2011 No comments

When something is this good, we feel it is our duty to let everyone know about it...and for us, "everyone" is the readers of this blog.

We're referring to Juke Box Print Shop, which in our opinion qualifies as the coveted trifecta in any industry: good, fast, AND cheap!  How they do this, we're not sure, but we like it.  Here's our Juke Box Print Shop Review:

The finished product looks amazing.  Seriously.  They output 420 line screen which is an amazing improvement over the ~200 line screen we're used to.  The end result looks so good, it's barely distinguishable from photographic printing.


Dymo Label Printer on a Tomato Print Server

July 8th, 2011 1 comment

In case anyone's wondering, and since we couldn't find any references to this anywhere, a Dymo LabelWriter 400 will work perfectly well with a Tomato Print Server.  We used an ASUS WL-520gU router with the Teddy-Bear build of Tomato firmware.  Setting up the printer on the router was just a matter of plugging it in, and installing the printer within Windows simply required a TCP/IP printer port to be created, using the IP address of the router, and the settings for Generic Network Card.

We noticed stability issues when printing large volumes of labels (50+) via a router with a small amount of RAM.  But for small batches this technique should work perfectly well.

Fax-to-Email for Canada

June 27th, 2011 No comments

Let us start out by saying that finding a fax-to-email solution that met our requirements was a chore.  Most people we asked for advice told us, "Faxing is archaic.  Forget that and use email instead!".  We agree, but as long as people insist on sending us important things by fax, we will need a way to receive them.

Allow us to introduce you to a telecom company called AcroVoice.  AcroVoice is based in Victoria BC and provides business and residential VoIP service, and also wholesales Canadian VoIP 9-1-1 and American E911, 411 Directory Assistance, Caller ID Name / CNAM Lookup, and of course, it also provides fax-to-email.  Keep reading to find the criteria with which we evaluated their fax-to-email service, and how AcroVoice performed.


Easily disable ClearType in Windows 7

June 19th, 2011 Comments off

Because we're sure some of you who adore ClearType will ask, yes, we tried it for well over a month and just couldn't get used to staring at what looked like (to us) blurry text all day.  Fortunately, we found this:

Disable ClearType in Windows 7

It is interesting to note that we had to use the "Auto Adjust" feature on our monitors after doing this.

Which codec should I use for HD YouTube Videos?

December 18th, 2010 2 comments

We wanted to upload some of our video projects to YouTube.  But which format would produce the highest quality, after YouTube's processing?  We decided to test four of the most popular formats: MPEG-2, AVC, Windows Media, (16Mbit/sec each) and uncompressed (over 800 gigabytes per hour!).  Which do you like best?


Mango, do you believe in the supernatural?

December 8th, 2010 2 comments

I was working my company's booth at a trade show last weekend.  I know - mistake.  But it did provide some excellent entertainment.  I had the most interesting customer strut up to me and ask if I believed in the supernatural.


Business Equipment Leasing Tips

May 16th, 2010 1 comment

Mango runs the IT department at his day job, which involves evaluating business equipment for purchase or lease.  Here are a few tips that we would really like everyone to know.  Or if you don't care about leasing but like making fun of sales people, you can just skip to the bottom.


Free Skype-to-SIP Software!

April 25th, 2010 No comments

We don't like Skype.  Actually, that's not true.  We like the concept of Skype, that is, making free calls to people via the Internet.  We just don't like having to use a computer to do it.  We got all excited when we read about Skype for Asterisk, thinking it would be an easy way to receive calls from our Skype-using friends, on a regular phone.

But then we kept reading and said, "Sixty-six dollars per channel!?  Forget that!"

Fortunately, there is a cheaper - and in fact, free - way of accomplishing the same thing.