Learn Python With Dhawal -5- Chapter


CHAPTER 5

In this chapter we are going to learn more about Loops in python and how to use them in various case scenarios.

Loops in any programming language are contextually the same, as in they are a set of instructions as we say technically or a particular lines of code in layman terms, which get executed again and again.

Now, each loop has 3 main parts like variables. Loop has a declaration statement, conditional statement and an incremental factor. Since python takes off much of the programming load from the programmer and just allows us to code as if like we are playing, here we don't have to worry about the loops and their three sections for the most part but to understand how it works and how to use them we need to know the concept behind the loop.

There are basically two types of loops. (1) Entry Guarded Loop and (2) Exit guarded Loops. Obviously these aren't actual terminologies but rather conceptual terms used to understand then working of the loops. Technically they're called the control statements or entry conditions. Hence the technical terms are Entry and Exit Controlled Loops.

A set of statements which are repeatedly executed to do a certain task is called a loop. Traditionally loops are defined within the parenthesis but just like conditional statements where the bracket system is replaced with indentations, in loops too you no longer need brackets to define what's in the loop and what's out of it.

There are 3 very important and basic loops.


  1. WHILE Loop
  2. DO....WHILE Loop
  3. FOR Loop
WHILE Loop

WHILE Loop is an entry guarded loop, which means it first checks the condition, then allows the execution pointer to enter inside and start executing the statements. Once the statements are over the execution pointer moves back to the beginning of the loop and checks the condition, if it is true the same process repeats until the guarding condition becomes false and then the execution pointer is headed out of the loop towards the next statement.

In this loop you need to be careful to alter the condition once the execution of the loop begins as, if you don't make the entry condition false after your work is done, it can run till infinity and will give you a run-time error.

Syntax :

Statement xyz1
while ( condition that I want to check):
<tab>loop statement 1
<tab>loop statement 2
<tab>loop statement 3
<tab>loop statement 4
Statement xyz2


DO....WHILE Loop
In python we don't have a DO...WHILE loop but it's actually necessary to know the concept of how it works. In a DO....WHILE LOOP, its an EXIT CONTROLLED LOOP, which means it checks the condition that is used to run a loop at the end of the loop statements. This means whether the condition is true or false, the loop will at least run once and give some output. This comes out as quite useful in its own case scenarios where you need some default output even if a condition is false.

Syntax(non python pseudocode):

DO{
<tab>loop statement
<tab>loop statement
<tab>loop statement
<tab>loop statement
<tab>loop statement
}WHILE( the condition I want to check)

FOR Loop

It is one of the most used or I can say overused loops in every programming language ever. A for loop has proper three statements but all in one single line, The initiation, the control and the incremental statement. FOR Loop is also an entry controlled loop which means first there's intialistion then the condition is checked and then after executing the loop the increment is been made. There's a special type of this loop which we would use more than often in our coding tutorials further but you need to learn how the for loop functions before we actually start on using the shortcuts. Python's 'for' loop is more like 'for each' loop of other languages.

Syntax(Non-Python Psuedocode):

FOR( Initialisation, Condition, Increment ){
<tab>loop statement 1
<tab>loop statement 2
<tab>loop statement 3
<tab>loop statement 4 }

Syntax (Python):

Statement xyz1
FOR any variable name that I want in range (starting point, Ending point, step):
<tab>loop statement 1
<tab>loop statement 2
<tab>loop statement 3
<tab>loop statement 4
Statement xyz2

FOR ENHANCE LOOP

This is a special type of loop in Java but in python it is somehow used as your average for loop, where you don't have to specify anything but just the data or thing you want to run the for loop for. It'll decide everything else on its own.

Syntax:

Statement xyz1
FOR any variable name that I want in any other variable that I want to run it on :
<tab>loop statement 1
<tab>loop statement 2
<tab>loop statement 3
Statement xyz2

Now, we will learn more about it using the examples.


Code 1:

Input :

  1. counter=10;
  2. while (counter >0 ):
  3.     print ('The counter is: ',counter)
  4.     counter=counter-1

Output:

  1. The counter is:  10
  2. The counter is:  9
  3. The counter is:  8
  4. The counter is:  7
  5. The counter is:  6
  6. The counter is:  5
  7. The counter is:  4
  8. The counter is:  3
  9. The counter is:  2
  10. The counter is:  1





Here as you can see, we had a variable named counter which had an initial value of 10, I wanted to print a countdown till one hence I made a condition that counter should be greater than 0 hence the loop was executed until the value of the counter became 0. If you notice I was decreasing the value of counter by one each time. Programming follows the RHS to LHS approach in general which means that in statement 4, first it decreased the value of counter by 1 as mentioned and then assigned the new value to the counter variable.

Input :

  1. counter=10;
  2. while (counter >=0 ):
  3.     print ('The counter is: ',counter)
  4.     counter-=1

Output:

  1. The counter is:  10
  2. The counter is:  9
  3. The counter is:  8
  4. The counter is:  7
  5. The counter is:  6
  6. The counter is:  5
  7. The counter is:  4
  8. The counter is:  3
  9. The counter is:  2
  10. The counter is:  1
  11. The counter is:  0
Here, as you can see it's pretty much the same code but I changed a few lines here. The condition that I checked was less than and equal to zero which meant that now the countdown will be printed till zero. Also, the decrement statement I used a shorthand operator, usually shorthand operators are like  ++,--, in other programming languages but in python we don't have them, instead we have += and -= where we have to specify the increment or the decrement value. Since here the value is 1 it will decrease by 1, you can try out the same code by making the incremental factor 2 and reversing the countdown by printing it from 0-10 instead of 10-0. I'd like to see if you can do that or not.





Code 2:

Input :

  1. for counter in range (0,10):
  2.     print ('The counter is: ',counter)



Output:

  1. The counter is:  0
  2. The counter is:  1
  3. The counter is:  2
  4. The counter is:  3
  5. The counter is:  4
  6. The counter is:  5
  7. The counter is:  6
  8. The counter is:  7
  9. The counter is:  8
  10. The counter is:  9

As you can see here in the code above, we just printed a simply using 2 lines of code where the while took close to 4 and above to print the very same thing. This is the power of simplicity and ease that you get with python. Here, the counter variable has a starting value of 0 and ending value of 10 so the loop is run and the value of counter is incremented until it gets at 10, once it gets 10 the loop is terminated hence you'd get to see statements only from 0 to 10, if you want to print from 1 to 10 then you can use the range (1,11) to get the output. If you want to reverse then you can use the range (11,1) or range(10,0) or range (11,0). Try out your own examples of loops and ranges and see how it fairs out with you.

