# Project Showcase

## Nawar Ismail

**Software**

**Python Automation and Device Integration**| 2021 - Active
This project implements a python wrapper around several applications so that they can be automated through services and devices like Google Assistant and StreamDeck. With it, I can easily automate arbitrary python functions. I'm hoping to build the infrastructure to automate more devices and higher level tasks.

**Connect Python**to services and devices.**Easily Integrate Functions**with a couple lines of code.**StreamDeck**is currently supported.**Google Assistant**is also currently supported.**Created Python wrappers**to integrate several applications:

**Mathematical Game Modeling and Optimization**| 2020 - Active
This project uses a high-level mathematical description to model aspects of the game Runescape, with the goal of optimizing player choices. Since the game is so large, a broad range of algorithms and techniques like Dijkstra's shortest path algorithm, search space reduction, and Markov chain analysis must be used to find exact solutions.

**Open Source Project to Optimize Player Choices**to maximize efficiency.**Video Series**discussing the solutions to these problems.**Improved Predictions**using mathematical models that often give exact solutions.**Summarized Existing Knowledge**of game mechanics, in pdf document.**Conducted In-Game Data Collection**to validate & collect 'experimental' data.**Written in:**Latex, Python, Math.

**Genetic Algorithms**| 2015 - 2019
This project makes use of the Genetic Algorithm and Neural Networks to explore the possibility of evolving mechanical creatures to perform tasks of varying complexity. This includes moving away from a starting location, moving towards a specific target, and collecting food.

**Neural Networks**control creature movement**Vision System**identifies different objects and feeds into brain**3D Physics and Graphics**written using OpenGL.**Genetics**model physical components as set of mutable genes**Procedural Terrain**gives creatures varying training environments**Multi-Threaded**to greatly improve algorithm performance**Written in:**C++

**University Course Planner**| 2015 - 2016
This software parses course information from a university website and implements the logic about prerequisites, restrictions, semester offerings and so on, so that you don't have to! You can upload your current transcript and plan all your remaining courses with ease!

**Webscraper**extracts courses from university website**Syntax Parser**to identify and classify: prerequisites, restrictions, etc.**Pleasant GUI**colorfully organizes information**Full-Featured**including instantly extracting courses from unofficial transcript**Cache & Database**makes course information retrieval fast!**Written in:**HTML, CSS, Javascript, PHP, Python. Using Jquery & Bootstrap.

**Multi-Device Multi-Monitor Manager**| 2018-2019
After reaching the

*elite*tier of productivity that comes from using triple monitors, I found that figuring out the input sources and display settings required to, for example, get my MacBook on the left monitor and my desktop on the other two was tedious! I developed a daisy-chaining algorithm to figure out what would be displayed given the inputs, and solved it (as an inverse problem) to get the program to do it automatically for me!**Automatically Updates Input Sources**to display requested devices on desired monitors**Simple JSON**used to model connections and devices**Recursive Daisy-Chaining Algorithm**developed to determine device shown on monitor**Brightness and Contrast Controls**for both individual and global settings**Written in:**Python using Tkinter GUI

**Command Line RPG**| 2015
My first large programming project was a story-based game where the player helped the Wizard Palfore save the world!
I implemented a lot of cool and fun features as this was mostly a learning experience. I added things like fighting, mini-maps, and puzzles all in the command line!

**Help Palfore**the wizard protect the world!**Solve Riddles and Puzzles**to get to the four towers**Fight**your way through enemies**Map**your journey and retrace your steps**Written in:**C

**Fractal Animation**| 2019
An animation of the solution to a math problem I formed in high school but couldn't solve: Take a square, put the biggest circle you can in the center. Put another smaller circle in the corner, then put one in that corner and so on. The question is, what is the radius of the n'th circle? After applying the math knowledge that I gained during my degrees, this was a lot easier! Turns out it is related to tan and sin, hence "trigonometric fractals". I never found the answer involving cos, maybe you can?

**Animation**of different polygons**Ratio of the successive circles**placed in the corner of a polygon**Ratio of the successive circles**placed on the edges of a polygon**Can you find the third fractal?**Ratios related to sin and tan were found, where is cos?**Written in:**Java, Math

**Projects**

**Minecraft Redstone Game**| 2012 - 2014
My first major project was making a Minecraft redstone game which uses the in-game circuits (typically used to open doors and power mine carts). I made the game "Prey and Predator", the classic gym class game where "predators" chase you, while you chase the "prey"! I learned so much about circuits, logic, and design that I think it shaped the way I think to this day!

**Classic Gym Class Game**but built in Redstone circuit logic!**Simple APU & RAM**combined with a random number generator and screen**AI Controlled Predator and Prey**to avoid / target**Super fast!**Okay, you got me, it takes 10 seconds to move one icon

**Simple Physics Problem**| 2017
A relatively simply twist on a first-year physics problem. Projectile motion governs how objects move after being launched, typically in terms of the distance along the ground, and the height in the air of the projectile over time. What happens if we try describing it in terms of an angle above the ground, and a distance along that angle? These are called polar coordinates and its nice to see such a common problem in a novel form.

**Standard First Year Problem**done from a different perspective!**Interesting Insights**comming from geometric interpretations**Coordinate Conversion**from Cartesian to Polar