Archive for the ‘Integration’ Category

Google’s Cooking up a Voice storm

Monday, November 9th, 2009

Quite a week for Google.

When you mash all this together you get one heck of a compelling mobile voice solution that could be provided to end users for free and yet generated Ad revenue for Google.  A perfect voice storm, if you will.

UPDATE: Google confirms that Gizmo5 is not only acquired but will be joining the Google Voice team.  Can’t wait to see what comes out of this.

Very interesting…

By the way, sorry that we have been awfully quiet lately.  Some exciting things are happening and we should have more to announce very soon.  Stay tuned…

Gmail Email Relay using Postfix on Mac OS X 10.5 Leopard

Thursday, April 23rd, 2009

I use Postfix to relay system messages (e.g. a botched cronjob) over SSL to my Gmail account. These messages are otherwise “lost” because the email is being sent to a dormant mail transfer agent on my Mac. There’s way more that you can do with Postfix, but I’ll just cover the setup I did for my needs.

1. Create the Simple Authentication and Security Layer (SASL) password file.

sudo vi /etc/postfix/sasl_passwd

Enter and save the following

smtp.gmail.com:587 your.name@gmail.com:your.password

2. Create a Postfix lookup table for SASL.

sudo postmap /etc/postfix/sasl_passwd

3. Configure Postfix with

sudo vi /etc/postfix/main.cf

By default, everything is commented out. You can just append this to the end of file and save:

# Minimum Postfix-specific configurations.
mydomain_fallback = localhost
mail_owner = _postfix
setgid_group = _postdrop
relayhost=smtp.gmail.com:587

# Enable SASL authentication in the Postfix SMTP client.
smtp_sasl_auth_enable=yes
smtp_sasl_password_maps=hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options=

# Enable Transport Layer Security (TLS), i.e. SSL.
smtp_use_tls=yes
smtp_tls_security_level=encrypt
tls_random_source=dev:/dev/urandom

5. Start postfix with

sudo postfix start

If you get an error, address the parameter in main.cf that is in the error and use

sudo postfix reload

to refesh Postfix. If everything looks good, then send an email

date | mail -s test your.name@gmail.com

If you don’t get an email fairly quickly, enter

mailq

and you should see the email there along with a description of any problems. If the mail is not in the queue, you most likely got something wrong in main.cf so you’ll need to do some debugging. If your mail queue starts to fill up during this process, you can clear it with

sudo postsuper -d ALL

6. Once you have everything working, you can set Postfix to start on boot by adding a key to /System/Library/ LaunchDaemons/org.postfix.master.plist. If you have Property List Editor (or something similar), you can add the key RunAtLoad of type Boolean with a value that is checked.

Alternatively,

sudo vi /System/Library/LaunchDaemons/org.postfix.master.plist

and add the following just before the tag </dict>

<key>RunAtLoad</key>
<true/>

You can control whether your job is to be kept continuously running by using KeepAlive .

Life in the Remote Lane: Let me tell you about my Generator.

Monday, April 20th, 2009

I love my Generator.

When I moved up here to the rural woods of New Hampshire, my biggest concern was electricity. Closer to Canada than Boston, it’s pretty rural, and the wind and ice and snow take the power lines down, more frequently than in a more urban area.

I planned my new house with a GenTran switch (It’s basically plug near the circuit breaker, that allows you use an alternate power source/generator), tried to calculate the house requirements. These switches are wired into the circuit breaker, and typically cover the essential power needs — well pump, boiler, refrigerator, and maybe a bedroom.

Prior Planning Prevents Poor Performance.

We had rented a similar house, and guestimated we were using about 1000 KWh a month. So i figured that was 33 KWh a day or 1.4KWh an hour. I recognized the math trap here, realizing that it’s not equally distributed over the day. So I used 33/8h or 4.1KWh/hour. Connected to 6 circuits — well pump, boiler, refrigerator, 2 bedrooms and my Office — I figured I was well within the 5 KW of my Honda EB5000 gas generator.
Read the complete article…

VoiceCentral Submitted to the App Store

Thursday, March 26th, 2009

We’ve just submitted our 2nd app, VoiceCentral, to the App Store.

VoiceCentral integrates GrandCentral/Google Voice with your iPhone. We have been long time users of GrandCentral (GC), but have always wanted a better integration between GC and the iPhone. We decided to build our own way to get Voicemails and dial out using GC. Google Voice made huge improvements over what GC provided but the experience still lacked what we wanted out of GC/GV and the iPhone.

We built VoiceCentral to fill in these gaps and it provides a way for you to access your voicemails on GrandCentral or Google Voice (if you have switched yet). We also allow you to place calls via GC/GV for free and integrate your iPhone Contacts with your GC/GV voicemails.

With VoiceCentral you’ll be able to

  • Log into either GrandCentral or Google Voice.
  • View a list of messages and listen to only the ones you want.
  • Toggle between the earpiece for privacy and the
    speakerphone for convenience.
  • Easily pause, rewind, or fast forward to any point in a message as it plays.
  • Delete messages when using GrandCentral (not available for Google Voice).
  • Create a new contact using the name and phone number on the message.
  • Securely store your password on the iPhone’s keychain for auto-login.

Grand Central Voice Mail

Transfer files without FTP?

Monday, January 5th, 2009

We recently had an integration where we needed to grab data, and update a patch, onto a “dumb” switch. This was part of a automated solution we were providing to a hardware vendor.

The switch had access via telnet and a stripped down http server. We needed to get on the box, run diagnostic scripts, and grab the logs. Using that data, we needed to make configuration changes, and report all of the steps to the operators for compliance and tracking.

We wrote a script that pushed up some shell code by echo-ing shell script to a file. This gave us the ability to binhex on the dumb switch. Then, after running the diagnostics and redirected the output, we could execute our binhexzip script, and echo/cat it to the terminal. We could then reconvert the hex back to the zip and back to the captured files.

Then we reversed the process pushed up the fix in the same way, and unpacked it, ran the updates and sent the notifications.