git log --grep [query] | sed -n '/^commit/p' | cut -d\ -f 2 | xargs git show
Show all changesets matching query. Useful for reviewing a series of related changes over time. (Assuming consistent commit message habits.)
Don’t fear the shell.
git log --grep [query] | sed -n '/^commit/p' | cut -d\ -f 2 | xargs git show
Show all changesets matching query. Useful for reviewing a series of related changes over time. (Assuming consistent commit message habits.)
Don’t fear the shell.
This is Part One of a four-part post on Facebook’s challenges in 2012. If you’d like to receive updates on this series, you can follow me on Twitter here.
As Facebook gears up for the biggest IPO in history, it faces unprecedented challenges to future growth. With expansion rates in the US and Europe stabilizing, Facebook relies more and more on emerging markets for growth. And yet, there is a big black hole in Facebook’s social graph, right where China should be. The Senate and FTC are eyeing Facebook as keenly as ever. To top things off, Facebook’s largest competitor has made an open declaration of war.
Make no mistake, Google is putting everything on the line to gain a foothold against Facebook. For this reason alone, Google is the competitor to watch in 2012. Apple’s recent announcement that OS X 10.8 Mountain Lion will have deep Twitter integration is perhaps a cause for concern, but Apple’s userbase is dwarfed by the billion-plus people that visit a Google property each month. Add Google’s deep talent pool, healthy balance sheet and insane profitability ($3.5B in Q4), and you have a company with a tremendous amount of stamina. Google is gearing up for a long war.
Anyone who doubts Google’s intention of dominating the social space need look no farther than Google+. Its deep integration across all Google properties was a clear indication that it’s here to stay. Now, with “Search Plus Your World”, Google is upping the ante. Search is Google’s golden goose, historically unmarred by the complexity that seems inexorable in other Google products. Now all of that is at risk as Google+ integration threatens its simplicity and result quality.
Whether Google+ will be a success remains to be seen. According to Google, 90mm users are on Plus already. How many are active? Google has a huge incentive to mask the true DAU and MAU numbers until they reach a menacing level. If Plus performs like a more typical social site (not Facebook) it’s safe to say MAU is in the 20mm range, and DAU is well under 10mm. (Excluding interaction with the omnipresent Google+ notification menu, which seems unavoidable.)
If Google can make using Google+ a natural part of using Gmail, it can cut pretty deeply into the reasons for people to use Facebook, at least in theory. For most of us, a Gmail tab is at least as likely to be open as Facebook at a given moment, if not moreso. For many demographics, Gmail chat is more popular than Facebook chat. And yet, we open Facebook compulsively to see what our friends are doing, and to share and view photos. If Google can make these behaviors a fluid part of the Gmail experience they could prove to be quite a menacing figure.
Data from Google+ benefits Google search as well. Picking a dinner venue and inviting friends could be done at once. A search for ‘skiing’ could show photos of friends’ recent trips, as well as ski conditions for local resorts. (And maybe even when your ski buddies have free weekends, leveraging Google Calendar.) None of these niceties is enough on its own, but the combined utility of everything in one place will be tough to beat.
At this point, as long as the masses are using a Google product (Gmail and search in particular) Facebook is at a severe competitive risk to Google+. Google has shown before that they don’t necessarily have what it takes to get products done right. Their engineering culture may be too academic; their obsession with complex problems may be too much of a negative influence on user experience design. But with Google betting the business on social, Facebook can hardly rest easy.
Creating an alternative to Gmail and Google search should be an urgent strategic priority for Facebook. The timing has never been better: Google’s “Search Plus Your World” initiative has temporarily shifted the privacy spotlight from Facebook to Google. At the same time, the much maligned redesign of Gmail (along with other Google products) presents a window for Facebook to introduce a winning email experience. Last year’s Facebook messaging redesign means many Facebook users already have @facebook.com email addresses.
If Facebook can steal a big minority share of email away from Google, they take a massive amount of momentum away from Google. As mentioned, Gmail is Google’s primary portal platform. Without it, they would be forced to rely on search — and while many people search each day, they aren’t in the social mindset while doing so, like they are when they use Gmail.
Once a Facebook email service is in the market, a Facebook Search product would be a killing blow. In 2012, the core concepts behind search relevance that Google pioneered are largely public and widely understood. What’s missing is social relevance, and Facebook already has all the social relevance data it needs: nearly 3 billion likes and comments are added each day.
Perhaps most important are the behavior changes Google or Facebook would require in order to win the war. Google+ requires us to reframe our conception of what Google is about and simultaneously migrate there with all of our friends. On the other hand, Gmail and search are utilities. If a better version exists, users will switch — and they can switch one-at-a-time, whereas switching social networks requires critical mass.
With all of these considerations, it seems inevitable that Facebook will make moves to kill Google in 2012. The first move will be a Gmail replacement, and search will come shortly thereafter. We may view Google as socially inept, but they are a multi-billion dollar company and they employing some of the smartest people in the world. There is too much at stake for Facebook to wait.
What do you think? Let me know @paulrosania or paul.rosania@gmail.com.
There’s a popular post on Hacker News about writing confident code by, among
other things, overloading Object#nil? and returning “null objects” instead of
nil itself.
DO NOT DO THIS.
In Ruby, all objects (except nil itself) coerce to the boolean value true. Your object will be nil
and true at the same time. Bad things will happen. Your coworkers will cry. Sad
people from around the world will ask bewildering questions on your mailing
list.
Here’s what happens:
1 2 3 4 5 6 7 8 9 10 11 | |
Do you write all your guards using if o.nil? Neither do I.
If you overload #nil?, you will get burned. Please don’t.
At RubyFringe ‘08, Giles Bowkett went on a metaprogramming romp about Ruby, music, the evils of Venture Capital and the virtues of lightweight, ubiquitous protocols. He starts with an impressive demo, but it really gets going about 7 minutes in. Giles takes the crowd on a crazy, lightning-speed tour through 496 slides about Leonardo da Vinci, cougars, LSD and weasel-brained muppet fuckers.
He swears 10 times in 40 minutes, including 7 fucks. They’re like flourishes in an epic fireworks display.
Profanity is like rock music. The f-bomb is electric guitar. You might think it sounds sophmorish, but if you think it doesn’t add energy to a presentation, you’re lying to yourself.
Watch it.
There is a bug in Firefox 4 beta 6 (#557791) that interferes with Firebug’s “XHR Spy” feature (Firebug issue #3223). The net effect is that XmlHttpRequest onReadyStateChange events don’t fire.
With JQuery, this manifests through $.ajax calls: success and error handlers don’t fire.
The workaround is to uncheck the “Show XmlHttpRequests” option in the Console panel.
For more details, see Firebug’s Known Issues page.
Hopefully this short post saves someone more time than I lost dealing with this bug today.
Back in 2007 we launched 1-800-GOOG-411, a voice-powered directory assistance service that connects you quickly to businesses across the U.S. and Canada. On November 12, 2010, we will shut down the service.
“Goodbye to an old friend: 1-800-GOOG-411” on The Original Google Blog
That sucks. I confess that I usually use Google Maps, Yelp or other apps to do my phone number lookups these days. But sometimes I’m driving, or walking in a busy area and don’t want to be staring down at my phone. I know, no one calls each other anymore. But when a call is necessary, GOOG-411 was the best 411 resource out there. (Not to mention, free.)
R.I.P GOOG-411. At least one of us will miss you.
… the second big thing is luck. And it’s not relying on luck, or relying on fortune. It’s being able to recognize when it’s happening around you, and being able to recognize a situation that encourages buildout and execution of an idea.
Startups fail. If I got paid for every time I heard the 5-year small business success rate quoted, I’d have my fuck you money already. My dad, ever the scientist, likes to remind me that despite blood, sweat and tears, if my startup succeeds it will be because I was “one of the lucky ones.”
It’s true. And yet, the type of luck we seek as entrepreneurs is not blind luck, like finding a $100 bill on the sidewalk. The type of luck we are after is situational luck. Nailing a pitch. “Clicking” with a client prospect or investor. Hiring a kickass team, and watching them hit home runs for your company. Yes, the outcome of each singular event is lucky. But the sum of it all, the net outcome, is not luck.
We make our own luck, and it is a blend of situational awareness and tenacity.
Adam Smith has a great post with many interesting observations about Y Combinator’s most recent demo day. I latched onto one:
Do we need a TheFunded for angel investors?
I think the answer is yes, for three reasons:
The right investor can bring critical momentum to a fledgling startup. For the “mega-angels” this can be clout, but it can also be key introductions to potential clients and business partners. Experienced angel investors also know how to manage their relationship with the company in a way that increases the company’s likelihood of success, without getting in the way.
On the other hand, the wrong angel investor can pose a serious risk. Inexperienced or overly aggressive investors can be a huge distraction during the fundraising process, and putting the deal at risk. The pain can continue once they’re in, as they chew up valuable time and energy.
VC firms’ reputations tend to be public. TheFunded is a valuable asset in this regard, but firms like Union Square Ventures and Sequoia are preceded by their reputations as well as the reputations of their partners. While the same is true for prolific angels like Ron Conway and Peter Thiel, it is not true for the many thousands of other angel investors clamoring for access to events like YC Demo Day.
More startups are trying to achieve profitability with less fundraising. Sometimes a seed round is all a company needs to get there. The financial climate is one factor, but movements like Lean Startup indicate a broader trend that will outlast the crisis, and pose a serious threat to the current VC model.
What this means for angels is they play a bigger overall role over the lifetime of the company. Instead of getting crammed down across Series A, B and C rounds, where VCs take control via equity and board seats, angels can expect to hold significant equity positions for a long period of a startup’s growth. As a result, startups need to be increasingly focused on identifying angels that can help move their company forward through introductions, rather than purely through investment.
Defamation laws in the United States might pose a challenge to a “TheFunded for Angels.” TheFunded is safe since it deals with organizations, but a review site for angels would by necessity contain reviews of individuals. While angel investors like Mark Cuban probably constitute “public figures”, many lesser known angel investors would not.
The authors of negative reviews of angel investors might be exposed to libel suits, regardless of the reviews’ accuracy. The types of angel investors that receive low ratings are likely the same types of people who wield lawyers to deal with their problems, and this could torpedo the concept.
But otherwise, I love the idea.
I just wrapped up an apartment search. In total, my girlfriend and I met with 5 brokers and viewed almost 15 apartments over 4 separate days. I’m guessing we invested at least 50 hours of time in the process, between phone calls, emails, research, traveling around town and just generally dealing with the annoyance that apartment hunting represents.
After all that, we settled on a unit in the building I already live in.
Why? Simplicity. When I began my apartment search, I was determined to cut my monthly rent by at least $200. By moving within my building, I am saving $150 a month (not quite $200). At the same time, I’m recovering a full month’s rent that would have been lost to our apartment broker. Amortized over the full year, that’s easily another $150 a month.
Had I made that choice from the beginning I could have saved myself and my girlfriend 100 combined hours of searching Craigslist, making phone calls and viewing apartments.
Moving would have involved:
In my excitement to cut costs, I discarded the easiest option (stay in the building) without considering the opportunity cost. I wasted valuable hours (and nearly a lot of money) trying to optimize.
I can make a lot more by investing those hours into my startup. The potential cost savings I gain by shaving some monthly expenses off my budget are far outweighed by the value my business gains from having the hours invested in it.
I think there’s a lesson there for businesses: Focus on your core.
We are so seduced by the thought of a guaranteed paycheck every month that we completely ignore the fact that it’s actually never too late to pursue our dreams. The reason as I can understand is probably “fear of failure”. We fear we might fail and that fear leads us to cook up stories about why you can’t have what you want. Alibis like “I don’t have time, I have family, I’ll do it when I have more money etc”. Stories that convince us that it’s ok not to follow up on our dreams, that it’s ok not to do what you love, that it’s ok to just keep doing the everyday drill.
And guess what. That paycheck ain’t guaranteed, either.
From the fantastic post, For God’s sake, follow your dreams over at Rootein Blog.