Input:

  1. for counter in range (2,22,2):
  2.     print ('The counter is: ',counter)
Output:

  1. The counter is:  2
  2. The counter is:  4
  3. The counter is:  6
  4. The counter is:  8
  5. The counter is:  10
  6. The counter is:  12
  7. The counter is:  14
  8. The counter is:  16
  9. The counter is:  18
  10. The counter is:  20
Here as you can see we kinda printed the table of two. Here in the range bracket we also specified the step aka the incremental factor. Here the incremental factor was +2 hence it increased the value of counter with 2 every time the loop was run. You can also make it -2 if you want to get it in the negative running from 20-2. This is how you use your usual for loops and use it to do various things.





Code 3:

Input :

  1. fruitBasket={'apple', 'banana','mango','chikoo','guava'}
  2. for fruit in fruitBasket:
  3.     print ('The fruit is: ',fruit)



Output:

  1. The fruit is:  chikoo
  2. The fruit is:  apple
  3. The fruit is:  mango
  4. The fruit is:  banana
  5. The fruit is:  guava

Here as you can see we didn't actually had to specify anything about the range or the size of the list here but still the for loop worked and printed every fruit name we had in out fruit basket list. This is usually known as the for enhance loop in other languages but here in python it's just your average for loop. I hope you try out some more examples on your own and play around with it to see how it works and what all it can take. You can use tuples instead of lists, you can use dictionary and others. Play with it yourself and find out more about it.


Note : If you are someone who is been following this course, please comment your names down below and if possible do subscribe to website for more updates, I just write more than one subject and cover a lot of areas which you might also get interested to know upon. If there's significant amount of people commenting on this post with their email and name I would surely try to make and upload a sort of course notebook with more deeper examples and things which you'd only get to learn in actual engineering classrooms. But I can do that only when the response is good, also, please comment your doubts or things that you want to know so I can cover it in the next chapters.

In Next chapter we will learn about nested loops and learn more about using them.

<< PREVIOUS CHAPTER || NEXT CHAPTER >>

~*~*~*~

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 :

Learn Python with Dhawal -4- Chapter


CHAPTER 4

Now, as you know how to perform calculations using variables and other basic operations in python, lets now study the conditional statements. Here, it'll be a fun task creating your own calculator in python using the conditional statements.

Before we begin, I need to inform you the few things you need to keep in mind while using the jupyter notebook. Each time you create a new program you can either create a new notebook or you can restart the notebook and clear everything which is an option in the tools that you'd find under Kernel tab. Also, there are a few shortcuts that you can use to operate on the UI and many more instructions that you'd find here on the official website.

So once you are well versed with the UI, we can now head onto the main portion which is coding. At times a few things might work a bit different based on different IDEs which you need to take care of while following this guide but for most part if you are following me using a notebook then there's very less chance of you ending up on hurdles while completing this course.

Conditional Statements

The conditional statements are the conditions that we use to check if a particular condition is met or not. Usually the answer by default comes in boolean values ( true or false ) but at times you can also specify it the return value that you want and make it customisable but the main objective stands to do something or return some value depending upon a condition.

Types of Conditional Statements.

  1. IF Statement
  2. IF....Else Statement.
  3. ELIF statement
  4. Nested If...Else Statement
You can use any of the above configurations in any fashion you want once you are very thorough with how to use and get results from them.

IF Statement.

The IF statement is used to check if a particular condition is true or false. It returns a boolean value of either true or false, in binary its either a 1 or 0, in which 1 means true and 0 means a false.

Syntax : 
Statement xyz1
if ( a condition that I want to check)
<tab>Statement 1
<tab>Statement 2
<tab>Statement 3
<tab>Statement 4
statement xyz2


IF...ELSE Statement.
The IF...ELSE statement can be considered as an extension of the IF statement. The IF statement only executed the block of statements when the condition was true, now what if we wanted it to perform something if the condition was false? For that purpose, the IF...ELSE statement is used. So that if a particular condition you wanted to check was false then it'd execute the next set of statements that you'd like to run when the condition was false. This will save you time and resources of check a similar condition twice.

Syntax : 
Statement xyz1
if ( a condition that I want to check):
<tab>Statement 1
<tab>Statement 2
else:
<tab>Statement 3
<tab>Statement 4
statement xyz2


ELIF Statement

The ELIF statement is also another extension of the IF Statement. It is used in a scenario where you want to get a set of conditions checked and execute a particular set of statements without triggering the other sets of statements.

Syntax : 
Statement xyz1
if ( a condition that I want to check)
<tab>Statement 1
elif(a condition that I want to check):
<tab>Statement 2
<tab>Statement 3
<tab>Statement 4
statement xyz2


Nested IF....ELSE
In Nested IF....ELSE the all of the above options can be combined and nested together putting them one inside other to execute a very complex set of conditions.

Syntax : 
Statement xyz1
if ( a condition that I want to check)
<tab>Statement 1
elif ( a condition that I want to check):
<tab>if ( a condition that I want to check):
<tab><tab>Statement 2
<tab>Statement 3
else:
<tab>Statement 4
statement xyz2


Note : <tab> refers to make a one single tab space. Indentation is very important in python. Whatever is inside the same indentation until it breaks is considered as one loop or a group of statements. If your indentation isn't proper than it might result in errors. Once you understand the concept of IF and indentation, others are quite easy and relatable to understand.


Code 1:

Input:
1. a=12
2. b=32
3. print('a is',a,'b is',b)
4. if (a>b):
5.<tab>print ('a is greater than b')
6. if (b>a):
7.<tab>print ('b is greater than a')

Output:
a is 12 b is 32

b is greater than a

To print multiple variables you can use , to concatenate the sentences and variables to have more complex print statements. The above code takes two variables a and b and then we compare a with b to find out which one is greater. There's only one output even after two IF conditions because If condition only executes the statements within its limits only if the condition is true otherwise it does nothing.


Code 2:

Input:
1. a=int(input("Enter a "))
2. b=int(input("Enter b "))
3. print('a is',a,'b is',b)
4. if (a>b):
5. <tab>print ('a is greater than b')
6. else:

7.<tab>print ('b is greater than a')

Output:
Enter a 12
Enter b -12
a is 12 b is -12
a is greater than b

