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.

Read more...

No, Really, I Don't Need a Bag!

March 5th, 2010 2 comments

I hear that some places around the world have banned plastic bags. Vancouver is not included in this, however some stores such as Whole Foods have voluntarily quit giving them out. Others charge for bags to encourage customers to bring their own. And when you think about how many plastic bags probably end up in the trash, I think it's a great idea! So I, being relatively environmentally conscious, bring a reusable bag for my shopping as much as possible.

Of course, me being Mango, and thus more than relatively eccentric, I take things a bit farther than that.

Read more...

Making the Simply Accounting Session Date default to today

March 4th, 2010 No comments

In Simply Accounting, the Session Date is used for default dates of transactions.  When one creates, for example, an invoice, the date is automatically assumed to be whatever the Session Date is.  We've found no way to change the default of the Session Date from within Simply, but this can be accomplished by this handy script.

Read more...

Change Back/Forward buttons to Previous/Next

February 22nd, 2010 1 comment

Over the past few weeks we've been testing the Microsoft ComfortCurve Keyboard 2000 and we love it!  Its keys are nice and responsive, it's comfortable to use, and its buttons are in very intuitive places.  The best part is it's practically a steal - we've seen it for as low as $15.  It has only one minor flaw which is that there are very few multimedia buttons.  There are play/pause, volume up/down, and mute.  But there are no buttons for stop, previous, or next.

There were however browser Back/Forward buttons.  And we never use the mute button.  For some reason, SharpKeys, which we've used in the past wouldn't do the job.  The keyboard came with software called IntelliType but it used a great deal of RAM and, oddly, slowed down our cursor a great deal.  No matter.  This is an excellent excuse to point out again just how much we like AutoHotkey.
#NoTrayIcon
#SingleInstance force
Browser_Back::Media_Prev
Browser_Forward::Media_Next
Volume_Mute::Media_Stop

Disable Targus PowerPoint Remote Buttons

February 16th, 2010 No comments

A company called Targus makes remote controls designed for use with PowerPoint presentations.  They allow you to control your presentation from some distance away from the actual computer running the show.

While this sounds like a great idea in theory, in practice these remotes are BEYOND frustrating.  The reason is that there are too many buttons, and pressing the wrong button at the wrong time will make the presentation quit working.  And no matter how carefully we instruct the presenter to recover from such incidents, ("If everything stops working press this button labeled Magic Fix-It Button!") ostensibly they will forget.  Every.  Single.  Time.

These buttons, they must be disabled.

Read more...

Which Email Providers are the Most Popular?

February 9th, 2010 No comments

At Mango's day job, he operates a mailing list for his customers.  Approximately 2,000 customers have subscribed to it.  He wanted to set up test email accounts with various webmail providers to be sure his emails arrived as intended.  But which webmail providers should he choose?  The most popular email providers were easily found with this MySQL query:
SELECT
SUBSTRING(`email`, LOCATE('@', `email`)) AS `domain`,
COUNT(*) AS `count`
FROM `table`
GROUP BY `domain`
ORDER BY `count` DESC
For our list, the results were:

Major regional ISPs - 39%
Hotmail - 14%
Yahoo - 9%
Gmail - 8%
AOL - 1%

The remaining 29% consisted of small ISPs and insignificant webmail providers, each less than 1% of the total.

Shaw Digital Phone Review

February 6th, 2010 3 comments

We like Shaw Digital Phone a lot. Shaw Digital Phone is an implementation of VoIP that is run over Shaw's private network, separate from the Internet.  Shaw's reps actively deny that their service is VoIP - we suspect they want to differentiate themselves from providers of broadband VoIP.  This is perhaps with good reason. Because Shaw Digital Phone doesn't run over the Internet, typical VoIP issues caused by latency, bandwidth sharing, and internet outages are entirely eliminated.

Read more...

How to Install Asterisk on an Asus WL-520GU Router

January 19th, 2010 2 comments

