Nabih Estefan Diaz

Olin College of Engineering · estef-remove-an.nabih@gmail.com

Scan for resume

Scannable QR code with resume link

Skills

Coding
  • Kotlin
  • Java
  • Python
  • C
  • MatLab
  • Arduino
  • HTML
  • CSS3
  • JavaScript
  • R
  • OCaml
Operation Systems
  • GLinux
  • Linux
  • MacOS
  • Windows
Other Tools
  • Arduino
  • Raspberry Pi
  • Latex
  • Circuit Design
  • Computer Architecture
  • Verilog
  • Data Science
Languages
  • Spanish: Native
  • English: Fluent
  • Portuguese: Intermediate

Checkmatr: A Custom Chess Engine

Chess has simple rules, but the game space is extremely large. With the strength of our current computers, we aren't even close to solving the game of chess by brute force. As a fallback, engines use a heuristic to try to find the best moves for a given player, which basically traverses a 'game tree' (tree of possible moves for both players) and quantitatively evaluates the resulting position. This project primarily focuses on how to efficiently traverse such a game tree and create an effective heuristic to maximize the strength of a chess engine. With my partner Andrew Mascillaro, we created a custom chess engine. To test the engine's strength, we have scripts that allow the engine to play agains humans or Stockfish (a top open source chess engine) at different rating levels. Our engine outperformed our expectations, and has won games against the 2400 rated Stockfish engine, which basically means this engine is strong enough to be a titled player in the chess world.

Project Link

Olin Planetary Rover

For the final Fundamentals of Robotics project, our team (Isabella Abilheira, Chris Allum, Olivia Jo Bradley, Oscar De La Garza,Nabih Estefan, Maya Sivanandan) was tasked with creating a rover that could complete several missions in The O, the center courtyard of Olin’s campus. The three main challenges were: Navigation of unobstructed terrain, Docking in a supply station, and Delivering a payload to a drop box. Besides this, our team decided to try and do 3 extra stretch goals: Navigate through stationary obstacles, park within the medium box of the supply station, and deliver our payload to a specific dropbox using April tags (with a possible one being finding payloads around the O and picking those up for extra deliveries). Of these, we were able to complete the first two during our demo, with the two payload stretch goals not being tried since the payload rules we’re re-instated halfway through the development of the project, and stretching ourselves to complete these seemed unnecessary.

Project Link

Terminal Chess

For our first project in our Software Systems class, me and my partner (Oscar De La Garza) developed a set of executable C files that can be used to set up a server for two clients to play chess. The server is run from the terminal of one computer and the two clients can connect by running the client script. These clients then take turns playing a chess game, which is all taken care of by the server. The only restriction to the game is that the clients and server have to be on the same Wi-Fi, and the clients need to know the server's IP address, if these are met, the connection between the server and the clients will work as expected.

Project Link

Self-Balancing Rocky Robot

For the final project of Engineering Systems Analysis (ESA) I programmed (with Olivia Jo Bradley) a Balboa U324 robot (which we called Rocky) to self-balance. This project was centered mostly around the logic and calculations behind transfer functions, and how these can be used for feedback loops with PI control, simulating the robot as an inverted pendulum, and having Rocky react to changes in its position to stabilize.

Project Link

CPU Components in Minecraft: 8-bit ALU

Throughout the semester in our Computer Architecture class, we learned how different logic gates are used to create different components of a CPU, eventually leading up to us building a full Single-Cycle CPU (which you can see in another project). For our final project, Oscar De La Garza and I decided to recreate one of these very important components from a CPU in a different platform than the ones we had used previously: Minecraft.

Project Link

Single Cycle CPU in Verilog

Throughout the semester of Computer Architecture we started with Binary logic and built our knowledge all the way to how different components of a CPU are built from logic gates. This last Lab was centered around me and Oscar De La Garza creating a Single Cycle CPU in Verilog. We built the CPU with branches, jumps, loads, stores, and so many other functions for our ALU.

Project Link