This is an example of an IF....ELSE condition. In this case, if the condition is true the first set of statements are executed else the statement after the 'else' tag are executed. Here we improvise on our if condition in a certain manner. You don't need to check the condition twice for the same thing as it speeds up execution and makes your code much lighter if the condition is huge enough. This is a simple example hence it won't make more than a few milliseconds of difference but in real world case scenarios it can make significant differences when you write huge pieces of code.

Note : input() method takes everything input as a string, you need to typecast the input you get it from the method into the type of data you want. You can use typecasting methods like int(),float(), etc to do that. 

Typecasting means changing the type of data from string to int or float. For doing input operations on number by using the input method you need to typecast as shown above or you can take the input into a separate variable and then use it for the operations. You can look up the python documents for more information and commands on typecasting.

Remember : Commands might be subjected to changes as the python language progresses. In python 2.x versions the input was taken using raw_input() but after python 3.x versions it is renamed to input().


Code 3:

Input:

  1. a=int(input("Enter a "))
  2. b=int(input("Enter b "))
  3. c=int(input("Enter c "))
  4. print('a is',a,'b is',b,'c is ',c)
  5. if (a>b and a>c):
  6. <tab>print ('a is greatest')
  7. elif(b>c and b>a):
  8. <tab>print ('b is greatest')
  9. else:
  10. <tab>print('c is greatest')



Output:

Enter a 1
Enter b 2
Enter c 3
a is 1 b is 2 c is  3

c is greatest

In this example, we use the ELIF or as we say in other programming languages ELSEIF conditional statement.  Here, the IF condition is checked then if its not true it checks the next condition and still if that's not true it'll execute the last set of else. It can run without else statement as well just like your IF condition. In this way you can check multiple conditions in one go.


Code 4:

Input:


  1. b=input("Enter the marks out of 100")
  2. a=int(b,10)
  3. print('The student has scored ',a,'/100.')
  4. if (a<40):
  5. <tab>print("The student has failed")
  6. else:
  7. <tab>if(a>=90):
  8. <tab><tab>print("The student has passed with Grade A+")
  9. <tab>elif(a>=80):
  10. <tab><tab>print("The student has passed with Grade A")
  11. <tab>elif(a>=70):
  12. <tab><tab>print("The student has passed with Grade B+")
  13. <tab>elif(a>=60):
  14. <tab><tab>print("The student has passed with Grade B")
  15. <tab>elif(a>=50):
  16. <tab><tab>print("The student has passed with Grade C")
  17. <tab>else:
  18. <tab><tab>print("The student has passed")



Output:


Enter the marks out of 10050
The student has scored  50 /100.

The student has passed with Grade C

Here is an example of a Nested IF...ELSE, you need to be careful about the indentation though. Hence the <tab> indentation option is shown, in the further exercises it might not be shown. So kindly be careful about the indentations and how they are to be used. In traditional languages we often put the statements under brackets and indentations are made to make the code more readable but in python indentations are the sole way of letting the compiler know where a particular loop or a set of statements begin or end.



In Next chapter we will learn about loops and how to use them.

<< PREVIOUS CHAPTER || NEXT CHAPTER >>

~*~*~*~

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 :

Review: Tormentor Mine



Tormentor Mine by Anna Zaires
My rating: 5 of 5 stars

Book Description:
He came to me in the night, a cruel, darkly handsome stranger from the most dangerous corners of Russia. He tormented me and destroyed me, ripping apart my world in his quest for vengeance. 

Now he's back, but he’s no longer after my secrets. 

The man who stars in my nightmares wants me.
~*~*~*~

To be fairly honest, the blurb didn't had much of an effect on my decision to buy it but the reviews had me curious. The blurb is surely way too short and enigmatic but now I feel it is worth it. I read the reviews and thus decided to give it a try and here's my experience. Surely, no need to judge me for my choices :P

I had thought of it as your average dark romance that you'd find on amazon before buying it, but it turned out to be a surprisingly a good one. The plot was really well developed and well thought after. I couldn't actually find the loopholes through the plot while reading which make the read actually interesting, everything was well placed and thought after.

The narration is as smooth as knife through the butter. There's a thriller aspect to it as it includes if not much but at least hint of action and a lot of spying. I loved the backstory for the main male lead. It was quite to the fact real and I could actually imagine that happening.

I won't mind calling it as a really good bollywood style story but it was really fun, the adult scenes also were well narrated and not felt like I am reading something else than a romance. Being a writer I know the struggles of narrating intimate scenes. One here was very well done. I'd surely like to give sequels in this series a chance next time for sure.

In a gist if you love dark romances and expect something with overall balanced enjoyed read, give this a try, I am sure you'd love it.

Note : At the time of writing this review, the book is available to download for free on Amazon. Please check before downloading using the link below.

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




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 - 3 - Chapter


CHAPTER 3

In this chapter we are going to learn more about variables and their types. I'll be only covering the things that you need to know while coding whereas you can always look up the internet for more detailed information.

What is a Variable?

A Variable is simply an element which varies i.e. It changes it's value depending upon the circumstances. You can put anything inside a variable, but a variable is always of one single data type. There are many types of variables and they might slightly differ from one programming language to another. Ex String, It is an array in C, but you can have a string variable in Python and Java.

Scope of a Variable

Think of it as life of a variable. Each variable has its life and during that life it'll exist and hold a value. A variable's life can depend upon where it's declared. If it is declared within a function or a loop then it's life is as long as that function or loop is running or is into existence. If it's declared within a class then it's life will be as along as the class exists.

It is very important to know the scope of the variable so as to know how to declare and assign its values. You can only declare a variable once but can assign its values as many times as you wish throughout the scope of that variable.

You can't use one same for two different variables, as you might have learned in earlier chapters. Each variable name should be unique within its scopes. In generally, you don't use a same variable within one program to avoid confusion as well as other errors as many compilers work in a different manner.

In Python, it is very easy to create a variable as you just have one step. Declaring a variable is very easy as you don't have to specify a datatype as python does that for you. Still you need to know what type of variable it'll be so you can operate on it.

