Skip to main content
 

AST Crazy

C++ -> cfront -> C -> ASM

Java -> javac -> bytecode -> Proguard -> bytecode -> dex -> dex2oat

es6 -> jscompiler -> es5 -> ....

What else? GWT? Dart?









 

Should I feel like a VIP because I was invited to the _Samsung Blogger's Lounge_ at SXSW? Or is it just spam?









 

What will it take to change this narrative:

_There are companies that do not get social and they never will. Apple’s one of them, Google is the other: they’ve failed with Google+. When your culture is engineering-focused, you do not understand social. Social is a very emotional experience. Engineers are not so much, in a lot of cases,_

It won't be facts, since any numbers we release are instantly dismissed.  My guess is that we're going to have to move influentials over, one-by-one until the zeitgeist changes.  People only see what's in their bubble, and Google's social efforts don't penetrate.... yet.


http://www.theguardian.com/technology/2015/mar/06/myspace-what-went-wrong-sean-percival-spotify






 

 

Has anyone extracted the dalvikvm verification logic into a command line tool?

I'm trying to track down a bizarre kitkat crash and doing manual bisects is killing my soul..









 

Today's   inspirational tune.  Sadly there's no vid for this..


https://play.google.com/music/m/Tpletfdxsiuhlkgtsxt4b244uti






 

Let's make sure that when communities == spaces that we don't lose support for the Play Store dogfood usages.

fyi @116834966192427446812


108183048951505359159






 

What's a collection of cards?  Decks!  so obvious it hurts...

Did you test that name Dmitry?


http://techcrunch.com/2015/02/26/mobile-search-david-vs-googliath/


EOF~





 

What's up with Ad Planner? It now redirects to

https://awics.corp.google.com/um/ssoauth?dst=https://adsmediaplanner.googleplex.com/?ICS_AUTH_OK

and gives me a 403. Is there any way to get some baseline geo/demo data for publisher websites these days?












 

 

I contributed early on but didn't realize that Google contributed 16k as well.  Happy to see things like this.


http://www.sfgate.com/bayarea/article/Blogger-hands-out-165-000-to-Mission-fire-victims-6104825.php?...






 

I love it when things just f'ing work.

- I read an internal G+ post by @118054148122560925848  about bad snippets on http://grpc.io/
- Commented, said I'd ping folks.
- Pinged grpc TL @117058620747746997157  on hangouts
- He creates a group chat with @117889162726815756319
- I say here's my github id
- Added to project.
- I clone it and realize it's jekyll
- minimal yak shaving getting jekyll up and running
- in the meantime a new image is uploaded
- git fork, clone, edit, push
- create pull request
- merged.

- DONE

A big image for a big project and a descriptive snippet.


http://www.grpc.io/






 

Today's inspiration.  Some chill, yet uptempo chamber music.  Great music for sharpening pitchforks, if that's your thing ....


https://www.youtube.com/watch?v=rvp28IVUpa0






 

I still think Ripples is awesome and needed more than ever in a interest based system. How else are you going to follow the entire chain?

Here's a link to the Tau post by Danielle

[and ugh, the metadata for sharing on those pages is awful...]


https://plus.google.com/ripples/details?activityid=z12qtdmgdtmaj5oy304cjzjwttehc3bb4z40k






 

Google I need rain boots

Was discussing potential for location-based sharing and remembered this gem.  Despite all the sucky things happening I'm still excited about what's possible in the future.

http://go/ortelius

 

I find the Blogger decision baffling given the effort in Social for Project R

http://go/projectr

What's the story here?  @103643500382916616176 or @106642279061626308531  can you weigh in?

I was hopeful that we'd offer a way for adults to have adult conversations around adult topics and content.  Hell, sometimes I'd like to restrict my youtube comments to only adults (*yes* we have the ability in the ASBE backend to do this!)

I'm also sad that we're spending any amount of time to help Tobacco companies peddle their wares, which it seems is the main driver for a lot of this...









 

Let's lighten things up with a little whistling...

Oh and growing up I wanted to be Dr. Banzai, well at least a Blue Blazer Regular....


https://www.youtube.com/watch?v=0gNJ1z-ulB4






 

So if Google is creating special versions just for kids, maybe they can do one just for adults.  Then I thought what's the opposite of a unicorn and search provided just the answer:   *icorn*

Oh and what did the Unicorn call his dad?

Popcorn


https://answers.yahoo.com/question/index?qid=20071024061903AAPom3V#ya-c






 

Anyone know what happened to hashtag search?  I haven't seen this trigger in many months, but I didn't see an Ariane turndown..

@108935767358519094547 / @100831539213655563256 ?


http://searchenginewatch.com/sew/news/2297394/hashtags-come-to-google-search-results






 

Search ads functioning as In-App ads.

Add or cross off onions, get an onion ad. Brilliant. I hope that we're behind this...



https://plus.google.com/photos/107786897865850743842/albums/6118410658793676817/6118410655566398498?...






 

 

SWEs should do Part Time User Support

My first dev job in 1991 required that I do at least 4h of phone support and 4h of walk-in support a week.  Feeling user pain and answering the same dumb questions over and over made me a better developer and also led to a bunch of innovation:

- Mainframe Mail Woes? Develop SLIP/PopMail, give away on floppy
- Xmodem problems? Add hqx attachment support.
- Need access to Apple's techinfo CD?  Get it via Gopher.
- Indepth howtos?  Publish newsletters like you see below.

You don't have to answer the phone to help people today.  You can engage externally on mailing lists, on G+ and more.  Just remember to follow the guidelines in http://go/u2u

http://conservancy.umn.edu/bitstream/handle/11299/161886/Microcomputer_Newsletter_Jun_1991.pdf?seque...

 

Just wanted to say that Inception on Tau is super awesome -- Speed makes this feature shine. You can flip over to the original post and back in milliseconds.









 

Putting my reorg boots on...









 

Just got a survey from Comcast about them potentially offering Solar. I imagine it'll be part of their Septuple-Play package.









 

I have my own stalker-poet-recruiter now...

var poem = function() {
  wrote(function() {
    this(function() {
      toMakeYouSmile(function() {
        pleaseRespond(function() {
          imStuckInCallbackHell(function() {
            yoursTruly('jason');
          })
        })
      })
    })
  })
})


https://plus.google.com/photos/107786897865850743842/albums/6117021450310081057/6117021448725524562?...






 

Curious how the JeffWeCan twitter page ranks so very highly give the data I see in digdug.

https://plus.google.com/explore/JeffWeCan

vs

https://twitter.com/hashtag/jeffwecan

PageRank is comparable, both were crawled and indexed into Base..

I think I found some superroot code, but don't know for sure...


https://twitter.com/hashtag/jeffwecan






 

We're starting work on supporting standard Android Share/Send Intents in the G+ App.  Would love to hear use-cases that people may have or hints on how to make it awesome.

I already found that I can share out to Flipboard which handles things really well.  Also surprising things like sharing to Barcode reader (generates a nifty QR code)











 

 

 

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