Learn Python With Dhawal - 15 - Interview Coding Questions


Here are some questions Interview Coding Questions which can be solved by very basic knowledge. Try out first on your own and then check the solutions. Downloadable files can be found in my github repository and there will be a few more things up in my github soon, if you have an account you can for sure fork it for future reference or just make a branch and contribute to it.

Q1 Consider the Input String as 'aaabbccccaa'. Find the number of each alphabet in the string. The output should be 'a3b2c4a2'.

Solution : First we will create an input string variable and convert it into list. Then in second step we set up a few needed variables like counter and list to save out output. Next we create a for loop to run for the full length of the Input String and check the number of each alphabet. When the alphabet changes we reset the counter to 1 and count again and repeat till the string end is reached. During each reset we append the counter value into the output list.

input_string="aaabbccccaaa"
input_list=list(input_string)
counter=1
character_list=[]
print("The Input we have is : ",input_list)
character_list.append(input_list[0])
for i in range(1,len(input_list)):
    if(input_list[i-1]==input_list[i]):
        counter=counter+1
    else:
        character_list.append(counter)
        counter=1
        character_list.append(input_list[i])
character_list.append(counter)
print(character_list)

Q2 Have the function ABCheck(str) take the str parameter being passed and return the string true if the characters a and b are separated by exactly 3 places anywhere in the string at least once (ie. "lane borrowed" would result in true because there is exactly three characters between a and b). Otherwise return the string false.
Sample Test Cases

Input:"after badly"

Output:false

Input:"Laura sobs"

Output:true

Solution : Here we first take the Input String and then remove all the blank spaces. Then there are two options, we can either convert the string into list and then find the count by using numpy array or we can just use basic method of travelling a string array. While we are traversing the string, we check if there's 'a' or 'b', if found we append their indexes in a list. There will be a seperate list for both a and b, as we finish the traversal we will have all indexes of a and b in the list. We can then run a for loop to find if any one index of the a and b has a difference of 3 between them. If the answer is yes, we show the output as true else false.
str=input()
str=str.replace(" ","")
print (str)

a=[]
b=[]
counter=0

for i in range(len(str)):
 if(str[i]=='a'):
  a.append(i)
 if(str[i]=='b'):
  b.append(i)


print "a is",a
print "b is",b

for i in a:
 for j in b:
  if(abs(i-j)==3):
   counter=counter+1

if (counter==0):
 print("false")
else:
 print("true")

Q3 Have the function ThreeFiveMultiples(num) return the sum of all the multiples of 3 and 5 that are below num. For example: if num is 10, the multiples of 3 and 5 that are below 10 are 3, 5, 6, and 9, and adding them up you get 23, so your program should return 23. The integer being passed will be between 1 and 100.
Sample Test Cases

Input:6

Output:8

Input:1

Output:0

Solution :  Here we first take the input from user and convert it into 'int' as the input method takes everything as a string by default. Then we check if the given input is what we expect it to be. Next we create a loop and just run it range till input+1 then we just inside the loop keep adding the number by checking if the number is divisible by 3 or 5 using modulus division.  At the end we just print the sum.

num=int(input("Enter a number between 1 and 100\n"))



if (num>100 or num<0):

 print("enter a valid number")

else:



 sum=0

 for i in range(num+1):

  if (i%3==0 or i%5==0):

   sum=sum+i



 print(sum)


With this I hope the you can now take on the simple problems and try working out solutions for them on your own. Next we will learn about Error handling in python. It can be quite fun if you understand the concept. It's quite simple to be honest.

<< PREVIOUS CHAPTER || NEXT CHAPTER >> --INDEX--

~*~*~*~
Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

How to run GUI apps on Windows Subsystem for Linux - WSL



I have been a fan of the linux bash terminal ever since I discovered how OP can it get. I desperately wished the windows cousin of the terminal aka command prompt or the new found powershell was that capable. Although I loved how several things turned out to be awesome and I so wanted to switch to linux distributions but only one annoying thing stopped me, MS Office. The day MS Office or something similarly capable gets onto the linux side of things, I'd surely dive in to switch. But until then, I'd love the little flavour of Linux in the form of WSL on the windows I've already got in my hands.

The WSL is kinda like the terminal only OS version of the Linux distributions that they are offering currently. But I installed the Kali and Ubuntu versions and they look pretty good to me. I wanted to somehow run GUI based apps on the system. There are thing which are made for linux and which just run seamlessly and in their best form on the Linux, hence I was looking for the way to run GUI apps like your everyday gedit or leafpad or something heavy like umbrello, on the WSL. After looking into the depths of Internet, I finally found a pretty easy to do work around for this adventure.

So, without further adieu, let's begin.

Instructions.

  1. Download VcXsrv from the sourceforge website. It's an open source software. What it basically does is, it hosts the display output from a remote server. It's based on a very old Linux protocol to perform remote computing.
  2. Install it using either the Default options or Choose whatever you feel like choosing. I opted for multiple windows and installed it normally with everything else.
  3. Next, open the WSL distribution that you've installed and type 'export DISPLAY=127.0.0.1:0' or you can use ':1' if it doesn't work. But usually it works with the before said option.
  4. Now, say you want to run gedit and it is installed in your WSL. Then type 'gedit' in the terminal and just wait for the output on your Windows side.
  5. Make sure the X server is running before you try opening any app from the linux terminal.
Here what happens is that, the windows runs an X server. The server takes the display output which is hosted on the local host aka the IP that we have used aka on your own machine. Also ensure that you allow the X server app to run the private networks at least. Also the access control can be enabled and disabled depending on how you plan to use this work around.  You can not only run linux apps from your WSL but if you say have a remote Raspberry Pie running as a remote server you can also get the display output from it using SSH connection. Since we are running on a localhost here, we don't need to have an SSH connection, as its not over a network connection and probably way faster than getting any output from remote server connected with network connection.

If you are wondering how to enable and use WSL, first you need to enable it in the windows features. You can find the full detailed tutorial about the same here from the official Microsoft website.





Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Learn Python With Dhawal - 14 - Learning about Pseudocode and Algorithms.




Before we dive further into the programming challenges and solve them one by one. I want to pause here a little and explain the concept of Pseudocode and Algorithms. For any programmer, it is very important to know about algorithms and its kind of twin brother pseudocode.

What is an Algorithm?

Before we begin with other things, we need to know about what an algorithm or 'algo' in a slang/jargon language actually means here. Before we begin to actually code, we need to mentally prepare a plan or a blueprint on how we are going to execute a particular program. An Algorithm is basically a blueprint for the actual program that you are going to write.

An Algorithm is made of very simple statements like IF, DO, THIS, JUMP, BREAK. You can write a more complex algorithm but then it would be of a pseudocode than an algorithm. Coming back to the topic, Algorithm consists of a very basic step by step instructions that we need to perform to execute a particular function or a program.

Algorithm is a set of step by step logical instructions to the machine to get the work done.

Algorithm is said to be a blueprint of the program as

A Program is a set of step by step logical instructions to the machine to get the work done.

But the only difference here is that algorithm is most basic and doesn't have concepts of loops, unless you want to add it in there which makes it close to the pseudocode.  Algorithm also doesn't have any complex elements like data structures or 'Arrays' to be specific. Your pseudocode might have arrays and  data structures.

You can write code in any language studying its algorithm. Hence it becomes quite handy when there are multiple languages, platforms, and people working on a same set of project.

How to Write an Algorithm?

Consider writing an algorithm for a program where there are two numbers and if the number one is greater than another, lesser one is subtracted from the greater one and the result is shown.


Rules for Writing an Algorithm.


  1. Always write simple steps, basically one computation or instruction at a time.
  2. Use functions like IF, DO, THEN, JUMP, BREAK, GO, STOP, START, etc...
  3. Always begin an algorithm with START and end with STOP.
  4. You can write algorithm in lowercase but for the sake of simplicity, here we are using uppercase for the main actions like START, STOP, DO THIS, PRINT, etc..
  5. No need to specify the data types of any of the variables.
  6. Always number the steps of the algorithm
So, if you're ready, let's begin.

Write an Algorithm to find smallest of the two numbers and then subtract smaller one from the larger one and show the result.

  1. START
  2. A=10
  3. B= 5
  4. C=0
  5. IF A>B THEN GO TO : 7
  6. IF A<B THEN GO TO : 9
  7. IF A=B THEN GO TO : 12
  8. C=A-B
  9. GO TO: 14
  10. C=B-A
  11. GO TO: 14
  12. PRINT "No difference"
  13. GO TO 15
  14. PRINT C
  15. STOP
Here are you can see, we simply wrote what we had to do, if you have to write it in C or JAVA or Python the same code might have different number of lines and maybe different way of execution as well. This was the very bare bones and basic example of an algorithm.

Remember we had previously worked upon a Calculator program? Try making an algorithm for the same program. You can email it to me or just comment the google docs link in the comment incase you want me to check and comment on it.

What is pseudocode?

Pseudocode is basically a form of advance algorithm where we can use complex things like functions, parameters, loops, if else etc, but there won't be any syntax in it. Since it is syntax free but looks almost like a code, it can be adapted into any coding language way more easily than the algorithm. It is easy to understand and resembles the actual coding formats very much.

Python at times almost looks like Pseudocode here and there, as there's almost no syntax and its very minimal. That is why it is very important to understand the importance of pseudocode and how it is different from python. In that manner you will understand how python is very easy to write compared to other languages.

Here's a simple example of a pseudocode for the same algorithm we wrote above followed by It's code in JAVA and It's Code in Python

Pseudocode

  1. a=10
  2. b=5
  3. if ( a>b) then
  4. c=a-b
  5. print c
  6. elseif (a<b) then
  7. c=b-a
  8. print c
  9. else
  10. print "No difference"

JAVA Code

  1. class Addition
  2.     {
  3.     
  4.         public static void main(String args[])
  5.         {
  6.             a=10,b=5;
  7.             if (a>b)
  8.             {
  9.                 c=a-b;
  10.                 System.out.println(c);
  11.             }
  12.             elseif(a<b)
  13.             {
  14.                 c=b-a;
  15.                 System.out.println(c);
  16.             }
  17.             else
  18.             {
  19.                 System.out.println("No difference");
  20.             }
  21.         }// end of main
  22.     }//end of class

Python Code

  1. a=10,b=5
  2. if(a>b):
  3.     c=a-b
  4.     print (c)
  5. elif(b>a):
  6.     c=b-a
  7.     print (c)
  8. else:
  9.     print ("No difference")
As you can observe from the above examples, the length of the pseudocode and python is same for this example, at times in complex ones it might go even less than the pseudocode itself as you don't use data structures which are complex like lists and queues but you can implement the simpler ones like arrays.

Well the actual scope and limit of pseudocode might differ from where you are learning since some believe it should be kept simple as it can be easily adapted into other languages as well while some feel complexities should be used if you are going to do it only for a specific language.

You can say that pseudocode is a lazy programmer's code.



With this I hope the concepts about both algorithms and pseudocode are clear. We always write the algorithm first, followed by pseudocode if needed and then we start working on the actual program. So in future if you get a problem which you aren't able to solve directly, then instead of jumping into coding directly, you can play around with algorithms and then move up the ladder and make a complex code out of it.


~*~*~*~

This series is totally authored by me (Dhawal Joshi). Any similarities found on the text, or codes or anything is purely accidental. All the sources of reference will be mentioned, linked and will be given the proper credits. If I miss anything or there's anything wrong, feel free to comment or send me an email and I'll try to edit it out. I am not a Python expert, I am sharing whatever I have learnt on my own and with a few sources around to refer from which will be mentioned. Also feel free to share this series with others so most can benefit out of it.

~*~*~*~

Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Instagram Growth Hacks - How to Grow your Instagram Account?



For the past few months I have been experimenting with my Instagram. I had been researching about all the myths that are roaming around regarding so called 'hacks' to get your Instagram account growing.

For the most users it might not be a matter of concern but for a wanna be influencer or someone who is into marketing business already or any personality who needs to gain attention, there are myriad of tips and ticks on how to get viral and how to grow and get more followers, likes, comments, etc.

Here I did quite a few range of different experiments based on whatever knowledge I could gain through the Internet and open forums. I spoke to owners of a few very famous pages and accounts and discussed about their content strategies. I also keenly observed accounts only a few months old but slowly gained followers without any break. Yes, I obviously eliminated overnight or accounts that have paid for the followers as it was quite obvious by their engagement range and types of comments and the accounts that followed them.

Summarising all the experiments I performed, I have made up a list of conclusions which can be used as hacks to actually make your account grow over the platform. All of this is plainly my observation and It might or might not work out for you.

Most of you wonder how does growth is affected by these? The answer is I realised that Instagram hides the stories and posts from the users and that is done very smartly. It won't show you the stories or posts at all. You'd think the person has gone missing almost. Rarely you'd see a story or post from that person.

There's also Instagram Jail which you'd be put into if you spam too much, by liking too much, commenting too much or even following too much.


Think of Instagram as a Game and Yourself as a Player. The algorithm gives a plus and a minus point for almost every action, the amount of points depends on the type of account you use, things you like, things you do on the platform, etc...

I will use the word App for Instagram Algorithm as an alias below.


Things You Need To Avoid Doing ( Things that will give you minus points in profile ranking ):


  1. This actually came via a friend of mine and then it inspired me to conduct this experiment. If you block someone on the app, you get minus points. It shows directly on your reduced engagement rates.
  2. Unfollowing someone gives you negative points as well
  3. Getting Blocked also gets negative points
  4. More you comment, negative points. I know this is quite opposite of the thing I would say in the next section but small, simple emoji comments or overly commenting on every alternate post, gives you a minus point.
  5. More you like, lower you rank. Liking something is a good option but when you are liking too much, it can reduce your reach as you slowly start fitting into a consumer range rather than a creator range.
  6. Scrolling a lot on the feed can also let you give negative points.
  7. Not posting also will give you less of a engagement reach.
  8. Not following back also gives you a negative point. As it is a social media app and if someone isn't following back or commenting or liking their friends posts, its going to cut your reach and might put you into business account zone where you have to pay to play.
  9. Converting back and forth to and fro from business account to personal account and similarly for private account to public account.
  10. Going private from business limits the reach at the same time going public from private does the same.
  11. Using hashtags can be one of the factors that might be limiting your growth drastically. While most tips and tricks say use hashtags to get growing, on the contrary, usage of hashtags can limit you to a particular type of audience unless you constantly keep changing hashtags or use some app to apply only spammy and trendy tags all the time.
  12. Sending a lot of follow requests and following a lot of people might also do the same. Follow unfollow haven't had much effect though in my observations.
  13. Don't be desperate, that's most important.