Data Types In Python


  1. Int : Integer is often represented by int in many programming languages. In python whenever you assign a number without decimal point values or floating point values as we say it technically, it is automatically classified as an integer.

    There are many types of Integer such as short Int, long Int, each of these have their specific importance and hold a certain type of values. Your integer value can also depend upon whether its a signed Integer or an Unsigned Integer.

    For Ex :
    a= 1, unsigned integer
    b= -3, signed integer
  2. Float : Floating point Integer is something which is quite same as the integer but only difference being it accounts values after the decimal point as well.

    For Ex:
    f= 10.34 ,Unsigned float with values after decimal point until two places
    r=12.00 , Unsigned Integer represented as float
    e= 13.4 , Unsigned float with a value after a decimal point.
    rt=-12.99 , Signed float with values after decimal point until two places 
  3. Complex : It is used to hold complex numbers as the name suggests.
    For Ex :
    g = 3i , complex number
  4. String : Generally strings in python are represented using double quotes but single quotation marks can also be used.
    For Ex:
    a="It is a very sunny day."
    b='It was a very cold night.'
  5. List: As fore-mentioned in the previous chapter, List is a very versatile data type. You have lists in JAVA but that list is a little bit different than the one you have in python. Here you can add numbers, floating numbers, characters, strings together in one single list. It's like an array of multiple data types clubbed together.
    For Ex:
    p=[1,2,3,4,5,6]
    pts=['hello','how are you','?']
    th=[1,2,'hey']
    To print or access any item in the list you have to specify its position in the list. Always remember in computers, the number list begins from 0 and not 1 unlike the real world. So be careful while counting the position number.
    Also, printing lists is very similar to printing your normal variable.
  6. Tuple : It is very similar to your list but the only thing which makes it unique is that list can be edited as many times as you want but you can't edit a tuple once it is created.
  7. Dictionary : It is one unique and fun feature in python where you can create your own dictionary which can be used to get data easily based on the key you assigned to the value.
    For Ex:
    a={1:"firstname",2:"last name","age":33}
    In lists you used to remember the position of the item but what if you don't know the item position? That's where dictionary comes in handy. Instead of using the position you can call the values using the key that you had assigned to them.
Important Note : While naming the variables keep in mind not to use keywords (reserved words that are used in language) or the duplicate name. Also, you can use numbers while naming a variable but don't use only number to name a variable or begin naming with a number, whereas you can use only character to name a variable. Also, ensure to make some sensible names for the variable. Here, I am just using a,b,c, etc.. as of now to keep it easy for you and for me. as we go ahead I'll start naming and using the variables as we do it in the industry.

Working with variables

Code 1
Input:
1. a= 3
2. b= 4.98
3. print(a+b)
4. c= b-a
5. print (c)
Output:
7.98
1.9800000000000004
As you'd notice here, any arithmetic operation on integer and float gives result as a floating number.


Code 2 
Input:
1. a= 1
2. c= 3+1j
3. print (a+c)
Output:
(4+1j)

As you'd notice here, just like operations on integer and float resulted in floating number as output, similarly operation on integer and complex resulted as complex number in output.


Code 3 
Input:
1. a= 1.99
2. c= 3+1j
3. print (a+c)
Output:
(4.99+1j)
As you'd notice here, just like the operations above, any operations on floating numbers and complex numbers would result in a complex number with a floating point value as answer.



Code 4
Input:
1. a= 1.99
2. c= 3+1j
3. d= (a+c)
4. print(d)
Output:
(4.99+1j)

Now in a new input box, type each line one by one in new box the next few lines and see what do you get.

Input:
1. type(a)
Output:
float


Input:
1. type(c)
Output:
complex

Input:
1. type(d)
Output:
complex

As you'd see, you can use the type() command to know the type of the variable in python.


Code 5
Input:
1. a=[1,2,3,"hello"]
2. print (a)
3. print (a[3])
Output:
[1, 2, 3, 'hello']
hello

This is how you create and call upon an element in list. a[3] will bring the last element of the list and you are now well versed with our print statement right? When you use square brackets it'll create a list. Keep it in mind reason you'd know with our next few coding examples.



Code 6 
Input:
1. a=(1,2,"this is a tuple")
2. print (a)
3. print(a[2])
Output:
(1, 2, 'this is a tuple')
this is a tuple


Code 7 
Input:
1. a={1:'apple',2:'ball','tiger':'animal','Age':12}
2. print (a[1])
3. print (a[2])
4. print (a['tiger'])
5. print (a['Age'])
Output:
apple
ball
animal
12


Code 8
Input:
1.a='this is a string'
2. print(a)
Output:
this is a string

In Next chapter we will learn about conditional statements and how to use them.

<< PREVIOUS CHAPTER || NEXT CHAPTER >>

~*~*~*~

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 :

Learn python with Dhawal -2- Chapter


CHAPTER TWO

In the last chapter we discussed about the basics of programming and got to know about Python as a programming language a bit. I know it wasn't in much depth but I tried to bring it down to the level of a layman as much as I can. Now, as we know a bit about what Python is in general and how to go about the world of coding, we can start taking our first baby steps in the world of programming using python as a child-walker.

Installing Python in your computer :

There are various ways you can install Python on your computer, but as for now and for this particular course that we are going to undertake we would use the jupyter notebook which is a part of Anaconda IDE installation.

An IDE refers to an Integrated Development Environment. You can do a lot of thing using Anaconda distribution and there are other various ways to work with python but since as the name goes Jupyter notebook is very much like a notebook and quite simple to use. Hence it will make the task easier for you to learn more of coding. You can also Install python directly on your computer and use it from your terminal/cmd but that would be a little bit complex for someone who hasn't been familiar with the infamous black screen of total control.

You don't need to install python separately for this particular method, unlike for other IDEs for which you might. If you already have any other alternative like PyCharm,EMacs or just wanna use it on plain old terminal then you can surely use it but that's up to you.  I am here going to focus more on how to write a code in python than how to work with different ways of using python. Don't forget the thumb rule to learn anything new, 'if you don't understand anything or want to know more about anything, just search up the Internet. You can always comeback later and continue the course.'

Here are the steps to Install Anaconda on your system.

  1. Open and Visit the official website for Anaconda Distribution.
  2. Install the software following the instructions for your particular system.
  3. Open the Anaconda Navigator in your computer
  4. Click on the Jupyter Notebook to Launch it. Or you can also search up Jupyter Notebook and launch, whatever is your preferable way.
Now, Once you are done installing and you have opened the Juypter Notebook, henceforth referred simply as simply as the 'notebook'. 

Note : Jupyter Notebook launches in your web browser, whichever browser you have selected as default. if it opens the terminal don't shut it close else the notebook will stop working.

Once you have launched the notebook, you'll see something like this

