Thursday, December 29, 2016

Free website and email using your own domain

There is no reason you need to pay hosting fees or setup your own server to have your own domain name and email.  Ok, you do have to buy your domain name, but once that is done here are the steps to host it using free services, till you get a lot of traffic or some seriously large email accounts.

I used godaddy to purchase my domain names.  Tip, add them to your cart, create an account, but don't purchase.  Usually by the next day they will give you coupons for 40% off or so.

Zoho.com offers a lot of small business services.  One is mail, with a free account for basic use.  Just signup on zoho.com for their free mail client, they will guide you through the steps on how to confirm your domain name with godaddy and setup the DNS records so mail can start going to zoho.  They offer an android app, and I assume an iPhone app, or you can use whatever email client you are familiar with.

For your website, I use blogger.com, its free, and with sites like btemplates.com you can find many different designs.  Just signup, follow the instructions for sending your domain name to blogger and there you go.

Free email and web hosting for your personal use.

Wednesday, December 28, 2016

@giftofcomics

Here will be postings about our business Gift Of Comics, comic reviews, comic book related articles, etc.

@hubminder

Working on a new site for setting reminders, finding gift ideas, and general articles geared toward husbands/fathers.

@rantandrambles

Here will be my general rants and rambles.

Sunday, February 15, 2015

Hybrid Responsive HTML with Foundation

If you are using Foundation with Interchange you have seen extra requests that the client has to make to download the content. This is fine for images since that is a separate request anyway, but for HTML content I didn't want that extra request for mobile devices.

My solution, so far, was to exclude my default template size, (small), from the data-interchange variable, and include that small template directly into the div as the default content. This works fine with loading on a small template since no other requests are done. But if the browser is resized to medium and back to small it would stay with the medium html loaded by interchange.

To get around this I setup a new data attribute, and a little javascript.

in the div where data-interchange exists, I added a data-interchangeonreplace attribute.

Here is my example Div
<div id="testcontent" data-interchange="[medium.html, (medium)], [large.html, (large)]" data-interchangeonreplace="[small.html,(small)],[medium.html, (medium)], [large.html, (large)]">
  <div data-alert class="alert-box secondary radius">
    This is the default content.
    <a href="#" class="close">×</a>
  </div>
</div>


Here is the javascript:

$(document).on('replace', 'div', function (e, new_path, original_path) {
 var divid = $('#' + e.currentTarget.id);
 if (divid.attr('data-interchangeonreplace')) {
  divid.attr('data-interchange',divid.attr('data-interchangeonreplace'));
  divid.removeAttr('data-interchangeonreplace');
    divid.foundation('interchange', 'reflow');
 }
});


now when resizing past small it will add small.html back to the list so it if is then resized smaller it will display properly.

The same can be done in reverse, use whatever methods to determine your default template to display and only include it back in if the size changes, eliminating an extra client HTTP request for each block of code you load dynamically on your page.

Open Source Contribution - sort of

Who says I don't contribute to open source technologies, just paid to have Asterisk 13 support built for the unimrcp project. It now will compile properly with asterisk 13, tested up to 13.1.1. We also needed a feature to allow the mrcprecog function to play multiple audio files, since we use that format for our prompts. Link is here for the multiple file syntax: https://code.google.com/p/unimrcp/source/detail?r=2263

Monday, November 17, 2014

Asterisk - recording confbridge

When you find a business case to record a conference in asterisk here are some tips I have found.

Don't set record_conference to yes in the conf file, instead set only the conferences you want to record in the dialplan.  This can be done with

SET(CONFBRIDGE(bridge,record_conference)=yes)
SET(CONFBRIDGE(bridge,record_file)=/var/spool/asterisk/confbridge/${TL_PHONE_CALL_ID}.wav)

but there are some caveats, as you can see I tried to name the file as a variable.wav, however the file will actually be named variable-timestamp.wav, which can cause issues if you don't expect it.  Sure there are ways to get the filename in the dialplan (MIXMONITOR_FILENAME I think), but our solution, which processes the files after the call is done was found on the internet and just runs this command in PHP
$cmd = 'mv /var/spool/asterisk/confbridge/'.$data['phone_call_id'].'-*.wav /var/spool/asterisk/confbridge/' . $data['phone_call_id'] . '.wav';

In Asterisk 11 we were able to start our conference with
ConfBridge(${TL_PHONE_CALL_ID},default_bridge,TTM_profile,TTM_profile_menu)

which would still use our settings set above to record the conference, however in asterisk 13 which we just upgraded to this command now has to be
ConfBridge(${TL_PHONE_CALL_ID},,TTM_profile,TTM_profile_menu)

which uses the custom channel bridge variable setup by the CONFBRIDGE function