Ranked Choice Voting is our #1 Issue

After the 2016 presidential election, I felt a certain melancholy pervade my thoughts. How can the people I know and love, be so divided against each other? I suddenly lost confidence that everything is going to work out. We just don’t have the right people in place to address the very real and very immediate problems facing our Country. Climate change, nuclear proliferation, job displacement and drug abuse are not issues we have the luxury to fix later. They need to be addressed immediately and with an unprecedented level of urgency.

So I went to work, untangling the knot of problems I see in our democracy. From corruption to inefficiencies, incentive systems to incarceration laws. Like undoing a sailors knot, I realized there was a single thread that needs to be worked out first. This thread is Fair Voting.

Undoing this one prerequisite knot will do more than improve our democracy, it will increase the rate of improvement in our democracy.

Fair Voting will Increase the Rate of Improvement in Our Democracy.

Like a good puzzle, fair voting isn’t one challenge, but a conglomeration of  little ones. I’m appreciative of the people at fairvote.org, who did the hard work of enumerating these challenges and even creating toolkits to empower us to fight for them.

  1. Ranked Choice Voting – When voting, instead of choosing one candidate, rank the options
  2. Fair Representation  – When allocating representatives, instead of winner-takes-all, give a proportion based on votes
  3. Redistricting – address gerrymandering by having a non-partisan group redistrict based on a criteria
  4. National Holiday for Voting – Allow workers to vote without consequence

Ranked Choice Voting

The most powerful way for us to effect change in our government is through voting. When I vote, I want it to count. I want it to matter. When I look at a three party ballot, I know that a vote for the third party is pointless. It may “make a statement” but in practice I may as well abstain.

This has huge ripple effects through our democracy. Since voters are incentivized to ignore third parties, fewer people will even apply for positions. This greatly limits our pool of candidates who run, and makes it nearly impossible to vote for a person who will champion your specific set of issues and values. It also gives great power to incumbent officers, and encourages them to pick more and more radical/polarized platforms to stand on, since voters have no viable moderate voice to choose from. Establishment politics are encouraged because only those who work their way through one of the in-power political parties have a chance to win.

Ranked Choice Voting addresses all of these issues by giving us a more nuanced vote. Voters are asked to rank the candidates they are interested in. This means I could vote for my candidate of choice, without throwing my vote away. By letting us rank the candidates, it gives us a tiny bit more control and a tiny bit more free speech.

For more information on Ranked Choice Voting, I highly suggest reading here: http://www.fairvote.org/rcv#rcvbenefits

Cooperative vs Collaborative

Cooperative sounds good, right?

Life has been humming along; work has stabilized after a period of seismic activity; for all I knew we were doing things right. I could have happily gone on with my life, leading a culture of cooperation within my team, had I not scrolled past this interesting table by John Spencer:

Respect v. Trust

I love this because as I read the left side, it mirrored my thought process of thinking “yea! Cooperation is sweet.” Immediately when I got to the first line of the Collaborative column, I was thinking “Ahh, but this is better!” Without saying anything negative, he shows us that you can run an organization either way, that you need both, but there is a distinction.

Continue reading Cooperative vs Collaborative

Roadmap for Planeshift’s Developer Community

This morning a question blossomed into my head, prompting me to check out an old game named Planeshift. It is an MMORPG that differentiates itself by asking players to roleplay in character and not break the illusion. They’ve developed a deep and colorful backstory – all taking place inside of a hollowed out stalactite! By elevating story-writing and art as equal importance to coding new features, they’ve built a wonderful alternate universe.

I decided that I’d like to come back to this game, which remains exactly as lovable as I remember 6 years ago when I volunteered 3d models, and contribute in a different way. Publicize it, share it, optimize their Customer Acquisition Funnel and build a pipeline of new players into the game. There are a few hurdles for them to overcome first and as a thought process I will list them out here.

Roadmap

Remove Barriers to Contribution:
Think about how quickly someone can go from hearing about the project, to seeing the code, to submitting a change to fix a typo or comment. This should be minutes.

Unfortunately with Planeshift it is weeks. This is problem is compounded by the fact that active development is happening in a private branch that potential contributors don’t even know exist. This is a big no-no for two reasons. First, it makes the project look dead to outsiders, and second it literally prevents first-time contributions.

Continue reading Roadmap for Planeshift’s Developer Community

AWS Loft – Skopenow and Privacy

Code Happy

NYC AWS Pop-up Loft Pitch Event

Yesterday I had the pleasure of visiting Amazons Pop-up loft in SoHo, and listen to five startups pitch their ideas to a crowd of fellow engineers, entrepreneurs and VC investors. Each presentation had something unique to offer and many triggered interest from the crowd, but one of them in particular stood out.

Only one of them made me forget I was standing, forget my surroundings and get lost in the swirl of ideas and possibilities. It was Skopenow, a service which crawls the internet to compile profiles for people. Ultimately generating a report which is someones digital identity. They interestingly avoid the stickypoints of privacy litigation by not storing data themselves and instead aggregating it live from other companies and services.