Update: This article is almost a year old and some of the information is now outdated.  While it is certainly possible to run Asterisk on a WL-520GU router, there is now a better router that has been released since we bought ours.  It has a whopping eight times the memory and flash, and a CPU twice the speed of that in the WL-520GU - this is the best consumer-grade router with open-source firmware we've ever seen.  If you intend to run Asterisk on a router, we recommend the new Asus RT-N16.

We have also discovered that USB flash drives (at least the ones we have tried) are not up to the task of long-term use.  So, you may wish to instead use a CIFS share, or connect a USB hard drive instead of a USB flash drive.  Additionally, Asterisk may be installed on many other devices such as the Seagate Dockstar or many NAS devices such as the Western Digital MyBook Live.  If you have a favourite, please comment and let us know what it is and why.

The original article is below, in case it is still helpful for anyone.


Yes, you read right.  For this project, we're going to tell you how we built a fully functioning Asterisk PBX out of a $25 router.  We designed this project because we wanted an Asterisk server for use as a home PBX that could be built relatively easily, used as little power as possible, and cost as little as possible.  The best part is, a lot of the heavy lifting such as compiling Asterisk has already been done for us.  All we need to do is install it.

The first version of this article was published on the VoIP Tech Chat forum in August 2009.  The article that you are reading right now is the latest version.  The forum no longer allows us to edit the original post so we have moved it here.

A common question people ask is, "Why do you need a PBX for your home?"  The answer is we wanted telephone features that we haven't been able to find for a price we're willing to pay.  Now, we can have nearly any feature we want.  Some of these include termination failover, custom incoming Caller ID, and call recording.  The best part is that when we're done, the device will still function as a router.  You won't even need to wedge another AC adapter into your power strip.

Read more...

Easily Check HTTP Headers with this tool

December 28th, 2009 No comments

We were trying to solve an annoying bug in our mod_rewrite code today and couldn't quite figure out why our server was acting the way it was.  Fortunately we discovered a nifty tool (Thanks pkhach!) that allows you to view the HTTP request and response headers for any URL you like.  You can even choose between HTTP/1.1 and HTTP/1.0, with and without the Host header.

View HTTP Headers

A reader also suggests this Firefox extension.  Thanks, Eric!

The best part is that both of these are much easier than messing about with Telnet.exe!

VoIP Security - Could Someone be Listening In?

December 27th, 2009 No comments

The question of VoIP security often comes up on various VoIP forums, and it's a good one.  Could someone be listening to your conversation?  While it's theoretically possible, here are a few security tips that will help keep your network secure.  The first thing we'd like to point out is that VoIP can actually be much easier to secure than traditional telephone service!

Read more...

Our Favourite Christmas Music (This Year)

December 25th, 2009 No comments

Christmas music is one of our weaknesses and every year we seem to find one or two songs that we just can't stop listening to.  Most of these have actually been around for a while but we hadn't heard them until recently.  Here they are, in no particular order:

S Club 8 - Sleigh Ride (YouTube)

Amy Grant - I Need a Silent Night (YouTube)

Josh Groban - Thankful (YouTube)

Wilson Philips - Hey Santa (YouTube)

Dana - It's Gonna Be A Cold Cold Christmas (YouTube)

Chris Rea - Driving Home for Christmas (YouTube)

Big Daddy Weave - Go Tell It On The Mountain (YouTube)

David Foster - The Christmas Season (YouTube)

Do-it-Yourself Photo Booth!

December 8th, 2009 No comments

DIY Photo BoothA friend and her husband recently returned from a wedding with one of the best favours we'd ever seen: a strip of photos that appeared to have come from a photo booth.  But, they were unlike any photo booth photos we'd ever seen: the lighting was textbook, the images sharp and clear, and the colours as good as any professional photograph.  The reason was...that they were professional photographs.  The wedding photographer set up a booth and invited the guests to have their picture taken.

What a fantastic idea.  We simply had to build one.

Mr. and Mrs. Mango are already married but they decided to have a Christmas party this week and thought it an ideal time for a photo booth.  As it turned out, it was very easy to build.

Read more...

Google Calculator Rocks!

September 20th, 2009 No comments

