Let me start by adapting one of my favorite anecdotes about writing software into one about being an entrepreneur:

Starting a company is like having kids. You know deep down that you want to do it, but you’re not really sure how. Then one way or another you end up doing it and you’re immediately so in love you chide yourself for not doing it sooner. And if you’re not careful you’ll blind yourself into not seeing why the rest of the world isn’t as in love with your food-to-poop converter as a service as you are.

With that in mind you can easily infer that I have a very close relationship to the company I founded: Nodejitsu. If you haven’t heard already: Nodejitsu is joining the team at GoDaddy. I can only speak of my own experience, but I imagine that every startup exit is much like running the startup itself: a whirlwind of emotions that takes a high constitution to process. Now don’t read any negative connotations in that statement since a whirlwind of positive emotions is still a whirlwind of emotions. The startup rollercoaster. After all, no one said that building a technically challenging vision on a brand new technology that was still evolving while simultaneously helping the underlying technology itself (Node.js) become successful was going to be easy.

If it was easy it would just be the way.

Being a founder, CEO, and technical product manager over the last (almost) five years at Nodejitsu is and has been an amazing experience. I often tell people who are thinking of starting companies: don’t. Expressing that sentiment is only to deter those without the wherewithal and grit to withstand the whirlwinds of a tempest of their own design. Yet some of the best advice I got during this adventure was that at the end of the day I should do what I think is right. So skeptics, critics and plain ‘ol haters be damned if you know what you want to do.

When I focus my mind on the next set of growth and big challenges my own whirlwind subsides and all I feel is excitement. Excited about what we are working on at GoDaddy. Excited to be a part of the Node.js community while simultaneously not being a vendor that profits off of it. Excited for the newfound time to work on Open Source projects that need it.

The Empire struck back in 2014 with two amazing conferences: EmpireJS in May and EmpireNode in October. As we did in 2012 we've taken the time in this post to outline how we organized the conference and more importantly what the budget looked like. It is and has been our hope that this information will help other would-be conference organizers and help the community as a whole because when we first started organizing EmpireJS one of the biggest problems was how much to budget for each particular detail.

A few years back I wrote a blog post analyzing design patterns I saw used historically and how that was going to change with the rise of Node.js. The title of that post was “Scaling Isomorphic Javascript code”, in which I did very little to define what “isomorphic” meant just in the same way that George Lucas did very little to tell you why two downtrodden droids ended up stranded on a desert planet yelling at each other.

Now more than three years later, I hear or read the phrase “isomorphic Javascript” almost daily. That rise in accepted usage has more to do with everyone else than it does to do with yours truly. Yes, I did my part fighting off the Hacker News trolls who called blasphemy for repurposing a mathematical term for Javascript programming, but the actual number of “isomorphic” libraries is staggering. Here are just a few of them that are out there:

This is in memory of my friend Luk. I've personally battled with how, when, and why to write this. Not only because every keypress is painful to make, but because I was unsure how to handle it publicly. I think the reason why that is will become clear as you read on.

First, I have to start with the facts because they are important. In late December 2013 Luk told a friend of his in Russia over chat that he planned to take his own life on January 1st 2014 by jumping off the Golden Gate bridge. She pleaded with him not to but he told her his mind was made up. Shortly after that he wrote a gist to his friends and family apologizing for his actions and explaining his lifelong battle with depression. Although he wrote that gist on December 26th, he did not send it to his friends and family until very shortly before the end. I have omitted the text here because it crosses the line from memorial into voyeurism. Then after writing his goodbye note, he went on with his life as usual.

Recently, I attended a local event here in New York City. It was a rather typical affair: colleagues and peers all rubbing elbows in the repetitive humdrum affair of networking. There was one conversation I had, however, that dare I say will sit with me for the rest of my life. I heard a phrase that I had never heard before, but one that I have tried to practice my entire career: intellectual honesty

Harvard ethicist Louis M. Guenin describes the "kernel" of intellectual honesty to be "a virtuous disposition to eschew deception when given an incentive for deception." (1)

This method of problem solving is characterized by "an unbiased, honest attitude" in the face of overwhelming incentives to skew the world in our favor. This disposition was discussed in Wiener’s 1964 paper entitled "Intellectual Honesty and the Contemporary Scientist". Going forward he perceived science to be less an individual act and more of a group one. This "intellectual corporation", as Wiener put it, was not always guaranteed "to do great work":

There’s another illusion that the more papers are being published, the more science is being done. However, a large number of bad papers means less science is being done.

A half a century ago Marshall McLuhan coined this iconic phrase in his landmark book, Understanding Media: The Extensions of Man. In 1964, the most prevalent media were all broadcast: movies, radio, television, newspapers and books all shared this trait. Only letters and the relatively new telephone allowed for interactive communication and discourse.

