show and tell for hackers in DC.

Round 58: Yesterday's Tomorrowland

17 Jul 2018

text copied from the hackpad

Shannon Turner - @svthmc

What’s new with Metro Map Maker

Metro map maker presented originally last year. Today she is presenting improvements to designing the metro map of your dreams!

Initial inspiration was fake transit systems in a WIRED article.

Photoshop? Nah, building websites is way more fun.

Voila! It’s inspired by MS Paint. Draw your map right on the grid. You can even save the image when you’re done. Each map that is saved gets its unique url so that you can save it and share it. People made some really cool maps with it. What now?

Did a database dump of all of the urls, but this was a terrible way of doing things. After making the admin gallery, she noticed very similar maps. Then she made a diff tool to see the differences between the maps. Then she added a tagging system in order to create a metro map maker gallery!

Ben Klemens

Metro-flavored MS-paint!

Ben hacked the emoji keyboard! Proposal to add the emoji symbol for falafel to unicode. The unicode consortium decides which emoji’s to include. He worked with emojination (an agent for emoji) to create the proposal.

Unicode consortium loves …

Since emoji originated in Japan, there is a lot of Japanese food and of course lots of food available in Silicon Valley. BUT, a lot of the world outside of the US loves falafel. Falafel is as popular as croissants in google for text. For searches in arabic, falafel comes up more commonly. It is half as popular as bread, for example.

The coloring of the emoji was also something to think about since the inside of falafel is different in various countries.

You too can submit an emoji to Unicode! About 90 new emojis per year are approved.


#Grant Harper - @grant_emersn

Transform recipes into JSON for use with his Alexa skill Instructions and ingredient amounts are inline. Instead of an array of ingredients, it’s now a JSON object with Apache Lucene can tokenize the text, find the ingredients, and add them into the recipe at the appropriate step. Can then upload the recipe into the session table for Alexa

Samuel Poplovitch

Will it Kill Me?

Samuel and two other students built an app in a sprint that uses AI to process images and discover the presence of possible allergens in food for people with different types of food allergies.

Mobile first, runs through Cloudinary API to storage the image; Clarifai AI to process the image.

Disclaimer: Don’t trust the app, it might kill you! Check each of your food allergies. On a browser you upload an image for processing. Gives analysis of probable ingredients based on the image processed by the AI. If it might kill you, the app tells you what ingredients might be in there. Used Clarifai AI’s food image processing, which is free for use. Stored allergy data as JSON. Cloud Vision could be another option for AI processing.


Jared Nielsen

Sentiment Beat App

Friend is building a Hip-hop corpus of lyrics and running sentiment analysis; access to the API is closed but Jared has access.

VADER is being used for Sentiment Analysis; only returns a positive or negative sentiment.

Bass kicks are negative sentiment / snare hit is positive sentiment.

More overarching negative sentiment with money in the hip-hop corpus. (that’s surprising!)

Songs chosen are ranked by popularity (Billboard score)

Dan Cardy

Playing connect four against an AI; has a difficulty setting.

Can adjust the board width and height and the number that you need to connect.

To teach an AI, you need to create a game tree

Just to calculate the memory for a game of connect four, you’d need about 8 trillion nodes. So instead, you only expand the nodes that are of most interest to you. The difficulty levels correspond roughly to the number of nodes / roughly the number of moves that it can see ahead.

Uses Monte Carlo tree search, you make a new node every time. Runs the game completely to the end just using completely random play and records the win/loss.

This is the same algorithm that AlphaGo used; but they used better-than-random.


Aditya Jain - @whaleandpetunia

338,000 cases of violence against women in India; wanted to build a map that could represent all of the cases.

SVG struggles with 338,000 points; HTML Canvases have a hard time beyond 12,000 points

He didn’t draw a map; what appears on the screen is one point per case of violence against women, it ends up looking very much like a map due to the scale of the problem of violence.

Queries Turf.JS to find whether a point is inside that

Computationally VERY expensive to calculate 338,000 points, and requires lots of calls to Turf.JS to calculate bounding boxes

Uses REGL to plot the points WebGL, and geoJSON

Comprehensive report on crimes against women in the Indian Government’s National Crime Records Bureau (

Don’t read this as a choropleth map, states that are smaller in landmass will appear more dense. This is the first step in what he’s intending as a larger piece.

REGL can do animations – he wanted to aesthetically convey the scale of the problem of violence against women

Links shown:


+National Crime Records Bureau

+Turf JS

+GeoJSON example