Skip to main content
 

 

*Hidden Riches!*

From java-libraries-dev

ImmutableMultimap has an inverse()  method, so it's really also ImmutbaleBiMultimap.


http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ImmutableMultimap.h...






 

Count -all- more of the +1s !!!

And we can even beat twitter when the article isn't being reposted by tons of bots, like this:

http://theoatmeal.com/comics/state_web_winter_2012


https://plus.google.com/photos/107786897865850743842/albums/5823404156012784257/5823404159481790626






 

Pasting in my sell-my-soul listing.   Please bid -- at 4.50/hr this is technically illegal for California minimum wage laws....

https://sys-gplus2012.googleplex.com/item?q=9016

Is your code tired, riddled with lint and deprecation warnings? Send it off to my exclusive day spa for 8 hours of luxury. My special treatments include:

- Lint detox -- remove all subdermal lint errors found with -v
- Dependency liposuction - run reducedeps on your tired BUILD files.
- javascript manicure - buff and polish with fixjsstyle.
- Hot stone deprecation massaging.
- Dead code exfoliation using scythe.









 

*LTBD* - Little Things, Big Difference.

Last week I had a very satisfying LTBD moment.  I discovered that many webmasters were double escaping url params in their +1 widgets.  Fixing this little thing caused a noticeable boost in +1 renders and creations and a big big drop in error logs -- big difference.

2 years ago when I was at LinkedIn this was a formal policy direct from Deep Nishar, head of PM.  Each engineer was supposed to tackle an LTBD item for each sprint.  These are the little things that make the product easier to use, clearer, or fix annoying bugs.


http://talent.linkedin.com/blog/index.php/2011/01/recruiter-review/






 

I wish I could add communities to circles.  Would help make targeted consumption and noise controls so much easier.









 

The horror -- no portals near offsite location...









 

Pennies from Verizon prepaid 3G bandwith.  I find it fun to see how badly people implement their payment systems.  Worried a little bit that end-users won't.

[note: 1st attempt was with wrong zip code]


https://plus.google.com/photos/107786897865850743842/albums/5818499384700596113/5818499381876482594






 

If you're going to do a hangout on the shuttle wifi you can at least ask the person on the other end to not move that much.









 

Music appropriate for

blaze-bin/devtools/janitor/terminator


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






 

Anyone work with reverbnation?  Would be nice to get them supporting Google+

http://www.reverbnation.com/band-promotion/social_sync

They're probably already using our APIs since they target Youtube.  They also have one of the larger mappings of social media links I've seen.


http://www.reverbnation.com/band-promotion/social_sync






 

People keep endorsing me for _REST_ on LinkedIn.  However I'm really only an expert in telling you why REST sucks for most things you want to do.









 

Dear

Curious if anyone's done any work on recognizing URL redirectors where the  target is embedded inside the link?

http://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fprofiles%2Egoogle%2Ecom%2Fpmlindner&url...

It seems like we could derive some significant benefits by knowing that links like this go to the eventual target.

I did find go/linkdoctor but that's not quite right.

Also @114489135332974198500 for this weird-ass snippet that came from this link..


http://www.linkedin.com/redir/redirect?url=https%3A%2F%2Fprofiles%2Egoogle%2Ecom%2Fpmlindner&url...






 

New spam vector:

1. Buy spammy press release on prweb  http://service.prweb.com/pricing/ (Only 59!)
2. Wait for press release to be republished on thousands of news sites (see below).
3. Bot page views like crazy
4. Wait for article to appear in 'trending/what's hot/most read'
...
6. profit!


Anything we can do about the spammy site originating this?

http://hottydeals.com/samsung-galaxy-note-2


http://www.sfgate.com/business/prweb/article/Galaxy-Note-2-Black-Friday-Deals-and-Cyber-Monday-40580...






 

Forget  vs  ..

we have robots vs gfs

And the robots are going to win

cr/39137693









 

What's the state of the art for publishing bloom filters in these parts?

_Problem_: need a way to identify if a URL is a Google+ plus page without sending an RPC all the time.  It's acceptable if recent plus pages are not included.

There are any number of MRs that iterate over the all gaia-space that could compute this and put it someplace.

Anyone with good examples of this in practice?

