The topic of bucket lists came up a few times while we were in Belize, and while there are a ton of things I want to do in my life, I’ve never actually made a hard-copy list of them. I figure now’s as good a time as any. I’ll update as I complete things or think of new things to add.
Learn to
Ride a Motorcycle
Camp in
Glacier National Park
Complete a
Military Obstacle Course

I just got back from this year’s 50 Kings trip to Belize. It was such an incredible experience that I’m still processing everything that happened, but in the meantime, I want to share a cool logic puzzle that was shared with me while I was there:
You have 12 coins. You know one of them is counterfeit, and that it weighs either less than or more than a normal coin (but you don’t know which). In your possession is a balance scale that can compare two sets of coins and tell you which side weighs more (but not how much each side weighs). In 3 weigh-ins, how can you tell which coin is counterfeit AND whether it weighs more or less than a normal coin?
I’m happy to clarify the question or share the answer with anyone interested!
Posted
on April 19, 2013, 4:46 pm,
by Charlotte Genevier,
under
Musings.
I have a new favorite animated short. Ok, ok, Partysaurus Rex is technically still number 1, but I have to say, Spacebound comes really close, albeit in a much more heart-wrenching way. See for yourself:
Spacebound from Spacebound on Vimeo.
Just what I needed this horrible week to remind me to keep my sights on all the positivity and wonder out there.
Posted
on March 29, 2013, 8:51 am,
by Charlotte Genevier,
under
Musings.
If you enjoy web comics and don’t follow The Oatmeal, you should. It’s typically silly and satirical, but today’s comic is a series of illustrated quotes. I particularly loved this one:

I highly recommend you go check out the rest of them as well. And while you’re at it, if you’re a dog lover, make sure to read My Dog: The Paradox too!