Jupyter Notebook Homescreen
Follow the next steps :

  1. Click on the new button on the top right corner.
  2. Click on the Python 3 option, that'll create a python notebook for you with the extension '.ipynb'
  3. Now you can see a different screen as shown below. You can now click on the 'Untitled' and give your notebook some name. You can explore the bunch of other options as well, they're most basic options like save, run, cut, copy, paste, etc...
  4. The notebook will autosave when you stop typing anything so you don't specifically need to save your notebook every time.
  5. For the next time you open your book, you can just open notebook and just look out for the name you just chose for your notebook with an .ipynb extension. for example, MyNotebook.ipynb
  6. Click on it to open the notebook so we can start the coding journey again.
NoteBook Front Page

How to Start Coding in Python :

Once you have explored the buttons and the Home UI of the notebook, we can surely begin the coding adventures from here on.

In this chapter we will just learn simple and very basic coding statements. As you'd see there's an In[]: Box and that's where you'd write your code or basically give your input.

Now once you write something inside that box, you need to press the Run button up as you can see on the toolbar. That will execute your code and if it's free from any errors and might give you warning if your code has some possible mistakes. You can always keep an eye out for it and google things you don't understand to get answers on the spot or you can just comment down your troubles and I'd make sure to reply to them.

Now, we will start doing the thing which almost is like a tradition while learning anything new on computer. Let's print our 'Hello World!' statement using python. All the Code snippets that you need to type will be in after the Input: label and the output will be shown after the Output: label. Also, I am showing the line number as Indentation in Python is very very important. That I will be explaning when we explore more ahead. But for now this is how the coding will be so kindly make sure you do it as it is to avoid any errors.

It's not wrong or a crime to make errors, if you make an error and you need to google what it is and try troubleshooting. Also, this website has a copy protection hence you won't be able to copy-paste code snippets directly from here and you'd need to type it, so don't be a lazy bum and type carefully. I will try to keep downloadable notebooks for your reference but in later chapters, for today's chapter there is not need for it.

To print the statement as it is we use the print keyword and the sentence needed to print is written in double quotations enclosed within the parantheses.

Code 1
Input : 
1. print ("Hello World!")

Output : 

"Hello World!"

Code 2
Input :
1. print (2+3)
2. print (2-1)
3. print (10-2*3)

Output :
5
1
4

You can write anything inside the quotations and it'll be printing it as it is. You need to click the run button to execute your code and the output will be shown below it. You can enable the line numbers by going in options as well so it makes it little bit clear to you while coding ahead. This is a sort of tiny chapter as I want you to explore the UI and print some statements of your own and see what errors do you encounter and if it works as you intended it to.

In Next chapter we will learn more about Variables, its data types, its scopes, basic algebra using variables.

<< PREVIOUS CHAPTER || NEXT CHAPTER >>

~*~*~*~

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 :

Learn Python with Dhawal -1- Chapter


CHAPTER ONE

Out of the most programming languages out there python is the most easiest to learn for both people who are well-versed with the programming as well as the total newbies. Before we begin with how to write the code, lets know more about the language itself.

About Python:
Python in the world of computers is a language which is used in various places. Python is developed under an OSI-approved open source license, making it freely usable and distributable, even for commercial use. Python's license is administered by the Python Software Foundation. (Source Offical Python.org website )

Python is an open source language, meaning anyone can use it as well as contribute in its development. Think of it like JAVA or ANDROID or CHROMIUM, all of them are owned and managed by certain organisation but are open for everyone to use, make modifications(legal and ethical modifications permitted by the license) as per needs as well as contribute in its development.

To know more  about Python you can visit https://www.python.org. It is the official source for all your information regarding Python. You can also google and find other quotable or referable sources alongside.

How Python Works :

For every programming language to work, there's a layer which works most of the time from the shadows but is the most important layer that you'd ever encounter. For almost every programming language out there, there's a compiler or an interpreter. Now unlike traditional languages where a language either has a compiler or interpreter, often known as GEN2 or GEN3 languages. Python is both an compiled as well as an interpreted language.

Python being a 4th Gen aka a higher level language, works on two different stages. Many might know that C language is a compiled language as first the code is written and then sent to the compiler where the machine code is being generated and then we execute that machine code to get our desired outputs. Just like JAVA ( in some case scenarios ), Python is both compiled and interpreted i.e. First the code is compiled and converted into machine language and then its interpreted.

A compiler converts the code that you have written into a machine language at once and then it executes it. If there's any error in the code, it won't finish the compiling process and won't produce a machine code as an output. An interpreter works on a little different basis. It reads each line of code one by one and then converts it into machine code and executes it. If it encounters an error, it stops but the code until the error is encountered is already executed. Both compiler and interpreter have their advantages which I might try posting in some other post but for now I think this is enough information you'd like to know about.

So, in Python, your code is first compiled and checked for errors and then if everything goes well, it is interpreted line by line at byte code level.

Learning the Basics of a Programming Language:

There are a few requisites before you get started working and playing around with python codes. You need to first learn the basics of Python as whole and programming basics itself.

I am writing this post as if you are a non-CS background personality and you never ever have even had encountered a single piece of code in your life so if you are a person who knows about basics of programming then you can surely skip this part. But if you want to get brushed up with basics again then here's your read.

Python is a very easy to understand as it uses most common english terms unlike other languages where there are a ton of programming jargons. Being a Higher generation language its as close to english as it can get. Before you begin, Here are some terms that you'd need to keep in mind. We will learn specifics about Python variables and data types in next Chapter/Post. Here are some basic brush in concepts.

Variable: A variable is something whose value varies depending on the circumstances. Think of a variable like an empty carton box, you can put any value you want in it. You can change its value time and again as per your needs. Some variables are single valued while some are multi-valued.

There are some nomenclature rules which you have to follow while naming variables and other most things in any programming language. A variable name can contain anything from 0-9,a-z,A-Z or any combination of those, you can use an underscore(_) to separate long words or terms.

You can't use any special characters while naming a variable, there might be some exceptions here and there but a general rule of thumb states to avoid them. A variable should have at least one character in name and it shouldn't be idiotically long.

You can follow UpperCamelCase or lowerCamelCase style of naming long variables if you don't want to use underscore.

Can Do : names, Name, name99, Full_name, id_no, na9me, 9name2, fullName, FullName, FULLNAME, etc..

Can't Do : name&, Na------, Name#, &&se, +-Name, thisisaverylongnameetc...

Types of Variables :

