Why you might not want to run nodejs

  1. Whereas Features for javascript on the browser require implementation in multiple browsers before people start using them limiting the advance of the language,  nodejs like to implement coming ecmascript standards whether on not browsers are going to adopt them or so the language can just quite quickly.
  2. There is no type checking when installing so less information to tell you weather two libraries will work together is available. The language is very weakly typed as well, so even if checking was done it would not be nearly as good as a strongly typed language
  3. It’s interpreted, meaning it’s slower than pre-compiled languages.
  4. No threads.

Why you might want to run nodejs

  1. NPM the package ecosystem for nodejs has a lot of packages. Right now, it has the most. According to http://www.modulecounts.com/ it’s over 175,000. If there is an itch you need scratching it’s more likely that it will be on NPM.
  2. You want to share code between client and server. Provided that the client side needs to be performant, you may have to write the client code in javascript. If you want to save time you can use that same code on the server side with nodejs.
  3. When writing web scraping code, a javascript callback for the browser can be inlined with rest of your code saving you having to create multiple files or format strings.
  4. It’s a scripting language so no compilation time, the source is always available.

A very hipster future

With the marching advance of technology, there seems to be a counter culture committed to embracing the ways of the past. Maybe this is because the old way of doing things carried along certain benefits.

Consider that a Vinyl Record comes along with large, almost poster size artwork. The physical reality of the product brings it into the realm of a collectible. Even the fact that you have to take something out of its protective case and move a needle implies that you are getting a comparable workout compared with hitting play in iTunes.

This article isn’t about Vinyl. Similar things can be said about CD’s which are achieving a similar fate. This isn’t about Media formats either.

As technology increases, so too does it push everything before it into the realm of hipsterdom.

Far from CD’s being considered hipster, the mere act of using ones voice to communicate will, one day, seem anarchically ritualistic, and yeah, totally hipster.

Each generational fandom has a specific term associated with it; retro, hipster, paleo to name a few. In the end, they are all trying to achieve the same thing, just in a different way.

Maybe the way of doing things in our time will have a funky name associated with it.

The human species evolved to flourish in the garden of Eden and as we move further and further away from it, so too, a stronger desire to awaken the phoenix that lies inside our very DNA.

Frameworks as types on file hierarchies

The main difference between a framework and an SDK is that a framework gives you a folder structure with which to put your files.
Rails is an off the shelf example of this. This is also a bit like the directory layout of unix where config files are stored in the /etc/ directory.

Put another way this is like specifying a schema for your file directories. like in SQL for example where schemas can specify type contraints using the appropriate DDL, so to
can your framework. For instance you can specify

  • That there is a directory for storing HTML in the views folder
  • The directory model contains sql queries.
  • Functions in the controller folder are of type Request to Response

Given a type checker, you could even do type checking at compile time to check that HTML functions are not placed in the model folder for instance.

Going Viral

When marketing is shared enough, it achieves what are often refereed to as “network effects”. In other words, the popularity of the marketing improves its popularity. This can be thought of analogously to the epidemic spread of a virus, where each generation of transmission improves exponentially on the last.

Apart from the fact that a virus refers to something involving the host cell of an animal, the term “viral” is derogatory because there are very few viruses known to be good. Indeed, the fact that it implies something has been achieved to the level of being bad says something about how much it has spread. This works quite well in the case of what would be considered publicity for things that attain mass appeal via malformed taste, but not for good impactful marketing in general.

The question then is to find an alternative. The terms “craze” and “fad” are quite relevant, but alas, they too carry bad connotations. There is an ingenious term in crowd sourced marketing called “thunderclap”. This however is probably too specific for the general case. One could try amalgamating other associated words, such as “sharetastic” or “spreadsational” but this comes across lame as you can sense the unnaturalness of the phrase coinage.

I suggest the term “meme” be utilized. It could be used by saying that something had “gone memetic”. The term is more appropriate to the issue being addressed and has already become quite popular in circles of non-commercial multimedia sharing on the internet.