We always seem to want to convert various forms of measurements to some other various forms of measurements.  We used to have bookmarks for every conversion necessary: one for distance, one for weight, one for currency, and so on.  Then, Mango discovered Google Calculator.  Google has outdone itself and created the easiest conversion tool we've ever seen.  You simply write your conversion in plain English into the Google search box.

Examples follow.

Read more...

ATAs vs. IP Phones: Which should you choose?

September 17th, 2009 No comments

Instead of using a customary ATA to convert legacy telephones or PBX equipment, some users of VoIP prefer to use a "pure IP" system and use IP phones.  There are advantages to both methods.

Read more...

Six Notify Sounds

September 10th, 2009 No comments

Here are six "notify" sound effects that Mango made for use in an application, free for the download.

How to Solve Two Four Encore CS3 Quirks

July 4th, 2009 2 comments

Recently we were attempting to build a DVD with Adobe Encore CS3.  Due to Encore's oddities, it took two days to figure out how to do it.  We look forward to the day when Adobe's video editing software will reach the same caliber as its industry standard Photoshop.  Perhaps at this point mentioning "I use Premiere" at a professionals' meeting won't be met with stifled giggling.

Until then, here's how we solved two most notable quirks.  The first was an error message that occurred upon build that went along the lines of: PGC "xxxx" has an error at xx:xx:xx:xy internal software error : %0, line xxxx - PGCINFO: name= xxxx, ref=BPGC, time=xx:xx:xx:xy

This error referenced a point on the timeline approximately one second from the end of the clip.  The last second wasn't significant so we simply trimmed the last second from the clip.  The error then referenced a point on the timeline TWO seconds from the end of the clip.  This was frustrating.

Read more...

12 Things Mango Wishes He'd Known When He Was a PHP N00b.

June 29th, 2009 2 comments

  1. Never use Register Globals.  Ever.  And if you ever even THINK of using Register Globals, and we find out, Mango is going to send someone over to your house to kick your ass.  Are we clear?
    As much as we love working with PHP, Register Globals is something that should be filed under "Monumentally Bad Ideas".  And unfortunately, it's something that, at first glance, appears convenient.  If a user submits a form to a PHP script with Register Globals enabled, the script will create a variable for each form element.  However, keep in mind that this allows your end users to set any variable in your script that they like.  Here is a common mistake that we see:
    if ($logged_in) { secret_functions_allow(); }
    In a situation like this, the author has first run some code to see if the user is logged in or not.  If so, the script will have defined the $logged_in variable.  When the above line of code fires, it will provide the user with some functions only availble to authenticated users.  Innocent enough, yes?  However, to "hack" this, all that a malicious user would need to do is form a URL like http://www.example.com/?logged_in=1.  To turn off Register Globals, add php_flag register_globals off to .htaccess or register_globals = Off to php.ini.  Many administrators ban use of Register Globals entirely, so by developing without it, your script will be more portable.  This is a good thing.

Read more...

Mango's PHP PostScript Functions

June 17th, 2009 No comments

The latest techniques we've been playing with involve using a PHP script on our server in Michigan to print to a remote printer at our office in Vancouver.  In the past we've done this by generating an XHTML document with high-resolution images and simply prompting the user to print it.  This worked, but if any sort of precision was required, the user had to configure their browser's page setup just so, and to make things even more difficult, different browsers required different settings.

Enter PostScript, a language understood by many laser printers.  With PostScript, we can go directly from our script to the printer, (pipe the finished PostScript document to the printer on port 9100) eliminating the stop off at the browser.  And, we can position things on our page with as much precision as necessary.

Read more...

Converters for Webmasters

June 7th, 2009 No comments

When we're writing software, we always seem to use a few functions for quick conversions.  We've got a series of converters bookmarked, but today we were thinking it would be even more handy to have everything all in one place.  So we developed the Converters for Webmasters bookmarklet.

Read more...

Quotes of the day from doctors

May 1st, 2009 No comments

"I just love miraculous recoveries, so I try to have as many of them as possible."  -Brian Davies, ND

