show and tell for hackers in DC.

Round 31: Temporal Aperture

12 Apr 2016

Here are the Hackpad presentation notes from Round 31: Temporal Aperture.

Harlan Harris

Voting at events with Flic buttons

Harlan Harris, co-founder of Data Science DC, was looking for a convenient way for people to vote on things at a meetup. He decided to create a sort of electronic voting booth using Flic buttons, a project recently funded on indiegogo. These buttons send a message to the owner’s phone, and the Flic phone app comes with a number of default actions that can be performed when a message is received. One of these actions is to pass on the message to If This Then That, and online tool for doing some simple parsing and automation.

He was able to create an IFTTT recipe that adds a row to a Google spreadsheet when one of the Flic buttons is pressed. He then put together a simple website based on the Shiny R web application framework. Long story, but it works!

He set up his Flic buttons at the entrance to WeWork so that people could vote when they came in. The votes were tallied in real time, and were displayed on the projector. Unfortunately Google’s event queue has a delay in it, so the website only updates every few minutes. Also, Harlan would prefer to have some really big, red buttons, as they’d be much more satisfying the press.

Check out his website here:
And the code here:

Jim Webb

Software for empathy

Jim Webb hits the stage again with another hack aimed at altering your senses. He created a Chrome extension that creates a number of simulations to emulate experiences that are not yours.

His extension is written in Javascript, and can be downloaded for free here on the Chrome webstore.

His app works on any webpage on the internet, and features a number of reality-altering experiences you can try:

Blurred Vision: everything just gets a little bit harder to read. Shaky mouse: Makes it really challenging to click small targets. Dyslexia: Makes it challenging to read by pseudorandomly switching some letters. Gender pay gap: Shows all prices as higher to account for the pay gap between men and women. English as a Second Language: Runs the text of a page through translation and back.

Next, he would like to figure out a way to limit the speed at which things load on a webpage, as would be the case if a user had a slow internet connection. He’d also like to have a feature where you can only use the internet for a set period of time with a timer clicking down on the screen somewhere, as would be the case if you were using internet in a public library.

He says he would also like to explore a colorblindness feature, but is not yet sure on how to do it.

Eric Haengel

NASA texted Pluto, and you can too!

NASA launched the New Horizons satellite to Pluto, and it arrived in June 2015. Despite being roughly 7.5 billion kilometers away, the satellite was somehow able to send back lovely high-resolution pictures of Pluto and Charon.

Eric says that this inspired him to learn about wireless communications, which is the process of turning digital information into an analog signal, transmitting it, receiving it, and turning it back into digital information again.

He put together his own wireless communication system with two laptops. One was the transmitter and the other a receiver, and they used sound to transmit information. He sent a secret message using the transmitter laptop, and it appeared on the receiver laptop which was hooked up to the projector (“Hello DC Hack && Tell”).

Apparently, he chose to use sound because he could debug his software by listening to what was coming out of his laptop. The software was written in C++, and involves a lot of heavy math. According to him, the algorithm behind the software is called binary phase shift keying.

Shannon Turner

Using Python to create that glitch aesthetic

Shannon really wanted to explore that glitch aesthetic, and she found a python library that lets you “glitch” and image: jpglitch

But, she didn’t just want to do a couple of glitched images here and there, she wanted to create dozens or even hundreds all at once. So she worked out a shell script using SIPS that does just that.

Check out some of Shannon’s glitched art here

Jessica Garson

Teaching code through Zines

In the past, people used to share code and programming tips through zines, and Jess is bringing it back with her coding zine What’s My Function. The first two editions were put together by hand and had that DIY aesthetic, which is good, but she decided to see if she could make a digital version of the first two editions using InDesign.

Check out the PDF of the first two editions on Jessica’s github:

Travis Hoppe

Imaginary Rotoscopes

Travis likes math, and he likes cool pictures! This month he had an idea for how to combine his two interests.

He used numpy to compute the complex roots of a given polynomial. Complex numbers are basically just two floating point numbers, a real part and an imaginary part, so you can plot them on a 2D image. He did that for a given polynomial, and then he changed the coefficients a little bit and plotted another image, and repeated this process many ties to make a video. The way he did it, the coefficients returned to their original values after some time, so the videos can be played seamlessly on repeat. The final results are pretty mesmerizing!

Check out some more funky videos and the source code at his github here: