Individualized schooling

The Economist has a review of G is for Genes: The Impact of Genetics on Education and Achievement by Kathryn Asbury and Robert Plomin.

The Architecture of Open Source Applications ePub download

You can download an ePub version of "The Architecture of Open Source Applications" (edited by Amy Brown and Greg Wilson) here.

The book is also available to read for free at under the Creative Commons Attribution 3.0 Unported license.

Using Eclipse with a Android project using the new gradle build system / project structure / layout

The Eclipse Android ADT plugin hard-codes paths for the AndroidManifest.xml file, the res directory and the gen directory.  If you migrate an Android project to the new Gradle project structure, it will stop working in Eclipse.  You can work around this by creating symbolic links from the new Gradle layout to the old locations expected by ADT.  For example, from the root of your project, if you have a android directory, you can run these commands:

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/notes, taken as I read the book.

Part I: The Tribal Leadership System

Chapter 1: Corporate Tribes

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:

[ERROR] [system.err] warning: [options] bootstrap class path not set in conjunction with -source 1.6
[ERROR] [system.err] 1 warning

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!

[ Ryan gnawing on the rubberized handle of his cutlery ]

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 by issuing the following commands:

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


Subscribe to Wesley Tanaka RSS