Is there a super-secret bloom filter publishing service that I'm not aware of (and if not, maybe there should be?)

[Obviously once I have the persisted bloom filter then I can play around with doing incremental updates from a subscriber to a goops feed and all that.]









 

Since some folks have never heard the expression....


http://en.wikipedia.org/wiki/Flag_day_(software)






 

When things go pear-shaped..

Given recent events I'd like to reminisce on one of the best pro-customer things I've had the honor of being involved with.

When I worked at Six Apart in 2005 we let the customer decide how much pain they felt, and let them choose how much they want to be compensated. I'd love to see this replicated for N4 customers by offering them 5, 10 or 20GB of free drive storage.  Or none, if they so choose.


http://37signals.com/svn/archives2/six_apart_does_their_customers_right.php






 

Thanks in advance for an ingress invite.  I'd love to see if there are G+ integration possibilities.  (And I will totally rule the SF East Bay...)









 

Loose lips...

This weekend I was at a restaurant in the Mission and learned the following information about Facebook:

* They have a team of 6 people working on App Ranking.  That's ranking Applications in the stream and in their new ad system.

* Their shuttles don't have wifi, but you can expense a data card.

So the next time you're at a restaurant or bar, remember, someone might be listening.









 

Kennedy Offline Gmail?  Yes indeed!









 

Decided to dig deep in my mail archives to see what my first contact was with Google-folk after reading @116509592231017933209 post.

Earliest was search integration on redhat.com (early 2000), back then http://redhat.google.com was a real thing.

Lots of people moved on including Ray Sidney, Samir Kothari, Harry Cheung, Howard Jacobson, Rachael Kutras...

The two still here are @112983450704233067709 and @111898143234484272777









 

Is there a bad OWNERS MR that someone pays attention to?  Seeing a few errors like this:

WARNING: file /google/src/files/38806164/depot/google3/googledata/html/hosted/OWNERS references non-existent file /google/src/files/38806164/depot/html/external_content/gstatic/apps/cpanel/resources/OWNERS

*dasher folks:* can you fix?









 

Remember, mockito is what you should be using for all new tests.  Might as well go all-in and add junit4 and hamcrest too...


http://blog.james-carr.org/2009/08/21/junit4-mockito-hamcrest-bdd-goodness/






 

Interesting  points.

Caught up with an old friend.  His teenage sons are both big kik users on their iPod touches.  They don't want an iPhone since they're not allowed in school but the iPod is.

