<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6713059693303749259</id><updated>2011-07-07T17:49:04.949-07:00</updated><title type='text'>Sam's Stuff</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://samalolo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://samalolo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Sam</name><uri>http://www.blogger.com/profile/12711445133111997417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6713059693303749259.post-7188172087804904593</id><published>2009-08-07T16:08:00.000-07:00</published><updated>2009-08-07T21:54:18.328-07:00</updated><title type='text'>Google Voice with a real phone for free calls</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p7hLQez80Pw/SnzH5wL8AmI/AAAAAAAABcA/rP01b8ylM0s/s1600-h/gv-gizmo-phone.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 164px;" src="http://2.bp.blogspot.com/_p7hLQez80Pw/SnzH5wL8AmI/AAAAAAAABcA/rP01b8ylM0s/s400/gv-gizmo-phone.png" alt="" id="BLOGGER_PHOTO_ID_5367384650920231522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Ahh I love Google Voice. So, sure you can have your new GV number ring you on your cell, home, office etc. but what if you want to get rid of your home line all together and just use Google Voice? and get free incoming and outgoing calls? Well read along and I'll explain how.&lt;br /&gt;&lt;br /&gt;One of the options in the GV Settings - Phones menu is to add a new number, and one of those numbers can be a Gizmo number. What is Gizmo? A VOIP provider and they happen to be the only one (as of this post) to be tightly integrated with GV.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);font-size:130%;" &gt;STEP 1: Get a Gizmo5 account&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Sign up for a free account at &lt;a href="http://www.gizmo5.com/"&gt;http://www.gizmo5.com&lt;/a&gt;&lt;/li&gt;&lt;li&gt;You will need to remember your Gizmo number and password.&lt;/li&gt;&lt;li&gt;To get your Gizmo number, click on "My" then scroll down to account overview&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p7hLQez80Pw/Sny1719YIGI/AAAAAAAABbU/KWtxd81rUZ4/s1600-h/gizmoaccount.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 150px;" src="http://2.bp.blogspot.com/_p7hLQez80Pw/Sny1719YIGI/AAAAAAAABbU/KWtxd81rUZ4/s400/gizmoaccount.png" alt="" id="BLOGGER_PHOTO_ID_5367364895620210786" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Write down your SIP number (without the dashes)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);font-size:130%;" &gt;Step 2: Buy a VOIP phone and configure it&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;I went with the Grandstream Budge-Tone-200 (or 201) from &lt;a href="http://www.voiplink.com/Grandstream_BudgeTone_201_IP_Phone_p/grandstream-budgetone-201.htm"&gt;VoipLink&lt;/a&gt; I tried originally with a Polycom SP301 but it didn't support STUN server and that made it hard to bypass the router. Sure I could have done some port forwarding magic but this was just easier.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Configure the phone to use your Gizmo5 account:&lt;/li&gt;&lt;li&gt; When you plug the phone into your router, it will be given an IP address. You can either get this IP number by logging in to your router, or just hit "Menu" on the phone, scroll down one to "IP Adr" then hit Menu again. In my case it was http://192.168.1.108 go to this address in your browser.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The default password is admin&lt;/li&gt;&lt;li&gt;Click on "Account"&lt;/li&gt;&lt;li&gt;Account Name: Gizmo&lt;/li&gt;&lt;li&gt;SIP Server: proxy01.sipphone.com&lt;/li&gt;&lt;li&gt;Outbound Proxy: proxy01.sipphone.com&lt;/li&gt;&lt;li&gt;SIP UserID: Your Gizmo number from earlier 1XXXXXXXXX&lt;/li&gt;&lt;li&gt;AuthenticateID: The same Gizmo number&lt;/li&gt;&lt;li&gt;Authenticate Password: Your Gizmo Password&lt;/li&gt;&lt;li&gt;Scroll down and click on Update&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Click on "Advanced Settings"&lt;/li&gt;&lt;li&gt;STUN Server: stun01.sipphone.com:3478&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Scroll down, click on Update then Reboot (phone)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_p7hLQez80Pw/Sny58-eRq2I/AAAAAAAABbc/nTbA6tk-O6A/s1600-h/grandstreamconfig.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 134px;" src="http://3.bp.blogspot.com/_p7hLQez80Pw/Sny58-eRq2I/AAAAAAAABbc/nTbA6tk-O6A/s400/grandstreamconfig.png" alt="" id="BLOGGER_PHOTO_ID_5367369313132063586" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_p7hLQez80Pw/Sny6LG3hKyI/AAAAAAAABbk/MFbQ9qsdhXU/s1600-h/Picture+6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 35px;" src="http://4.bp.blogspot.com/_p7hLQez80Pw/Sny6LG3hKyI/AAAAAAAABbk/MFbQ9qsdhXU/s400/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5367369555903589154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 0, 0);font-size:130%;" &gt;Step 3: Configure your Google Voice to ring your new Gizmo phone&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We're almost there, now login to Google Voice, click on Settings - Phones - Add another phone. Give it a name, put in your Gizmo phone number, under PhoneType: select Gizmo then Save&lt;/li&gt;&lt;li&gt;Google will attempt to call you on this number to verify a 2 digit PIN, enter it and you're all set.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p7hLQez80Pw/Sny7Ny9EtWI/AAAAAAAABb0/l-56pReVbIk/s1600-h/Picture+7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 226px;" src="http://2.bp.blogspot.com/_p7hLQez80Pw/Sny7Ny9EtWI/AAAAAAAABb0/l-56pReVbIk/s400/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5367370701609416034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 0, 0);font-size:130%;" &gt;&lt;span style="font-weight: bold;"&gt;Step 4: You're Done!&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Now when someone calls your GV number, your new Grandstream phone will ring.&lt;/li&gt;&lt;li&gt;If you want to dial out, don't do it from the phone (unless you have credit in your Gizmo5 account). To dial out, login to your GV account, click on Call, then enter the number of the person you're calling and under "Phone to Ring" select your Gizmo number. Your phone will then ring, pick it up and you'll hear your outgoing call ringing.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6713059693303749259-7188172087804904593?l=samalolo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samalolo.blogspot.com/feeds/7188172087804904593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://samalolo.blogspot.com/2009/08/google-voice-with-real-phone-for-free.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default/7188172087804904593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default/7188172087804904593'/><link rel='alternate' type='text/html' href='http://samalolo.blogspot.com/2009/08/google-voice-with-real-phone-for-free.html' title='Google Voice with a real phone for free calls'/><author><name>Sam</name><uri>http://www.blogger.com/profile/12711445133111997417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p7hLQez80Pw/SnzH5wL8AmI/AAAAAAAABcA/rP01b8ylM0s/s72-c/gv-gizmo-phone.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6713059693303749259.post-495563763117109669</id><published>2009-04-03T20:52:00.000-07:00</published><updated>2009-04-03T21:11:57.585-07:00</updated><title type='text'>google appengine appcfg.py tweak to allow passing password on command line</title><content type='html'>to get appcfg.py to accept --password on the command line instead of being prompted for it:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;change:&lt;br /&gt;&lt;br /&gt;appengine/google_appengine/google/appengine/tools/appcfg.py&lt;br /&gt;&lt;br /&gt;add the following in the parser.add_option section:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;parser.add_option("-p","--password", action="store", dest="password",&lt;br /&gt;                  metavar="PASSWORD", default=None,&lt;br /&gt;                  help="The password")&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then modify the GetUserCredentials function:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;def GetUserCredentials():&lt;br /&gt;  """Prompts the user for a username and password."""&lt;br /&gt;  email = self.options.email&lt;br /&gt;  if email is None:&lt;br /&gt;    email = self.raw_input_fn("Email: ")&lt;br /&gt;&lt;br /&gt;  password = self.options.password&lt;br /&gt;  if password is None:&lt;br /&gt;    password = self.raw_input_fn("Password: ")&lt;br /&gt;&lt;br /&gt;#      password_prompt = "Password for %s: " % email&lt;br /&gt;#      if self.options.passin:&lt;br /&gt;#        password = self.raw_input_fn(password_prompt)&lt;br /&gt;#      else:&lt;br /&gt;#        password = self.password_input_fn(password_prompt)&lt;br /&gt;&lt;br /&gt;  return (email, password)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;That's it, now you can call:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; appcfg.py update demos/guestbook --email=email@gmail.com --password=xxxx&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6713059693303749259-495563763117109669?l=samalolo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samalolo.blogspot.com/feeds/495563763117109669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://samalolo.blogspot.com/2009/04/appcfgpy-tweak-to-allow-passing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default/495563763117109669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default/495563763117109669'/><link rel='alternate' type='text/html' href='http://samalolo.blogspot.com/2009/04/appcfgpy-tweak-to-allow-passing.html' title='google appengine appcfg.py tweak to allow passing password on command line'/><author><name>Sam</name><uri>http://www.blogger.com/profile/12711445133111997417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6713059693303749259.post-8386992529928397890</id><published>2009-03-19T12:10:00.001-07:00</published><updated>2009-03-19T12:11:41.305-07:00</updated><title type='text'>Blog post check ....</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_p7hLQez80Pw/ScKY1ADVtfI/AAAAAAAAAsw/SQ-6NKWZkaI/s1600-h/scubasam.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 200px;" src="http://2.bp.blogspot.com/_p7hLQez80Pw/ScKY1ADVtfI/AAAAAAAAAsw/SQ-6NKWZkaI/s320/scubasam.gif" alt="" id="BLOGGER_PHOTO_ID_5314978546565101042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Testing my first post ... this is a picture of me scuba diving in Kona, Hawaii :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6713059693303749259-8386992529928397890?l=samalolo.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://samalolo.blogspot.com/feeds/8386992529928397890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://samalolo.blogspot.com/2009/03/blog-post-check.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default/8386992529928397890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6713059693303749259/posts/default/8386992529928397890'/><link rel='alternate' type='text/html' href='http://samalolo.blogspot.com/2009/03/blog-post-check.html' title='Blog post check ....'/><author><name>Sam</name><uri>http://www.blogger.com/profile/12711445133111997417</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_p7hLQez80Pw/ScKY1ADVtfI/AAAAAAAAAsw/SQ-6NKWZkaI/s72-c/scubasam.gif' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
