node.js is here to stay
Node.js is here to stay
Akbar S. Ahmed | Mar 5, 2015

Node.js is key in the new architecture

While there are many potential uses for Node.js, the key driver of its adoption has been in API development. Node.js APIs play a key role in emerging architectures, such as 3-layer architecture (not to be confused with 3-tier architecture). is a proponent of the 3-layer architecture. 3 layer architecture is a micro-services friendly n-tier architecture where tiers are grouped into layers. Another new architecture is the 4-tier architecture used by Netflix (4-tier architecture.

Read more

top 3 node.js flaws
Top 3 Node.js flaws
Akbar S. Ahmed | Mar 3, 2015

What is wrong with Node.js?

What are Node.js’ weak points. Every language/platform has weaknesses, and Node.js/JavaScript are no exception. There are a few primary critiques of Node.js/JavaScript that are raised repeatedly:

  1. JavaScript has quirks
  2. You cannot build large applications in JavaScript
  3. JavaScript lacks type safety

As a company that uses multiple languages in production, we like to evaluate potential problems with our technology choices to see if there is a better alternative. We will discuss the truthyness of each assertion below.

Read more

install atom-shell on ubuntu linux
Install atom-shell on Ubuntu Linux
Akbar S. Ahmed | Feb 14, 2015

Step-by-step instructions

atom-shell allows you to create cross platform desktop applications using Node.js and web technologies including HTML, CSS, and JavaScript.

Installing atom-shell is simple. In this post we will step through installing atom-shell on Ubuntu Linux so that you can start developing cross platform desktop applications with Node.js.

Read more

should you pick nodejs or iojs
Should you pick Node.js or io.js
Akbar S. Ahmed | Feb 10, 2015

Node.js vs. io.js

In case you weren’t satisfied with all of the client-side JavaScript choices, you now get to pick between Node.js and io.js on the server. So, should you use Node.js or io.js for your next project? Don’t call it a fork A fork is a fork is a fork. Node.js and io.js have some incompatibilities that will affect your code. Further, the developers who worked on Node.js are now fragmented into two camps, those who work on Node.js and those who work on io.js.

Read more

install node.js on mac os x
Install Node.js on Mac OS X
Akbar S. Ahmed | Jan 20, 2015

Step-by-step instructions

Installing Node.js on Mac OS X without using Homebrew or the installer is easy. The instructions in this post are for setting up a development machine and do not include all of the steps required for a production installation. Of the three installation methods, the installer is probably the easiest, but it requires sudo to install Node.js into system directories. Homebrew is also easy but requires Homebrew (which I do not currently use).

Read more

is node.js a good choice for your next web app?
Is Node.js a good choice for your next web app?
Akbar S. Ahmed | May 10, 2014

Yes and no. It depends.

Node.js is a JavaScript runtime that allows you to run JavaScript on the server. And, if you’re developing a web application, then you are already going to run JavaScript on the client as JavaScript is the main language that runs in the browser. So the first main advantage of Node.js is that you can develop your application with the same language (i.e. JavaScript) on the client (in the browser) and on the server (with Node.js).

Read more

two tips to boost grunt performance
Two tips to boost Grunt performance
Akbar S. Ahmed | May 5, 2014

Performance tune Grunt

Grunt is a popular task runner for JavaScript. However, Grunt’s performance can suffer when a large Gruntfile.js uses the same configuration style as a small Gruntfile.js. Your Grunt configuration needs to be adapted as your project grows, much like the other parts of your architecture and infrastructure. This post is focused on daily Grunt usage during development which including optimizing developer workflows by delivering a faster livereload. This post does not optimize for production builds as production builds are typically run on a CI server and have no impact on developer productivity.

Read more

lint javascript on windows with brackets
lint JavaScript on Windows with Brackets
Akbar S. Ahmed | May 1, 2014

Step-by-step instructions

Adobe Brackets is a cool open source web development editor. Brackets currently works on Mac, Windows and Linux. Install the JSHint extension Open Brackets. Select File, click Extension manager…. Search for Interactive Linter. Click the Install button for Interactive Linter. Update your extensions Open Brackets. Select Help, click Show Extensions Folder. Navigate into the \user\interactive-linter folder. Double-click the .jshintrc file to edit it. Paste the following into the .jshintrc file. Then save the file and restart Brackets.

Read more

unnest callbacks
Unnest callbacks
Akbar S. Ahmed | Apr 30, 2014

Improve Node.js performance

Unnesting callbacks in JavaScript involves changing anonymous functions to named functions. It also requires that we unnest the callback function from the original function’s list of arguments by passing the callback’s name as the argument (vs. an inline function). The following pseudo code highlights unnesting: // Nested, anonymous callback function someFun(1, 2, function() { // I am now in the anonymous callback function ... }); // Unnested named callback function someFun(1, 2, namedCallback); function namedCallback() { // I am now in the named, unnested callback function ...

Read more

nodeday 2014: micro-services in node.js
NodeDay 2014: Micro-services in Node.js
Akbar S. Ahmed | Apr 25, 2014

Micro-services in Node.js

Stop repeating the mistakes of the past! JavaScript lets you do amazing things in very small amounts of code. Node.js lets you write server-side code in tiny mind-size pieces. We call them micro-services. Stop writing monolithic web apps! Break everything apart. Do one thing and do it well. You can run hundreds of Node processes. It’s cool. Richard discussed a different way of structuring Node apps with something he termed micro-services.

Read more

nodeday 2014: performance sins of our abstractions
NodeDay 2014: Performance Sins of our Abstractions
Akbar S. Ahmed | Apr 20, 2014

Node.js performance tips

Fine tuning your deployment for maximum performance is always a top priority. Node.js’ chief mechanic shows you how to put the pedal to the metal. Speaker Name: Trevor Norris Title: NodeJS Core Maintainer Company: Mozilla Twitter: trevnorris Slides: Performance Sins of our Abstractions My $.02. Trevor is smart. Really, really smart. This talk was amazing and will be basis for some follow-up posts (once I have a chance to grok everything he discussed.) Run node with --gdbjit --gdbjit-full How to inspect JS in gdb dgd -d lib/ -d src/ Quick v8 performance tips inlined functions cannot contain more than 600 chars (including comments).

Read more

nodeday 2014: node app lifecycle
NodeDay 2014: Node App Lifecycle
Akbar S. Ahmed | Apr 15, 2014

Lessons learned

Building a Node App from the ground up - What we did the second time This is a talk about the lessons we learned building our first product with Node.js and how we rectified the issues we faced when we built our latest product. We will discuss the challenges of building maintainable code bases with Node.js, from development, to testing, to deploy, and how we’ve overcome those problems with tooling and policy.

Read more

nodeday 2014: moving a large workforce to node
NodeDay 2014: Moving a large workforce to Node
Akbar S. Ahmed | Apr 10, 2014

How PayPal migrated to Node.js

Shifting a large organization like PayPal to Node.js doesn’t happen overnight. Erik shares the challenges involved and the solutions that arose from it. Speaker Name: Erik Toth Title: Principal Software Engineer Company: PayPal Twitter: @eriktoth Slides: Recognize what are Node’s strengths and verify that its the right tool for the job at hand. Choosing Node may be a technical or business need. Node is a philosopy. Be prepared for critics… they will parrot questions: Type safety…something, something.

Read more

nodeday 2014: the business case for node
NodeDay 2014: The business case for Node
Akbar S. Ahmed | Apr 5, 2014

Node.js helps drive innovation

Speaker Name: Joe McCann Title: COO Company: The Node Firm Twitter: @joemccann Node is coming up on its 5th year in existence APIs are stabilizing Books exist now However, Node is experiencing growing pains (as does any technology experiencing rapid growth). Large and growing community of developers (of various skill levels). 5 key tenets Innovation Productivity Developer joy Hiring/retaining talent Cost savings Why Node? Joe started by reading the technical description of Node.

Read more

nodeday 2014: security
NodeDay 2014: Security
Akbar S. Ahmed | Apr 1, 2014

What you don't know can hurt you

What you don’t know can make life hard for you. Adam talks about security in large deployments of NodeJS. Speaker Name: Adam Baldwin Title: Chief Security Officer Company: &yet Twitter: @adam_baldwin Adam is a co-founder of Lift Security and is Chief Security Office at &yet. &yet performs security audits for node. Enterprise security Protect what makes money. Rule #1. Availability is security Measure and iterate It’s not about the vulnerability - how you handle it matters You will screw up again - this makes you ask the question about what information you will require to handle the situation (logging, etc.) Communication Understand what the enterprise cares about, then do better.

Read more

nodeday 2014: state of node
NodeDay 2014: State of Node
Akbar S. Ahmed | Mar 30, 2014

Review of Node.js - Feb. '14

Toy language? Serious contender? Where does NodeJS and its ecosystem stand today? Node.js project lead TJ Fontaine tells you where we are, and were we’re headed. Speaker Name: TJ Fontaine Title: NodeJS Project Lead Company: Joyent Twitter: @tjfontaine Node Growth I did not write down all of the stats, but the growth from 0.10.24 to 0.10.25 highlights the rapid growth of Node.js. v. 0.10.25 has 538k downloads v. 0.10.24 had 267k downloads Download by operating system 167 Linux 106 Win 103 Darwin plus 1.127 million source downloads Node on Windows is not to be ignored.

Read more

nodeday 2014: you're doing it wrong!
NodeDay 2014: You're doing it wrong!
Akbar S. Ahmed | Mar 25, 2014

Keynote Address - 9:00 AM

Text highlighted as so is my personal opinion. Everything else are my notes of what the speaker said (or my best attempt to type what the speaker said). Speaker Name: Eran Hammer Title: Senior Architect Company: Walmart Labs Twitter: Slides: Eran’s slides Node at Wal-mart 55% of all black friday traffic was mobile 100% of the mobile traffic ran through Node They used the equivalent of 2 CPUs and 30 GB RAM (did I get this right?

Read more

install node-webkit on ubuntu linux
Install node-webkit on Ubuntu Linux
Akbar S. Ahmed | Mar 20, 2014

Step-by-step instructions

Installing node-webkit on Ubuntu Linux is easy. We are going to install node-webkit into our home directory so that we do not need to use sudo during development. If you use Ubuntu 13.04 or 13.10 there is a fix for the libudev error at the end of this post. Create a directory structure to store locally installed packages. mkdir -p ~/opt/packages && cd $_ Change the version numbers below as new versions of node-webkit are released.

Read more

install node.js on linux
Install Node.js on Linux
Akbar S. Ahmed | Jan 15, 2014

Step-by-step instructions

Installing Node.js on Ubuntu is exceptionally easy. We are going to install Node into our home directory so that we do not need to use sudo during development. Create a directory structure to store locally installed packages. mkdir -p ~/opt/packages && cd $_ Change the version numbers below as new versions of Node are released. Download the node.js package. wget Unzip the package. gzip -dc node-v0.10.25-linux-x64.tar.gz | tar xf - Create a symlink to the currently installed version.

Read more

install or upgrade node.js on windows
Install or upgrade Node.js on Windows
Akbar S. Ahmed | Jan 10, 2014

Step-by-step instructions

The process to install Node.js on Windows is almost the same as the process to upgrade Node.js on Windows. Basically, you run the .msi installer. The only difference is that you need to upgrade any/all existing packages during an upgrade. Install Node.js Open in a browser and click Install. Download the .msi package. After the download has completed, double-click the .msi package. As of this writing, the MSI is node-v0.10.25-x64.msi.

Read more

Contact Information


We specialize in helping professional developers, like you, expand your skill set. Our courses are focused on enabling you to learn everything necessary to use a new technology in a live, production application.


All courses are made with love in
Palo Alto, CA.

Subscribe to our newsletter