# Project Showcase

## Nawar Ismail

**Coding**

**Python Automation and Device Integration**| 2021 - Active
In this project, I automate tasks in M.S. Windows by integrating python into services and devices like
Google Assistant and
StreamDeck. I created python wrappers
for M.S. Windows applications so that my google assistant and stream deck can control my monitors, automate
work functions, and set-up games. Now, I can easily integrate python functions into existing devices.

**Connect Python**to services and devices.**Easily Integrate Functions**with a couple lines of code.**StreamDeck**launches custom python functions with a button.**Google Assistant**launches custom python functions with a voice command.**Created Python wrappers**to integrate several applications:

**Mathematical Game Modeling and Player Decision 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 and Neural Networks**| 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++

**Fractal Animations in Java**| 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?

**Animations**for 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

**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

**Degree Planning Software**| 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.

**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

**Other**

**Productivity Work Station**| 2015 - Active
As a programmer, I spend a lot of time at my desk (especially during COVID) and I want to work efficiently (plus I just like tech)!
I started working with just a laptop, but over the years I've upgraded my arsenal to be a full fledged battle station.
I've built my own desktop computer, got some standing legs, a split keyboard, a stream deck, and more.

**Custom Built PC**rocking an AMD 3800x and Nvidia RTX 2070 Super**Standing Desk Legs**to alternate between standing and sitting**Split Keyboard**for maximum ergonomics**Stream Deck**to simplify tasks (see the Pybiosis project).

**Simple Physics Problem Revisited**| 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**coming from geometric interpretations**Coordinate Conversion**from Cartesian to Polar

**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 Computer Logic**like calculators, memory, random number generators and displays!**AI Controlled Predator and Prey**to avoid / target**Super fast!**Okay, you got me, it takes 10 seconds to move one icon