365 Days of code: Day 0

The most motivational poster ever. It compares where you end up if you improve by 1% every day for a year instead of going worse by 1% everyday for a year.

Introduction

We often overestimate what we can do in a day, but underestimate what we can do in a year.

Glen Smith

I’m not a big believer of new year resolutions. Most people start with a lot of motivation only to fizzle out by the end of the first month. Ask any gym owner and you will know what I mean.

First of all, the very notion of 1st of January being the start of the new year is arbitrary. 1st of April used to be the original new year. People who refused to follow the new standard were pranked by being invited to non-existent New Year parties on the 1st of April. That’s how April Fool’s Day originated.

It just so happened that I got the idea today that I should journal my progress on this blog. Most of the posts in this series will not be very detailed. More like a quick journal entry to log my progress.

The plan

I was already working on improving my coding skills little by little every day, been doing this for several days now. I plan to log my progress from today onwards, at least until the end of the year 2019.

Moreover, it is not just about any kind of coding. I also want to implement the concept of deliberate practice, that is, to focus on improving my skills by forcing myself to do what I’m not really comfortable with. Which means, among other things, implementing algorithms outside my comfort zone and trying things I haven’t tried before.

I also plan to push my code to GitHub every day. A green square on my GitHub tracker will mean that I at least did the minimum that day: write some code and publish it.

Tracking your progress is really motivating. When you see your unbroken streak, you are less likely to give up on your project midway. I experienced this for the first time when I started tracking my workouts using the StrongLifts 5×5 app. There are a lot of parallels between trying to improve yourself physically and mentally. For one, it requires the same kind of discipline and habits.

The project

I have a side project related to my other interest apart from programming: optimization of fitness. I have named this project as Fitrupt. The name originates from fitness and disruption, that I came across in a dream (more on that later).

I’m building a Java based RESTful API backend for the website using the Spring Boot framework. Any kind of data processing, like storing and fetching user details, calculations etc. will be handled by this application.

Today’s progress

I had already started on this side project a while back. I just wanted to fix an issue with the calculation of Lean Body Mass (LBM). The code that I pushed today morning is given below:

Parts of the above class is still a stub, for example, the calculation of Fat Free Mass Index (FFMI). I will implement the logic in the coming days and update the progress in another post of this series.

Below is the application class that calls the method of the User class above:

Summary

The User.java class will store and process all information pertaining to the users of the Fitrupt web application. Storing and retrieving user details like user ID, name, email address as well as performing calculations such as Body Mass Index (BMI), Total Daily Energy Expenditure (TDEE) etc. will be done by this component. Below is the console output after building and running the project as a spring boot application:

Leave Comment

Your email address will not be published. Required fields are marked *

Scroll Up