Thoughts abouut programming and life

Apr 21

Ting & Google Voice == Perfection for Me

There are a lot of great reasons to give Google Voice a try, I am entirely dependent on it now.  Those two links give you a lot of great reasons, but neither of them hit on the reason I love Google Plus — it allows me to make and take phone calls right from in gmail.  As gmail is already a cornerstone of my workflow, this is FANTASTIC for me.  It allows me to leave my headphones on and continue working away.  The spam feature is a nice benefit too, never get a telemarketer call twice.

But, despite having most of my calls go over the internet, and the vast majority of the time being on wireless of some sort, I was still paying a great deal (~$125 a month) for my minutes / text messages / data… better way to think about it… a little over $1500 dollars a year.

Enter Ting a tiny little wireless phone carrier piggy-backing on Sprint.  I look at some of my bills and find out what I would be paying for my monthly bill with all the service I need via Ting… 38 bucks (including taxes) … saving over $1000 bucks a year ($1044 to be precise)…. but there is a catch, you buy the devices virtually outright (slightly discounted, more if you go to http://ting.com/twig) .. but even after dropping $350 on a phone… it pays for itself in 4 months.

Anyway, the point of this little post was to explain how I setup everything to work automatically using Google Voice whenever I am on wireless, and using standard 3G/4G coverage when I am away from a Hotspot/Home/Work. 

  1. Google Voice (free)
  2. GrooveIP ($4) 
  3. AutoAir (free)

The setup (parts lifted from here…)

  1. Google Voice # forwarded to my Ting #
  2. Google Voice # forwarded to Google Chat
  3. Ting device has voice-mail disabled; rely on Google Voice instead and forward notifications via e-mail or SMS
  4. Ting device has “busy” and “no answer” calls forwarded to my  Google Voice #
  5. Ting device has “hide your Caller ID from others” option enabled
  6. GrooveIP installed on my handset (uses the Google Chat forward)
  7. GrooveIP 3G/4G calling disabled
  8. GrooveIP accept calls on answer enabled
  9. GrooveIP built-in dialer preference set to use GrooveIP on WIFI only
  10. GrooveIP native fallback enabled
  11. Hide the native phone app on the handset, it just gets in the way
  12. Hide the GrooveIP app also
  13. Use the GV app for texting and voicemail retrieval
  14. Use AutoAir to automatically disable the radio when you are on Wifi, this stops the phone from ringing in two different ways (One via standard phone forwarding, one via GrooveIP) … 

Apr 18

[video]

Mar 26

From C to C++11

This article is a fun little view on the way code has change from C to C++11: http://blog.feabhas.com/2012/03/on-the-evolution-of-programming-style/

Mar 24

Migrating Git Repo

This article was absolute gold for when I had to migrate a git repo at work. 

http://gbayer.com/development/moving-files-from-one-git-repository-to-another-preserving-history/

Aug 23

Build Erlang From Source on Ubuntu 11.04 (Quickstart)

sudo apt-get -y install build-essential m4 libncurses-dev libssh-dev unixodbc-dev libgmp3-dev libwxgtk2.8-dev libglu-dev fop xsltproc default-jdk tk8.5

Then download the tar.gz from http://www.erlang.org and simply “tar -zxvf ERLANG.tar.gz” then switch to the ERLANG directory and do a simple

./configure && make && sudo make install

and you are all set! 

Jul 28

Mistakes, Failures and Progress

Currently, in my day job I am working on a project that has hit a bit of a chicken and egg research loop.  This loop seems to be centered on mistake avoidance, which at that scale of this project makes sense, but our lack of ability to even guess use cases make our time investment dubious at best.  

Anyway, this dove tailed well with me seeing a TED talk by Tim Harford on Trial and Error, and it set of a bit of a chain reaction reminding me of other great TED talks I had seen that touched on this topic, and related topic of risk versus reward and top down versus bottom up engineering.  

Burt Rutan talks about the future of spaceflight, and in the talk is some amazing statistics on the success versus failure rates of early airplanes (30,000 attempts, a handful of successes).  He calls this ‘Natural Selection’ — but it is basically just another person talking about the importance of Trial and Error.  

One more for the stack, Kathryn Schulz talks about being wrong, not in abstract terms, but in personal terms.  In the present tense, can you think of anything you are wrong about?  It talks about the importance of stepping back from an idea, and detaching from the emotional impact of being wrong.

Apr 04

As much as there can be a “Best” version of “Friday” — Stephen Colbert, The Roots and Taylor Hicks comes close: http://j.mp/f1dSNW

Mar 30

Moving Backward

After working some contracts using Erlang and Cassandra (Thrift) going back to PHP/MySQL has been a bit painful.  The laid back client, and someone interesting work has made it bearable, but I am missing OTP profoundly.

A few months ago, I had not touched Erlang/OTP, yet it rapidly took the number one slot in my kit.  It isn’t all roses, but what it brings is huge, and for me has been game changing:

I realize Erlang doesn’t have much popular support, and will probably never get mainstreamed, but at this point that just feels like a competitive advantage.  The experience for me has been profound, and very different than my experience with Scala, which felt to me like more of the same (lots of other java platforms, but now with Actors!)… I didn’t feel the radical shift I felt with Erlang. 

http://j.mp/hkRM3p <- absolutely cracked me up. Molestation Nursery!

Mar 25

*sigh* @DellHomeus new policy on shipping delays seems to be to withhold all information. Day 23 “In Production” on my L702X. #dell #sucks