My desire to be able to run my plugin didn’t come through even today. I uninstalled Java 11 and installed 8. It turns out that I need the same version of IntelliJ IDEA as my Android Studio to be able to run the plugin. Now, I have to installed the older version of IntelliJ IDEA.
And finally it worked.
An action is basically what happens when you click on a toolbar or a menu item.Write an Android Studio Plugin Part 1: Creating a basic plugin
I set out to learn how to develop plugin for JerBrains IDE. Initially, I have issue figuring out path to my Android Studio installation for Linux. I figured it out eventually and it is supposed to be following.
Another major issue is that I have Java 11 installed on my system but I came to know that IntelliJ IDE can only be opened on Java 8. Considering everything plays well with Java 8 I might switch back to it for time being.
Eventually, I was able to build the project by setting JAVA_HOME to IntelliJ’s JRE folder. But the plugin didn’t appear.
I enrolled in the Data Structure and Algorithm specialization at Coursera. I hope to finally finish it this time. I went through the week one course material of the course. There were two problems in the week one. Solution and how to approach them were provided in the PDF form.
Solving an algorithm involves the following step.
- Read the problem
- Design algorithm
- Implement algorithm
- Test and debug the algorithm
The second part of week one explains the concept of stress testing. The steps of it is as follows.
- Implementation of an algorithm.
- A naive implementation of the same problem.
- Testing against a large set of input.
- Check if both fast and naive implementations results in the same solution.
It’s the last day of the tenth month of twenty eighteen. The statement has sufficient weightage to deserve its own space on this daily log.
Today, I worked on the paging library for my Genius app. One of the issues that I am facing is that the data on main list changes frequently and I want to make sure that I am not force downloading data more than it needs to be. As I don’t have control over the data I have limited options on how to fix this issue.
The paging sample from the codelab has quite an interesting code. It uses lambda function extensively, implements infinite scrolling and also implements the network state for retrofit.
While searching for a solution for my issue I also came across Etag which means that data is returned only if any changes have been done on the backend otherwise 304 is returned.
I happen to revisit the concept of properties in Kotlin. Parameter, property, backing field, backing property, etc. make the complicated landscape of Kotlin variable declaration.
Backing properties in Kotlin has done a good job explaining all the terms mentioned earlier.
Google has also released a Coroutine codelab at the KotlinConf 2018.
Yesterday, I happen to attend the BlrKotlin September Meetup. We learned Spek framework for testing and for the later half we delved into the Kotlin Coroutines.
I can see myself use Spek framework now that I know basics of it even if it takes a little bit extra time. It’s code pretty much looks like English.
The focus of the meetup was solving Conway’s Game of Life. This was the first time I looked into how the Game of Life worked. I plan to implement the code myself at some point of time.
I released the movies and TV shows application I was working on. The link can be found below.
The app is a work of several months of learning several new concepts like Kotlin, Dagger 2, MVVM, Android Architecture Components, Data Binding, etc.
The release process was also interesting. Naming, short, and long description should be both common and clear so that it can be found easily via search and be easily understood. Same goes for the icons and various images that are needed for the Google Play.
I have recently started doing Sudarshan Kriya. I went to a three day Art of Living’s Happiness Project camp. I can’t really believe in anyone unless that person defeats me in logic. Osho had that effect. Recently, Jordan Peterson seems to have the same effect on me. I am not of a bhakt kind who likes dancing, and positive affirmations. I was mostly interested in their Yoga technique.
I did learn Sri Sri Ravi Shankar’s Sudarshan Kriya well. I think it has made me a bit more alert. The stress is still there but I am not so tired these days.
Last post of the year.
This year has been an interesting for me. I moved to Bangalore. I attended a lot of meetups. I made acquaintance with several developers. I attended Google Developer Days. I lost my wallet. I reconnected. I bought a bike. I attended to my needs. I joined a gym and realized that I might like bodybuilding.
This year I thought a lot about what and who I am and want to be. There has been a constant struggle to act on gender stereotypes.
I am ending my day with an act of kindness. Someone made a mistake and I let it go and paid for his mistake. I am not going to ruin someone’s new year for a few hundred rupees. I don’t know if this is good thing or bad. I am not sure how that other person is going to take my random act of kindness.
What’s in for 2018? I am going to change my focus from money to my career and health. I think I have neglected both of them in 2017. I don’t plan on to do from now on. It will be difficult but I will try my best to change things.
I have gained significant amount of weight in last couple of years. I need to regain my health in 2018. I want to lose a pound per week and reach my weight goal by the end of October 2018.
Career-wise I want to reach new heights. I want to become a top developer. I am a bit confused as to how to achieve that. I don’t feel like taking any classes anymore. I think they have outlived their utility for me. At the same time they might serve an important purpose.