Things you should try ( Things that will give you a plus point in profile ranking ):



  1. Avoid Using Hashtags as far as possible. I'd say don't use them at all. That way App won't be able to classify you in one particular niche and would show you to most kinds of audiences.
  2. Avoid following back everyone. At the same time make meaningful connections.
  3. Don't send too many message requests. Chat only with selective possibly.
  4. Post more of selfies, or pictures where your face can be easily tracked out by app. Accounts in which there are pictures with a lot of selfies or pictures where algorithm can trace faces gain more traction and are often recommended in search lists.
  5. Reply to only 25% of comments. Ensure to make a sentence in comment and not just emoji or one word.
  6. Keep a Private/Personal/Business Account only. I mean to say, keep only one type of account and avoid switching.
  7. Post good content and no need to time the posts. More you make it predictable more the app will push your engagement down.
  8. Don't scroll through the feed more than half hr per day. This has to be tested more yet but mostly if app puts you in the customer zone, it would be hard to come out from customer zone to creator zone.
  9. If possible don't ever pay to play. Once you pay to get more reach, app understands your need to get more reach and it will exploit that need every time with a little change to extract more and more money out of you.
There are a few funny things I realised that when I started following more people, the lesser content I was able to see from them. Mostly spammy content plagued my feeds all the time. Tags here and there and mostly things I would classify as spam. But as soon as I reduced the amount of people followed after being annoyed to death by spam. I was actually able to see improvement in the feed and story contents. I was seeing stories from people who were kinda mia already. It was quite weird but this is what I noted as I purposely followed and unfollowed to establish this as a fact.

I wonder what sketchy mysteries does this app hides further.





Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Learn Python With Dhawal - 13 - Basic Operations on Matrices or 2-D Arrays


Before we head further into deeper sorting techniques, I want to let you know about the options by which you can use Multidimensional Arrays in Python. Although there are many sophisticated and easier ways to deal and operate on matrices or 2-D arrays using Numpy and other similar libraries, but here I want you to learn about how to create and use a 2-D array and perform algebraic operations on them.

How to create a 2-D Array or a Matrix in Python

Technically speaking there's no array in python but these are lists. This way we are creating a list within a list. Basically creating a nested list to use like a matrix.

Code 1 :

Input:

  1. a=[[1,2,3],[4,5,6],[7,8,9]]
  2. print(a)


Output:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]


I feel this particular code will be self explanatory as the 'print' statements explain the use of the commands.

Code 2 :

Input:

  1. a=[[1,2,3],[4,5,6],[7,8,9]]
  2. print("This is our Initial Matrix ",a)
  3. a.append([1,2,3])
  4. print ("This is matrix after adding one more row at the end ",a)
  5. a.insert(1,[234])
  6. print ("This is the matrix after adding an element at a particular index position ",a)
  7. a[0][2]=345
  8. print ("This is the matrix after editing the value of one element at a particular index ",a)


Output:


  1. This is our Initial Matrix 
  2.  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  3. This is matrix after adding one more row at the end 
  4.  [[1, 2, 3], [4, 5, 6], [7, 8, 9], [1, 2, 3]]
  5. This is the matrix after adding an element at a particular index position 
  6.  [[1, 2, 3], [234], [4, 5, 6], [7, 8, 9], [1, 2, 3]]
  7. This is the matrix after editing the value of one element at a particular index 
  8.  [[1, 2, 345], [234], [4, 5, 6], [7, 8, 9], [1, 2, 3]]


Code 3 :

Input:

  1. a=[[1,2,3],[4,5,6],[7,8,9]]
  2. print("This is Matrix a ",a)
  3. b=[[1,2,3],[4,5,6],[7,8,9]]
  4. print("This is Matrix b ",b)
  5. c=[[0,0,0],[0,0,0],[0,0,0]]
  6. for i in range(len(a)):
  7.     for j in range(len(a[0])):
  8.         c[i][j]=a[i][j]+b[i][j]
  9.         
  10. print("This is Matrix c which has addition of a and b ",c)
