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.
In my dreams, that I watch awake with open eyes, I see myself riding a motorcycle in a thick dense forest. I wanted a bike which looked great, has a brand name, and would do well in long distance riding. I didn’t want a commuter bike. I am a first time rider. It makes sense for me to invest an amount which I can’t be sour about if I didn’t enjoy riding. I narrowed down to KTM Duke and Royal Enfield Stealth Black.
KTM Duke with its striking orange looked a bit childish. It’s a powerful bike with very little weight.
Royal Enfield Stealth Black is reasonably priced, a lot of people ride it for long distance, has a good look and a brand behind it. I finally booked one for myself.
A large horde of people visit a small temple near my native town Datia. It’s called Ratangarh Mata.
These people walk, ride on motorcycles, travel in tractors and trucks like cattle.
Along the way you would find other religious minded people serving them with water and food.
What was unfortunate in this whole charade was them ruining the environment by throwing away the plastic trash.
I have just spent two days fixing my computer after the Fedora 26 upgrade broke my system. I upgraded my Fedora 25 to Fedora 26. It kept throwing Kernel oops through the ABRT. It was so damn annoying to see the error pop-up every second.
I thought it might be a good time to switch to Ubuntu. Then the question comes which Ubuntu to try. Ubuntu regular has the same issues as Fedora whereas Ubuntu LTS runs Plasma 5.5. I also got scared to adding so many PPAs to get my functionality. The camel that broke my back was the poor touchpad sensitivity. Synaptics really doesn’t detect palm that well. The cursor kept jumping here and there as my palm touched the touchpad during typing.
I came back to Fedora. Arch would have been another solution probably better than Fedora or Ubuntu but the issue is I don’t want to get on RTFM-train. I am quite happy with a distro that does everything for me.
I have started going to the functional training class. It’s a great thing that I started. I am hoping that in a couple of months I should be a very strong man.
I have decided to go to the class three times a week. The last week I was only able to go there for two times. I didn’t have energy to go on Friday. Gym requires certain type of discipline. I don’t have that. This discipline is majoring food and sleep. Unless you are eating well and sleeping well the gym is going to suck. I ate my lunch at 4 o’clock on Friday. The gym was out of question.
This week I am going to make sure that I go to the gym all three days.
I have some complex thoughts in my mind that I am not able to comprehend or put in words. Maybe some other day.