Continue reading AWS Loft – Skopenow and Privacy

From a Home to Hosting an Art Exhibit

Sunset OverdriveSunset Overdrive

Conception

A small idea can be infectious and grow far beyond its original intent. This happened to me shortly after I moved into a loft on the upper east side. I had this vision of standing on the roof, dragging a paintbrush across canvas while looking out across the city. The house is only a few blocks from the Guggenheim museum and inspiration hangs thick in the summer air.

The small idea was to host a paint-party, where my artistically inclined friends and I could gather and learn from each other. I wanted to mix hobbyists, professionals, students and novices.

I had no idea that my roommates would take this idea with them to the Frieze Art Festival on governors island. That they would meet a curator and infect her with the idea too. That it would grow from a single day of painting to a month long art exhibit, featuring some of the coolest contemporary artwork I’ve ever seen, AND a live painting by Vernon O’Meally.

IMG_20150723_092344423_HDR

Continue reading From a Home to Hosting an Art Exhibit

Announcing Office Hours

This Tuesday I will be hosting my first office hours!

This is an opportunity for anyone in the world to have 15 minutes of time to chat about javascript, web development, or computer science in general.

I will gladly give you my ear, my time, and my best effort to help you figure it out.

There will be four Skype slots, on August 4th.

August 4th, 7:00 – 7:15pm EST — Booked
August 4th, 7:15 – 7:30pm EST — Booked
August 4th, 7:30 – 7:45pm EST
August 4th, 7:45 – 8:00pm EST

For more info, read my post here.

Optimizing Webpack build size

Optimizing File Size

I decided to tackle file size as a fun side project at the office. After our big refactor for JW7 we finally had a modular, clean(er) codebase – so now the fun begins. Let’s squeeze it down as small as possible!

With this kind of task it’s always best to set some goals, pluck the low-hanging fruit and then re-evaluate. Our current player size was 232 kb minified, and as a team we established a goal of reaching 200kb.

To identify targets for refactor, I enabled verbose reporting on WebPack. This causes the compiler to output the size of each module independently. I piped that into a file and deleted everything above and below the modules list.

$ cat modules.txt | tr -s ‘ ‘ | cut -d’ ‘ -f3-5 | grep -v “bytes” | sort -g -r -k2,2

 

This command takes the modules output from WebPack, trims out the extra spaces, takes the substring between the 3rd and 5th space, removes all rows which are measured in bytes instead of kB and then sorts.

The results

../jwplayer/src/js/providers/html5.js 25.6 kB
../jwplayer/src/js/utils/helpers.js 24.7 kB
../jwplayer/src/js/controller/controller.js 23.7 kB

Continue reading Optimizing Webpack build size

Tempo

Without rhythm there is nothing
and life has just found its pace,
its cadence of pleasures and twists.
Men nod their head and smile.

We move to the music
as God conducts the world around us.
Moments opportunities and pleasures abound,
plentiful as grain in the field,
patient,
waiting to be harvested.

Unexpected trials on the road to Colemak

 

I want to take a moment to jot down a list of trials I didn’t see coming. They accumulated to the point that after 4 months, I wanted to quit. However it was too late, and I am -for better or worse- too impatient to use QWERTY.

Unexpected difficulties with Colemak

  1. When computer boots, I need to type my password in QWERTY mode until app loads (true for mac and windows, not true for ubuntu)
  2. I need to install software inside my virtual machines, as well as on the computer
  3. How frequently I type on other peoples computers, especially when training new hires
  4. After learning the keys, my muscle memory for timings would be slightly off
  5. Key-bindings in video games (StarCraft 2) are demolished
  6. Colemak isn’t necessarily the best, there are new trendy ones showing up daily

 

With these being noted, I still think it’s worth giving up QWERTY. For a new adopter I’d suggest viewing a few other alternatives as well, including the Workman, Norman and maybe others too.

One idea for the future that would make life a lot easier would be an app which detects your keyboard layout as you type and swaps them automatically. When my friend types “google.com” into my laptop, and the computer sees “tlltuk.c;m” it will figure it out and just swap back to QWERTY.

 

Why I decided to try Colemak

 

Like most engineers, I am a huge fan of lifehacks. Why not improve HOW we work? Well the latest experiment I tried was switching from the dated QWERTY keyboard layout to Colemak.

Context

When I switched to the Code Keyboard, I was very inclined to love it. I wanted to adore it, it was designed for me; it was beautiful, nerdy and well designed. Unfortunately over the first week the joints in my fingers began to ache- I believe due to the resistance of the cherry MX Clears. I wasn’t ready to give up on the keyboard so I did some research into reducing the strain of typing. It turns out QWERTY is known for being inefficient; lo and behold, there was a readymade solution in the form of overhauling the keyboard layout.

So I declared to the world that I was making the switch.

Why?

  1. Hopefully eradicate finger pain
  2. Improve my typing performance (speed, accuracy)
  3. Be an early adopter of what I believe to be an important movement

I do expect to be making some sacrifices, such as

  1. Decreased productivity during learning curve
  2. Need to install software on my machines