Material Design: An Experience Report by Andy Detskas

Today at lunch at Pivotal Labs, our designer Andy Detskas talked with us about some of the things he has learned about material design for Android Marshmallow.

If you’d like to see more details on the presentation than the rundown provided here, or if you’d like to follow some links to useful resources on designing for Android, you can see the slides right here.

Continue reading “Material Design: An Experience Report by Andy Detskas”

If I had a quarter for every time I have seen this damn dagger error…

Caused by: java.lang.IllegalArgumentException: No inject registered for {}. 
You must explicitly add it to the 'injects' option in one of your modules.

Let’s be honest: this error is the hazing of Android development with Dagger*. My colleagues and I have spent oodles of time trying to figure out why we are getting this.

We are not alone, if the litany of StackOverflow questions and other internet hits for this error is any indication.

*Clarification: this article is specific to Dagger 1.2, the version of Dagger written and maintained by Square. Dagger 2, maintained by Google, is not a later version of 1.2—it is a completely different version by a different team, and it works fairly differently to Dagger 1.2.

This post is an attempt to lead you, step by step, out of the clutches of this infuriating error. Given the number of reasons that you could be getting this error, the first few drafts will probably be incomplete. If this post does not help you resolve the error and you figure out how to resolve it by some other means, please e-mail me (chelsea at ) and let me know how you did solve the issue, so I can update this post to help the next person who ends up in your permutation of this problem.

Continue reading “If I had a quarter for every time I have seen this damn dagger error…”

Machine Learning, Part 2: Classification

I’m working my way through a Coursera specialization on Machine Learning. The specialization includes several courses, the first of which provides a high-level overview of ML. I finished that one before I began talking about the coursework on my blog because I didn’t want to identify myself as a student of machine learning until I had actually gone through with something.

Going forward, I’ll share a post on each of the in-depth classes in the specialization. The first in-depth class was called Regression, and you can find my post about that course right here. The second class is called Classification, and this post will cover key concepts from the course as well as my observations and any supplementary readings that help me understand the material.

**Publishing unfinished. Will update as course continues.

Continue reading “Machine Learning, Part 2: Classification”


Ladies and gentlemen, I work in a fantasyland.

When I enter the front doors of the software consultancy where I code, I usually do so in jeans and a hoodie. I walk past frame after frame of funky art into a kitchen area with a ping pong table. A large stack of puzzles and games sits on a shelf in the corner. A partly-finished puzzle takes up one of the eating tables. In front of the far wall, burgeoning shelves offer me popcorn, chips, snack bars, and nut dispensers. Our massive refrigerator stays fully stocked with soft drinks and Noosa yogurt. In the corner, we keep two taps from which I can pour myself unlimited free nitro cold brew or beer.

Continue reading “Professionalism”