show and tell for hackers in DC.

Round 67: Picasso Document Format

16 Apr 2019

Big thanks to WeWork for hosting.

https://www.wework.com/buildings/chinatown–washington-DC

Want to be an official sponsor? Check out

https://dc.hackandtell.org/sponsor.html

Notes copied directly from the hackpad!

Aaron Schumacher

https://planspace.org/aaron/

Last year, I sent thousands of letters encouraging people to vote. Now, I’ve found out whether they voted or not. DID THEY VOTE???

Chose NY Senate 5th District based on a 1,700 person swing.

Election data is free text! That’s kind of a pain!

Who should get letters? Let’s aim it at people who are very unlikely to vote!

Let’s go for the people who did not vote in the last five years.

He also sent them a letter on their birthday, hoping that they would be happy to receive a letter on their birthday and read it.

Did they vote?

Control: 3135, 11% Birthday letter: 1180, 11% Timely letter: 1k, 11% Conclusion: no effect

Charles Lyons

I would like to give a 2-3 minute presentation on the open-source, non-profit apps I am trying to get off the ground. They will let anyone create, print, scan and tabulate a ranked-choice election with just their phone for free. The apps are for non-government elections only, such as a neighborhood civic group or a school class president. I won’t pitch ranked choice voting election reform itself. (Hopefully you’ve heard of it.) My presentation’s goal is to see if anyone is interested in providing some basic programming advice, such as which languages or development environments might be best. I attended the February meetup and so have an idea of the style of presentations expected. Please read a bit at BallotBox.Vote and see the sample screenshot PDF I have posted on the GitHub page. The app is very basic - even the computer vision / ballot scanning part has public tutorials available and several precedents on the app stores in the form of classroom bubble sheet readers for teachers. This presentation may not fit your exact criteria, but …Code for DC turned me down as there was no local connection to a service non-profit, and they recommended Hack and Tell. So please let me hack your hack night for five minutes and present with no hack to tell. Thanks!

https://BallotBox.Vote

https://github.com/BallotBox-Vote

With ranked choice, you can put your choices 1,2,3,4 and after a series of rounds, solves the problem of 3+ candidates creating a winner with less than 50%; reveals consensus.

It’s not easy to use, but if there were software that could make it easy, it would gain additional adoption.

Lower the bar to using ranked choice voters by using it in lower-stakes elections, this will also help to educate people on how ranked choice voting works.

Looking for volunteers to help make this work!

Travis Hoppe @metasemantic

Hiding messages in a ligatures of a font

https://github.com/thoppe/LigaturaObscura

Designers take note of how letters should fit together: these two ffs should go together, and have a line drawn through them. So you can abuse it pretty easily!

It’s a substitution, using just a font!

Defining the ligatures in a font is really, really complicated!

It literally replaces a block of letters with a picture – but you can still copy/paste them!

Chuck Dye

using NLP to discern whether a story is true or fake

Is it possible to tell whether a scary story is true or false?

Looking at two subreddits, /r/nosleep and /r/letsnotmeet Scary, realistic horror stories. Gather the data - gathered > 2500 posts per subreddit, gained more info than just the title and text. Clean - data came out very clean, including. Vectorize - used bag of words vectornizers Model - logistical regression to figure out whether a story was real or fake

Top words were pretty similar

Regular expressions are really hard! Visualizing gridsearch is really hard

Aaron Liu

I created a programming language called Axiom

http://aaronliu.cc/axiom

Created a new programming language to allow you to write clear code.

In Python, performing a web request takes 5 lines of code. In Axiom, it’s one line of code (and built in!)

web.req('http://example.com')

No more package managers! In axiom, you can import code directly from the internet:

import('aaronliu.cc/import')

You can link to C code, compile it to a shared object (or DLL in windows) and import that:

import('asdf.so')

Written in C++ after reading some tutorials about how to write your own language

How to decide what goes into the core language?

Owen Diehl

Proof of concept Kubernetes Operator for Elasticsearch: This is a declarative API for a horizontally distributed database called Elasticsearch. It (attempts to) handle quorum scaling, node draining, etc in an effort to present a low-touch interface to managing a distributed database.

Software operations framework that allows you to pool different resources

Extend the API for kubernetes itself

CoreOS

Stateless services - you can pick them up and move them to another cluster without any problems.

Could I extend the API to allow this to work with ElasticSearch?

On a 3-node cluster, when one node is being spun down, you want to “drain” that node to make sure the data isn’t lost. But the Kubernetes paradigm doesn’t support this well.

Cluster: different roles Quorum: majorities, you don’t want to have one cluster turn in to multiple clusters

What problem does this solve? Kubernetes is not very aware of application scaling. You make a service which watches the API, then figure out how to maintain a quorum for that cluster.