Skip to main content
 

 

It's the _green_ room show room.

Check out those snazzy animate-in effects...


http://www.miauk.com/default.aspx






 

Social Score pipeline visualization.  I think Alexandria is the slow draining bathtub...


https://plus.google.com/photos/107786897865850743842/albums/5864984843083818913/5864984851081260994?...






 

Need this:
@DevelopedByIntern("Q42012")









 

 

 

Sadly it appears we may need to add (like facebookexternalhit/1.1 (+https://www.facebook.com/externalhit_uatext.php)

to our fetch requests...


https://www.facebook.com/externalhit_uatext.php)






 

The first thing I thought of when I saw today's doodle?  The stupid people who think it's really _Hugo Chavez_.

Begs the question --  do we have the guts to put on an Isaac Newton doodle for Christmas?









 

Spring MVC - beans - xml - docs + protobuf + guice == apps-framework?









 

Google House

"Google should just buy stuff for me" -- Sergey at a TGIF a while back.

... or Takeout for subscription services

Think about Spotify, Rdio, Netflix, HBO and other content subscription services.  Once you stop paying you have nothing left.  Takeout is nothing more than references to a paywall.

A way to disrupt this might be to structure systems to reward you with ownership of a portion of the catalog each month.  Examples:
- Your most listened song or TV show.
- The ebook you shared the most.
- etc.

Then when your subscription period ends you get to keep the fruits of this relationship.

In many ways this is like the Columbia House[1] or BMG music club.  You get a free thing each month by default.  You can sample the entire catalog, or get more if you want.  But you're always *owning* something new and interesting each month.

[1] http://en.wikipedia.org/wiki/Columbia_House

 

Speaking of code janitorial tasks..  My CLs to remove the bulk of Java GFS finally landed today. That should shave 12k LoC off of many java binaries..

Thanks to @113930769093822119546 for the inspiration.









 

Should a search for -M- (a french musician of some note) work?

I had to actually search for M disambiguation to find this:

http://en.wikipedia.org/wiki/-M-


http://en.wikipedia.org/wiki/-M-






 

Can we get the former hello.com folks on +Platform?









 

 

So go/babble exists.. It's basically "Readability" for English (and I'm glad there's no such requirement..)

I did learn a little bit, specifically the source of "do the needful".


https://docs.google.com/a/google.com/spreadsheet/ccc?key=0AmKkMysgMoKBcGIwdHJyZ2J1ajMwVHVhdEtMWnNIWV...






 

_This is just like when they cancelled Firefly!_

said someone in a Reader-related comment thread.

So have hope.  Veronica Mars is returning and Cougar Town was picked up by TBS -- Dollhouse?  sorry, can't help you there.









 

 

Another shuttle ride close-call!  ... and my most strenuous exercise of the day.


https://plus.google.com/photos/107786897865850743842/albums/5854265973024213873/5854265978831781730?...






 

How many Nexus 7 ads did you see today?

I wish our advertisements could be (anti-)targeted based on what devices I own.

Of course that might mean that we'd start seeing "Your nexus 7 sucks, upgrade to Windows Surface!" ads..









 

New term *Asbestos Code*

Works fine if you leave it alone.  Takes a ton of effort to clean up if you have to mess with it.

Also see *Knob and Tube* code.









 

New widgets refactor code-name: Sprockets

Your widgets have become tiresome.

It evokes SNL, the Jetsons, and a tooth'd gear.


http://www.youtube.com/watch?v=LxQ6olQjebg






 

Thinking of posting this externally....  Already left as a comment on a post.  I think it might help people understand what's at stake..  I just need to find a creative commons image of dollars in a mattress :)

---


Keeping all your data on your own hard drive?  Do you keep your money in your mattress?

Just like most of us keep our money in a bank/credit union, most of us should keep our data in a trusted place and only carry around what we need at a given moment.









 

Anyone know how to debug gmail issues?  I don't know which dogfood just bit me.

All of a sudden I saw my mail in my inbox dissappearing 4-5 per second inside the offline gmail chrome app.  First time I ever saw the 'happy sun' image which I assume is what you get when your inbox is empty.

Not sure if it's the Chrome app or the dogfood android or something else.

All inboxen are affected back to Feb 19.

Also if you sent me email and need a response ping me on chat until I sort this out...









 

If you hit a bug too many time your IP gets DoS-blocked which makes Google+ unusable.  Ouch...

The funny thing is that the /jserror and /reporthttp4xxerror endpoints also end up getting blocked so our backends won't allow us to detect this behavior.


https://plus.google.com/photos/107786897865850743842/albums/5851848349819472913/5851848351104480802?...






 



Automatically create a reverse-time sorted youtube playlist for videos posted to a community.  Allow you to subscribe to it like a podcast.

Automatically create a photo album for all photos posted to a community.









 

Seeing lots of 500s and 405s (wha!?) on stream fetch and mark-as-read XHRs

Hope it's just me....









 

 

 

 

Is there an easy way to null-mock an RPC interface in Java/Apps-Framework?  I couldn't figure it out with some time in code search

I'm seeing people using easymock and mockito to do this, but that feels wrong (RPCs don't return null!) and also means that these testing frameworks might find their way into production code if we're not careful.

Here's an example:

 import com.google.ccc.groups.index.server.api.proto2api.CommonGroupsApi.CommonGroupsIndexSyncService;
 ...
 @Mock
 CommonGroupsIndexSyncService.ClientInterface mockSyncServer;
...
    bind(CommonGroupsIndexSyncService.ClientInterface.class)
        .toInstance(mockSyncServer);

Perhaps we could have a stub implementation that could do the following:

1) Implement returning defaultValue for all requests.
2) Implement returning RpcException for all requests.

