Own Time Clock

You know in the past some people set their clock 10 minutes early so that they are not late for things? Well, the issue with that is they are fully aware that the clock is 10 minutes early. At the end of the day, they will still be late for things.

The issue is that people will still know precisely how early their clock is. To combat this, I am making an “Own Time Clock”. The idea is that the clock will always be between 0 to 10 minutes early. Every 13 minutes, the clock will decide how early it wants to be compared to the reference time. This way, the person reading the clock will have no idea how early it is, therefore ensuring some level of earliness.

The clock will be controlled by a knob (rotary encoder) on the back. A push in the knob will change the mode, and the rotation of it will adjust the value of the hour, minute, and second on the clock.

Circuit diagram
View from the back
View from the front
From the side

Arduino code
Panel illustrator file

WiFi Connected Online Game Controller

This week I am making a physical wifi-enabled controller for an online game called Ball Drop. I will be using an Arduino-Nano-IoT-33 for this since it has an already built-in wifi shield. To actually play the game, I will be using a 4-way joystick to control the game, and one push button with a built-in LED as the connect/disconnect button and an indicator light.

The indicator light will show one of four states:
1. Off – This means that the controller is off.
2. Slow blink – This means that the controller is on, but is not connected to WiFi.
3. Fast blink – This means that the controller is connected to WiFi, but not connected to the game server.
4. On – This means that the controller is connected to the game.

The connect/disconnect button will be used to connect and disconnect to the game server.

System Diagram
Circuit Diagram

During the creation of this controller, I borrowed heavily from the WiFi Nina example code. The full source code for this controller is available here.

Below are some photos of the controller. I used a ready-made plastic box for the enclosure with some rubber feet at the bottom, I think it adds a nice touch.

And this is a demo of the controller in action!

I am very happy with how the controller turned out. I do enjoy the transparent case, even though I do admit that I can do a better job of organizing the wires.

The Long Walk

When I first moved into the city, I lived in an apartment that was very far from the subway. It took me almost 20 minutes just to reach the subway on foot. Thankfully the apartment was month-to-month, so not long after I that, found another apartment (my current one) that is much closer. Let’s just say if I try hard enough, I can practically spit to the subway. It’s super close.

Oddly enough, when getting out of the apartment in the morning, more often than not, I find myself walking past the closest subway stop, and take the subway from the next stop 11 blocks away. Apparently, I liked the exercise and the morning breeze.

I used to hate the long walk in the morning only because it was something that I was required to do. The illusion of choice made all the difference.

Animation: Dinosaur Party

Rae, Nick, and I had this idea to create a 360 experience. We wanted to simulate what it would be like if dinosaurs were to have a house party.

We started by shooting a 360 video using the Ricoh THETA V. Unfortunately we encountered some issues during shooting. The tripod that we have was stuck in an angled position.

Tripod stuck on an angled position

Luckily, we were quick to adapt and used a kitcher towel roll as a stand to hold the camera. Thankfully, it worked well.

After we shot the background video, we started working on animating the assets that we have. Previously, we had bought assets in the form of PNG images of dinosaurs. We then used the puppet tool to animate it, making them dance.

Animating the assets and putting them in the background video

After animating, we used the Ricoh THETA app to inject 360 metadata so that it will be viewable on youtube. We then uploaded it to youtube and voila! The result can be viewed below.

Halal Vision

Throughout the years, Indonesia has been an inclusive melting pot of different cultures, religions, and ideologies. Indonesia currently holds the rank of the largest Muslim population in the world. What is so interesting to me, is that Islam came to Indonesia not by war, but by trade. The people of Indonesia are people of inclusivity and open-mindedness. Or at least they were.

Starting during the mid-2000s (with the help of the internet) fundamental Islamic conservationism is on the rise. This culminates in the 212 Movement, a large-scale demonstration against Ahok, Jakarta’s first non-muslim governor ever since the country’s independence, who had been accused as a suspect in a blasphemy case.

There’s also this whole thing with the 2014 elections, the 2019 elections, and the 2019 Revision of Criminal Code Bill, but I’m not gonna get into that for now

Since then, Islamic conservationism have become more and more mainstream. Public television is now heavily censored. The image below is a screenshot of the live coverage of the Miss Universe pageant show. It’s going semi-viral on Twitter.

Censorship on the 2019 Miss Universe Pageant

This is one of my biggest fears: Censorship

We’re seeing it happen in many other countries including China and Saudi Arabia. I am very fearful that Indonesia is next.

So, I thought, what’s the best way to face your biggest fear? Make an AR app that turns it into a reality of course!

Recently I made Halal Vision, an augmented reality mobile app that tries to emulate what it would be like to live in a world ridden with religious censorship.

Below is a demo of the app:

With this app, I try to emulate a world where things that are not in accordance with Islamic law are censored, such as pork, alcohol, homosexuality, and revealing clothing.

Definition Of Technology

For my final project, I was inspired by gamedefinitions.com.

I am creating a definition generator for the word “technology” with the aid of Rita‘s Grammar feature.

My aim is to create definitions that are whimsical but also serious at the same time. I started off with regular dictionary-based definitions and then branching off by adding my own fillers wherever I see fit.

The work in progress can be seen below. It currently lives in this repository.

For the next week, I plan to re-style the website into something that more closely resembles a dictionary.

Animation: Work Bitch

A few weeks ago, I had the pleasure of working with Cy and Stacy on a stop motion animation piece.

We brainstormed for a while, spitting out random ideas and things that inspire us. After some time, we found this stop motion video made with post-its to be an idea we can explore on.

Before starting to shoot, we created a rough storyboard to have a general idea of what the piece is going to be. But we specifically leave room for improvisation, because we wanted the piece to reflect our personality.

Post-its used for the shot

After doing a rough storyboard, we started shooting right away. We shot the piece using a Canon 5D MK IV, attached to a laptop running Dragonframe, a stop motion capture and editing software.

After the shoot was wrapped, we edited the video using Adobe Premiere Pro. We added sound effects to make the video more alive. The sound effects were a mix of sounds from freesound.org and our own recorded voices that we distorted to add a comical element.

Finally, the final piece is done and can be viewed below. I hope you find this interesting!

ICM Week 4 – Another Music Visualization

This week I teamed up with Schuyler to create a web music application. The idea is that the user is given a canvas to draw, we will then find a song that correlates to the drawing and play it for them.

The sketch is accessible here. (Though for now, you’ll need to fetch the access token manually, instructions are in the sketch source code).

The way it works is that we use DoodleNet, a machine learning model that can recognize drawings to get a prediction of what the user is drawing. We then use that information to search for a song based on the drawing result using Spotify’s web player and web API.