Skip to main content
 

Anyone tight with the people at xda-developers?

See http://b/8002104 if you can relay a request to help them fix an issue.









 

Waiting for people.oz to turn green?  Play this....

Or heck, play anything from the 51 albums in the Rockabye Baby collection.


https://play.google.com/music/playpreview?preview=AE9vGKrGos62UGCnyd2XAGkVtdWmgfUG8zFRifPE5W7eUdCTtL...






 

 

I'm feeling lucky artist-bomb.

Today I thought I was listening to some retro Ellie Goulding song.  Nope it was Traci Lords...  Mind blown.









 

One liner for output of /usr/bin/unsued_deps for 

*cat /tmp/oz_deps  | awk '{print -bash "\nblaze build " " || read -p BORKED "}'*
buildozer 'remove deps //java/com/google/common/annotations:annotations' //java/com/google/apps/people/oz/widget/signin:module
blaze build //java/com/google/apps/people/oz/widget/signin:module} || read -p BORKED
....









 

Some gutsy tagging on P turf.

(And real proof that the techies are taking over the Mission. P and NP gangs are the new Norteños and Sureños.)







https://plus.google.com/photos/107786897865850743842/albums/5968262152633464209/5968262154427017826?...






 

Dremel history backup for

load /auto/build/google3/maps/test/dremel/useragent.lua;

get_browser(useragent)









 

We're discussing Roboto performance over on

https://b.corp.google.com/issue?id=9088557









 

Graffiti partially removed/obscured and one bag of trash dealt with this morning.

I have a bag with solvent, gloves, rags, trash bags and a scrub brush.  If other people are keen on helping I can leave it out.  I also brought my portable leaf blower -- I can get some of that broken glass taken care of.

Also reported illegal dumping using SeeClickFix on 7th & Linden  (Download the App, it actually gets stuff done).  Also can someone get Caltrans to pick up the sofa and other junk that was dumped in the lot?


https://plus.google.com/photos/107786897865850743842/albums/5965831869026667441






 

Hey WOPR folks, let's clean up West Oakland.

I used to live in SOMA and there was a guy who would clean up all the trash and butts around the corner of 7th and Howard.  His small acts made a huge difference and he was the most popular guy in the neighborhood.

There's a trash bin at the corner of 7th and Adeline, so arrive a few minutes early, clean up and win a few hearts and minds.  And remember we have hand sanitizer on the bus.


https://plus.google.com/+PaulLindner/posts/NuzN8eaLjKx






 

Here's hoping that Play and BBC America get the latest Doctor Who episode up promptly.

The fiasco with the 50th Anniversary episode was pretty bad. Delivered late and with price gouging....









 

 

35% of sites on the web now use a custom font.  The +1 button's use of Roboto apparently added 8% to that statistic.

No worries, when we added Roboto we also converted the button to SVG.   All those bytes from the sprite now are more effectively used to support highly cacheable font downloads.


http://httparchive.org/trends.php






 

Need to name your sprints?  Here you go...


http://en.wikipedia.org/wiki/List_of






 

TIL

% blaze menu









 

Sharing my personal tips for

By using the tips below I'm down to 2 passwords and two gnubby touches per-day.

https://wiki.corp.google.com/twiki/bin/view/Main/MacRoadWarrior









 

Nice thing about using Chrome Canary as my primary browser is I occasionally commit *Tab bankruptcy* at random intervals.









 

*Paul's Guide to Youtube spammers*

G+ uses a reputation system and it gets better if it's properly trained.  Here's how to help.

1) Find a video you like.
2) Select *Newest First* Comments.
3) Find a spammer!  Selling instagram followers, make money at home, PSN codes, ascii-"art", Home "remedies" etc.
4) Hover over the timestamp
   - If it's a link to a video, you have a skinny page, report it inline.
5) If it's a G+ profile cmd-click into a new tab
6) On the opened tab click on the profile link in the left card.
7) Amaze at the series of spam posts
8) Report them as spam from the drop-down until you get bored
9) Block/Report the profile if you deem it appropriate
10) For particular nasty stuff or if you detect certain patterns escalate at

  http://go/es-abuse

And follow the instructions in the bug template.









 

How many youtube comments have *you* flagged for abuse today?









 

Paradigm shift.  Post->Create, View->Search.

I think part of the YT problem is one of perception that reminds of the early days of Gmail.  Remember when you 'put' messages in 'folders'?  That's what people think of when they post.  Instead you have 'Content' that is created that has certain attributes.

