Omar Shehata

Creative projects

Entwined JavaScript port

Entwined is an art installation in Golden Gate Park. It is ~2000 LED cubes that are programmed to light up in fun patterns. Anyone can write a pattern in Java/Processing and submit it to the installation.

I made an experimental JavaScript port of the software just to make it a little more accessible to create these patterns. I also made my own "fairy snakes" pattern.

Visualizing the solar analemma

An analemma is the shape the sun makes when you take a picture of it every day, at the same time and at the same location, for a year.

This is a project to visualize what that would look like from any point on Earth.

Good morning & good night tweets visualized on a globe

Every time anyone in the world tweets "Good morning" or "Good night" in any language, this app picks it up and plots the tweet on the map.

This project was originally created by Katherine Yang. I ported it to a 3D globe to show a day/night cycles and add a timeline. See a timelapse of 16,000 tweets after running it overnight.

Cync

A cyclic drum machine for experimenting with non-quantized grooves.

This was a class project. We were studying non-western musical traditions which were often thought of as cyclic patterns as opposed notes on a linear scale.

Read more about it.

4D Geometry Viewer

This was my senior capstone project. It's a WebGL based viewer to help students develop an intuition for 4 spatial dimensional geometry. I gave a !!Con talk on it.

It was designed to teach an Introduction to 4D Geometry class for non-math majors. It allows you to input objects as cartesian equations or a set of points defining a convex hull, and then see it projected down into 3D in addition to being able to take 3D slices of the 4D object.

It was a lot of fun to make this and learn about how our perception of a 3D world largely happens in our brains, not in our eyes. So there's no reason we can't learn to see 4D as well.

Atomic Tracer

An Atom plugin for tracing variables inline.

It was an effort to teach systematic debugging. I noticed many beginning students spent a lot of time staring at broken code. Often just asking them "What do you think the values of each variable in this line are?" and confirming those guesses was enough to solve their problem.

Airena

Pronounced eye-reen-a, as in, A.I arena.

This was a multiplayer game that won 1st place at CarlHacks. It's a space shooter where you write bots on the fly to battle each other. My initial goal was to make the process of writing great code more transparent. The audience would watch as the players designed and tweaked their algorithms in real time.

My second goal was to create a fun sandbox for thinking about AI that encourages playing the game, reflecting on your own thought patterns, and trying to write down those thoughts as code. The player can seamlessly switch between the AI bot and the human input mid-game.

A consequence of this fluid play is the ability to play as a unified augmented intelligence, for example, letting the bot handle precise aiming while you use your strategic judgment to decide when to shoot.