Fast forward to today and almost the exact opposite is true. The power of broadcast media, while still strong, is not the all consuming grasp it once was. Interactive and collaborative media has become the norm, not the exception. So, then the question begging to be answered is that if the medium is the message, how has this new paradigm controlled “the scale and form of human association and action” as McLuhan put it in The Extensions of Man?

Each member of the populous at large is now an amateur broadcaster, but every message is inherently biased. There is no Walter Cronkite anymore. They are not impartial because each message is the vessel for the opinions and emotions of the individual, not the organization. There is no peer review. There is no newsroom for social media.

Each broadcast is imbued with the raw emotions of the individual who generated it. Individuals who often have no where else for these emotions to go. Individuals who think that their Tweets, posts, and other broadcasts are making an impact. That they are swaying public opinion. This herculean empowerment of the individual through social media has produced behavior that has wider reaching sociological impacts.

The first behavior is what I will call “emotional non-action”. That is, since the medium is the vessel for the emotion of the individual, the individuals themselves feel accomplished. That through their drop of water in the ocean they have been heard by the world.

The second is a behavior that a colleague of mine recently compared to road rage. When someone is in their car, they feel safe. So when a fellow driver cuts them off or makes some other driving mistake, they are emboldened to say similarly awful things, e.g.

“Don’t cut me off you fucking son of a bitch.”

This is, however, what has become a completely acceptable way for one to conduct themselves in public on the Internet. And not just in developer and technology communities where it has been acceptable for more than a decade (remember: don’t feed the trolls), but in our larger society as well. The latter trend has only seemed to reach a critical mass in the last five years.

A good example of this is the tragedy that happened at the Electric Zoo last year here in NYC. If you are not familiar with the incident, Mayor Mike Bloomberg cancelled the last day of the three day music festival because two people had died from drug overdoses. This, while a tragedy, was largely outside the control of any one party. The Internet (through Twitter) decided to blame the dead.

Can you imagine what this did to the parents of these children? Yes. Their children. Can you imagine in your entire life ever saying something as mean and hurtful to their face? Neither can I. But somehow there are millions -- literally millions -- of public statements like this.

We are losing something important

There is an upward trend in this behavior that is undeniable. Within a few years it will be part of our cultural DNA as a society. Maybe we are at a generational divide. Maybe things are going to get worse until they get better. Until those individuals who grew up being bullied by this behavior have children and they can pass along the next version of “if you don’t have anything nice to say, don’t say anything at all”. I hope that happens because what is most important is that we hold onto our ability for civil and public discourse on subjects that we may disagree.

I have been involved with Node.js for over four years. I was the 8th contributor to npm not long after we all decided that npm had won the package manager for node discussions. Anyone who knows what kiwi is knows what I am talking about. I say "we all" because back then I could actually count the people who were intimately involved with the community. Now, only a short while later I see a massive community of developers who both love and depend on these things I've had the privilege to help grow to what they are today.

Yet even with all of the great changes, one has to remember the values and fundamentals that got us here. The key one of those being openness with a sprinkle of anarchy. Pushing the decisions to the edge of the graph: to the community members themselves. Node grew because it empowered individuals to do more with less. To encourage fundamental concepts like writing modules and piping streams instead spelunking through a monolithic, obtuse API. Help developers put the building blocks together and their applications will almost builds themselves.

How these building blocks are distributed is as important as the functionality they provide. That "how" is npm, which has had two years of 10x growth in a row with no signs of slowing down. The first 10x year is what caught my eye at LXJS in 2012 when I spent my first quality time with Jeff Jackson and Jason Smith who made up Iris Couch: the company that ran the npm registry at the time.

That growth is what motivated the company I founded, Nodejitsu, to acquire Iris Couch in May 2013. Between May and November 2013 downloaded from the public npm registry tripled from 42 million downloads to 153 million downloads. And that growth has precipitated even larger changes, as growth often does. Since the morning in mid-November that led to #scalenpm, when Jason Smith and I were woken up by the third in a series of really bad npm registry outages on our way to CouchDB Conf in Vancouver a lot has happened. These are all facts:

The Node.js community outpoured support to make the registry better by donating $326k to Nodejitsu through #scalenpm.

The public npm registry is now fronted by Fastly and Joyent's Manta service and still backed by the CouchDB servers run by Nodejitsu.

The npm project has lost (hopefully just temporarily) one of its most prolific maintainers.

Isaac has stepped down as the head of the Node.js project to start npm Inc. with very little details about what it will do.

This rapid set of changes brings to a head the question: "what is the future of npm?" I don't have all the answers to that and my efforts to help bring transparency have not received much response from the npm team. What I do know is that Nodejitsu remains committed to the community through open source, which was the central motivation for announcinghttp://registry.nodejitsu.com

