Skip to main content
 

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...









 

A fascinating listen from my morning drive.

A fascinating listen from my morning drive.  I imagine I'll now notice the ambient sound more after being made aware of this.

 

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






 

Sieves

Sieves

 

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;









 

Someday ...

Someday ...

Originally shared by Singularity Utopia

It is possible to do with a G+ badge? I want the badge large for big screens so I set the width to 450 but it doesn't resize to fit like all my other elements, here in the image you can see the badge when zoomed-in is off the screen. Can you allow (make happen, implement) a 100% width instead of 450?

Here it is live: http://singularity-2045.org/

 

 

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

 

 

Julie's Plane taking off

Julie's Plane taking off

 

 

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 [email protected] 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 [email protected] 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






 

Was pondering how James Kirk would share on a social network and remembered that he always said Captain's Log,...

Was pondering how James Kirk would share on a social network and remembered that he always said Captain's Log, Stardate...  -- but then I found this.