Medieval Quest: An Adventure Game

For the final project for our Software Design class, Oscar De La Garza and I decided to create an Adventure Game in the style of the original The Legend Of Zelda. We created this game using Python's PyGame library, developing different enemies, characters, screens, and mechanics that are used on different goals throughout the game.You can see in more detail the Sprites and mechanics we developed for Medieval Quest in our project webpage below.

Project Link

Dum-E: a 2x2x2 Rubik's Cube Solver

Olivia Jo Bradley, Maya Sivanandan, Florian Schwarzinger, and I participated in the MakeHarvard 2020 Make-a-thon. We decided to create, in our 24 hours, an automatic 2x2x2 Rubiks Cube solver. The difference between this and a normal Rubik's cube solver is the fact that a 2x2x2 Rubik's cube cant be held by the center pieces to turn the sides of the cube the way Rubik's cubes are normally are held, meaning it has to be free to twist and turn while it's being solved. We designed the structure during the start of our Make-a-thon and while Olivia Jo and Maya built it, I created the code that told our machine (which we called Dum-E as a callback to Iron Man) how to scan the cube and create a string that represented its state. Then, this string would be sent to a script that Florian created, which returned another string that signified the set of steps needed to solve it, which my code would decode and tell Dum-E how to perform.
We won the MakeHarvard 2020 Original Prize.

Project Link

Wait! There's more..

See all Creations for more examples!

Experience

SWE Intern

Google - AndroidX Team

Upcoming Role

May 2022 - August 2022

STEP Intern

Google - AndroidX Team

Designed, planned development, and deployed internal tool used in Android API Change reviewing. Developed Java and Kotlin functions for communication with back-end and processing the data received and tests for these functions. Also developed front end for tool interaction. Expected reduction in API Reviewing of 20 SWE/EM hours per week

May 2021 - August 2021

IT Student Worker

Olin College of Engineering

Man the IT Help Desk during the week to help students with software and hardware problems in their computers. Fix computer, network, and general tech problems all throughout the college. Train new student workers to help the IT department and help new students set up their laptops.

January 2020 - Present

Electrical & Computer Engineering Member

Olin Electric Motorsports - Formula SAE

Worked on multiple projects like designing, populating and coding PCBs for Battery Voltage Management and RF communication with the running Car. Also worked on interface for a HitL (Hardware-in-the-Loop) system for testing the car’s electrical system.

August 2019 - October 2021

Member of the Board of Directors

SEDI Solutions

SEDI is a software development company based in Colombia focused on solutions for the self-storage industry. As part of the board of directors, helping guide the company to the goals we seek to achieve.

November 2019 - Present

Founding Member

The Multicultural Innovators eXperience (The MIX)

The MIX houses Olin’s NSBE and SHPE Chapters. Resource for students of underrepresented groups to explore their identity and be able to form part in communities of people from similar backgrounds.

September 2019 - Present

Research Assistant

Olin College of Engineering

IWorked as a Research Assistant in Aquaculture research. Learned about the Aquaculture community, testing and designing sensors for different measurements to help in keeping farms.

June 2020 - August 2020

Software Development Intern

GOAMA Games

“The Netflix of Games”. Goama Inc. is a startup in Myanmar where and android app is being developed to let users play games on their mobile phones on a monthly subscription. Worked on the Web Development and User Data Parsing, understanding users and developing and interface.

June 2018 - August 2018

Blogger at Large

TECHcetera

One of the largest technology blog in Colombia, have helped write articles since 2012 about software and hardware reviews, tech speculations, and tech news. It is read nationwide, but out biggest base of users is in Mexico and the U.S.

2012 - Present

Education

Olin College of Engineering

Bachelor of Engineering
Electrical & Computer Engineering - 3.95/4.0 GPA

Recipient of a 50%, 4-year, Merit Scholarship

2019 - 2023

Colegio Los Nogales

High School Diploma

2004 - 2019
Nifty tech tag lists from Wouter Beeftink