When you have content with attributes you can use search to surface it, rank it, and filter it.

So my minor suggestion for Youtube comments is to add a really simple thing: Add _Searching for Comments..._ to the loading indicator.









 

Paging absentee Google-owned Youtube channel owners -- time to start policing your comments.  If you're not going to moderate *and engage* just disable comments.   Otherwise while you're away the partying teens will trash the place.

For sport and old-times-sake I spent time reporting porn/abuse/spam on popular videos and Google-owned channels.  I saw the usual hideous garbage in "Newest First", but what I didn't see was any engagement from the channel owners.

So to repeat, own your channels.  Moderate and engage.  Moderate and engage. *Moderate and engage*.

[Also banning a few abusive individuals will go a long way towards eliminating the ascii-art genitalia until the ML algorithms catch up..]


http://www.nydailynews.com/sports/football/ex-nfl-player-home-trashed-hundreds-partying-teens-articl...






 

 

The SNS space keeps shifting.  Hyves is now moving from a general purpose social network to a gaming focused one.

I hope that works out better from them than it did for hi5.


http://hyves-corporate.pr.co/63596-hyves-transformeert-naar-online-gaming-portal






 

*Day of the Dead (code)*

Find dead build targets at http://deps/unused  then do this:

  blaze build devtools/janitor/terminator
  sed 's/ .*//' |xargs -n 1 blaze-bin/devtools/janitor/terminator
  ** PASTE LINES FROM deps/unused **
  ^D









 

I had to show this to a few people this weekend to help them understand my human cannonball t-shirt.


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






 

Would using the term _Google+ deniers_ be too harsh?









 

One benefit of missing the shuttle is visiting the West Oakland McDonalds and observing the use of technology. Pretty much the opposite of Google demographics you can find anecdotal societal changes first hand at the WiFi watering hole.

Mobile first. Yes
Bluetooth headsets - more than you'd think.
Parents and kids on ancient wintel laptop.
Multiple IPads with keyboards.

Religious argument ended with "Look it up on YouTube!"



https://plus.google.com/photos/107786897865850743842/albums/5941325952242369169/5941325947220876290?...






 

Whatever's on the barge in the bay better be good.  Otherwise William Gibson and I will both be disappointed.

_"He's at Google CAZ. See the knuckle tats?" They all dress like 50s longshoremen, particularly the women._


https://twitter.com/GreatDismal/status/395649357791248384






 

Farewell iGoogle and your hundreds of quality Zombie gadgets.

For perspective Campfire 1 was 6 years ago on Nov 1st.  At hi5 we wanted to create a Day of the Dead gadget but ran out of time (hi5 was super popular in south/central america, so it would have been a natural fit..)


https://plus.sandbox.google.com/photos/107786897865850743842/albums/5940941643516135201/594094164049...






 

T-Mobile user with a grandfathered plan?

Install this before you upgrade to KitKat...


https://play.google.com/store/apps/details?id=com.pdanet#body-content






 

Be careful removing 'unused import' for protos.  strict deps don't apply in this case so you'll want to test compile with global presubmit...









 

IE9 - the doughnut hole of web animation...

svg works well on all browsers except IE8, and Gingerbread
css3 animation works on IE10+
svg smil?  everything with svg, but not on IE at all.
requestAnimationFrame?  nope.

http://caniuse.com/


http://caniuse.com/






 

We need pet names for KG

then I can query "name of deadmau5's cat" and get the answer

Professor Meowington phd









 

Some good advice here..  auth-refresh is very handy..

https://wiki.corp.google.com/twiki/bin/view/Main/MacRoadWarrior









 

What's the word?  hideous, yes that's the word.

This is the new commenting system on sfgate.  The trolls over there get the commenting system they deserve I guess....


http://viafoura.com/






 

Bin packing is NP Hard....

1st time with Shopping express-extended.  Oh the boxes!

Bottom box is 2ft ^3 -- toilet paper/paper towels.
Middle boxes contained misc things from other stores.
Top-one is 14" ^3 -- It contained a 4-pack of cucumber soda and enough bubble wrap to float a boat.

I'm saving the boxes and should be able to reuse the smaller ones.  I did send feedback to team about this situation.


https://plus.sandbox.google.com/photos/107786897865850743842/albums/5935415229161068849/593541523094...






 

 

G+ Inspired UI at http://littlemonsters.com

