Saturday, December 17, 2016

A Letter To President Obama

I read Joe Klein's "Amazing Grace" article in the Dec 19 edition of Time, and was inspired to send the following letter to our outgoing President today:


Dear President Obama,

You may recall that you spoke at OPOWER's Arlington headquarters in March of 2010. Just a few months later, in June of 2010, I was hired to help build the engineering team for OPOWER's San Francisco office. That was the first time I missed you.

In the two weeks leading up to June 24 of 2010, I was ramping up on my new job at the Arlington office. As I was leaving the next day, my boss took me and another co-worker out to lunch on that Thursday. He offered me the choice of where to go. Two of his suggestions were Guajilo Mexican food or Ray's Hell Burger. I thought Mexican sounded good, so we walked there. A short while later, black SUVs showed up and a Secret Service agent posted himself inside the door of Gualjilo's to make sure nobody left while you and Dmitry Medvedev enjoyed a burger and fries next door at Ray's. This was the second time I missed you.

Now we come to the end of your term, and I can't help but already be missing you for a third time. I will most miss your clarity of vision, our steady progress towards broader public good and the compassion and leadership you demonstrated and modelled for our whole nation. Whether in the face of good, bad or sometimes ugly events, I always felt reassured by your hand at the wheel.

I have grave fears that the same legislative engine that so vigorously opposed all the good that you've accomplished in spite of them will now spitefully dismantle it all in concert with the President Elect. These fears have caused me to question the 22nd Amendment. However, you have inspired in me great hope that what has been done once can be done again. That anything undone can be re-done with sufficient clarity of vision, steady progress, compassion and leadership.

Respectfully and Thankfully,

Rob Fagen

Wednesday, March 23, 2016

Getting Screwed (a little) By Starbucks

On April 12, 2016, Starbucks is adjusting their customer loyalty program. Instead of one Star per purchase, with a free item every 12 stars, you will now earn 2 Stars per dollar you spend, and need to collect 125 Stars for a free item. Additionally, at the transition any Stars you have on April 12 will be multiplied by 11.

I did a little analysis of whether the transition and ongoing purchases are more or less rewarding under the new regime. It is (unsurprisingly) sensitive to what your average purchase is. Here's the numbers:



Not to spoil the surprise, but if your average purchase is less than $5.21, you will not be receiving as many rewards as you used to. For example, someone who spends $3.50 per day will now have to spend $62.50 for a freebie instead of $42. They are getting a 5.6% return on their purchases instead of the 8.3% they used to. That's a pretty big haircut.

Then again, you're spending $3.50 for something with a make-at-home cost of less than $0.50 plus the amortization of whatever equipment you use. If you buy a $400 espresso maker and it lasts for four years of daily-weekday coffee (250/year), that's an extra $0.40, for less than $1.00 total.

Actually, if you're going to go that route, the new Starbucks rewards plan is a great change for you. You'll now get a free bag of beans after every five bags instead of every 12.

Thursday, March 17, 2016

Fight back against net anti-neutrality

I just sent this message to the FCC via demandprogress.org -- I would recommend you do as well.
Dear FCC, 
Please don't let self-interested actors gut your brave and excellent work in preventing them from violating one of the internet's most fundamental operating principles: net neutrality. As a collaborative form of communication, the internet has thrived when all connected networks have been fair, balanced and unbiased towards the traffic passing over them. 
Previously, the attempts to capture the internet focused on charging content providers for unimpeded data transmission to the customers of an ISP. When that consumer requests content from a paying content provider, service is fast and efficient. When that consumer requests content from a non-paying content provider, service is throttled. This was stopped by last year's ruling. 
Now, networks are implementing plans where total data for a customer is capped, followed by a reduction in level of service when the cap is exceeded. They are exempting their own content or the content of a paying content provider from affecting those caps. The equation is the same whether the network constraint is on the service provided or the source of the data. The outcome is identical if the behavior at the consuming endpoint is impaired when a non-exempt data source serves data. The outcome is against the Title II rules. 
Please act to enforce the rules and keep the internet open and thriving.

Tuesday, May 26, 2015

A Mathematical Riddle I Thought Of At Random

A bit more than ten-thousand, or just seventeen.
What is the number that you think I mean?




Wednesday, March 12, 2014

And so it begins...

Welcome to the harbinger of the next financial crisis.