I’ve been thinking a lot recently about the struggle between ego and intellectual honesty. One of the first things emphasized to us at TechStars was the importance of being intellectually honest. Intellectual honesty means taking into account all of the facts surrounding a situation and analyzing them impartially. Sounds easy, right? If you’re an entrepreneur, it’s not always that straight-forward.
I’ve seen it time and again: a founder gets so attached to the product they’re building that they ignore the revenue/traffic/conversion numbers that scream a lack of product-market fit. It becomes difficult to advise, or even brainstorm, with them because they refuse to even consider the possibility of pivoting or backtracking or scrapping the business altogether. They become defensive, and the conversation shuts down. Companies like this don’t last long at TechStars – how can you take advantage of the amazing mentor pool if you can’t hear anything they’re telling you?
I mean, I get it. As an entrepreneur, the odds are stacked against you. If you aren’t viciously optimistic, you’ll fail before you even start. But there’s a difference between optimism and ego. There’s a painful cognitive dissonance that occurs when you refuse to acknowledge the truth about yourself or your company, in spite of the obvious signs.
Save yourself the emotional stress – be honest with yourself. If you’re hearing (and dismissing) the same advice over and over, consider whether you might be tricking yourself into believing a lie. At the end of the day, you and your company will be better off.
I’ve been volunteering for the Boulder Valley Humane Society for a couple months now and their annual fundraising gala is coming up at the end of April. If you’re in the Boulder/Denver area and enjoy eating, dancing, and bidding in live/silent auctions, all while supporting a great cause, go buy a ticket! And if you can’t afford a ticket but still want to come, you can trade your time by volunteering to help set up or clean up.
Lastly, if you’re a retailer, service provider, artist, or just happen to have some really cool stuff, we’re still looking for additional items for the silent auction. Contact me if you want to donate!
I run across a lot of interesting blog posts that don’t warrant a full blog post, so every now and then I’ll be doing an article roundup to share the latest.
A Lion in Iron: Women – Be More Not Less
This article speaks to the powerlifter in me. In particular, I love the following lines: “I’m tired of women thinking they are supposed to be weak. [...] You are not supposed to be weak. You have the right to be strong.”
7-Year-Old Zora Ball Is the World’s Youngest Game Programmer
I love that youngest mobile game developer is a girl! While it’s a little insulting that there was suspicion that her older brother was the brains behind the operation, I love that Zora was able to prove the naysayers wrong. Yet another piece of evidence that girls are perfectly capable of being as good (or better) than boys at programming!
Facebook’s Sheryl Sandberg attacks gender stereotypes at work
I would have loved to be in the room to hear Sheryl Sandberg and this predominantly female Davos panel speak about gender inequality in the workplace. I feel very lucky that my mom was (and continues to be) a strong career role model for me, and that my parents always encouraged my intellect more than my appearance. Here’s hoping that the future brings many more women like Sandberg (and my mom!) in high level positions to teach young girls that they don’t have to settle for second best.
I Am Not a Fraud
This personal piece by my lovely friend Clare struck me so deeply when I first read it. I frequently feel as though my skills and talents aren’t good enough, despite evidence to the contrary. Humility is important, but make sure not to diminish your accomplishments or self worth.
If You Ever Feel Alone In This…
“Two very well known, respected and assumed “successful” founders took their own lives recently. I don’t know what burden it was exactly that they felt was unbearable, but they felt something was impassable and that they were alone in carrying that burden. Nobody should ever feel that and nobody has ever truly been alone in that struggle, they just didn’t feel like they could share it with anybody.” What a good reminder not to snap-judge, and to treat everyone with compassion. You never know what they’re dealing with under the surface.
The Banff Mountain Film Festival came through Boulder last night and I had the good fortune to go see it for the first time. There were some incredible movies, but one of my favorites was called The Gimp Monkeys:
Gimp Monkeys from ARC'TERYX on Vimeo.
It follows 3 climbers from Colorado who climb the Zodiac route of El Capitan. The catch is that two of them are missing a leg and one is missing an arm. It’s hard not to be inspired watching these guys overcome their disabilities to do something they love. One of the best quotes from the film is “a good attitude and one arm beats a bad attitude and two arms any day”.
The whole thing reminds me of this parable:
A young boy who was born without a left arm was sent to Judo lessons by his mother in a bid to help with his confidence. So he began taking lessons with an old Japanese master.
Ever practice session the master taught the boy one throw. Just one technique over and over again. Every so often the one-armed boy would see the other students learning different techniques and ask the master why he wasn’t learning anything else. The master always replied – “Just focus on this one throw. Keep practicing”
Several months later, it was the state Judo championships and the old master entered the young boy. The young boy was terrified. The first match began and the one-armed boy grabbed his opponent and to the shock of all the spectators – easily flipped him to the ground. Instant win!
The second round was a little harder but the one-armed boy again pulled off the technique – the only technique he knew, and won. The third and fourth round amazingly went the same way and the young boy found himself in the tournament final facing a much bigger, stronger and tougher opponent, who had won the tournament for three straight years. The young boy was overmatched it seemed. Te referee and the organizers of the tournament spoke to the master and asked him if he wanted to withdraw his student..
“No” said the master. “We will fight”.
As the final match began the entire crowd were on the edge of their seat. The opponent stepped and grabbed the young one-armed boy and pulled him towards him. For a second it looked as if it was all over… But then the one armed boy reached with his right hand, stepped in and BOOM – he threw his opponent flat on his back, to win the match! The crowd went nuts – the one-armed boy was the state Judo Champion!
On the drive home, the young boy asked his teacher – “Was this a set-up? Did they just let me win because I only have one arm? I only know one technique – these guys know hundreds!”
The teacher replied “No – you won fair and square. But there are two reasons. You won because you mastered one of the most devastating techniques in Judo. And the only known way to defend against that throw is to grab the left arm!”
Don’t let your perceived weaknesses hold you back – they could end up being your greatest strengths!
I love good food. And in the last couple years or so, I’ve become increasingly fond of learning how to cook it. I have several go-to recipe blogs, but recently a few friends launched a new site that I’m really excited about.

