Skip to main content
 

 

 

Anyone have a better way to determine if a proto contains one and only one message set in Java? (And no, can't use OneOf yet afaik. because jspb)

Collections.frequency(Arrays.asList(
msg.hasFoo(),
msg.hasBar(),
msg.hasBaz()), Boolean.TRUE) == 1












 

I/O is using a C64 color palette this year...




https://events.google.com/io2015/






 

Yay!  LMP memory leak bug marked as fixed.

http://b/issue?id=19236185









 

MACKLEMORE & RYAN LEWIS - CAN'T HOLD US FEAT. RAY DALTON (OFFICIAL MUSIC...: http://youtu.be/2zNSgSzhBfM


https://www.youtube.com/watch?v=2zNSgSzhBfM&feature=youtu.be






 

People do not fear change, they fear loss

About a year ago I did a one-day seminar called _Managing Through Change_.   It was actually pretty good and helped me understand how the human brain treats stressful transitions.

Sadly the course isn't offered, but there is some pretty decent self-instruction available here:

https://grow.googleplex.com/opportunity/site/navigatechange/

https://login.corp.google.com/request?s=grow.googleplex.com:443/uberproxy/&d=https://grow.google...

 

 

All the Martin Solveig _Smash_ videos in a single playlist.   A must-watch.

[Sadly sharing Youtube "Collections" to Google+ collections doesn't work so well...]  @103403111903646616992 - I suppose we're not going to get Playlist embeds, right?


https://www.youtube.com/playlist?list=PL1FZihtktLKvWIpUk22nxm9Dth3mlkdHP






 

Where do you find the best Google candidates?  Why not try your local shopping news?

[I imagine it's a package deal or a publishing requirement.  LinkedIn also has their reqs here too...]


https://plus.google.com/photos/107786897865850743842/albums/6111425154521051137/6111425156847404834?...






 

 

My new go-to way to share mobile android screens during meetings.
Many conference rooms have a local input for HDMI and this works great with it.  Tips:

- Enable Settings→Developer Options→Show touches
- Fire up the camera if you need to display a device that's not slimport compatible. (like the 2012 nexus 7)
- Get it from stuff - https://mystuff.corp.google.com/stuff/items/1000


http://shop.slimportdirect.com/products/sp1003






 

Let's not Digg ourselves...

_Those who cannot learn from history are doomed to repeat it._


http://readwrite.com/2010/09/23/digg_redesign_tanks_traffic_down_26?_escaped_fragment_=#__sid=md0






 

Recruiting... in reverse

Hi Paul,

Long time no see! Hope all is well with you. Have been trying to reach someone in engineering at Google to see if there might be interest in acquiring my company. Would be cool to catch up sometime, please let me know what you think!

Here's some more info regarding our company / technology:

....

XXXXX is fully bootstrapped, we have no debt and no additional shareholders (just the two of us). The company was recently incorporated, so a transaction would be straightforward. We are both versatile generalists in our respective fields with lots of experience innovating hands-on as well as managing teams. And we’d love an opportunity to demo our tech with anyone who’s interested!

 


Moonshine wins again.

Turns out my power button is faulty too :(

http://www.reddit.com/r/Nexus5/comments/2edf6j






 

Went looking for the backstory to the Guardian article... I found a backcyclopedia...


http://en.wikipedia.org/wiki/Wikipedia:Arbitration/Requests/Case/GamerGate






 

Can we get the trackable shorebird connector shuttles in gbus? I always seem to hit the donut hole at 10 and end up waiting 20 minutes. (I saw 4 quad busses during this time) oof..









 

@Produces
Coffee produceCoffee(@Node @HalfnHalf MilkProduct milkProduct) {
.....
}


https://plus.google.com/photos/107786897865850743842/albums/6102481687489401041/6102481690632384722?...






 



Latest one that popped up:

-    float circleWidth = (float) Math.sqrt(
-        canvas.getWidth() * canvas.getWidth()
-        + canvas.getHeight() * canvas.getHeight()
-    )  - innerRadius;
+    float circleWidth = (float) Math.hypot(canvas.getWidth(), canvas.getHeight()) - innerRadius;









 

 

HashSets

Replacing static HashSet<String> with Java 7 string switch?

Has anyone investigated whether Java 7 switch is more memory efficient than HashSet<String> or ImmutableSet<String>?  I think it might be.  Read on....

I ask because HashSet is one of the more bloated java collection classes.  It uses 32 bytes for each used entry + an array for the capacity.  For example the follow
ing HashSet uses 128 bytes (2*32 + 16 * 4):

  private static final HashSet<String> FOO = new HashSet<>();
  foo.add("a")
shpub note --category=googplus --syndication=https://plus.google.com/107786897865850743842/posts/VPYQiMunRRY --published="Mon Dec 29 12:22:44 PM PST 2014" --name="" - <<EOF
Replacing static HashSet<String> with Java 7 string switch?

Has anyone investigated whether Java 7 switch is more memory efficient than HashSet<String> or ImmutableSet<String>?  I think it might be.  Read on....

I ask because HashSet is one of the more bloated java collection classes.  It uses 32 bytes for each used entry + an array for the capacity.  For example the follow
ing HashSet uses 128 bytes (2*32 + 16 * 4):

  private static final HashSet<String> FOO = new HashSet<>();
  foo.add("a")
  foo.add("b");

  boolean isFoo(String s) { return FOO.contains(s);}

We can replace that with:

  boolean isFoo(String s) {
     switch (s) {
        case "a":
        case "b":
           return true;
        default:
           return false;
     }
  }

Java 7 transforms this code into something like this:

    switch (s.hashCode()) {
       case -1234:
          return s.equals("a");
       case -55999:
          return s.equals("b");
       default:
          return false;
    }

Which maps to a tableswitch or lookupswitch.  Squinting it appears that you'd need the following for each entry:

tableswitch:
  per-entry: hashcode + result value (8 bytes)
  equals test: 4 opcodes (16 bytes)

So it would appear that you have 24bytes/entry.

Performance would be limited by the JVM/Dalvik/Art implementation of tableswitch which can be O(n)

Also obligatory reference to:

  http://blog.jamesdbloom.com/JavaCodeToByteCode_PartOne.html

http://blog.jamesdbloom.com/JavaCodeToByteCode_PartOne.html

 

Shout out to @110664632946820915121 in the new Doomtree track in the 2nd verse.

_Ay, I’m pushing up on your tempo_
_She too stoned Nintendo_
_I’m Vint Cerf, she Pink Floyd_
_I’m jumpin out the window_

Also a damn fine track.


http://genius.com/Doomtree-gray-duck-lyrics






 

TiL M-x google-compile









 

Old standards don't die they just fade away in a W3C working group.


http://www.w3.org/2014/12/opensocial.html.en






 


Where do Beekeeper and Groups intersect?  They seem to fulfill the same basic user need.  (And only one has full email integration.)







 

 

My fix.sh script

This contains anything that accepts a changelist in the form of -c XXXXXX

I just run this thing before I mail out CLs and has made my life easier.  Anything else safe that can be added here?  Next step I should add some kind of g4 mail trigger to just run this thing automatically......

#!/bin/sh
buildifier -a -v
/google/src/head/depot/google3/tools/java/remove_unused_imports.py --fix
/google/src/head/depot/google3/tools/java/sort_java_imports.py









 

Okay, here's an old one.

I actually interviewed with a towing company that became AutoReturn in 2001.  When I expressed concern about their business model the recruiter said: *we have an unfair advantage due to our relationships with people on the board of supervisors*.

I passed.









 

*Human Factors Design Handbook - 1981*

One can learn a lot by looking into how real Architects design things.  Airports, Parking Garages, Bathrooms, Missile Control Systems, Furniture, you name it, it's in there.  It also includes things highly relevant to our field like accessibility, design for failure, and social factors and privacy:

_Personal space factors are important in establishing the privacy requirements for architectural design._

Currently residing at the desk of @102103132265474854376   -- Check it out!


https://plus.google.com/photos/107786897865850743842/albums/6090541554277570881/6090541559340908530






 

Here's my slides talking about SEO for Google+

Email me at plindner@google.com and I will gladly add you to the webmaster tools for plus.google.com to see all the cool graphs.




https://docs.google.com/presentation/d/1Cpv9JlJ0r8jOHJioBU-OKqH3Kz5mnD1HTXAAxfqAolw/edit?_escaped_fr...






 

Subscribe to SOCNET@lists.ufl.edu and you too can learn about papers like this:


http://arxiv.org/abs/1411.0652






 

 

 - what feature would make it easier to help you share something?


http://kottke.org/06/06/vox-question-day






 

1 Direction Hangout had visible effect in search queries to plus.google.com.  (Blue is impressions, red clicks.)


https://plus.google.com/photos/107786897865850743842/albums/6080909467251976817/6080909471461225522






 

 

 

 

Farewell

Farewell.

After a 4 month battle against cancer we made that hard yet logical decision to end the fight.  Tommy didn't visit Google often, but he always enjoyed the attention, laying in the grass, and walking the trails nearby.

Thanks to everyone that put up with my last minute cancellations for vet visits and the extra time I spent tending to his needs in his final months.

 

_Add support for [deprecated = true] on all types of definitions_

Fixed in 2.6.0

There was much rejoicing..


https://code.google.com/p/protobuf/issues/detail?id=329






 

*Beware the killer submit click*

- Accidentally click Submit on an approved CL in Critique
- Not knowing this edit said CL
- After tests pass, whatever is in client is submitted.
- See email, go WTF?!  Rollback
- .... 2 hours pass
- TAP catches up.
- Accept breakage reports for hours.









 

If we're doing interest based stuff we're definitely going to need a killfile.  In fact I'd say that it's more important than expressing interests.

We already support per-user and per-post ignoring.  Why not per-interest ignoring?


http://static.slated.org/killfile/killfilefaq.htm






 

So it appears that Pages that restrict visibility from the US will not get indexed in search.  I just checked this using webmaster tools and things don't show up.

I doubt that's what these page owners expect...

@107119856398345819723 / @106642279061626308531 - thoughts?

@102583327817215270776  I know we allow webmasters to geotarget whole domains, do we allow for a way to do it on a page-by-page basis using magic markup?


https://support.google.com/business/answer/4601912?p=audience_settings&hl=en&rd=1






 


K release name write in.

Endorsed by Chris DiBona -- worldwide rap connoisseur with his posse of commenters.

http://www.youtube.com/watch?v=6WJFjXtHcy4






 

If you have an org devoted to supporting power/'head" users I'd love to hear about it...  [post a comment or message me]

Looks like Youtube has this with real metrics and OKRs which is cool.

https://sites.google.com/a/google.com/yt1tomany-global









 

Tail latency == power user latency

The next time you ignore a few deadline exceededs ask yourself:  Where are the people affected on the participation curve.  Often they're the ones with thousands of blocked people, tons of posts and +1s and *your most valuable users*.  Call 'em whales if you like, but do not ignore them.

http://ross.typepad.com/blog/2006/04/power_law_of_pa.html

 

Bing Rewards are pushing this link on their crowd.  I earned 1 point for checking it out.

sneaky.

cc: @109983414620974200462


http://www.bing.com/classroom/showsupport?FORM=ML1020&OCID=ML1020&PUBL=RewardsDO&CREA=ML...






 

Managed to get OpenVPN-ng working.  Recommended if you live in Chrome Canary, like I do...


https://docs.google.com/a/google.com/document/d/19UhFhzFenS3zqu-TpFIh96FjFCg9I-VHRAb02mE0LdM/edit?_e...






 

Perf

My vet didn't realize that Perf was due last night and said Tommy should go home.  Just finished at 8:00am after staying up much of the night to get it done.

Going to sleep for a while and am glad I don't need to wear a massive flowery collar around...

 

Interesting take on Email based sharing for photos.

.. rewind : we were talking with Yahoo about supporting this use case a few years ago.  Not much came of it.


https://plus.google.com/