Adding Cyclic Redundancy Check Algorithm
diff --git a/CRC/crc.py b/CRC/crc.py
new file mode 100644
index 0000000000..27e6cc6f0e
--- /dev/null
+++ b/CRC/crc.py
@@ -0,0 +1,49 @@
+def crc_check(data,div):
+    l=len(div)
+    ct=0
+    data=[int(i) for i in data]
+    div=[int(i) for i in div]
+    zero=[0 for i in range(l)]
+    temp_data=[data[i] for i in range(l)]
+    result=[]
+    for j in range(len(data)-len(div)+1):
+        print("Temp_dividend",temp_data)  
+        msb=temp_data[0]
+        if msb==0:
+            result.append(0)
+            for i in range(l-1,-1,-1):
+                temp_data[i]=temp_data[i] ^ zero[i]
+        else:
+            result.append(1)
+            for i in range(l-1,-1,-1):
+                temp_data[i]=temp_data[i] ^ div[i]
+        temp_data.pop(0)
+        if (l+j<len(data)):
+            temp_data.append(data[l+j])
+    crc=temp_data
+    print("Quotient: ",result,"remainder",crc)
+    return crc
+
+while 1>0:
+    print("Enter data: ")
+    data=input()
+    print("Enter divisor")
+    div=input()
+    original_data=data
+    data=data+("0"*(len(div)-1))
+    crc=crc_check(data,div)
+    crc_str=""
+    for i in range(len(crc)):
+        crc_str+=str(crc[i])
+    print("Sent data: ",original_data+crc_str)
+    sent_data=original_data+crc_str
+    print("If again applying CRC algorithm, the remainder/CRC must be zero if errorless.")
+    crc=crc_check(sent_data,div)
+    remainder=crc
+    print("Receiver side remainder: ",remainder)
+    print("Continue [Y/N]:")
+    ch=input()
+    if ch=='N' or ch=='n':
+        break
+    else:
+        continue
diff --git a/Classification_human_orr_horse.py b/Classification_human_orr_horse.py
new file mode 100644
index 0000000000..b4844b1d87
--- /dev/null
+++ b/Classification_human_orr_horse.py
@@ -0,0 +1,46 @@
+import tensorflow as tf
+from tensorflow import keras
+import pickle
+model=tf.keras.models.Sequential([tf.keras.layers.Conv2D(16,(3,3),activation='relu',input_shape=(200,200,3)),
+                                  tf.keras.layers.MaxPooling2D(2,2),
+                                  tf.keras.layers.Conv2D(16,(3,3),activation='relu'),
+                                  tf.keras.layers.MaxPooling2D(2,2),
+                                  tf.keras.layers.Conv2D(16,(3,3),activation='relu'),
+                                  tf.keras.layers.MaxPooling2D(2,2),
+                                  tf.keras.layers.Flatten(),
+                                  tf.keras.layers.Dense(512,activation='relu'),
+                                  tf.keras.layers.Dense(1,activation="sigmoid")
+                                  ])
+model.summary()
+from tensorflow.keras.optimizers import RMSprop
+model.compile(optimizer=RMSprop(lr=0.001),loss='binary_crossentropy',metrics=['acc'])
+from tensorflow.keras.preprocessing.image import ImageDataGenerator
+train_datagen=ImageDataGenerator(rescale=1/255)
+train_generator=train_datagen.flow_from_directory('E:/ARYAN/Desktop/python_tensorflow/Classification_human-or-horse',
+                                                  target_size=(200,200),
+                                                  batch_size=222,
+                                                  class_mode='binary')
+model.fit_generator(train_generator,steps_per_epoch=6,epochs=1,verbose=1)
+filename="myTf1.sav"
+pickle.dump(model,open(filename,'wb'))
+
+from tkinter import Tk
+from tkinter.filedialog import askopenfilename
+from keras.preprocessing import image
+import numpy as np
+import cv2
+
+Tk().withdraw() 
+filename = askopenfilename() 
+print(filename)
+img = image.load_img(filename, target_size=(200, 200))
+x = image.img_to_array(img)
+x = np.expand_dims(x, axis=0)
+images = np.vstack([x])
+classes = model.predict(images, batch_size=10)
+print(classes[0])
+if classes[0]>0.5:
+    print(filename + " is a human")
+else:
+    print(filename + " is a horse")
+
diff --git a/alexa_news_headlines.py b/alexa_news_headlines.py
new file mode 100644
index 0000000000..2d7f9638f0
--- /dev/null
+++ b/alexa_news_headlines.py
@@ -0,0 +1,45 @@
+from flask import Flask
+from flask_ask import Ask, question, statement, session
+import unidecode
+import json
+import requests
+import time
+
+app = Flask(__name__)
+ask = Ask(app,"/reddit_reader")
+
+def get_headlines():
+    user_pass_dict = {'user':'USERNAME', 'passwd': "PASSWORD", 'api_type':'json'}
+    sess = requests.Session()
+    sess.headers.update({'User-Agent':'I am testing Alexa: nobi'})
+    sess.post("https://www.reddit.com/api/login/",data = user_pass_dict)
+    time.sleep(1)
+    url = "https://reddit.com/r/worldnews/.json?limit=10"
+    html = sess.get(url)
+    data = json.loads(html.content.decode("utf-8"))
+    titles = [unidecode.unidecode(listing['data']['title']) for listing in data['data']['children']]
+    titles = '... '.join([i for i in titles])
+    return titles
+
+@app.route("/")
+def homepage():
+    return "hi there!"
+
+@ask.launch
+def start_skill():
+    welcome_message = "Hello there, would you like to hear the news?"
+    return question(welcome_message)
+
+@ask.intent("YesIntent")
+def share_headlines():
+    headlines = get_headlines()
+    headline_msg = "The current world news headlines are {}".format(headlines)
+    return statement(headline_msg)
+
+@ask.intent("NooIntent")
+def no_intent():
+    bye_text = "I am not sure why you then turned me on. Anyways, bye for now!"
+    return statement(bye_text)
+
+if __name__ == "__main__":
+    app.run(port=8000,debug=True)
diff --git a/news_intent_schema.json b/news_intent_schema.json
new file mode 100644
index 0000000000..527c707bb7
--- /dev/null
+++ b/news_intent_schema.json
@@ -0,0 +1,51 @@
+{
+    "interactionModel": {
+        "languageModel": {
+            "invocationName": "reddit news",
+            "intents": [
+                {
+                    "name": "AMAZON.CancelIntent",
+                    "samples": []
+                },
+                {
+                    "name": "AMAZON.HelpIntent",
+                    "samples": []
+                },
+                {
+                    "name": "AMAZON.StopIntent",
+                    "samples": []
+                },
+                {
+                    "name": "AMAZON.NavigateHomeIntent",
+                    "samples": []
+                },
+                {
+                    "name": "YesIntent",
+                    "slots": [],
+                    "samples": [
+                        "start",
+                        "sure",
+                        "yes"
+                    ]
+                },
+                {
+                    "name": "NooIntent",
+                    "slots": [],
+                    "samples": [
+                        "go away",
+                        "no"
+                    ]
+                },
+                {
+                    "name": "AMAZON.FallbackIntent",
+                    "samples": []
+                },
+                {
+                    "name": "AMAZON.NoIntent",
+                    "samples": []
+                }
+            ],
+            "types": []
+        }
+    }
+}