King Digital Entertainment, maker of Candy Crush (and a bunch of other stuff that hasn't been nearly as successful) is going public with a multi-billion dollar valuation and 600+ employees.

Granted that they are profitable, and so the half billion dollars they raise will give them infinite runway. However, I have but three words: this. seems. crazy.

bless them, and I hope they're successful, but my gut tells me we've reached the peak. I think I'm heading towards a lot more cash.

Tuesday, November 05, 2013

Brilliant or sociopathic: you decide

Got an email from someone at work, and it included a number of attachments. Turns out there were no real attachments, just all of the images that this person includes in their email signature. I turn to my neighbor and ask "Am I a crotchety old fart if I don't like seeing all these images pasted into email signatures? Doesn't anyone read RFCs any more?". He did tell me I was a crotchety old fart, but he did agree it was kind of ridiculous the number and size of images in signatures these days.

Then, inspiration struck. Stick a google display ad in your signature. Stick an Amazon affiliate block in your email signature. Clickthru rates will stink, but think of the pageviews!

Monday, June 03, 2013

Huffington Post is just as stupid as Vallejo

So I was reading about the guy who painted a crosswalk in Vallejo and got arrested for vandalism.

HuffPo had an article.

Some yahoo made a comment about it:
I hate to be the sole voice stating that I feel the sentence for painting an unauthorised cross-walk was well deserved. There must have been a reason why the City did not paint one at that location in the first place, especially when there are three others. Maybe there was a visibility issue, a curve in the road, different elevation, bushes, anything that makes it harder for approaching cars to see pedestrians at that location. A crosswalk ( basically lines painted on a road) would not give any protection to the pedestrian if the driver of the car can't stop in time. Look at it from this point of view : What if some unfortunate child stepped onto a unauthorized crosswalk, thinking it safe, but was invisible to the driver?
I tried to post a reply:
I took a quick look at google maps for that area, and if you look at this stretch of Sonoma Boulevard between Nebraska and Curtola Parkway, it's as straight as an arrow. Furthermore, there are a total of seventeen intersections in that stretch of road, all with crosswalks. Fourteen of the seventeen have all four crosswalks. Only two of the seventeen don't have crosswalks over Sonoma. This intersection at Illinois has one crosswalk over Sonoma already. Seems to me that the painter was just making Illinois consistent with 80% of the other similar crossings. 
He was clearly doing both his neighborhood and the city a favor.  
However, HuffPo's implementation of using twitter and/or G+ to log in is totally broken. I have no idea if I've actually authorized HuffPo to recognize those credentials, because it's totally broken and I couldn't post my comment.

Friday, August 17, 2012

Blockquotes on io9

Some yahoo over there claimed that they don't blockquote on io9. This is an example of a blockquote in the very article being complained about...


Tuesday, August 14, 2012

Democracy for people, not for corporations

I’m part of a growing national movement to take back America and limit the power of corporations over our lives.  I’m writing to invite you to join me, at: http://j.mp/FSFPfriends 

We’re fighting back against the Supreme Court’s decision that gave corporations the same rights as people.  The only way to overrule the Supreme Court is by amending the U.S. Constitution, so that’s what we’re going to do.  

Our movement is just getting started, but we’ve already scored some major successes: seven states have officially called for an amendment, and so have 2,000 public officials, 300 cities, towns, and counties, and more than 2,000 business leaders.

It costs nothing to be part of it, and the email load is light, about one message every two weeks.   Will you please join me?  

We’ve got to do something.  This campaign will make a real difference, if you’ll help out.

Sign up here: http://j.mp/FSFPfriends 

Wednesday, February 29, 2012

Incredible Summary of Where Software Testing Could Improve

I ran across an article today about "What is the biggest weakness in software testing today?" Noah Sussman put forth the most succinct and clear articulation on the real cost of software testing I've ever seen. Seems like I've been stumbling along for years trying to make the point he does in a mere 212 words.

Noah Sussman, Technical Lead, Etsy:A surprising number of organizations seem to dramatically underestimate the costs of software testing.
Testability is a feature and tests are a second feature. Having tests depends on the testability of an application. Thus, “testing” entails the implementation and maintenance of two separate but dependent application features. It makes sense then that testing should be difficult and expensive. Yet many enterprise testing efforts do not seem to take into account the fact that testing an application incurs the cost of adding two new, non-trivial features to that application.
There also seems to be a widespread misconception that testing somehow makes application development easier. In fact the opposite is true.
If I may mangle Kernighan: testing is much more difficult than writing the code in the first place. To implement testability and then write tests, one needs first to understand the architecture of the application under test. But testing also requires doing hard things — like input partitioning and path reduction — that are beyond the scope of the application. The reality is that to get good tests, you’re going to have to ask some of your best people to work on the problem (instead of having them work on user-facing application features). Yet many organizations seem not yet to have recognized this.

Awesome. Thank you Noah. 

Thursday, January 05, 2012

Education Today and Tomorrow


This is an amazing model for education
. I heard it on KALW Cross Currents today. I'm so inspired by it. It's the kind of teaching I'd like to do if I were a teacher. It's the kind of school that I wish I had gone to.

Wednesday, December 28, 2011

The sequence below was seen in the comments on io9, and I thought it was somewhat brilliant:



Is this one of those "Try to Spot the Difference"
games. I love those!


Did...did we just become friends...? 

Monday, November 14, 2011

From the Ironic Juxtaposition Department

Flipping through the feed for Gawker, I see this from two hours ago:

Watch a 12-year-old put your startup to shame

and I see this from six hours ago:

Why did this 22-year-old entrepreneur commit suicide?

The profundity of the comments regarding the pressures of the technology business were matched only by the depth of snarkiness of the comments about the 12-year-old.

Wednesday, November 09, 2011

Reading Revolution

Presented with an upcoming vacation, and presented with the ever falling price of kindles, I'm in that uncomfortable zone where an original Kindle for $79 is totally in my price range (anything less than three digits is really attractive to me for some reason).


However, you can get what is essentially a tablet with the new Kindle Fire, for only $200. The thing I worry about is that when will that $200 be down to $99 or less. Probably soon.



I know that it's kind of a high-class problem having to decide between what gadget you should get for some ridiculously low price. I'll probably just get some paper books for this vacation and wait for the free Kindle that will get bundled with the New York Times some time in the near future.

Thursday, September 01, 2011

Messing around with MySql

Odd moment today. I was fooling around with mysql date functions and ran the following:


mysql> select now()+0 from dual;
+-----------------------+
| now()+0 |
+-----------------------+
| 20110901111111.000000 |
+-----------------------+
1 row in set (0.00 sec)


It looked funny at first glance, but then I realized that I'd run the query at exactly 11:11:11 on 2011-09-01

No, this is not really that big of a deal. Just tickled my coincidence antennae.

Friday, August 26, 2011

Debt Crisis? Which Kind?

I was sniffing around the dusty corners of my LinkedIn profile, and recalled a group that I'd started three years ago when I was at Netflix: Software Quality People Who Run With Scissors.

Seems like I was looking in on the group about once a year, since there were some folks who had asked to join and it had been a year since the last batch of folks was all added at once.

Anyway, I dusted it off and made it an open group. To try and seed the discussion, I posted the following reaction I had to an idea I heard at a recent Meetup:

Agile has the idea of technical debt. An elaboration heard recently resonated with me. There are three kinds: design debt, quality debt and test debt.

Design debt is the more commonly thought of type of technical debt. You're compromising your current work in some way that will affect the future flexibility or maintainability of the system.

Quality debt is just another way to think about bugs in the system. I suppose you could also map them as "unintentional design debt". They are work you can either do now or defer until later, but that deferral has a cost in either maintainability, customer experience or business process disruption.

Test debt was the one that was most interesting to me. This is measured by the total time needed to regress the product after every iteration. This is the most insidious of the three types of debt. If you're developing software in an agile fashion, but you're not building automated tests to support the effort, this debt can grow without bound and it grows very quickly. It becomes either a crushing workload or an exercise in triage as to which parts of the regression suite are most important to run.

You can't ever have a project without some kind of debt (well, you could, but you'd either never ship anything useful or you'd never iterate enough to make it significantly better). However, being aware of how much debt you're carrying and thinking about the cost to your team's productivity is an important exercise.


Friday, August 19, 2011

Moved to Chegg

Today's my one-month anniversary at Chegg. I'm managing the test engineering and release engineering teams. We're doing a lot of interesting work in "helping students save time, save money and get smarter" <-- blatant mention of company mission.

Anyway, I'm looking for Software Engineers in Test to help scale the test engineering efforts to match the growth of the company and the increasing velocity of change. Want to help? Click for the details.

Thursday, July 21, 2011

Potential 'Curb' Moment

I had a potential 'Curb Your Enthusiasm' moment this morning (but I'm not Larry David, so nothing actually happened).

I get to the office building and enter the lobby. I call the elevator, and two elevators arrive, side by side. A gentleman had come into the lobby right behind me, mesmerized by his smartphone. He's right in front of the left-hand elevator, I'm right in front of the right-hand elevator. I enter the right-hand elevator, and for some reason, he follows me in. I punch 14, and he punches 5 while continuing to be absorbed in his email or texting.

Impulse: "Why didn't you take the other elevator? Now I have to stop on the way up when we both could have gone directly to our floors!"

Impulse control:

Friday, April 15, 2011

Great Ideas Are Always Reinvented

Last night, we had a recruiting happy hour for OPOWER. In discussing the beverages at hand, and idea arose for the bourbarita -- a bourbon based margarita. We thought it was novel. Silly us. The first mention in google is from 2006, and there's a North Carolina foodie's blog with a recipe from 2007.

Haven't tried one yet, but maybe some day.

Monday, March 07, 2011

Words you wouldn't expect to be in a spell checker

I was typing an email a few minutes ago, and used the word 'automagically'. Much to my surprise, in Chrome and Safari, the spellchecker didn't fire, but the one in Firefox did.

I guess Firefox is for spelling conservatives and Chrome/Safari are on the other side of the aisle. You'd think that there would be some kind of standard for a single shared spell-checking resource on a person's computer.