- Sidebar with icons for apps
- Cards for posts and expanding comments
- Mole-based chat system.
- Header that collapses when you scroll down
- Big Red Buttons!


https://plus.sandbox.google.com/photos/107786897865850743842/albums/5933274801685382769/593327480394...






 

Found a few tips here.  Color prompts, didn't realize that g4's -c flag would tab-complete.

Added a comment about setting the tmux title using

  tmux rename-window

Now I have a decent set of titles instead of

1 bash 2 bash 3 bash 4 bash 5 bash 6 bash 7 python ...


https://docs.google.com/a/google.com/presentation/d/1xh9sh8jtl36h_-Ys8DYQL2ddryjhr_jiObqT5Dl8k9Y/edi...









 

Sometimes you want down and to the right too...  At least when it comes to Focus Query cost.


https://plus.sandbox.google.com/photos/107786897865850743842/albums/5932436428764399185/593243642916...






 

Parameterized tests in Junit 3 -- another Java

Adding some experimental code that modifies a junit3 test?  Yearning for Junit4 @RunWith(Parameterized.class) annotation?

For simple things like an experiment flag you can do this:

Add the flag to the base test class.

   boolean experiment = false;

Create a subclass of your test and change the value in your setUp method:

 class FooWithExperimentTest extends FooTest {

 @Override
 protected void setUp() throws Exception {
    this.experiment = true;
    super.setUp();
  }
}

Your subclass will run with the varying value.









 

ProtoAssert is a java testers best friend.

ProtoAssert
  .assertThat(result)
  .ignoringField(...)
  .isEqualTo(expected);









 

TAP submit speedup 

- You mail a CL
- The presubmit automatically starts a TAP run.
- You get an email with the results.
- You did *not* change the CL after you mailed it.

If all of the above is true, use the TAP base with *--rerun* when submitting to save time.  The base is in the email TAP sends you and it looks like this:

  OCL:53489329:BASE:53489326:1380560146993









 

 

NYC Googlers -- recommendations on laptop repair?

My sister-in-law spilled Sierra Nevada on her 2010 MacBook Pro and I'm trying to help her.  I found http://http://www.laptopmd.com/ and they quoted 65 to clean the motherboard and replace the keyboard.

She's living on grants and piece work so if you know of a better deal let me know.


http://www.laptopmd.com/#header






 

Somethings wrong when fiber to the home comes to rural Minnesota before the bay area...

[This is a little town 1200 people about 30 miles from Rochester MN]


http://www.kmtel.com/internet/high-speed/






 

SVG, it's VRML for flatland.

Hacking on svg is bringing back memories of another markup language with multiple coordinate systems..

I am writing up a little guide on how to get productive with SVG so others can benefit from my pain.


http://www.wiley.com/legacy/compbooks/vrml2sbk/ch06/06fig09.htm






 

Protip: Use Optional#asSet() to populate collections from optional values.

Was annoyed with lots and lots of code that looks like this:
   Optional<Foo> foo = getFoo();
   if (foo.isPresent()) {
     collection.add(foo.get());
   }

Turns out there's asSet which lets you write code like this:

  collection.addAll(getFoo().asSet());









 

How to make your java *testing* rules test-only.

Here's a crude script you can use to automatically set testonly=1 on _testing_ targets that qualify (and tells you why others cannot be testonly)  If there's interest I'd be happy to clean this up and put it somewhere...


 DEPS=blaze-bin/devtools/deps/depserver/query/depends_on  --testonly=0 `

  echo "PROCESSING - "
  TESTONLY_NUMDEPS=`echo ""|wc -l`
  if [ == 1 ]; then
    buildozer 'set testonly 1'
    buildozer fix
    echo "ADDED testonly=1 to target  "
  else
    echo "FAILED to add testonly=1  for target "
    echo ""
  fi
 done









 

How to make your java *testing* rules test-only.

Here's a crude script you can use to automatically set testonly=1 on _testing_ targets that qualify (and tells you why others cannot be testonly)  If there's interest I'd be happy to clean this up and put it somewhere...


 DEPS=
 for XX in ; do
  DEPENDS_ON=

  echo "PROCESSING - "
  TESTONLY_NUMDEPS=1
  if [ == 1 ]; then
    buildozer 'set testonly 1'
    buildozer fix
    echo "ADDED testonly=1 to target  "
  else
    echo "FAILED to add testonly=1  for target "
    echo ""
  fi
 done