In Python you usually don't need to worry about any of these data types but for learning programming it is necessary to know what you'd be dealing with and what happens behind the scenes when you try to operate on different things.

Integer : Commonly known and used as int, an integer is a variable which holds the integer values.

Boolean : It just holds any of two values, i.e. TRUE or FALSE.

String :  It holds a set of characters together in a string.

Character : As the name suggests it holds a single character.

Array :  It holds a set of numbers, characters etc...

But while working with Python there are a few more which you need to know about.

List : Lists are very similar to arrays,  but while array can contain a list of a number or characters as you can't mix both in same array, list can do that for you.

Tuples : Tuples are very similar to lists but only point of difference being they can't be updated.

Dictionary : Like you have dictionary for various languages, you can create a dictionary of your own to use while you code using python.


Arithmetic Operations :

As many of you know the story of computers began as calculators and present day computers are nothing much but a very complex and super advanced calculators.

Here are some basic operations that you can do using these symbols, we will learn how to use them in later chapters.
Symbol Explanation
 + Addition Operator is used to add two numbers, variables and give an output.
- Subtraction Operator is used to subtract two numbers, variables and give an output
* Multiplication Operator is used to multiply and give product of two variables or numbers as an output
/ Division Operator is used to divide the two numbers or variables and give the output of only quotient. It will round off the value depending upon the variable holding the value of output.
% Modulo Operator is used to divide the two numbers or variables and give remainder as an output. It'll also round off the number depending upon the variable holding the output.


Logical Operations :

There are logical operations which are used to check the logical correctness in some cases. Below are some symbols and their uses.


SymbolExplanation
 &&Logical AND Operator is used to check if both the conditions are true or both the sides are logically true
||Logical OR Operator is used to check if any of the conditions or any of the side is logically true
==Is equal equals to operator is used to check that both LHS and RHS are exactly the same on logical level.


Conditional Operations :

For every now and then you'd need to check a condition as you move ahead in your programming journey. To check those conditions you can use any of below operators as per the circumstance.


SymbolExplanation
 &AND operator is used to check if both conditions are true
|OR operator is used to check if any of the conditions are true
!NOT operator is used to negate the value.
=IS EQUAL TO operator is used to check the equivalence
!=NOT EQUALS TO Operator is used to check if its not equal.


Here I end with my very brief explanations of programming basics. In next chapter I'd begin with coding and we will learn the concepts as we use them on the go. This series mostly will be a weekly series so do follow to get the updates.

For more information you can always google up and read from the sources you favour. Here is a source where you'd like to learn about some basic data types and other things. Although you can easily pass them while working with python as it takes cares of certain things on its own but you can give it a try if you have a super curious mind.

Link about details on data types : https://www.javatpoint.com/java-data-types

NEXT CHAPTER >>

~*~*~*~


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 blog 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 :

Dhawal's Blog -6- How I lost my motivation and gained it again.




Motivation is one such keyword which is used as if people apply butter or jam on the bread every morning. You'll find this lovely word or keyword as we describe it in the world of internet almost everywhere. Every day you'll have a dedicated article, quote, speech, or message popping up on how to get motivated, or how to deal with demotivation and what not.

Well every once in a while everyone gets burned out and results in demotivation. Major reasons of demotivation clouding over you would be not getting what you expected, or not getting feedback from expected, not being able to finish something, or similar things. Basically demotivation for the most part is a result of a feeling which you get after failure.

Now, I am not going to write an article on how to get motivated again as motivation isn't an external entity as most of us think of it like. It's not a fire which can be ignited with stimulus from outside. I know this is contradictory to almost 90% of articles and reference materials who 'guide' you to deal with demotivation but this is the truth. No amount of music, exercise or anything is going to suddenly convert your demotivation into motivation until and unless you get rid of that failure and do the thing successfully in first place.

Surely, a little external stimulus would help you temporarily to enhance your mood or make you feel better so you can start working on the issue that brought your morale down in the first place. Just using those tips and not working on the actual issue will be like trying to cure disease inside the body by just working on symptoms and not dealing with the root cause of the problem.

So, how to actually deal with this gloomy feeling which depresses every other upcoming adult and adults in this world? It's very simple, I have often watched this in Indian Army training videos where the commanding officer or the trainer commands the trainees or the soldiers to do the task and they don't have any option to escape. I work with the same mindset on myself. I tell myself that I don't have any option for this. I have to finish it now or like 10 years later. The choice of how long I want to procrastinate and delay the thing is up to me.

It is not very easy, let me tell you in the first place. Forcing yourself to just challenge that monster who has defeated you again and again isn't easiest of tasks. But to do that you first have to deal with the fear which just comes with the anticipation of imagining of facing that monster again. What I have learnt with the experiences that the anticipation of things be good or bad is always greater in feeling as compared to experiencing the actual phenomenon.

So how do I deal with demotivation and get myself up to give a nice fight back? These are the simple steps I personally use and I hope it might somehow help you as well.


  1. Stop finding excuses to delay the thing you are supposed to complete
  2. Don't sympathise yourself or allow anyone else to do the same, it's the worst thing and probably the last thing you'd want to be done to yourself. It's like drugs, emotional and hormonal drug that runs naturally inside our body. Once you start enjoying the comfort of it there's almost no way getting out of it.
  3. Try to look at the issue or the situation you are trying to deal with logically and practically.
  4. Break it into the points of root cause and results of those actions aka symptoms as I like to call them. For ex, Not passing an exam. find out where and why you are failing. Try to change a few things by changing study patterns and work on basics.
  5. Do not procrastinate, I repeat do not. Once you think that you are being a good person and tried to overcome your fear and try to reward yourself with some sort of positive action, don't. Reward yourself only when you are done with the thing for once.
  6. Bring actual results and not just thinking about doing something. Whatever you do, no matter how little bring out actual results that anyone can see or you can show the proof of your work. Working just inside your brain is never going to help.
  7. Do not use shortcuts, if you have less time then try to find out a way to do the conceptual thing properly and then apply shortcuts if its multiple and repeating thing but until then no shortcuts at all as far as you have sufficient time.
  8. Be Smart and Not Hardworking, with this I mean see how you can solve the problem, take external help if needed but don't carry on doing the donkey work.
  9. If its not broken, don't fix it.
  10. If it's broken but still not creating any issue yet, don't bother about it. You have a better task to get done with right now. Once you are done with it, you can go back to fixing things.
This is the way I deal with my demotivation and try to get myself back and fired up to work again. I often land into places and overthink a lot. But I always remember the ants when I reach a dead end.