Extra credit for the following wrapper class that would allow for injecting behavior into the pre-rpc/post-rpc phases:

  public class ForwardingRpcClientInterface {
     ...
     pubilc T delegate() {}

    beforeRpc(...);
    afterRpc(...);

    public Object invoke(...) throws Throwable {
      // defaults to forwarding to delegate
    }
  }

With something like this you could implement a client-side cache or short-circuit requests here.  You could also implement the defaultValue/RpcException classes based on this.









 

Some perspective from last year's I/O.


http://www.youtube.com/watch?v=mXSjF6iNFeg






 

Since we're talking about degenerate +1 buttons in the wild -- here's one that's pretty bad.  It appears that someone took a plusone button iframe element from the dom of one page and slapped it into this.

@109016304695129264328 -- do you have any inside connections?


http://www.laroux.co.uk/






 

It's been a long time since I had to switch back to chrome stable from chrome canary.  Today is one of those days...









 

A favorite open ended topic I use for interviews.

_Your Coffee Shop doesn't use 2-Phase Commit_

[and a sad snippet for pdf link shares..]


http://www.eaipatterns.com/docs/IEEE_Software_Design_2PC.pdf






 

It's 2013 -- why do we still have problems with hotspots in Bigtable/Kansas?

I have not looked into the backend design, but this seems like something that's been solved in the past.

Do we not have
- Dynamic-sized replicas (add more read-only replicas for hot keys)?
- What about adaptive sharding/rebalancing (rehash based on usage)?
- Hierarchical storage? (automatically move dormant accounts to older/slower hardware, move back when reactivated)
- Or... the ability to manually move a single hot key to it's own instance. (variant of adaptive sharding above)

I know about the stubby cacher and how that can help, but that seems like treating the sympton rather than the source of pain.









 

2m curated profiles and associated data.

Somewhat bizarre.


https://www.relsci.com/






 

http://www.thefanmarket.com/

per 1000

twitter followers
0 Instagram likes
3 Soundcloud plays
5 for FB Likes
5 for FB Likes (USA)
0 for YT Followers
0 for +1s
0 for YT Likes

We're premium...  Congrats S&A team  @115520453074644055116


http://www.thefanmarket.com/






 

Wife just told me that Scroogled is now using promoted tweets.

Doesn't seem worth the 00k/day...









 

Good idea?  Bad idea?  I'd probably want some heuristics (like don't show http://www.cnn.com/ on http://evil.com/)

Maybe even just limit it to stripping off query params?

Chrome folks?


http://www.distilled.net/blog/seo/combining-the-html5-history-api-and-the-canonical-tag-for-improved...






 

Ported my code to run on corp.  Luckily twitter has undocumented ssl support for their URL count.

https://www.corp.google.com/~plindner/thecount/

I'll be hacking this on/off.  You can see the crufty jquery stuff in /home/plindner/www/thecount









 

Of interest to moments API work / Aspen and Google+ History

Has the concepts of Actor/Verb/Target

@117410472150303805486 @114489135332974198500 @104392738264586850178 @110885671099056346036


http://tincanapi.com/developers/tech-overview/






 

Should we tell the world that you can get +1 counts like this?

https://www.googleapis.com/pos/v1/plusones/http%3A%2F%2Fwww.google.com%2F?callback=jsonpCallback

Instead of the gross reverse engineered hacks that are out there that post to clients6.google.com?


https://www.googleapis.com/pos/v1/plusones/http%3A%2F%2Fwww.google.com%2F'






 

 that utm == urchin tracking module









 

Just saw this guava witchcraft snippet in a code review today from @112047346673343275962.

In this case we wanted to sort by a primary, secondary and tertiary key.  However we only want to keep the first 'primary' entry found.

The magic is that ImmutableSortedSet throws away duplicates, and you can define duplication with the orderedBy() method (which should almost be renamed to .orderedByAndEquals())

sorted = primaryOrdering.compound(secondary)
    .compound(tertiary)
    .immutableSortedCopy(full);

return ImmutableSortedSet
  .orderedBy(primary)
  .addAll(sorted).build();









 

Should we make a crowdsourced hashtag <--> freebase mid site?

Here's a stillborn site that would have been my first choice for a name...


http://www.hashtagpedia.org/






 

Cloud based Music Queue sounds like an interesting idea.   Maybe you could 'fling' your queue to any screen....


https://plus.google.com/u/0/107928193007461262370/posts/Ums1ou7RzU6?e=-RedirectToSandbox






 

Can someone help me decipher where this page is being generated?  I want to change it to pass in the rel="me" param to the ancient focus widget.

If possible I'd also like to see it use the G+ profile badge instead which is much much nicer.

http://books.google.com/books?uid=108407510003645795115


http://books.google.com/books?uid=108407510003645795115






 

In honor of C-Sprint - *Convoy* and *CB* radio.  And Rocketsled on rails, I don't care if it doesn't start with C.


http://www.youtube.com/watch?v=XlXx6LxMbdQ






 

*IDEA* Stubby no-op detector.

Stubby clientside code that tracks if the response code is always the same.  Found some RPCs today that were no-ops due to validation in another part of the system..  Would be nice if we could detect this and report it back.









 

Ads folks, good? bad? otherwise?

I want to align the widgets we support with common dimensions used in web layout.  What better place to start than the ad-units most sites use.

My goal here is to make widgets fit seamlessly into layouts and make widgets usable for ad campaigns - for example:
- Brand Follower Widget as an mrec.
- Community Widget latest posts with subscribe.
- etc.


http://www.iab.net/guidelines/508676/508767/displayguidelines