There. I said it. The green pastures of developer passion are not boundless: they have a finite acreage. A point at which one stops hearing "I love your project!" and "thank you for your hard work" and starts to hear "what have you done for me lately?" or "is this project abandoned?". Developer psychology has been infected with the sickness of consumerism and there is no going back. Don't believe me? Well then, let me find my soap box.

Every good work of software starts by scratching a developer’s personal itch.

That makes sense right? You probably have written a module or two yourself. Most likely unpopular modules that don't go beyond your own itch. The fun weekend side project that gives you a momentary sense of satisfaction because you "built something".

For whatever reason some modules don't stay unpopular for long. Jacob Thorton, the creator of Twitter Bootstrap, calls this "the cute puppy syndrome": where a developer creates a module because they want to. This is "buying the puppy". Then suddenly, the module becomes exceptionally popular. It "becomes a dog". And maybe you didn't want a dog. Maybe all you wanted was a puppy. Suddenly the guilt piles up and doing what you love isn't fun anymore.

All the developers who help make a module popular (who turn the puppy into a dog) usually have never been on the other end of the story. They have never had to sacrifice to maintain Open Source software. Those who have are more empathetic to the "plight of the maintainer."

Thus: the mantra of "everyone wants to create, no one wants to maintain" rings true across the plains of Github.

What's my point will all of this veiled negativity? Why would I choose to fault a system that (overall) has produced such an enormous body of work? A system that fails to accommodate the exceptional will be doomed to mediocracy. In other words: the attitudes from developers have to change if Open Source is going to continue to grow at its current pace. We need more exceptional creative developers to continue building Open Source software. Maintaining is a lot of thankless, unpaid work, and a lot of developers who become active maintainers burn out and leave their respective communities permanently.

If we continue to loose these kinds of seminal minds without learning from the mistakes that lost them we will change from trending upward to trending downward very quickly. Open Source can continue to eat itself so long as it does not overeat its talent pool.

What's in a name? That which we call a rose; by any other name would smell as sweet.
— William Shakespeare, Romeo & Juliet, Act II, Scene II

Probably heard that before right? What about a server on any other metal would compute the same. Probably not. There are vast and complex differences between every *aaS out there. In the IaaS world everyone wants to size up to Amazon Web Services, but there are a lot of vectors by which this comparison can be made: compute power, RAM, network, price and virtualization substrate (e.g. Xen, KVM, Zones, Containers) to name a few.

When looking beyond pure utility computing (such as in Platform-as-a-Service) the ability to perform an "apples to apples" comparison becomes even more onerous. Not just because the units by which power is subdivided, but as the paths between additional services offered (such as DBaaS) are more opaque and thus harder to quantify.

We are at somewhat of an in-pass in the state-of-the-art but there are some very interesting new developments (such as the rise in popular around Linux containers) which will be key to bringing much needed standardization to the industry.

Growing up I overheard my parents and teachers repeat a turn-of-phrase along the lines of "nothing is certain in life except for death and taxes." As a young man I didn't fully understand the feeling of futility they were trying to convey through this light-hearted colloquialism. As I became an adult my significantly more developed grey matter teased out the nuance I had missed. That is: yes it is futile, but not meaningless. So just pull-up your bootstraps and do it.

Today I submit to you readers that there is a (relatively) new part of our lives that deserves to be grouped with these pariahs: email. This bears repeating:

Nothing is certain in life except for death, taxes, and email.

Remember that: yes, it is futile, but not meaningless. In other words: it is a certainty of life that you must learn how to conquer and accept or it will consume you. In many ways email has (in many forms) simply replaced the former necessity of letters, but the rapid pace has changed the medium itself. If you're looking to learn more about the art of letter writing from primary sources I highly suggest The Proud Highway which chronicles the early life of author Hunter S. Thompson's through the letters he wrote to his friends and colleagues.

Perhaps this is where you go back to Twitter and think to yourself "pfft, Twitter saved me from email." Before you do consider this: new communication media may have become popular, but they only supplant email for certain groups in your life, or for certain categories of communication. On top of that many of these media simply regress back to email under heavy usage making the same acceptance of regular communication through long-form text tantamount to success.

I am a community person; the company I run and co-founded, Nodejitsu, would not exist if not for the Javascript community. I believe that a strong an independent community of technologists will lead to better products and the general furthering of mankind.

Given these two facts it is then somewhat by necessity that I organized (with the help of awesome, people) EmpireJS: a one-day, two-track Javascript conference in New York this past October. Organizing a conference was all at once both one of the best things I've done in my career and one of the most stressful. It is in fact, more stressful than fund raising for a startup; something I have done for Nodejitsu.

With that in mind, I've taken the time in this post to outline how we organized the conference and more importantly what the budget looked like. It is my hope that this information will help other would-be conference organizers and help the community as a whole because when we first started organizing EmpireJS one of the biggest problems was how much to budget for each particular detail.