Kotlin No Primitives


I am currently enjoying learning kotlin. I currently love that everything is an object. Nothing is a primitive. I never liked having a primitive type and a reference type for the same concept in the language(e.g. int and Integer). I also really dislike the confusion that == versus the equals operator causes. I understand the difference, as well as the need for them. I don’t think this was a well thought out part of the language. The number of bugs over(== v. equals) has likely caused is too damn high.

What is new in Android Studio 2.0

I just watched Android Dev Summit 2015 and here are the features in android studio that I’m most interested in: Faster emulators Emulators that you click and drag to resize while running! Better testing tools Running all test types at once(No more run unit test, then manually go run android tests) Instant run code! This allows you to update code/resources …

The problem with RxAndroid’s AndroidSchedulers.mainThread()

There is a really good short video by Ray Ryan from Square about how adding code like the following causes problems: newChild.post( new Runnable(){ @Override public void run(){ // do something with newChild } } ); Which at some point usually leads to you getting a null pointer exception.

Java Library Version Handling

There are some really interesting versioning issues in the rxjava github repo pertaining to how to handle rxjava version 2. Goal: Not break everything with pushing an update Not forcing people to update Problems that need to be addressed as a result of the goals: Allow use of multiple version of the library The first problem sounds easy, just bump …

The Pumpkin Plan Book Review

I recently finished reading The Pumpkin Plan. I really enjoyed reading this book as it focused on how to improve your business by focusing on the positive parts of your business. E.g. spending more time on the products and services you like, as well as fostering your best customers. Also how remove products/services/customers that distract from your company thriving. The …

Extending Picasso’s RequestHandler to handle non blocking calls

The project I was working on had complicated image handling logic for loading images. This was due to the image coming from a websocket connection. The existing image handling only supported nonblocking handling. As my plan was to create a custom RequestHandler and add it to Picasso via the addRequestHandler method this presented a problem. I first found this very …

ListView v. RecyclerView

ListView is the ancestor to RecyclerView. There were many things that ListView either didn’t do, or didn’t do well. If you were to gather the shortcomings of the listview and solved the problem by abstracting the problems into different domains you’d end up with something like the recycler view. Here are the main problem points with ListViews:

New Library Ascent For Easy Typeface Useage

Ascent Ascent is an Android library that simplifies applying custom fonts to TextViews and subclasses. Annotation processing is used to remove broilerplate from your code. See examples. Build Status Examples // Ascent can be used to pull out fonts by name from assets/fonts folder // 1) Add the @Font annotation and font key to the TextView, Button etc member variable …

Jitpack to the Rescue

I came across this cool service that packages git hub projects and allows you to easily include them via gradle or maven. You know all of those libraries on github that were never deployed to maven? They are no longer a problem. You only need to do two things: repositories { // add this maven url maven { url “https://jitpack.io” …

AndevCon Boston 2014

I had an amazing time presenting at AndevCon Boston 2014. I presented a tutorial on leveraging custom view groups. The slides and project can be found on github, here. While we didn’t get through the whole task we did cover the fundamentals of creating a custom view group. As well as the tools and tecniques for doing so. Here is …