AppSim Documentation

If you're here, then you've probably downloaded my application simulation program. This is a command line utility developed with the python programming language that I made to accompany an essay I wrote for a college class, which can be found Here The program demonstrates why technology is not as great as we think it is by showing you the processes of some of the apps we use on a daily basis, as well as the way artificial intelligence handles user input sometimes. I recommend reading the essay and following along by typing any of the below commands to augment my reasoning.

Available Commands

Appsim has a few commands you can type to access various modules of its demonstration capabilities. If you need a refference, you can type help at any time from the main console. Other actions are listed here.

Stuff You Should Know

Messages

As some of the messages that are output to the screen to show processing steps can disappear somewhat quickly, I have listed them all here. I did atempt to fix this in code by adding a slight delay between each print command, but if text is still scrolling too fast for you to read it, you can view each module's output below.

AI

AI Output

Posting To social media

Ok, great. Thanks for letting us know how you're doing. Before you're heartfelt words go out on the web, they have to be scanned for malicious or overly derogatory language. Please wait as we sensor you without your permission.

analyzing your post.

indexing words.

matching words to predefined dictionary of unexceptable terms.

Searching for abusive language...

Found issue. Adding to moderation cue...

Man, computers are terrible at understanding context. Your post looked fine to me. Ahh well, there's a reason it's called artificial intelligence.

Signing Into Your Company's Web Portal For Online Work

Signing You In.

Login requested from (ip) at (time)

Verifying username...

Verification successful.

verifying password...

verification successful.

Checking for fraud...

username and password -- no fraud, matches database.

Human login -- no fraud, matches browser headers.

Location -- unusual event. Unrecognized IP Address.

logging error...

Appending error to log. Error: Unusual sign-in untrusted IP. This login has been blocked because it was requested from (ip) instead of 104.273.1.46

Support Chatbot

Well, I guess you'll have to try using the AI powered chat feature to see what it can do for you. Redirecting you now.

Live Chat Support

Thank you for chatting. We're glad we could help. You will now be redirected to the password reset page.

analyzing problem description...

Found matching terms: account

scanning database for associated actions...

Found one associated action. reset

Facebook

Facebook Output

Initialization

installing Facebook Pixel

acquiring biometric info...

Post Processing

gathering data...

You posted on our platform at (time)

Your operating system was (OS)

Your battery level was (battery level)

your mac address is (mac)

Your IP address was (ip)

You did not attach a photo to this post, so location data will be obtained from your computer.

Logging...

Google

Google Output

Signing In

Signing in...

posting request...

searching database for (email)

found. Logging sign-in...

successfully signed in.

Searching

searching for (Search Terms)

analyzing search

matching keywords...

your IP address is (ip) returning location-based search...

matching IP data

analyzing account profile

Matching...

Search done.

Program Source

If you don't trust that appsim is just that, an application simulator, you can view its source code below. All messages are predefined text that is printed to the screen, not generated by functions and processes actually doing anything.