"There is a widespread belief [...] that genes are essentially destiny and if you're born with a particular set of genes, you're going to get a particular illness.  That is nonsense.  But it is also very convenient for people who don't want to take responsibility for their own health." -Harold D. Foster, PhD

Things We've Learned Watching COPS

April 25th, 2009 No comments

Lately we've been watching a TV series called COPS.  The show follows law enforcement officers during police activities.  While watching this show, we have learned a few things:

  1. If all of a sudden you see a cop, RUN!!  As fast as you can!  They won't get suspicious!
  2. If you have a large quantity of illegal substances or weapons in your car, don't bother with stop signs or red lights.  It is best to get where you are going as fast as possible.
  3. If an officer asks if you have any drugs on you, and you have a joint behind your ear, say no anyway.  They will never notice something like that.

Read more...

Configure your Linksys VoIP ATA the right way!

March 20th, 2009 55 comments

ATAs made by Linksys (formerly Sipura) are arguably the most popular ATAs amongst consumers and small businesses, because of their wide array of configuration options.  However, their default settings are not appropriate for users in Canada and the USA.  Let's talk about some settings you can use to ensure that your VoIP equipment properly matches your region.  We apologize in advance for Mango's verbosity but truly feel that the information in this article is very important.  If you're in a hurry, read the bold parts, and the last three paragraphs labeled important note.

Please note: Though the Linksys adapters have historically been an industry standard, they are built on old technology.  If you are considering buying a VoIP ATA, we recommend the new OBi ATAs.  The OBi ATAs were built by the same engineers that built the PAP/SPA devices, and are sure to make an already great VoIP experience even better.

We do not recommend the new SPA112 and SPA122. Though the SPA112 and SPA122 are sold by Cisco as successors to the PAP2T and SPA2102, the new devices are not built on the same technology as the old devices and have received poor reception in the community.

Last update: August 6, 2012.

Read more...

Linksys Dial Plan Tips and Tricks

March 6th, 2009 7 comments

One of the most common questions we get asked about VoIP is, "Is it still okay if I dial 10 digits for local calls?"  Regardless of the fact that that's a terrible first question to ask, the answer is up to you.  The dial plan on Linksys devices is one of their most powerful features, and with it, you can configure your dialing rules any way you want.

We were going to write an entire introduction to dial plans but discovered Cisco has rewritten lots of Linksys documentation and done a great job of it.  So instead, here's a link to the Cisco ATA Administration Guide - dial plans start on page 63 of the PDF.

What we will post are some excellent dial plans along with some examples of various tips and tricks you may not have thought of.  These should work with the PAP2T, SPA-2102, SPA-3102, and similar devices.

Read more...

Replacing smart quotes, em-dashes, and ellipses with MySQL or PHP

March 5th, 2009 42 comments

Alternate title: "Help!  My Quotes Appear as Question Marks or Other Strange Characters!"

The "Smart quotes" feature in Microsoft Office transforms straight quotes into curly quotes.  It also transforms hyphens into em-dashes and three periods into ellipses.  While one might think, "How lovely!  My document looks almost as if I'm educated!" readers of said document may not.  Microsoft, in its infinite wisdom, decided to assign special characters such as the ones we just mentioned to a range of codes above 128.  Problem: these codes aren't compatible with other character sets such as ISO-8859-1 or UTF-8, resulting in frustrating issues with non-Microsoft systems.

Keep reading for some PHP and MySQL code to help out with this issue.

Read more...

OV2Tools not working? Let us explain three confusing things.

March 4th, 2009 No comments

Mrs. Mango and I have a diesel Smart car, which I just absolutely love.  He holds a surprisingly large amount of cargo (such as enough equipment for a two-camera video shoot along with the operators), he's all kinds of fun to drive, and as a bonus he's cheaper than the bus.  We've even named him.  Affection aside, I made a Google map with locations of all the Diesel Stations in Vancouver, BC that I could find.  This of course required going to the computer and looking up the map any time we needed gas in an unfamiliar area.  So when I got a TomTom GO720 GPS, I thought it would be a grand idea to create a POI list of the Google map.

As it turned out, this was VERY much easier said than done.

Read more...