All posts by admin

Response to US Entry Ban

There will always be evil in this world. People in every country are making decisions each day which move them further in one direction or the other. Blocking flights will not stop this. At best it will do nothing, at worst it will create more hatred.

The uncomfortable truth, is that the terrorists believe they are righteous. History has shown that spiritual conviction is not quelled by force, which is why no matter how far ahead America’s military gets, it has no power in this fight. The more I think about it, this is a spiritual war. To win it, we need to prioritize a campaign of anti-propaganda and access to information. We should connect with the insular communities of the world and create global citizens.

Spreading truth allows us to treat the root of the disease instead of the symptoms. As people are more informed, they are less likely to believe “America is evil.” – instead they may even turn on the cult leaders themselves. Spreading the truth requires people to interact with outside cultures and necessitates freedom of travel across borders.

Paths Forward for RCV in New York

There are a few different paths being pursued to get Ranked Choice Voting passed in NYC. The absolute least we can do is voice our support (sign this petition), but I think we can do more.

Path 1: Amendment to the NYS Constitution

Link to the Bill: s4586

This is an ongoing story of the Senate trying repeatedly, but getting blocked by the NY Assembly. For more information on how the process works, check this article I wrote.

  1. March 30, 2015 a cross-partisan bill sponsored by State Senators, Liz Krueger (Democrat) and Andrew Lanza (Republican), was submitted to the Senate. In less than three months it was passed by the Senate and delivered to the Assembly.
  2. Bill sits in the Assembly for 6 months before being killed and sent back to Senate
  3. Bill is amended by the Senators in 13 days
  4. After 5 months in June 2016, it makes it through the Senate a 2nd time and is resubmitted to Assembly
  5. From June 2016, until now, it is sitting in the Assembly without movement.

For this path to succeed, we need to know why the assembly is against it. In terms of $$$, we know that it will pay itself off the very first run-off election, and will save $10,000,000+ every subsequent election (source). Assuming this bill gets through the Assembly, it will be up to Governor Andrew Cuomo, who has previously voted in favor of several voting reforms, including the national popular count.

Path 2: Amendment to the NYC Administrative Code

Link to the Proposal: Int 0150-2014, PDF: RCV Bill Legislation Details.

An alternative to passing RCV from the State level is to change the NYC Administrative code. Currently we have NYC Councilman Brad Lander attempting to pass RCV by going through the NYC Council. The Bill was proposed in March of 2014 and was immediately pushed to the Committee on Elections. From there it stalled and I haven’t seen any movement on it. I’ve contacted Brad Lander (lander@council.nyc.gov) in December to learn more and am awaiting a reply.

The Path Less Traveled

The previous two paths represent business as usual. It’s working within the system as our government and elected officials are most comfortable. There are other options, but they are considerably less common and are likely to make some people uncomfortable.

The first is a Ballot Measure.  Assuming our State level bill s4586 gets through both legislative houses, but for some reason the governor doesn’t choose to sign it. In this case, the Bill could be passed anyways by being put on a general election ballot.

The second is a Constitutional Convention. Once, every 20 years, we vote on if the NYS Constitution should be scrapped and rebuild. And guess what. That is THIS YEAR! This can be a scary choice because there are definitely parts of the NYS Constitution that we really like. However this may be a good option for either pressuring the passage of our bill, or getting it done the hard way. For more info visit: http://www.newyorkconcon.info/

What does this mean for us?

In a game of chess, it would mean that we have all the pieces required to checkmate, but that the game has stalled. Both paths to RCV have hit roadblocks, but if we can unblock them, we could be voting with ranked choices by our November 2017 elections.

Help me spread the movement by following me on Twitter: @donato

Democracy in New York, NY

I recently wrote about the importance of Ranked Choice Voting and began doing my homework on what I can do to get it passed in my local community. While I was buoyed by the recent success in Maine, where they passed an amendment for RCV this last election cycle (source), I was disappointed to learn it took 15 years of preparation and lobbying (source).

It took a few hours of research, but I pieced together a good idea of who represents me, as a resident of Manhattan, from the National down to the Local level.

NYC Representatives

Each elected post here, is chosen by a process called First-Past-The-Post which is your basic “pick one candidate, and the person with the most wins.” From here I dug into the elections for each and found that there were two major groupings of these. The State and National elections are ruled by laws provided in the NYS Constitution, whereas the City and Borough elections are ruled by laws provided in the NYC Administrative Code.

How it works at the City Level

Starting local, my question becomes how does change occur in the NYC Administrative Code (they have a terrible website which cannot be deep-linked, but find it here). The process goes like this.

  1. Find your Senator and propose your change
  2. Hope

The second step is “hope” because it is now out of your hands. You can try to rally more people to bug that Senator and if enough do, it will hopefully rise in priority until he/she decides to take action. The following steps are out of your control as a citizen, but are the steps required for change to come into effect.

How a bill becomes a law (source)

  1. Senator writes a Bill
  2. Senator submits Bill to a Committee
  3. Committee is a step intended to filter out bills that will never pass. If committee thinks it has a chance, they submit it to the Senate.
  4. The Senate votes on the bill, if passed, it goes to the Assembly Committee
  5. If the Assembly Committee likes it, they pass it to the Assembly
  6. The Assembly votes on it, if passed, it goes to the NYS Governor
  7. The Governor signs or vetoes the Bill

What more can I do?

I’m still working this part out. The more I understand, the more daunting it seems. Any individual can make a difference, but things move faster the more people who are involved. If you’d like to join forces with other NY’ers who are fighting for Ranked Choice Voting, please contact me. We have a weekly 30 minute conference call to collaborate and share news/updates, and we’d love to have you join!

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.  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