Output:


  1. This is Matrix a 
  2.  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  3. This is Matrix b 
  4.  [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  5. This is Matrix c which has addition of a and b 
  6.  [[2, 4, 6], [8, 10, 12], [14, 16, 18]]
This code shows how to perform addition of 2 matrices. Here we have our two initial matrices namely a and b. We are performing addition and showing the result in a 3rd matrix c. We can do it in the same matrix as any of a or b but for the reason of simplicity and ease of learning we have taken c.

Now, first 'for' loop will be running to check the number of rows in the matrix. The number of rows in the matrix is nothing but the length of list a and b. Hence we have taken the length of the lists a and b by the command len(a).

The second loop runs to check the number of columns. To find the number of columns, here it means the number of elements for each list inside our list. Hence we have used len(a[i]) command to find the length of that particular column.

Keep in mind that this is a symmetrical matrix of same dimensions aka 3x3. This code might need some alterations when performing for non symmetric matrices or random inputs.

We use the combination of first and second 'for' loop to traverse through each and every element in our virtual matrix. Then we add the elements and put the result in a new 3rd matrix c at the position (i,j) aka means at the same position as the elements it's the summation of.

Later we just print the result matrix and it shows the result of our operation. This code needs a bit more of a logical practice to understand about the traversal that we are perfoming here to calculate the results.

Assignment

Similarly, you can perform subtraction, multiplication, and modular division( it gives the remainder), or even usual division ( gives the quotient).


I hope you enjoyed as much as I did writing this chapter. Here you learnt something more about loops, variables as well as functions in a gist and how to go about using them and build your own logic for various things as well as sorting the lists.


~*~*~*~

This series is totally authored by me (Dhawal Joshi). Any similarities found on the text, or codes or anything is purely accidental. All the sources of reference will be mentioned, linked and will be given the proper credits. If I miss anything or there's anything wrong, feel free to comment or send me an email and I'll try to edit it out. I am not a Python expert, I am sharing whatever I have learnt on my own and with a few sources around to refer from which will be mentioned. Also feel free to share this series with others so most can benefit out of it.

~*~*~*~

Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Why Instagram hiding the likes is good?




As you can see in the official tweet above from the Instagram's Twitter handle. They recently announced a few changes which included the one where they decided to hide the total number of likes and video views for the users in selected countries. Personally, I love the step and let's see if it is actually implemented world-wide.

The Problem with the Likes

Before we begin discussing about how good this step is, let us first know the whole issue which caused this step. As you know, every social network keeps updating it's algorithm every now and then. These update frequencies are almost never known and what would be prioritised is also never known to the general populace.

In the recent years there's a huge rise in the number of 'influencers' on the social media platform. I call Instagram a 'feel good' platform. But the same 'feel good' has a different effect on everyone. With the rise in the so termed 'influencing' accounts and 'marketing' accounts, there is a rat race on uploading the content which gain the most number of likes and views for the videos. Everyone was so deeply involved in getting viral over the night. This race and serious problem was proven by artificially getting things like an egg viral.

People, especially young girls started comparing their likes with others and there was a race. When this wasn't turning up as per the expectations, resulted in depression and anxiety. The serious effect on mental health was quite evident and I don't think anyone can deny it.

Instagram is becoming fake-stagram.
So apart from many more issues after the acquisition by the social media giant like the privacy issues, this was expected to be dealt with sooner or later. To avoid solving the issue where people upload things on the platform where it just feels good or 'Insta-worthy' ( which means would get likes )
instead of things they'd really share. I feel this was a good step in that direction.

Solving the Problem

Now, Instagram had some really good ideas to solve this problem of people trying desperately to get viral overnight and upload content just for likes. There were rumors about Instagram hiding the following and follower number counts, but it somehow got resistance from the business sector of the platform as follower number is like a status which is quite important for many influential personalities. Hence that idea was seemingly dropped.

Next the step where the likes are only visible to the user who uploaded it and that too only on option is a really good step in my opinion. It will reduce the competition where people judge other user's contents on the basis of the likes they're getting. This should improve the diversity of the content uploaded the platform without the social pressure of getting as many likes as possible. People still can view their likes and this can be an important metric for businesses as the engagement rate ( number of likes to followers ratio) still can be seen.

Since there's no virtual pressure of uploading things which gets likes, I feel this can be a great chance for the normal users who often feel intimidated buy the influential accounts to upload whatever they like. Those desperate attempts of the faking it till making it level can reduce the adverse effects on the mental health.

Conclusion

I know the ones who want to compare will still compare and there's actually no solution for it. But for the general consensus this is a really great step in my opinion. To just cut of the competition between users to get more likes feels like the most idealistic way of solving the issue of mental health and fake-stagram.

But behind the scenes I feel even the company has some very sneaky benefits which it is hiding between the main propaganda. This step would be an additional step for the company to push more accounts to go business and try promoting posts with money. Since, there's no visual results for the general users it would cut off half of the copy-trend uploads  and most of the fake like-follower marketing base. It is indeed a really good step as it is much easier to just hide the number of likes and followers instead of going on a fake account hunt where there are millions of accounts.




Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Learn Python With Dhawal - Chapter 12- Sorting in Python


Before we begin the concepts about sorting there are few more concepts that I want to clear things about. Every language has some default parameters when a new variable is been created. In Java by default every number has value 0 or null for some others. In Python it would be always some or the other garbage value just like C. Also, when you are taking inputs some of the methods take inputs in very specific formats. For ex, the input() method takes everything as a string so when you want a number as input you need to convert it, or per say typecast it in technical terms.

We have seen a few examples of typecasting in previous coding examples where we have taken the input from the user for a calculator program and then typecasted the string input to integer format. If you don't take care of things like these, it might create issues in you programs. I can't possibly teach all the basics with the details here. This course is intended to keep a short informational aspect while exploring all the important topics. To dive into depth and learn more about it is your task.

A code might appear perfect on paper but it doesn't mean it is when you try on a computer.
For that you need to slowly explore the art of coding on your own and learn the art of debugging. Debugging can be done in various ways. For simplest you can put a print statement and see if some step is been executed or not. You can use console log commands if you know them.

Coming to Sorting, Python has various tools to make the work easy for you but unless you know how it works and how a sorting mechanism should behave, its of no use. So here we would explore a very basic sorting loop to understand how it would work.

Input :


  1. def sorting(a,l):
  2.     for i in a:
  3.         for i in range (1,l):
  4.             if(a[i-1]>a[i]):
  5.                 t=a[i-1]
  6.                 a[i-1]=a[i]
  7.                 a[i]=t


  8. l=int(input("Enter the size of list you want to sort.\n"))
  9. t=0
  10. a=[]
  11. for i in range (l):
  12.     a.append(int(input("Enter the element in list.\n")))
  13. print ("This is your entered list : ",a)
  14. sorting(a,l)
  15. print ("This is your sorted list : ",a)


Output :


  1. Enter the size of list you want to sort.
  2. 5

  3. Enter the element in list.
  4. 3

  5. Enter the element in list.
  6. 5

  7. Enter the element in list.
  8. 2

  9. Enter the element in list.
  10. 6

  11. Enter the element in list.
  12. 1
  13. This is your entered list :  [3, 5, 2, 6, 1]
  14. This is your sorted list :  [1, 2, 3, 5, 6]



Explanation :

As you noticed in first line, we defined the sorting function taking the two arguments a and l as a is the list of your elements and l is the length of that list.

I have given the option for used to define the length of the list but you can easily take a pre-defined list and use the method len() for getting the length of the list. but here for the fun of it, we are taking the list and elements both from the user.

There are 2 loops at step 2 and 3 if you notice. Inside the loop there's a swapping set of code which will swap the positions of 2 elements within the list if the previous one is larger than the later one. This way we will sort the list in an ascending order. Hence the inner for loop at step 3 would run once for the full length of the list to see if there are any abnormalities and every element satisfies the condition.

But we are just traversing the list once here. What if the list requires more than 1 run to sort the elements? Since there are 5 elements and taking an approximation that 5 is at a[0] and 1 is at a[l], this would be an worst case scenario. To sort the whole descending list into an ascending one, we would require to traverse the list lxl times to sort all the elements in ascending order.

Hence we set up a dual nested loop to traverse the list and sort all the elements. The number will only be swapped when the condition is true.

You can try some modifications on yourself to see how the code functions. To the result of the list after each inner for loop run you can print the list by adding print (a) command at step  8 to just see the swapped changes or to see every list after every iteration add the command at step 4.

Assignment:
I thought it would be a fun thing to let out a few things for you to try on your own. I want you to create a similar simple sorting program to sort things in a descending list. If you are successful in writing the code, do email me or just comment at let me know.

hint : use the '<' instead of '>' at step 4



I hope you enjoyed as much as I did writing this chapter. Here you learnt something more about loops, variables as well as functions in a gist and how to go about using them and build your own logic for various things as well as sorting the lists.


~*~*~*~

This series is totally authored by me (Dhawal Joshi). Any similarities found on the text, or codes or anything is purely accidental. All the sources of reference will be mentioned, linked and will be given the proper credits. If I miss anything or there's anything wrong, feel free to comment or send me an email and I'll try to edit it out. I am not a Python expert, I am sharing whatever I have learnt on my own and with a few sources around to refer from which will be mentioned. Also feel free to share this series with others so most can benefit out of it.

~*~*~*~

Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Author Interview - Souvik Roy






Tell us something about yourself.

I'm Souvik Roy, an 18 year old soft spoken yet an ambitious individual. I have a knack for writing, drawing and theater. Well, I'm a Computer Science student and is thus forced to study a lot as well.
Tell us something about your book.

 


Well, I have always been a Sherlock Holmes fan kid. My book though is a combination of mystery and spy-thriller, so you can expect a perfect blend of mystery, adventure, spy-action, chase and parkour with unexpected twists and emotional outbreaks. Well, my main character Abhinash Chakraborty is no less than a mystery himself in this story. He is a perfect combination of Sherlock and bond. Yeah, he has no other characteristic of mine other than my flaws. I hope that the readers will fall in love with him and the villain.
What were your experiences in writing a full fledged story for the first time? I saw you have written a few short stories before, so compared from short stories to a full novel, what are your experiences? Why beginning with Mystery/Thriller?

Well, short stories are actually a lot more easier to write. The biggest problem with a novel is that you have to take it slow and at the same time keep the pace. So, suffering from writer's block is very common. A chapter-wise planning scheme, a cup of tea/coffee and the love of writing should be enough to keep you going.

What things you had to keep in mind while writing a mystery?

Firstly, I did my research. Well, if you can write then you can do the research from films and TV serials as well, it would be a lot more fun that way. Once you get a plot jot it down.
Segregate your plot into chapters and write the summary of each chapter. Would be helpful for sending it to publishers as well. I did my planning in bathroom, well one must find a place he/she is comfortable in. Whenever, you get an idea jot it down as you might forget that later on. 
Once all is done start writing. And remember to keep your writing lucid and write as per your heart's desire.

How much did you enjoy the writing process?

In a phrase, I can summarize it as : "It was a session of enlightenment"

What you think you could've done much better in the book?

Maybe the editing. I was too much excited and thus missed the typos in the book, Shouldn't effect much as there weren't any major typos. Well, the cover could had been better. I designed the cover myself and will definitely do a better job the next time.
As for the title of the book, it suits the plot perfectly. You must read the book thoroughly to find the connection.

Are you writing anything next? What more can we expect from you in future? Would you continue in the same genre? or would try exploring other genres out and why?

Yes, I'm writing another thriller. Hope to complete it soon. I won't share further details now.
Well, if Abhinash Chakraborty is loved by all, then I'm planning for a sequel. I will continue writing forever, no matter what occupation I choose in future.
Well, I haven't yet experienced the feeling called 'romantic-love' so, I can't write about it. Once I do, I'm planning to write romantic fiction as well.

There are many debates about how a writer should write more and read less and the other way around, what are your thoughts on it? As a writer how should be one's reading pattern?

Well, one should read the best book of each genre and pick his own genre that he/she would want to proceed with.

Once that's done, he/she should read both the categories of that book : the bestsellers and the award winners. Two or three books would do. Then he must write short stories first and verify from others whether his writing is good. 
Once you have the approval, you can start writing. Reading too much might make you a great critic but for an author it's only a waste of time beyond a certain extent.
well these are my personal opinions.

Anything else you want to share with us?

I will soon be doing a contest and the post will be available in my facebook page. Follow me to stay tuned. You can win exciting gifts.

Where we can find you on internet?

You can connect with me by any of the following means ....

Email: divinedigits69@gmail.com
Facebook page: https://www.facebook.com/divinedigits69/
Instagram : @souvik3840

About the Book : 


A CBI officer and father receives the shock of his life when he meets his new SSP as he is his daughter's boyfriend who went missing seven years ago. They meet while investigating a murder case but their further interactions reveal that SSP sir is involved in some big case. A shocking high-profile case which involves codes, puzzles, spies and a lot of deceptions. They have joined hands but will the narrator be able to choose the right side as things are not what they seem at all.

Link : https://amzn.to/2INoCcQ



Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

How and why should you start a blog? - Extensive Guide for Beginners.



How to start a blog? That's the one more question which is asked most of the times. Well as I always say, it is very easy to start a blog. Starting a blog is way easy compared to maintaining one. There are many reasons one can opt for blogging and honestly if you want to write your heart out just go for it but there are a few things which you should keep in mind before you head on for the adventure.

Just like every adventure you need to pack light but keep all essentials, blogging is the same. You need to be light with your website but at the same time keep all the essentials intact. As a hobby blogging is quite an investment of your time. Before we begin talking about how to start a blog, let us first talk about why should you open one and why not?

Why should you start a blog?

This question is honestly a very controversial question as per my opinion. For some a blog is a way to express themselves while for some it is a way to just showcase their writings to the world. For some it is a space to vent out all emotions while for some it is a place to show their unusual side to the world. For some it might be just another timepass but for some it is a bread earner.

Coming to the answer for this question, one should start a blog if they can produce unique content for a long time consistently. Just ask yourself this question and reflect your actions upon its honest answer. If it is a strong yes then just go for it. At times you might be nervous if someone will read your content or not, but at the same time you are confident about your content, just go for it.

You can start a blog just to keep yourself occupied as its a very investing hobby, both in terms of time and money. You can start a blog if you want some work experience in writing as well as can't have time to work as part-timer for some institute.

Why you shouldn't start a blog?

Now this question is quite in the gray area as I  actually am not the deciding entity whether you can or can't begin one but I'd try to give out my reasons for why you might not be the cut-out for blogging.

If you are starting the blog with the sole aim to monetise it and earn from it, honestly don't bother opening one in first place. Monetizing blogs is quite a secondary option that is also intended towards the developed blogs. Most people who begin blogging for earning money thinking you just have to write to get paid huge cheques, it is not for you. Although there can be an exception if you have a well thought out business plan but that won't be blogging hence the conundrum.

If you are thinking blogging is a super easy way to get quick success and it is one way to reach the imaginary heavens of the career world then you need to calm down and come back to earth as that's reverse of what blogging is.

Blogging is super hard in various ways in which I would explain later in this post but when its comes to one step success, it might look like to unknowledgeable eye but its not the case. There's a lot in background and just like I said, the website you see and access is just a tip of an iceberg.

How to start a Blog?

Now, coming to the main topic, first you have to decide whether you want to invest in blogging or not? Ask yourself that question and then choose a path accordingly. There are various ways to start a blog but I'd generalise a lot of things here including this one for the sake of the article size, else it'd be a thesis for sure.

Self Hosted Blog or Free Blogging Platforms

If you are a newbie with literally zero experience on what blogs are, how they work and other things then I would strictly advise you against going self hosted. Still if you think you can afford the costs and you just want to take a risk and try it out for once then you can surely go ahead with it.

If you are someone who just wants to play around with the idea of owning a blog and just want to express yourself via a medium which isn't plain social media then just go for free blogging platforms. There are several of them including micro-blogging platforms. Look up on the Internet for them as new ones always keep popping up.

Difference between Social Media and a Blog

Before we head into further details about blogging, let me explain the key differences between a blog and a social media outlet.

I am going to use 'social' for the ease of reference and discussion but things like Tumblr (Micro-Blogging Platform), Twitter (Micro-Blogging Platform), Reddit (Micro-Blogging Platform with Perks), Quora (QnA Platform) also account as social medias because of their usage patterns as well as several other usage policies which includes content policies.

There are very tiny yet significant differences between a social media and a blog. A blog is technically a website which is personalised and is updated with content in a particular format ( Not a textbook definition ). Whereas social media account is more like a piece of a huge blog. I would account Youtube more of a social than a blog as it follows more patterns as a social which is used for vlogs or video blogs.

  1. You don't own the content on social medias. There might be different content policies but at the end they hold the right to remove your content or at times even modify as well as use for their personal purposes. For such details dig deeper into their content and privacy policies before beginning.
  2. Some Socials don't allow you to use personal account for businesses. Either you have to define it as a business account with proper credentials or just stop doing that altogether.
  3. Social medias don't give you the control over the content and platform that you use like a blog provides. A blog is as good as you can spend and your imagination but social media on the other hand limits your options that you can do with whatever the main company offers you.
  4. It is extremely easy to use social media when compared to blog but similarly it is extremely to get your content copied. All you can do when you find that your work was copied is that you can complain like that annoying kid who always snitches to the teacher and then it is upto the teacher to pay you attention or not.
  5. There are limits on what you can and can't upload on a social media both in terms of content guidelines as well as content form factors as well as the audience that you would find on that socials. In a blog you have your own curated audience and they all are connected with just you. Social media is like a having a stall at fair. People come to the fair and browse all stalls depending on what is best at grabbing their attention.
  6. Driving traffic to social media is very easy than compared to driving traffic to a blog. You'd literally cry out after a few months if you get views that you can count on your fingers on everything you post on blog until you crack several pro things which I will talk about later.
  7. Social media makes it very easy for people to connect with you as well as follow you. There's no one way or maybe comfortable way for people to follow blogs even as of yet in 21st century. Emails and RSS are a few popular ways but not quite extensive and helpful much like socials.
  8. For getting views on blog, you'd have to depend on a social and it would be a chicken and egg story. Your socials won't get attention much since your blog isn't that famous and your blog won't get that much traffic just because you aren't as much popular on social media. If you crack one of any, that might change the things out for you, until then it is an endless vicious draining cycle which might lead into depression.
  9. Maintaining a blog is 10x harder when it comes to handling a social. Blog gives you a sense of ownership and responsibility. I feel blog vs social is an argument like buying or renting a house. Find which one makes more sense for you and take the one which suits your need the best.
  10. Lastly, on a social you might be subjected to the trends which rise on the platform more quickly and have to change your content producing schedules and quality depending upon the platform. On a blog it is more of the way you want it to do approach.
If you think a social would be better than blog then you might not be wrong, check out this article where I have explained why for most a social is better than a blog.


What to take care while going Self-Hosted?

Self hosted blogs are often called fully owned websites. Everything right from a piece of code to the loading speed of the website to the legalities that your content has to deal with in different regions is totally your responsibility.

Choosing a Good Hosting and Domain

When it comes to going self hosted first thing that should come to your mind is choosing a good hosting service and Domain.

You can host a server from your house as well if you have a powerful enough computer combined with fast and steady Internet and electricity. Else you can be a smarty one and pay for a good hosting from a wide range of hosting companies that you would find at a simple search on the Internet.

Always choose a server with good ping and access speeds. There are mainly two speeds, download speeds and upload speeds. For a server you'd need better download access speeds than upload access speeds unless 100 people are going to upload the content on blog at the same time.

Check for the reliability of the hosting provider before buying the space. You can choose any of the plans you feel better. Many providers also offer you domain names in a package along with the hosting but I'd recommend to look for cheaper and good domain service since you can change hosting anytime and much easily as compared to the domain names.

Choose a good domain name and not completely rubbish that you thing is trendy. Domain names are something which should be as small as possible or of lengthy as easy as possible to remember. Avoid domain names which might either get you banned in some country or cause you legal trouble. If possible avoid .com domains for a number of reasons unless you are a business and want to establish yourself as a legitimate company.

Take up some friendly domains like .in, co.in, .us .uk, .net etc... Avoid domains like ,gov, .org, .tk, etc.. which might get you banned or make you look like a malicious source or don't suit your profile. There are some new weird domains in the market as well but as far as the fancy names go domain names doesn't matter that much in terms of SEO unless its one of things which make you look malicious.

Always hire a good developer

I know this might irk some of you but unless you are really good at coding or have someone to annoy at one ring of a phone call 24/7 who is a developer or knows their way around websites, HIRE A DEVELOPER.

When you go self hosted a number of things might go wrong and most of the times you might not even be aware about it. It can affect your blog's SEO, loading times and other significant performance issues which might happen at any time.

If you have a developer who can maintain or help you with your blog then it gets things way easier like piece of cake. Else it would be like you talking to an alien who is grumpy and about to vaporise you with his gun.

Some developers just make websites for you while some offer nice and good after sales service and maintenance plans which would leave you with just the hassle of dealing with content and not bother why some button has started behaving weirdly or some random plugin isn't working.

If you are adventurous enough and want to learn as you go then you can surely take a deep dive in the ocean of technology and explore the coral reefs of programmings languages and endless plugins.

Some other personalisation tips

You have a endless imagination and can do whatever you want with your space on the internet. A website is your own space on this huge web and while you can do anything with it, there are somethings which you have to keep in your mind before you start dancing in the la-la land where you the supposed god.


  1. Avoid things which might land you in legal trouble. I want to keep this as my first tip as there's endless possibility of what you can upload on your blog or how you can make it. Ensure you aren't breaking any laws in the countries your website might be visible in. You can also region lock your website so as to avoid headaches or things which you just might want to show inside your own country.
  2. Ensure that your website's loading speed is good enough to not just drive traffic away. Since you are the one in control of the hosting, it depends on you how fast your website can be accessed. There are more factors which decide the loading speeds of a webpage but at first you need to ensure it is not the fault from the servers.
  3. Always have a full backup of your website, including the code and plugins. If you don't have it then you can ask your developer for it. Keep accounts safe, if possible give only admin access to the developer and not the owner level access as at times some one may lock you out of your own website.
  4. Don't host any malware, upload anything which might cost you a DMCA takedown or anything in similar pattern. Always try to keep your content original as possible.
  5. Host only the things you want and don't end up making a plugin mess or something which drives attention off your articles all the time.
What to take care when using a Free-Blogging Platform

Many of you might be wondering why I called YouTube a social and would be calling Blogger another service by Google a Blog. There are a lot of differences in the usage pattern and restrictions that make that difference. But here we are going to explore free-blogging platforms.

There are many free blogging platforms like Blogger, Wordpress, Wix, Squarespace, etc. Many of them have a freemium model only exception being Blogger. Blogger I feel by far is the best you can get when it comes to free blogging platforms. I will explain the reason why later at the end of this section.

Choosing a nice URL
When it comes to choosing URLs in these free platforms keep a few things in mind.
  1. A URL can be only assigned once to a person hence don't waste URLs like single use plastic. It is free doesn't mean you exploit it. Someone else won't get a URL just because you didn't fancy a particular one and wanted to change.
  2. Keep a sane URL which people can remember with as less dots '.' as possible in it.
  3. In free blogging platforms all you get is a subdomain and not a domain. A sub-domain is like a domain within a domain. You own the subdomain but not own it at the same time. It is like a section inside a hard drive or say, a section inside your locker. You might own that locker but not the whole almirah.
  4. Choose a URL which connects with your blog and makes some sense. for example, 'mybookishworld.blogspot.com' and not 'itsmybookandiwillreviewitasilike.blogspot.com' or 'mybookworld.blogspot.home.blog.com'
  5. In these free platforms choosing a URL is like choosing a good username. It will help you when it comes to search engines both within the free blogging ecosystem of your platform as well as the open internet.
Choosing a nice theme

It is very important to choose a nice theme when it comes to blogging. You might not get a free and full access to whatever you want to do on your blog and have to choose from a very limited palette of themes available.

Choose the one which gives you the ability to customise extensively and which is as minimal as possible so there are less chances of you deleting anything by mistake.

If you are trying to edit and customise the themes yourself there are some easy to use tools if you are tech savy but a little knowledge of HTML and CSS is recommended if you are going to get your hands dirty even a little bit. It isn't compulsory bit might turn out handy anytime.

Choose a theme which is legible and don't customise in a way that makes your page load slow or wonky. Turn on the mobile support for the themes if it is not turned on by default.

Blogger as Exception and Best of Free Blogging Platforms.

Here I am explaining the differences that blogger offers when it is compared to other free blogging platforms.

  1. Blogger allows you to use your own domain name with blogger. So you can use blogger as a hosting service and use your own domain name to connect with your blog.
  2. Blogger allows you to upload custom themes and side load plugins if you are tech-savy enough to do so, or have a helping hand.
  3. Blogger allows you to customise your blog as much as you can leaving very few boundaries between going self hosted and using a free platform.
  4. Blogger adapts your website according to regions it is served in, for ex GDPR notices in EU region. You don't have to worry about even making it go from HTTP to HTTPS as long as your theme doesn't interfere with any of it.
  5. Side loading plugins is easy and hosting files can be done by using some workarounds.
  6. You can sign up for Adsense and earn using blogger.


Things to take care of while blogging on free platforms.

Free platforms that allow you to blog have their own content guidelines for what you can and can't upload or what you can and can't do with the free space that they are alloting you. As far as you are within those ver basic guidelines then you are free to explore your blogging world as you like it.

Somethings to take care of before you begin your blogging journey.


  1. Your blog theme should be legible, don't use fancy fonts or overly tiny fonts.
  2. Keep your blog as minimal as possible. If you wish you can make it super vibrant and shiny and glittery but then that will drive attention off your writing into other things which will just increase your bounce rates.
  3. Create links properly for every webpage and post and link them properly to each other.
  4. Avoid redundancy as far as you can in terms of links, texts, logins etc..
  5. Try that you don't divert traffic outside your blog as far as possible.
  6. Use Ads and affiliates in non-intrusive mannerisms.
  7. Avoid link spamming on posts.
  8. Create a nice post sharing mechanism. ( Email, RSS, Socials, etc)
  9. Make it easy to comment and share your posts. Use appropriate methods for that.
  10. Upload good quality of content and don't disappear after a few months.

Here I have tried my best to compile a list of things that a newbie should take care off before heading on the blogging adventure. I have generalised a lot of things here and don't quote this as some legal or official statement. I have emphasized more on the true meaning and context as compared to barebone technicalities.





Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

How to write a good book review and why should you write one?



There are many of you who have said that writing a review feels like a task/not my style/I don't feel comfortable/I don't know how to write one. This article is for you my dear buddies. Below I have complied a few points which will help you to write an apt review for basically any book you'd read. Some of the points might help for non book reviews as well.

Reviews are a huge factor when it comes to buying something online as per some of you who read the posts. Many times it happens that people are just shy or anxious to come out in public and post a review about a thing they like.

Imagine you read a sexy erotic thriller and you loved the book but then you are shy to write a review since its a public one. Well for things like that, I don't have a solution. But I can give you a lot of reasons why you should write a review for sure. There are many friends who review books on a blog and this might help them as well.

Why should you write a review?

Before we go ahead and start discussing on how to write a good review. It is very important to know why to write one in first place. I am not going to give you cliche examples at best but would show you some solid points for why you should write one and a good one in fact.


  1. More than 50% people post a review only when they have a grudge against the delivery/product.
  2. There are review farms which review for the sake of it and they work both ways for and against. Hence it can be quite misleading for you and harmful for the business in some cases.
  3. Most people don't bother to review as long as the product works fine. At times you get a product and you feel like waiting for a while and use it before talking anything about it. Later, you just literally forget about posting one unless the company pesters you with emails or phone calls which can be annoying as well as result in a bad review by an annoyed customer.
  4. Some don't write a review because they're just too lazy to do it and have a number of excuses up their sleeves for not to write one.
  5. Many don't bother writing one since most reviews on many sites are misleading anyways.
  6. Writing a good review, meaning which expresses your thoughts about the product combined with factual information is quite helpful for other buyers.
  7. You can draw away more people away from scammy purchases.
  8. Similarly more people can benefit out of some really good deals.
If you need more convincing to write a review then just leave it my friend, you are hopeless :P XD

How to write a good review?

Now, writing a good review refers to aptly expressing your thoughts in a few lines. If you like to support your favourite authors then do leave a review after purchase. Also, even if you have pirated or borrowed from some library, basically if you have read from anywhere, then do leave a review. There are various sites like goodreads, and your everyday socials to talk about the reads you enjoyed.

Now while writing a review you have to keep a few things in mind. These are the tips I used to write my reviews as pro-reviewer. Although, my personal reviews often differ from these guidelines most of the times. Yet you can use these guidelines to write a review as a pro-book blogger.

  1.  When you like a book, always begin with an appreciation.

    You might come across a really awesome read and you are hyper excited to write a review. But when you go on the writing page, all you can muster up is I just loved this read and you should read it.

    That's when you should start talking with obvious things. Like the cover if you like it, the blurb, slowly dive into how to felt while reading the book. What was your first hand experience with the story.

    What portions you totally loved and what you thought could've been better.  Some instances where you felt it was so real as if it had happened somewhere. Then you can put it all nicely in one paragraph.

    You would have somethings which you didn't like that you can write after sharing what all you loved about it and always end with a constructive criticism and recommending who all might love it.
  2. When you read a book which is good but nothing which excites you.

    There are books which you feel are nice and decent. Something you would read once and just then never bother again about it. Begin with a point where you talk about the story. Then take it to section where you talk about what you liked, what you disliked, felt was okay and nothing special.

    If you want try giving some criticism on how it would've been much better. If not you can just let it be. Explore some points where you felt it was weak and where if emphasised the importance could've been much better book.

    Write a point or two about why you felt it wasn't the book for you or what made you think it was decent but not something you'd just swipe off the bookshelf the moment you land your eyes on it.
  3. When you read a book which is okayish.

    There's a difference in being a book which is okayish and decent. Many times you come across a book which has a ton of mixed factors and emotions that rather end up confusing you. It might also happen that you didn't enjoy the book but it wasn't bad at all either. It can be a fine read for someone else.

    In those moments, avoid giving out critics. Just write what you find decent and likeable about the book. Maybe a few lines at best and if you are reviewing within a word limit ( for bloggers) then you can talk some more about cover, plot, etc.
  4. When you have to review a DNF ( Didn't Finish )

    There will be times when you think a book would be something you'd like to read but turns out totally not for your liking. That's when I'd recommend to just keep it away and get a refund while you can.

    There are times when you just end up with something you actually despise. Not everyone likes every genres and not all like the same sort of narration or writing style. With books it all depends upon the author, how the narration is, how the writing style is, how is the quality of the vocabulary, the quality of the content, etc. You can't really be a good samaritan and justify everything in this world. If you don't like you just don't.

    Personally, I avoid reviewing DNF books unless there's some professional obligation or something I think might help author writing a better story. I try to write a few lines at max and just tell that I didn't like it with a hope it could've been better. Usually, authors appreciate constructive criticisms but at times some authors can be a bit sensitive and not appreciate your efforts no matter now honest and sincere, so don't bother leaving a review if you think it was a good read but not your type.

    If there's issues with production quality and some other technical issues then feel free to write a line or two about it but if it is about the content, my advice would be just let it be. You don't have to like a particular book.
  5. How to give constructive criticism in a review

    There's a huge and let me repeat a humongous difference in hating a book and giving constructive criticism. Actually there's nothing as such as constructive criticism. It is just criticism. The word itself means you are trying to give an constructive feedback.

    Now, when you wish to give your feedback and don't want it to be looked as a hate speech, be as factual as possible. If you don't like a story, try explaining why if you like writing lengthy reviews. If you find any plot holes do mention them, if something's amiss with the characters again repeat.

    Don't just write 'I didn't like it / It is rubbish / It is crap / This isn't a good read / save your money and don't waste on it.' and call it a critique. This is demeaning and not a fine critique at all. If you can't explain with facts it is not criticism, at the least for me. I don't know if anyone else calls it critiquing.
  6. Write a spoiler free review.

    Writing a review is very easy when you are talking about all characters, plot holes, etc. But at the same time when your aim is to give a spoiler free review, it becomes a super hard task to make it look convincing why you loved a book so much and some other not at all.

    To the people who read your review it should be evident that how much you liked a particular book and other not at all. There are a few handy tricks that you can use to write a spoiler free review.

    Talk about the story but generalise it as far as possible. Give examples from common and very popular shows without revealing much of the main story book. Like you find a fantasy book about dragons and werewolves you can try explaining it with Game of Thrones and Twilight examples.

    If it is a mystery, ensure you don't reveal the mystery afterall or the one who reads your review might seriously hate you, haha. If it is something quite common then you can use some elements from the story since it would be a contemporary fiction afterall. You can use the things which are mentioned in the blurb on the back of the book since it won't account as spoiler anyway.
  7. Write a review full of spoilers

    This comes as a very easy task for most but it is quite tricky to write a review in a way someone will actually go and bother to read a book. Remember, you are writing a review and not a 1 page summary of the book.

    Use the key plot points to enhance your review and not make it a mini book itself. Also try exploring the possibilities of how the plot could've been more interesting, more fun to read. You can use the quotes from the book to make it fun and keep in mind that quote is one a few lines at max and not a paragraph.

    Don't be the one who just dumps the blurb inside a review and calls it a day. People can read and understand the blurb of the book on their own. Talk about the story more without revealing the whole of it like showing a tip of the iceberg. Make it like a trailer which would make someone buy the book.
  8. Writing a mini review

    At times you won't like writing huge paragraphs or have the space for it. That's when you have to just sum everything up in a few lines.

    Write one line about how much you liked it / what you liked in the book. Write one line on feedback or just skip it and write one more on what you liked, if you aren't in a mood to write a critique. End it with a line where you talk about things you didn't like / could've been better.





Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :

Funny thing about Ideals - They are never meant to be Real



How many times you have come across this question? 'What makes you happy?' or someone saying 'Do something that makes you happy.' Everyone's out there shelling advices on basically every aspect of your life. Some will throw radical ideas at you, while some will try to guilt you into their ideology.

Ideals and Ideology have a funny relation with humanity. Ideals are the main reason one is never satisfied or happy with whatever they're doing. I have seen some weird humans who are actually living. For the sake of technical correctness I might call them realists or anti-idealists. They are one of the most happiest beings I have ever met. Obviously, I am rooting out all wannabe-realists who thought watching one web-series or nice movie was making them a realist.

But the funny thing with ideals is that an ideal is like a target that you want to achieve. It is the driving spirit and motivation that just makes you go on and on ahead to achieve whatever you have desired. An ideal I feel is like an alcohol, which if taken as a medicine in limits can benefit you but if gone out of bounds can hurt you irreparably.

Just look at the example of NRI - or Non Resident Indians. These are those realists who somehow turn idealists when they reach their destinations. They keep wondering about their existence. On the front, they won't accept their feelings which are bubbling inside but then at the same time they can't lie to their ideals as well.

They head to other countries popularising a theme here in India that elsewhere is much better than here. But on reaching there, they end up making mini-India over there in the form of Indian colonies, societies or other organisational buff. At the same time Foreign tourists come here, feel the love and at times even end up settling here. So if it is really bad, why would that happen?

India is a organisational chaos. Internally there's a ton of chaos but at the same time, externally we surprisingly are all Indians - organised as one nation only when we are out of our nation. On the other hand, USA is an chaotic organisation. They are very peculiar about even the most tiniest of things like a cup of coffee they get, the amount of milk, sugar, etc.. but when you look at them as a collective, it is a chaos of liberalism, democrat-ism, lgbt-ism, feminism, veganism, radicalism (make america great again :P),etc..

I am chuckling at my own joke here it seems. Well this is not against any country or any Ideal. Ideals are things which you need in life but your whole life dedicated to an ideal is a no-no. If you try to chase an ideal you will never reach your real goals but if you try to use your ideal to chase a goal, then it will help you.

Ideals are like rules, meant to be broken, amended, changed. They're like a pair of rails and you are the train. If you keep chasing the tracks you'd end nowhere and most probably a dead end. But if you use those tracks to reach your stations then it will be a helpful tool.

Perfection is one such ideal, We always try to get perfect at one thing but most of times we get is 85-90% perfection. At the same time generalisation isn't the answer as well. You can't have a same doctor to operate on your teeth, brain tumors, do a kidney transplant as well as guide you on how to improve your mental health and deal with addictions.

In nature, perfection is a phenomenon which gets picked upon first. Breeds that are very specialised to live in one kind of environment get extinct way faster than breeds which are generalised enough to adapt. Us humans are one such example of great adaptation. So don't bother chasing an ideal but at the same time do have an ideal to refer to when you feel lost. Ideals are like blueprints that you can never turn into reality. But you can at the least look upon them and feel good that you have something to refer to when you are out of ideas or feel everything is going wrong.

Human mind has this tendency of dancing between structural rigidity and freedom. but none of them is an ideal point to stay forever. It has to sway back and forth to create a balance. Balance which in fact is one more ideal making this whole thing sound like a pointless blabber.




Do comment and share your thoughts about it! I'd love to know what do you think. Also, I'd keep updating it quite often so do follow the Website to get all the updates by clicking here.

Also, a minor headsup.... Obsessed is free to read on Kindle Unlimited! Do check it out. I'd be glad to read your reviews!
Share :