Author Archives: mike

No “Fail Whale” for Fonolo After Slashdot

Last Thursday (June 23rd), my company Fonolo was featured on Slashdot, which then it made it’s way to Boing Boing, and a handful of other sites.

Now, this was great news for us, as it generated a TON of traffic into our sites, but I was also understandably concerned about what this extra traffic coming into our system was going to do. I’ve heard (and seen) dozens of horror stories about sites featured on Slashdot, who’s servers simply ended up melting from the extra traffic. Having a full out “fail whale” situation, would simply be an embarrassment to us; and I would consider it a personal failure, given that I have been the chief architect of the Fonolo system.

But despite traffic peaking at ~44MB sustained, our system handled it with tons of room to spare- no interruptions, no failures, no downtime.

and lighttpd handled all the web traffic like a champ.

Why are your customers still waiting on hold?

Waiting on hold is consistently one of the top complaints about phone-based customer service. One way to eliminate hold time is to hire enough agents that one is always available. Of course, this is cost prohibitive for most companies! Another way is to implement a virtual queuing (VQ) solution.

Shai has written a great series of posts on our VQ offering, Hold-for-Me, on his blog. See, for example:

There are some great cost-savings arguments that support the case for VQ. (I’ve been spending a lot of time working through these scenarios with prospective customers.) But I believe the best case for it is the uplift in customer satisfaction.

In today’s hyper-connected world, delivering a superior experience to your customer is something that echoes quickly and has long-lasting impact. I just came across this quote that sums it up nicely.

 

RIM isn’t going to make it.

Research in Motion (the company behind the BlackBerry smart phones), released their quarterly updates yesterday, causing their shares to tank- dropping 21% on the TSE. Apparently this was mostly due to product delays and the announcement of layoffs.

The thing I find funny, is the curious 2M drop in volume earlier in the day:

Cough… (insider trading)… cough cough..

Wait until it gets to $20/share and buy! They’ll be Microsoft shares soon enough.

Net_DNS2 Version 1.1.0

Net_DNS2 version 1.1.0 is now available for download from the PEAR site, or can be installed using the “pear” command line client like:

pear install Net_DNS2

This release includes support for signing DNS updates and zone transfers (AXFR’s) using SIG(0), a private/public key authentication mechanism. The OpenSSL PHP extension is required for this feature to work.

//
// create a new Updater object
//
$u = new Net_DNS2_Updater('example.com', array('nameservers' => array('192.168.0.1')));

//
// add a SIG(0) to authenticate the request
//
$u->signSIG0('/etc/namedb/Kexample.com.+001+15765.private');

//
// send the update rquest.
//
$u->update();

Support for the ATMA resource record- a method for publishing ATM addresses via DNS.

@      IN    SOA    name1.data.example.com.  name4.data.example.com. (
                                  1994041800   ; Serial  - date
                                  1800         ; Refresh - 30 minutes
                                  300          ; Retry   - 5 minutes
                                  604800       ; Expire  - 7 days
                                  3600 )       ; Minimum - 1 hour
       IN    NS     name1.data.example.com.
       IN    NS     ns.example.com.
;

salmon IN    ATMA   39.246f.000e7c9c031200010001.000012345678.00

And a new simple local cache system, using shared memory (using the PHP Shmop Extension), or using a flat file.

$r = new Net_DNS2_Resolver(array(

        'cache_type'    => 'shared',
        'cache_file'    => '/tmp/net_dns2.cache',
        'cache_size'    => 100000
));

Caching is disabled by default, and is only used for DNS queries (and not for updates), but can drastically improve query performance.

For more details, see the Net_DNS2 Google Code Page.