View Source from getmac import get_mac_address as gma import psutil from win10toast import ToastNotifier import platform from exif import Image import datetime from time import sleep import webbrowser import socket import tkinter as tk from tkinter import filedialog from tkinter import messagebox from sys import exit import re winver = platform.platform() if "10" not in winver: print("Sorry, you must be running windows 10 to use this application.") sleep(2) sys.exit def image(): print("How much data can you really get from an image file? Import one and find out!") while True: root = tk.Tk() root.withdraw() imagepath = filedialog.askopenfilename() if "jpg" not in imagepath: print("Sorry, you have to select files of type .jpg") else: break input("press enter to continue") print("reading image...") try: with open(imagepath, 'rb') as image_file: my_image = Image(image_file) print(dir(my_image)) except valueError: error = input("error: No tags found. \n There seems to have been a problem processing your image. \n If you'd like, you can find an online variant of this module at \n http://metapicz.com \n Wanna go there? \n y/n") if error == 'y': webbrowser.open("http://metapicz.com/") else: print("Ok, gotcha. Exiting the image module...") sleep(2) def google(): input("want to find out what really happens when you perform a Google Search? Press enter to continue!") print("please sign in to your Google account. This data is not saved.") while True: email = input("Email Address:") if "@gmail.com" not in email: print("please enter a valid gmail address.") else: break while True: password = input("password:") if len(password) < 8: print("Please enter a valid eight character password.") else: break print("Signing in...") sleep(1) print("posting request...") print("searching database for",email,"...") sleep(0.7) print("found. Logging sign-in...") sleep(0.9) print("successfully signed in.") while True: gqw = input("Search Google:") if len(gqw) < 1: print("Please enter a search term") else: break print("searching for",gqw) print("analyzing search") print("matching keywords...") host = socket.gethostbyname(socket.gethostname()) ip = socket.gethostbyname(host) print("your IP address is",ip,"returning location-based search...") sleep(1.8) print("matching IP data") print("analyzing account profile...") sleep(1) print("matching...") sleep(2) print("search done") sleep(1) gqw = gqw.replace(" ", "+") link = "https://www.google.com/search?q=" googlelink = link + gqw webbrowser.open(googlelink) def facebook(): print("Sign into facebook") while True: email = input("email address:") if len(email) < 2 and "@" not in email: print("please enter a valid email address") else: break input("password") print("installing Facebook Pixel...") sleep(2) print("acquiring biometric info...") sleep(1) if not tk._default_root: root = tk.Tk() root.withdraw() messagebox.showinfo("Alert", "appsim/Facebook is using your location, your contacts, and your webcam/microphone.") sleep(2) while True: command = input("facebook>>> What do you want to do? For a list of commands, type help") if command == "post": input("What's on your mind?") input("enter friends to tag (Leave blank for none)") input("Choose privacy: Friends \n Who can see your post? \n Type one of these to change or leave blank for default. \n Public -- anyone on or off facebook \n Friends -- this post will show up on your friend's timelines. \n Friends except -- choose friends who won't see this post.") input("press enter to post (will not actually post to your account)") print("gathering data...") sleep(4) now = datetime.datetime.now() winver = platform.platform() battery = psutil.sensors_battery() percent = battery.percent mac = gma() host = socket.gethostbyname(socket.gethostname()) ip = socket.gethostbyname(host) print("You posted on our platform at",now) sleep(1) print("Your operating system was",winver) sleep(1) print("Your battery level was",percent) sleep(1) print("your mac address is",mac) sleep(1) print("Your IP address was",ip) sleep(1) print("You did not attach a photo to this post, so location data will be obtained from your computer") sleep(3) print("logging...") sleep(2) toaster = ToastNotifier() toaster.show_toast("Unauthorized Access","Windows has detected that an app running on your pc has used your location without permission.") toaster.show_toast("Unauthorized Access","Windows has detected that an app running on your pc has used your webcam without permission.") elif command == "help": print("Post -- simulate posting to Facebook \n Exit -- quit Facebook simulation.") elif command == "exit": return else: print("Command not recognized") def ai(): input("Welcome to a typical day in AI. Press enter to continue.") input("So, it's just another day in quarantine and you're pretty bored. \n There isn't much for you to do, really, so you sit down and open up your favorite social media site and bang out a post. \n Go ahead, type it out. The world is here for you.") print("Ok, great. Thanks for letting us know how you're doing. \n Before you're heartfelt words go out on the web, they have to be scanned for malicious or overly derogatory language. \n Please wait as we sensor you without your permission.") choice = input("View AI? y/n") if choice == 'y': print("analyzing your post.") print("indexing words.") print("matching words to predefined dictionary of unexceptable terms.") print("Searching for abusive language...") sleep(0.9) print("Found issue. Adding to moderation cue...") sleep(1) else: print("Ok, pretending that computers are magical...") sleep(1) if not tk._default_root: root = tk.Tk() root.withdraw() messagebox.showinfo("Alert", "We're sorry, but your post seems to contain derogatory or abusive language that violates our terms of service and/or privacy policy. \n It is now pending moderation and will most likely be approved shortly. \n We appologize and thank you for your understanding.") input("press enter to continue") print("Man, computers are terrible at understanding context. \n . Your post looked fine to me. \n Ahh well, there's a reason it's called artificial intelligence.") sleep(4) input("Well, it's about time to get to work. \n You can still complete your job remotely, so better get going. \n Signing in to your company's webb portal would be a great place to start. \n Press enter to continue.") input("your username:") input("Your Password:") print("Signing You In.") choice2 = input("View AI? y/n") if choice2 == 'y': host = socket.gethostbyname(socket.gethostname()) ip = socket.gethostbyname(host) now = datetime.datetime.now() print("Login requested from",ip,"at",now) sleep(1) print("Verifying username...") sleep(1) print("Verification successful.") print("verifying password...") sleep(1) print("verification successful.") print("Checking for fraud...") sleep(2) print("username and password -- no fraud.") print("Human login -- no fraud.") sleep(2) print("Location -- unusual event. \n Unrecognized IP Address.") print("logging error...") sleep(1) print("Appending error to log. \n Error: Unusual sign-in untrusted IP. \n This login has been blocked because it was requested from",ip,"instead of 104.273.1.46") else: print("OK, accepting that AI is magical") sleep(3) if not tk._default_root: root = tk.Tk() root.withdraw() messagebox.showinfo("Access Denied", "Your sign-in attempt has been blocked. You're login looks suspicious. As such, your account has been locked until further notice. If you have any questions, you can reach out to us with the chat feature at the bottom of this page.") input("Press enter to continue") input("That's ridiculous. \n You can't sign in to your company portal because you're doing it from home and not work. \n What a stupid computer system. \n Press enter to continue.") print("well, I guess you'll have to try using the AI powered chat feature to see what it can do for you. Redirecting you now.") sleep(2) print("Live Chat Support.") sleep(1) while True: help = input("How can we help you? Please describe your issue in a few short sentences...") if "account" not in help: print("We're sorry, but that doesn't seem to be something we can diagnose. \n Try describing your problem again. \n It may help to simplify your issue discription.") else: break while True: action = input("Ok. It looks like you're having some trouble signing in to your account. \n Based on your response, here are some actions that may be useful to you. \n reset -- reset your account password. \n Please enter an action to proceed") if "reset" not in action: print("Sorry, that's not a listed action") else: break print("Thank you for chatting. We're glad we could help. \n You will now be redirected to the password reset page.") sleep(2) while True: choice3 = input("Wow. \n What a big help that was, right? \n View AI? y/n") if choice3 == 'y': print("analyzing problem description...") sleep(2) print("Found matching terms: account") print("scanning database for associated actions...") sleep(1) print("Found one associated action. \n reset") break else: print("ok, continuing.") input("What? \n All that bot does is scan your message for keywords and then find you support pages based on those? \n Man that's dumb. \n You litterally can't even talk to a human because of how bad this thing is at problem solving. \n Press enter to continue.") input("Fed up with the uselessness of AI, you frustratingly decide to shut down your computer. \n It's just not worth dealing with. \n I mean first, a machine blocked your social media post because it can't understand english. \n Next, a computer blocked your sign in attempt because it wasn't smart enough to realize that people need to work from home sometimes. \n Then a chatbot denies you access to IT so you can get your account unbanned. \n Seriously, what kind of virtual support agent scans a database for actions and doesn't even try to analyze your problem? \n AI sucks, man. \n Press enter to continue.") def main(): command = input("Appsim >>> What Do you want to do?") if command == "help": input("Command list: \n about -- information about this program. \n AI -- demonstration of AI in your daily life \n documentation -- shows you online documentation for appsim \n exit -- closes the program \n facebook -- demonstrates what really happens when you do things on facebook \n google -- Shows the things going on behind your google search \n picture -- shows you all the information you can get from a jpg file these days. \n press enter to continue") elif command == "picture": image() elif command == "google": google() elif command == "facebook": facebook() elif command == "ai": ai() elif command == 'exit': exit() elif command == "about": print("Appsim: a small application to demonstrate the BHS of computers. \n Developed by Mason Tilley. \n Created as a companion to an essay which can be found at: \n https://school.that-domain.com/essay4.html") choice = input("wanna go to that address now?") if choice == 'y': webbrowser.open("https://school.that-domain.com/essay4.html") else: print("ok good.") elif command == "documentation": webbrowser.open("https://school.that-domain.com/appsimdocs.html") else: print("Command not recognized. For a list of actions, type help.") while True: main()
or Download It Here