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.


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


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.


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. It’s a lean-dev twist on the 80-20 rule. 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


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,
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 “” 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.


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.


  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


Writing prompt: Friends

Thank you to /r/writingprompts for the inspiration:

Prompt :  A person who has used his ability to read minds to glide through life, finds the one person whose mind he can’t read

Tick, tick, tick, Jason smiled and nodded as the interviewer kept talking and babbling. He didn’t even recall the man’s name who sat across the shiny table from him. Their body language told the whole story, this job was in the bag. One man leaned forward, inquisitive, probing, absorbed; the other leaned back, quiet, a serious expression on his face but a smile in his eyes. One thing Jason learned young was when to be silent. How to control the flow of conversation by shifting his attention, and how to move the center of the room to his feet. He used that now to begin planting ideas into the mind of his interviewer.

The best part was approaching, the moment when all his clues and subliminal messages would unfold into an organic idea. The build up was slow and he was patient. He felt his heart rising, an inadvertent smile that didn’t help, but couldn’t be helped. His opponent had crumbled, and was ready to make an offer,

“Why haven’t we made a move in Cambodia yet?”

Continue reading Writing prompt: Friends