Deal with situations like ants. Once an ant encounters a dead end, it doesn't stop there or sit and cry. It looks to find a way around and goes around the object or hurdle it encountered, alongside it warns it fellow ants that there's a dead end ahead. Don't just stop if you encounter failures. Learn to find a way around them. Also share your knowledge while you can as you might never know how it would benefit you back.

In the last blog post, I had mentioned some new surprises that I wanted to bring out to you. I have been asked by many to share my knowledge of coding with them. I know there are a ton of books and site from which even I have referred to while learning things myself but I still decided to try this thing out maybe not for you but for me to have a memory of it.

How many of you would like to learn python programming with me? I'd try to make as detailed posts as possible where non-coders can learn python and try a few knick knacks of Machine learning and Artificial Intelligence of their own? I know its a vast concept and can't be done in a few posts but If there's an ample demand for it, I might just give it a push. This is one of my surprises that I have been planning for a long time now.

So would you be interested in 'Learn Python with Dhawal' series of posts on this 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 blog 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 :

Review: Paramnesia: The Deadish Chronicles



Paramnesia: The Deadish Chronicles by Brian Wilkinson
My rating: 3 of 5 stars

Book Description : 

​"Brian Wilkinson's debut is an exhilarating celebration of the imagination."
— Scott Carter, author of Blind Luck, Barret Fuller's Secret

Nora Edwards finally has everything she wants out of life, including the boy of her dreams, until one night that dream turns into a nightmare. On their way home from prom, Nora and Andrew are attacked by a supernatural creature called the Revenant that sucks the souls out of the living in order to feed itself. Nora manages to escape from the creature, but Andrew is not as fortunate.


Although Nora suffers loss that night, she gains something as well: the ability to see the dead, including her recently deceased boyfriend. Whether the skill is a gift or a curse is yet to be determined, since those around her assume Nora's erratic behaviour is due to "paramnesia," a disorder in which a person confuses dreams with reality. She's also attracted the attention of the Revenant's masters, who need to preserve the secret of their supernatural existence and will stop at nothing to prevent her from talking. Nora, along with Andrew and her living and dead allies in the Deadish Society, quickly finds herself in a battle for her life—and the souls of her city.

~*~*~*~

The cover isn't quite pulling you to pick up the book and read but it surely speaks a lot on its own. It's one of these paranormal plus romance stories which a unique concept or ghosts and its energy stuff. Surely, It's quite predictable story which won't bother you much as you'll enjoy as you read. The book has its sweet and funny moments of romance in middle where there's fun between characters.

It was a fun reading something new in the concept of ghosts and paranormal but I felt somewhere the new concept was half baked. I wish there was more details on the villian and how the souls and ghosts worked. This might be a spoiler of sorts but I somehow thought it was conceptually quite relatable with the Bleach anime, where there's a whole soul society concept and afterlife. I thought it would explore the details in paranormal but it felt restricted on the romance and adventure part.

If you are looking for something new and unique in terms of paranormal romance with the female lead then this might be the one you might be looking for.

Book Link :  https://amzn.to/2L14WWn

~*~*~*~


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 blog 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 Install Custom Fonts on your Kindle E-Reader Device




If you are a fellow Kindle E-reader owner and aren't quite satisfied by the default fonts which are provided or just want to explore the possibility of adding your own fonts to read books on your kindle then follow the steps below and enjoy a new reading experience. This is the official method without harming anything inside your Kindle E-Reader Device.

Prerequisites : Kindle ( Basic, Paperwhite, etc... E-Reader) , Computer , USB Cable.

Steps :

  1. Download Font Files : Search up the Internet for your favourite fonts. Ensure to download fonts from safe and trusted locations, for ex, Google Fonts.. The font files will have a .TTF extension.
    It is recommended to have all styles of the same font incase the font have multiple styles or variations in it.
  2. Extract the Zip Files : If you have downloaded the fonts from website and it is in a zip-archive format first you'd need to extract it. You can use any program of your choice to extract the zip files and store it in a folder.
  3. Connect the Kindle : Now connect your Kindle E-Reader with your computer via the USB Cable. Although, if your Kindle software version is below 5.9 then you need to update your Kindle software. You can check your software version by going into Settings -> Device options -> Device Info. If its not updated then you can download the new software and upgrade using instructions from Amazon Kindle's official website.
  4. Copy the Files : Assuming that your Kindle software version is higher than 5.9, you can open it in your computer and locate the folder Fonts . Copy all the font files (.TTF) into this folder and then safely eject your kindle device.
  5. Disconnect Kindle :  Now after disconnecting Kindle from pc, open any book of your choice. Click on the Page display -> Custom -> Font Page and Settings -> Custom . From there you can select one of the custom fonts you installed and choose the boldness or size and you are now good to go on a reading adventure. 



~*~*~*~


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 blog 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 social media affects your thinking and mindset.




We have been reading a lot about the social media and its effects on the human thinking and behaviour. The effects are both positive and negative and for certainly this post is about the effects in general keeping a neutral outlook over it. I feel anything can be a plus or a minus for anyone depending on what's their outlook on it. Hence, I won't be classifying anything into good and bad or gray. It's just plain information on how it affects us and our way of thinking about different things and how it is used for and against us at the same time.

If you ever had a pet whom you had to train for potty or other tricks or even a baby whom you need to teach things that they have no idea about, how would you do that? Imagine trying to teach a dog to fetch or teaching a baby to write and know the alphabet 'A'. You'd make them do it again and again until its hard etched inside their brains, such that even if you just throw a jug of water on them at midnight and wake them up to ask them the same thing again they'd clearly remember it. They would do the bidding or not that's whole another topic XD.

Social media and human brains work in the same way. Everyday if someone is shown good posts on a particular topics and then asked about it, they'd comment resonating on the same good vibe. This happens because when you think about it, your brain tells you that you have been reading only good things on it hence its a good thing so you form your opinions accordingly.

With elections, product launches and other marketing things it happens the same way. If you're brainwashed and shown same good/bad posts about some topic, everyday as most people spend at least an hour on social media. You'd have the same effect coming out over you. You'd think something as good/bad/gray depending on the posts that you had been seeing across the timeline the whole time.

Now, how these posts turn up in your timeline via various mediums but most prominently are the paid mediums. Paid mediums include, ads, normal users on which anyone won't doubt / influencers, who are paid on per post basis to spread a word, good or bad about a topic by marketing agencies. This can influence a ton of things like elections, your opinion about a service or product or even for a real person.

