top of page

Sometimes you need to be MEAN!

... But not necessarily Blue. Yellow Submarine was one of those films which became a part of our culture and easily recognizable whether you saw the movie or not. Endless people have commented on the film, and dissected it to such an extent that it’s impossible to know whether a given interpretation was intended, accidental, or indeed the opposite of what was intended.

I once wrote an essay on an exam where I applied Heisenberg’s uncertainty principle ( – which basically states that it is impossible to precisely measure both the momentum and the velocity of an electron, as the act of measurement alters this interaction) to literary criticism, noting that the act of commenting on a work affects future interpretation of that work. #TIL that the Observer effect ( could also be applicable. In any case, the work of art is not itself altered, but can never again be interpreted in exactly the same way after the audience has been exposed to the review.

As for being blue, nothing at all wrong with that, if that’s to your taste. (

But why be MEAN in the first place? Well, as I have mentioned before (, I have been trying to learn more about the actual practice of web development, and selected the LAMP stack as a good starting point. And I have definitely learned an enormous amount, through building a “real” Kanban board, which I am now using and continue to refine. After my first release, which I called version 0.9.0, I’ve already promoted two version updates, mostly to fix the most irritating issues, but also to add useful features. As it is so “meta”, my favourite is that I have now defined projects for each of my versions, and have a “versions” page where I can see the issues addressed by each version. So, I defined new projects and then created issues to create a version history so I could track my updates, and then assigned those issues to those projects so I can see them on my version history.

But, as I said, my goal was not to become a developer again, but rather to learn more about the technology that has changed so much since I actually worked as a developer. I’ve used procedural languages and SQL-based databases before, so I already understood that mode of thinking, and mainly needed to learn more about HTML, CSS, and PHP. I’ll continue to “maintain” my current Kanban board, but when I started looking at other programming paradigms (, I kept coming back to the MEAN stack (, which consists of MongoDB, Express.js, Angular, and Node.js.

While MEAN is usually compared with other stacks like LAMP, it doesn’t include the operating-system layer, so it’s really higher-level. Beyond that, I don’t know much about these components and how they fit together, so this will be an opportunity to form a better-informed opinion about these tools and their benefits and costs – which is exactly the point!

So, what is MEAN?

MongoDB is a so-called “NoSQL” database, which consists of document-based storage rather than relational tables. A very different approach, and it has gained vastly in popularity. Please see for a few comments and a link to a vastly entertaining video, and other posts for comments on the appropriate tools for a given job.

As for Express.js, Angular, and Node.js, I really know almost nothing about them, and the brief descriptions I have read frankly don’t help me very much. I think I’ll just need to dive in.

I found several sets of instructions for installing the stack, and they were all consistent with one another, so that process was simple enough, and I now have a test page available.

All I need to do now is figure out what to do with it. One step at a time!



bottom of page