SandwichFunk gives you recipes like this delicious Eggs Marinara (one of my favorites!), but it also gives you a music playlist that fits the recipe. Given how much I love music, but hate having to decide what to listen to (thank god for Pandora!), SandwichFunk is pretty much my dream come true.
The site is still really young, but I see great things for them. Go check them out and let me know what you think!
This post is a reprint of an article I originally wrote for FanMix. It was tough to find any documentation, so I figure that the more places it’s posted, the easier it will be for people in the future!
Recently I’ve been working with Google’s various APIs, and while most of them are well-documented with plenty of example scripts, I found that the Gmail libraries were a little light on “how-to’s”. In particular, I needed a way to send email via Google’s SMTP servers using OAuth2 authentication (as opposed to requiring the user’s password).
The documentation briefly touches on SMTP/OAuth2 authentication, but the sample PHP library only shows you how to integrate with IMAP. After a lot of thorough googling, I was finally able to crack the code with the help of this blog entry by Steven Kroesbergen. His entry explains how to send mail using OAuth 1.x and the corresponding PHP library, so in this entry, I’ll describe how to do it with OAuth 2.0.
First, you’ll need to download the Google Mail OAuth2 PHP sample code.
Next, you’ll need to add a new Smtp authentication method to Zend. Create a new file in the in the /Zend/Mail/Protocol/Smtp/Auth directory called “Oauth2.php”, and paste the following code into it:
-
<?php
-
/**
-
* Zend Framework
-
*
-
* LICENSE
-
*
-
* This source file is subject to the new BSD license that is bundled
-
* with this package in the file LICENSE.txt.
-
* It is also available through the world-wide-web at this URL:
-
* http://framework.zend.com/license/new-bsd
-
* If you did not receive a copy of the license and are unable to
-
* obtain it through the world-wide-web, please send an email
-
* to license@zend.com so we can send you a copy immediately.
-
*
-
* @category Zend
-
* @package Zend_Mail
-
* @subpackage Protocol
-
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
-
* @license http://framework.zend.com/license/new-bsd New BSD License
-
* @version $Id: Login.php 24593 2012-01-05 20:35:02Z matthew $
-
*/
-
-
/**
-
* @see Zend_Mail_Protocol_Smtp
-
*/
-
require_once 'Zend/Mail/Protocol/Smtp.php';
-
-
/**
-
* Performs Oauth2 authentication
-
*
-
* @category Zend
-
* @package Zend_Mail
-
* @subpackage Protocol
-
* @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
-
* @license http://framework.zend.com/license/new-bsd New BSD License
-
*/
-
class Zend_Mail_Protocol_Smtp_Auth_Oauth2 extends Zend_Mail_Protocol_Smtp
-
{
-
/**
-
* LOGIN xoauth2 request
-
*
-
* @var string
-
*/
-
protected $_xoauth2_request;
-
-
/**
-
* Constructor.
-
*
-
* @param string $host (Default: 127.0.0.1)
-
* @param int $port (Default: null)
-
* @param array $config Auth-specific parameters
-
* @return void
-
*/
-
public function __construct($host = '127.0.0.1', $port = null, $config = null)
-
{
-
if (is_array($config)) {
-
if (isset($config['xoauth2_request'])) {
-
$this->_xoauth2_request = $config['xoauth2_request'];
-
}
-
}
-
-
parent::__construct($host, $port, $config);
-
}
-
-
/**
-
* Perform LOGIN authentication with supplied credentials
-
*
-
* @return void
-
*/
-
public function auth()
-
{
-
// Ensure AUTH has not already been initiated.
-
parent::auth();
-
-
$this->_send('AUTH XOAUTH2 '.$this->_xoauth2_request);
-
$this->_expect(235);
-
$this->_auth = true;
-
}
-
}
Finally, to send an email, use the following code:
-
require_once '../include/Zend/Mail/Transport/Smtp.php';
-
require_once '../include/Zend/Mail.php';
-
-
$email = GOOGLE_EMAIL_ADDRESS;
-
$token = GOOGLE_ACCESS_TOKEN;
-
$initClientRequestEncoded = base64_encode("user={$email}\1auth=Bearer {$token}\1\1");
-
$config = array('ssl' => 'ssl', 'port' => '465', 'auth' => 'oauth2', 'xoauth2_request' => $initClientRequestEncoded);
-
$transport = new Zend_Mail_Transport_Smtp('smtp.gmail.com', $config);
-
-
$mail = new Zend_Mail();
-
$mail->setBodyText(EMAIL_BODY);
-
$mail->setFrom(FROM_EMAIL_ADDRESS, FROM_FULL_NAME);
-
$mail->addTo(TO_EMAIL_ADDRESS, TO_FULL_NAME);
-
$mail->setSubject(EMAIL_SUBJECT);
-
$mail->send($transport);
Be sure to replace “GOOGLE_EMAIL_ADDRESS”, “GOOGLE_ACCESS_TOKEN”, and all of the email parts with appropriate values. If you’re unsure of how to obtain an access token for your user, have a look at this sample code provided by Google. And don’t forget that when you’re initially requesting the token, you need to specify a scope of “https://mail.google.com”.
That’s it! You should now be able to send emails from a Google account using SMTP and OAuth2.