This is something which you can't actually help with as this is been hard wired in our brains. This is the psychological game which makes a social media good or bad. It's not how much data they have or they know. It's their power to influence and brainwashing minds into believing things which they usually won't believe or pass it out as some lame joke.

Note: This post is written on the basis of personal observations and information gathered from research papers and articles on over the Internet over a period of time. This is more of a personal outlook on the topic rather than an 100% accurate source to be quoted for some scientific journal/debate.


~*~*~*~


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 blog 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 :

Review: Glitter and Gloss




Glitter and Gloss by Vibha Batra
My rating: 3 of 5 stars

Book Description:

A romantic comedy that is funny, contemporary and sharp.


Misha is a make up artist who, after a series of mishaps and twists and turns, falls madly in love with Akshay who reciprocates her love with ardour. The only hitch in this perfect romance is her prospective sister-in-law who thinks Misha is everything a Bahu shouldn’t be: garrulous, geeky, gawky, gainfully employed (especially the last bit). The questions is will Misha win Didi (and the Kha-Pee Panchayat) over with her Stepford Wife Act? Will she continue to be the poster child for the inherent evils of the Bahu Brigade? Or will she learn to ‘lau’ herself before the whole world and its wife can do the same?


~*~*~*~

Here's another book which has landed me in a reviewing dilemma. I'd be lying if I didn't say I totally enjoyed the book but at the same time it kinda threw me off the guard as I was expecting something different.

If you are a mainstream reader who read serious novels a lot and you pick up this book, it'd actually throw you off your guard. This book will make you laugh as if someone is constantly tickling you. It's a humorous chick-lit story. The only another book I can compare it with would be 'My Clingy Girlfriend' which had made me laugh on a similar level.

The characters are weird and funny, almost close to real life. It shows insides of a glamour world in a comical way. There's humor maintained throughout the story and even serious situations don't feel serious enough. The cover was more of graphical avatar of the title. The blurb had made me expect some saas bahu drama which didn't begin until the other half end of the story.

The plot was typical and nothing special to talk about. But the narration here is a double edged sword. If you are a person who thinks of books as some serious literature content and entertainment part of it is side tag-along then this book is something you should avoid.

Narration is something which can make you really love this book or hate it at the same time. I felt like one of my south bombay/delhi female friends is telling me a juicy gossip story. It has a ton of web series/shows, as well as cultural slang references. The story is Hinglish ( a mixture of hindi and english that we usually speak in day to day life.) which can be a hit or a total turn off for you if you are a serious type of reader.

If you are someone who watches a ton of series and shows, has at least some knowledge of trends and makeup then this book won't confuse you at all. I had to search a lot of makeup products and other character references since I am not the person who watches most shows. Although I loved the Big Bang theory references alongside some How I met your mother references as both are my favourite shows, later is most favourite.

I was in a dilemma to give it a full 5,4, or a 3 but ended up giving a three just for the sake of entertainment. If there had been a warning for Hinglish narration, crazy trends stuff and super casual language with no actual depth in story then I could've passed it as a 5 star since it was a total entertainer but since it was passed as your average chicklit novel I'd have to give it a 3 since it lacked in most aspects.

I didn't wanna bash it since I enjoyed reading it totally but it'd be unfair with other books i've reviewed based on the same criteria.

So, if you are in a bad mood, tired of reading serious books, and are in a look out for some fun slangy humourous read then this book is something i'd totally recommend. It's a light read which will tickle your heart out. It's like a salman khan movie, the story may or may not make a sense but its a total entertainer.

~*~*~*~


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 blog 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 :

Dhawal's Blog -5- New surprises

This is officially my fifth blog post. I never had expected that I'd be continuing this series after a few posts but surprisingly I am here typing down this juicy update for all of you awesome readers. I know I have been slipping past deadlines for a long time now. Some priorities had to shuffled and reshuffled time and again due to various circumstances. A ton of things happening in real life and If you know me personally, you'd know that I am not a person who reveals everything on socials.

I know I had planned to publish the book in february but the editing schedule had to be delayed and then post-poned for later dates. I am currently editing and rewriting a few things in the script so you might find something new once it's published. Honestly, I never had expected things to get delayed to this extent since I just left you'll hanging on the climax.

I was in idea draught a few weeks back and from past few days my mind is flooded again with new ideas landing me in a confusion what to implement and what should be just left or delayed for future. I thought of a few things which had a satisfactory response from my inner feedback circle. I hope I can put up with it on the schedule and bring the work out for you all to read.

I want to bring more interesting content to read on this corner of the Internet. I do not plan to flood it with just book reviews and promotional posts. Although I am looking for some better ideas to send updates about free books which are available on kindle and other such of good updates that might interest you.

I was wondering if I make a group solely for the purpose of notifying about such opportunities and blog posts, how many of you would be interested in joining? I know I do have email notifs for other stuff but most don't always opt for emails and those who do, they don't always open the emails. Most deals I share are usually, one day deals and thus if you are late there'd be no point in sharing it. I know I can't reach full 100% engagement but at least I can try to get most of what I can right?

Recently, I have been very curious about what content do you like to read most on this website? Also, something which you'd like me to add on or post more of something? It'd be great to know from you all as I can get an idea of what to churn up from my imagination.

I wish I could just tell you outright what's in the plans for the next few weeks but sadly, that'd be just ruining the surprises for you. Although I can surely advise you to read my both books for that. I'd just conclude this here and lets hope for the best.


~*~*~*~


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 blog 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 :

A Golden Chance to Get your work published




Many people keep asking me 'How to get published?' For such enthusiastic people, I have a golden chance for you which you'd want to give it a try. One of my publisher friends has provided with once such opportunity that you'd surely want to give it a try.

Abhisar Garg from InkQuills Publishing House sent me this message which I am posting as it is below. I'll update the details further as I'd receive, until then you can join the group and ask him out yourself.

Also, if you are a published Indian Author or someone who is on the way to get published and wish to connect with other authors do get in touch with me so I can add you in the Whatsapp group.


~*~*~*~


InkQuills Publishing House presents an unpaid anthology for the first time to make it happen a big one.

No Amount to pay...
No Pre-orders to do...

Just Write, Submit, Get selected and Get Published...

For more information, join the WhatsApp Group.

https://chat.whatsapp.com/Jqumh9DJRe63kpPn1Do9qY


~*~*~*~




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 blog 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 :