wesley tanaka

Giraffes Fighting

Tribal Leadership (Dave Logan, John King, Halee Fischer-Wright)


I heard about the book Tribal Leadership: Leveraging Natural Groups to Build a Thriving Organization from a podcast interview.  This is my review/summary/synopsis/note

WARNING: Class Joiner loaded from appengine.jar has a dependency which is not part of App Engine's supported API


Using optimizeWar = true in gradle-gae-plugin will cause it to run fatJarPrepareFiles and fatJar which expand all of your dependency .jar files into .class files and then re-combine them all into a single appengine.jar file. Depending on what you have in your dependencies block, this can sometimes cause:

bootstrap class path not set in conjunction with -source 1.6


Running a simple build.gradle file with sourceCompatibility = 1.6 with Oracle's JDK 1.7

apply plugin: 'java'
defaultTasks 'build'
sourceCompatibility = 1.6

repositories {

dependencies {
  testCompile 'junit:junit:3.8'

will cause this warning to be emitted by the JVM:

Not actually eating oatmeal


[A conversation inspired by Ryan saying something slightly incorrect during breakfast]

ME: ... for example, I can say "what are you eating?"

ME: Then you say, "I'm eating oatmeal."

RYAN: I'm eating oatmeal.

ME: That's right, let's try again!

Is language development supervised?


I once read that existing models of machine learning didn't really explain the way that children learned to make correct and felicitous utterances. On the most basic level, this makes sense to me—if machine learning accurately modeled children, then computers would be as proficient at English as children are.

But more specifically, I read that purely unsupervised learning can't explain language acquisition because in that model, there's no indication of which words or sentences are correct and which aren't.

Upgrading Gradle to the latest version on Ubuntu


(Updated November 22, 2014)

Ubuntu 12.04.3 has an old version of Gradle (1.0-milestone-3 from September 2011) installed by default.  To upgrade to a later version of Gradle, you can use Cheng-Wei Chien's PPA for Gradle at https://launchpad.net/~cwchien/+archive/gradle by issuing the following commands:

sudo add-apt-repository ppa:cwchien/gradle
sudo apt-get update

Setting a system property in Gradle


Java system properties can be specified in Gradle by creating a file in one of these locations:

  • $HOME/.gradle/gradle.properties
  • $MAIN_PROJECT_DIR/gradle.properties

And creating a property name that's prefixed with systemProp. For example, to set a system property called appengine.sdk.root, you'd create a gradle.properties file with this contents:


What is Groovy?


I started looking at Groovy the other day while trying to understand how Gradle works.  Here are some initial impressions:

What is Gradle? (comparison of gradle vs ant vs make)


Gradle is a build tool similar to make or ant which is being adopted by the Android project as a replacement for ant scripts and the automated "build" step in Eclipse.

There's a useful book about Gradle available online for free at http://www.gradleware.com/registered/books/building-and-testing/

Here is a comparison between gradle and two other commonly used build tools:

Syndicate content
by Wesley Tanaka