Project Showcase

Nawar Ismail


Coding

Pybiosis

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.



OSRS Math

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.


Evolution Wildfire

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


Trigonometric Polygon Fractals

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


Triple M

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


Guelph Course Planner

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.


Malchove's Maze

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

Mega Desk

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).


Projectile Motion in Polar Coordinates

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


Predator vs Prey

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