The son of my wife's stylist asked me if we could add file transfer to Hangouts or messenger.  I'm somewhat dubious on this (seems like a good way to spread virii -- however adding Drive sharing to chat might be interesting (and safer..) and is orthogonal with Photo sharing in Messenger.

Send file == upload to drive, share file from drive to friend, share link over chat channel, render drive content using embed.


http://kik.com/






 

Will Googlers have an easy way to buy a Nexus 4 on launch day?  Or should I get out my tent and camp at a T-Mobile store?

My Nexus-S using wife really really wants to upgrade.  She even threatened to get an iPhone 5 until I told her that it's not available unlocked...









 

Security Escalation help?

We found about 1m users that are infected with a chrome extension that rewrites search result pages (See http://b/7465588).  We've gotten some good help on some of the issues, but I feel like I haven't gotten the right people involved to deal with this properly.

- Can we notify those 1m users that they are infected?
- Can we detect that this extension is running on the SRP and stop it?

I can't tell who on Search to raise this issue to, and I cannot see who would coordinate an outreach program to the poor folks that are getting a crappy chrome experience due to the dodgy extension...

Thanks









 

woohoo!  Warner Music on Google Play.  Glad to see they finally came around.









 

 

Interesting reading here..

Has anyone calculated the k-anonymity of any of our products based on the information they make available to 3P?


http://dl.acm.org/citation.cfm?id=774552






 

I sense a weekend project combining:

http://deps/unused

and

https://sites.google.com/a/google.com/rosie/janitor-tools#TOC-terminator

Now if I could only travel back in time to tell people to not write that unused code in the first place....   or maybe that's a Google-X project?


http://terminator.wikia.com/wiki/Rosie






 

@102206255324090806743  - would it kill you to update your wordpress sharing plugin to get some G+1 love?

Oh yeah, good article.  I +1'd it using the Chrome extension :)


http://ikaisays.com/2012/10/09/why-the-real-reason-silicon-valley-coders-write-bad-software-is-wron/






 

_Song was purchased with another google play account_

:(  much sadness.

b/7249426









 

Before node.js...

DB connectivity, plus this great new feature:

_New top-level functions Number and String. The Number function converts an object to a number. The String function converts an object to a string. See "Number and String Functions" on page 135._


http://docs.oracle.com/cd/E19957-01/816-6411-10/whatsnew.htm






 

Sophos feature request.

Ping your update server every and if response time > 500ms wait another hour to auto-update...

[sorry shuttle passengers..]










 

 

 

Teach Me How to -Dougie- Viral Loop.

What you see here is a work of art for making viral loops.

The page leading up to this asked me to _confirm_ that someone had endorsed me.  I accepted the endorsement (adding it to my profile).

This page uses some decent semantic analysis to generate 'Skills you might Endorse', and a one-click way to generate a 4x viral loop (not to mention all the other mechanisms via 'see more' and loading up more endorsements.

Performing actions here also help improve the algorithms.  If one person tags a user with a skill then you can present the same tag once added to the profile to other users and have a high likelihood of success.

And at the end of the day LinkedIn will have a much better way of finding strong candidates with specific skills; users will have more profile content, etc etc.


https://plus.google.com/photos/107786897865850743842/albums/5795440289929294673/5795440287701076610






 

Kudos to the person on the Events team that auto-selects the "Pancake" theme for events that start early in the morning..











 

![Futura Fry](/path/to/fry.jpg "Cant' tell if all-hands.. or sweat-lodge")











 

So far the main thing that bugs me about Danube is when I reload an active G+ page all the posts get reordered.

@100370640544909873365  any plans for "live" reranking of the stream?  Friendfeed was doing this 5 years ago and it was pretty cool to see posts bubble to the top when they were commented on....









 

Can TAP just build dependent targets instead of running the actual tests?  Might be useful to BUILD file refactorings...









 

Using TestUtil.getSrcDir() in production code?  If you are *congratulations*, your binary now has *junit* and other testing cooties.

At the very least convert it to:

Runfiles.getRunfilesDir();

Which pulls in a much lighter set of dependencies.

Of course if all you need to do is read a file from the classpath you're much better off just doing something like:

Resources.toString(Resources.getResource(MyClass.class, CONFIG_FILE), Charsets.UTF_8);

while adding something like this to your BUILD file target:

  resources = glob([*.config])









 

jdk8 uses :: to represent class methods?  I'm getting perl flashbacks already!

Also a neat deck on Guava below (where I found out about the jdk8 syntax)


http://gdg-krakow.github.com/google-io-ext-2012-guava/#/13






 

flipped a coin, Safe Harbor wins out over Perf...









 

Just converted over some open source unit tests to use hamcrest matchers which are bundled with recent versions of junit.  Any word on whether this is preferred in google3 or not?  moma search didn't turn up much...









 

Oakland As game + this = 1h extra shuttle time!

[ and two more cleanup CLs written]


http://en.wikipedia.org/wiki/Man%C3%A1






 

Seems like we could rewrite urls in the form of:

  http://www.google.com/reader/link?url=...&srcURL=...&snippet=....

as

   https://plus.google.com/share?url=...

Right now all you get is:

  _We're sorry - Google Reader no longer supports the "Note in Reader" bookmarklet._

Where should I file this bug?  Seems like it could be a simple GFE redirect of some sort..









 

Anyone else seeing weird proxy issues with Chrome Dev Channel?  On net-internals I see this:

  Effective settings

  Use DIRECT connections.
  Source: SYSTEM

  Original settings

  PAC script: https://proxyconfig.corp.google.com/wpad.dat
  Source: SYSTEM

Weird.


https://proxyconfig.corp.google.com/wpad.dat






 

Looks like our facebook monitor is better than their own internal systems.  Either that or they don't canary :/

Oh and I love graphs with no y-axis units or labels.


https://plus.google.com/photos/107786897865850743842/albums/5782634724883676961/5782634729491972946