One of my colleagues recently mentioned that they saw a presentation that says:

If you are an Android developer and you do not use WeakReferences, you have a problem.

I personally think that, not only that is a wrong argument but it is also totally misleading.


I’ve been thinking about this for a long time. When you type a wrong task name in gradle, the stderr output tells you about it and gives an alternative candidate.

When this happens, I always type fuck and all I see is:

Well, no more. Finally I decided to write a custom rule for it.

Here you go:

Once you install the rule, it saves your life over and over.


Update: With the release of Google Play Services 8.3, the need for the Storage permission is completely dropped. You can safely remove the permission completely now. Here is the official documentation:

If you’re targeting version 8.3 or later of the Google Play services SDK, you no longer need theWRITE_EXTERNAL_STORAGE permission…


Warning! Resolving of “Implicit Intent”s in Android Marshmallow is not working as the same as before. This may break your app’s behavior.

Let me explain the expected behavior and why is not working:

I have recently been working on a small open source project called “Open Link With”. …


I have a very little open source application called HackDash. It just shows the open/close status of various Hackerspaces in the world in DashClock.

The implementation is really simple. …


SharedPreferences are great and the easiest way to persist user data on Android. It lets you to store/access primitive preference data in key-value pairs. It supports storing/accessing primitive data: boolean, float, int, long, String, and StringSet (not Array unfortunately).

Almost all Android applications use it. Although usage of the API…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store