Hello StrongOps… NodeFly Has Left the Building!

Faithful Readers,

As you may have recall, we announced on July 23rd that the NodeFly APM was acquired by StrongLoop. “As a leader in all things Node.js ourselves,” we stated then, “we believe StrongLoop is well positioned to take the NodeFly service to the next level!”

Whether you have been with NodeFly since our humble beginnings or just started using with our APM recently, we’ve been constantly amazed and proud to see the support, suggestions and overall feedback from all of our users in the community. As part of bringing NodeFly to the next level, we’ve rebranded as StrongOps and are now offering our monitoring console as part of the consolidated StrongLoop Suite. During this transition, we will be shifting our content from here to the StrongLoop page. We will be updating some of our past content such as Node.js product profiles and ‘How To” articles and migrating them to the StrongLoop site. However, we will no longer be posting regular Node.js pieces on this blog.  

We will continue to provide product access, updates and support via the various StrongLoop sites online, and we encourage you to follow them in you want to stay in the loop with StrongOps and the StrongLoop Suite.





We appreciate your loyalty and willingness to follow us through Node.js updates and hiccups, Breaking Bad references, and our insistence on integrating the NodeFly Agent’s fancy glasses into a slew of pop culture photos. So, the NodeFly agent may be slipping into the shadows, but it is only the beginning of the next stage of our monitoring console. And so we look forward to helping bring your Node.js product to the next level just as StrongLoop brings StrongOps to the next level as well.


The StrongOps Team


Node.js and Mobile News Round-up - September 10, 2013

Welcome to this week’s summary of the week in Node.js and Mobile news covering September 3 through September 9th. Every week this time we will look at some of the Node.js-related news, tutorials and commentaries we’ve seen online.

How Node.js Makes Network Code More Testable

Greg Smith shows how Node.js network code can be easier to write automated tests for, resulting in more reliable software.

Testing Tuesday #21: Testing synchronous and asynchronous JavaScript callbacks with QUnit

Manuel Weis shows how QUnit is perfectly capable of testing your Node.js projects.

Node.js vs. PHP

Azat Mardanov puts  Node.js and PHP in the ring.

It’s Alive! My Node.js/Raspberry Pi powered aquarium is up and running

Bryan Hughes is controlling his aquarium with Node.js and Raspberry Pi.

Using Node.js and Websockets to Build a Chat Service

Guillaume Besson shows how Node.js and Websockets are the perfect combination to write very fast, lag free applications that can send data to a huge number of clients.

Simple-API v0.1

Joe Wegner releases a new version of Simple-API, a Node.js API scaffolding library.

Tessel: Hardware Built for the Web

An opportunity to back the creation of an internet-connected microcontroller.

Introducing Adobe Generator for Photoshop CC

Adobe Generator is based on the Node.js platform and plug-ins can be written in JavaScript.

Node.js and Hapi - Creating a REST API

Matt Hernandez from the Modulus team demonstrates another option from building a REST API in Node.js.

What’s Next?


Node.js and Mobile News Round-up – September 3, 2013

Welcome to this week’s summary of the week in Node.js and Mobile news covering August 27 through September 2. Every week this time we will look at some of the Node.js-related news, tutorials and commentaries we’ve seen online.

Say ‘Hello’ To Grunt For Speedy Web Development Process

WhaTech discusses the history of Grunt and how it helps in speedy Web Development Process.

Testing Tuesday #20: Continuous Deployment for Node.js Applications

This screencast shows a simple Node.js web application deployed to Heroku continuously with the help of  the Codeship.

Theseus JavaScript Debugger for Chrome and NodeJS

A look at the 0.4 release of Theseus, bringing a new look, bug fixes and performance improvements.

Zazl AMD Optimizer and Node.js

Richard Backhouse walks you through using the Zazl AMD Optimizer to best benefit with Node.js.

Conference in Waterford on New Software Technology System

The Irish Times looks at the upcoming NodeConf in Waterford Castle.

Infrastructure at Nodejitsu (Part 1) — Deploying Applications

Nodejitsu begins a series of posts about how the infrastructure underlying the Nodejitsu platform works.

Part Three: Verify Phone Numbers With Node.js Using Twilio SMS, Express and Socket.io

Jonathan Gottfried does a walkthrough of using Twilio to build an SMS phone verification system.

Tech Briefing: Node and more

Charlie Harvey gives the rundown on Node.js along with examples.

What’s Next?


Node.js and Mobile News Round-up – August 27, 2013

Welcome to this week’s summary of the week in Node.js and Mobile news covering August 20 through August 26. Every week this time we will look at some of the Node.js-related news, tutorials and commentaries we’ve seen online.

That Wibbly Wobbly Real-Timey Wimey stuff

Courtney Couch speaks about how Moot uses Node.js for its instant notifications.

Hacker Turns Google Glass into Drone Controller

DNA reports how Node.js was used to turn this hardware into a remote control.

Video Talk: What Node.js is All About

A video showing Niall O’Higgins speak about Node.js at Share This in Palo Alto.

Intro to MongoDB on Node.js

Ryan Jarvinen gets you started with MongoDB and Node.js.

An Absolute Beginner’s Guide to Node.js

Brandon Cannaday explains how to get started with Node.js from the very beginning.

Why The Hell Would I Use Node.js? A Case-by-Case Introduction

Tomislav Capan provides examples showing why you should – or should not – use Node.js.

Incredibly convenient testing of front-end Javascript with Node.js

Boris Staal makes sure you have automated testing for your front-end JS application, library or framework.

What’s Next?


Node.js and Mobile News Round-up - August 20, 2013

Welcome to this week’s summary of the week in Node.js and Mobile news covering August 13 through August 20. Every week this time we will look at some of the Node.js-related news, tutorials and commentaries we’ve seen online.

How to Apply Messaging to Cloud Apps with RabbitMQ, Node.js, Redis, and More

Adam Bloom gives you the rundown on putting messaging into your cloud apps.

Intro to MongoDB on Node.js

Ryan Jarvinen plays good host by introducing you to MongoDB on Node.js.

Popular Website MilkandCookies.com Runs on Node.js

A look at how the video and meme site updated its code.

Taking Toddler Steps with Node.js – The Towering Inferno Revisited

Jan Van Ryswyck ponders async, waterfall and promises.

Microcontrollers and Node.js, naturally

Hack a Day investigates a “very cool dev board designed by be an Internet-connected JavaScript running prototyping device.”

Total global Google based search interest in Node.js has caught up to total search interest in Hadoop

A look at Google trending comparing Hadoop and Node.js.

Callbacks as Our Generation’s Go To Statement

Miguel de Icaza ponders callback-based programming as a acceptable programming model.

Streams in Node.js

Joyent shares Isaac Schlueter’s talk from their “A Midsummer Night’s System” meetup.

Learn You the Node.js

Rod Vagg gives his thoughts on CampJS now that it has wrapped up.

Node.js Basics 2013 Edition

Presentation and sample code for Node.js fundamentals for Ohana.js and HI Capacity.

The Future of Programming in Node.js

Isaac Schlueter kicks off a discussion about where  Node.js is going.

What’s Next?


In the Loop: Nodezoo

Every two weeks we profile new, cool and fun Node.js products to keep you “In the Loop”. This time around we’re looking at Nodezoo, a search engine for Node.js modules. We chatted with Richard Rodger to get the low-down on Nodezoo.

Can you tell us about Nodezoo? What inspired you to create this search engine?

Richard Rodger: Nodezoo.com is a search engine for Node.js modules. It uses the idea behind Google’s PageRank algorithm to give you reasonable results from keyword searches.

The idea is that the more modules depend on a given module, the better it is. This gives us a “NodeRank” for each module - valued from 1 to 6 of course, since Node is hexagonal!

The inspiration really comes from our clients - we do Node.js consulting. So many of them are struggling as Node.js learners. It’s great that there are so many modules, but as an experienced Node.js developer you can forget that it’s hard to find the right modules in the early days.

We all use a bunch of heuristics to choose modules. Experienced Node.js people can eyeball a GitHub page and make a pretty good assessment, but that level of knowledge takes time to develop.

There are other module search engines and directories out there, and things are getting better. This is still a mountain we have to climb.

It’s written in Node.js and it’s open source - mostly because that’s the way we roll!

How was the creation process? Did you run into any challenges?

Richard Rodger: This project started as an intense hackathon - I just got the idea and had to run with it! Sometimes you need to focus and tell the world to f**k off. Put everything else to one side and go with the flow. This feeling is precious, and it’s how great things happen.

Of course, most of the time, what you produce is rubbish, but it’s worth it for the gems. The jury’s still out on nodezoo.com!

I took a pretty brain dead approach to develop on this one - no design or architecture. I wrote the whole as batch script and bolted on the website afterwards. Command line development is the fastest way to build something as your code-test cycle is really tight.

This does create huge amounts of technical debt - just take a look at the source code on GitHub. It needs a while lot of love. But you know what, there’s a working site and that’s what counts.

I love the quote from General Patton: “A good plan violently executed now is better than a perfect plan executed next week.” Or indeed, any plan at all!

What is your coding and creation process? How do you handle QA and just making sure things work?

Richard Rodger: To burn down the technical debt I’ve teamed up with Peter Elger - we need to write some tests for a start! The approach we’ll take is something called “continuous production testing”. Deploy at will, but always be testing the live system for issues. You need to set up a bit of infrastructure for this, and it ranges from pingdom.com, to airbrake.io, to custom independent processes.

The other approach we’re using these days is something called “micro-service architecture” - you’ll see this reflected in the GitHub commits soon. Basically, break everything into lots of small (and I mean small) processes. This means running lots of Node.js instances, and they communicate with each other in various ways, synchronously and asynchronously. This has a big impact on testing - each small part is easy to verify, and easy to change.

Things look pretty simple and straight-forward from a user interface perspective. How are things behind the scenes?

Richard Rodger: Dreadful! Like I said, the technical debt is at loan shark interest rates.  I’ve been somewhat busy with a new baby in the family this year, which is one of the reasons Peter is coming onboard to whip things into shape.

There is one key challenge we have to resolve. The search engine we use is elasticsearch which is a really scalable Java-based open source search engine. However it’s a bit over-the-top for our needs, and we can’t seem to tweak the boosting to get it to work properly. The issue is that search results tend to be dominated by the most popular modules, even for less relevant terms - try http://nodezoo.com/#q=foo - the search results are dominated by modules that use the work “foo” in the documentation. We’re looking at rolling our own minimalist engine using LevelDB and all the good stuff Dominic Tarr and Rod Vagg have been doing.

We’re always curious about feedback people receive about their projects. Have you heard from any users?

Richard Rodger: "Make it faster" is the main thing we get. Hence the move to a pure Node.js system! And there’s a lot of feedback about relevancy - we have some doozies in there! There are lots of module search engines all trying various approaches, so Node.js developers will end up with a good search engine one way or another.

Have you built all the functionality you wanted into Nodezoo, or is there more to come?

Richard Rodger: The real thing we’re trying to do is give you a selection of modules that you can then eyeball quickly. It’s about the perfect module coming first, more about the scan-ability of the results.

A search engine is pretty simple in terms of UI - we want to keep it that way. It’s all about increasing the relevancy of results.

Do you have any other Node.js projects in the pipeline?

Richard Rodger: We’re a consultancy, so we tend to work as a team on projects that help us deliver for clients. The two big ones at the moment are TacoDB (a Node.js-size database) and Seneca (a toolkit for micro-services).

Also I’ve just bought a soldering iron, so who knows! Time to disappear again for a few days and return with some more madness…

In the spirit of blatant interviewee self-promotion, I should also mention our other little project http://nodeconf.eu/ - there will be Vikings!

Sounds fun! Richard, thanks for chatting with us! For anyone interested in Nodezoo, you can go to Github and reach out to Richard there as well.

As always, if you have a cool Node.js project or product you think we should profile, reach out to us at callback@strongloop.com and we’d be happy to get you In the Loop.

What’s Next?


Node.js and Mobile News Round-up - August 13, 2013

Welcome to this week’s summary of the week in Node.js and Mobile news covering August 6 through August 12. Every week this time we will look at some of the Node.js-related news, tutorials and commentaries we’ve seen online.

Why JavaScript Will Become The Dominant Programming Language

Nolan Wright looks at how JavaScript’s simple learning curve and flexible skill set has it ready to take over the enterprise.  

Init.js: A Guide to the Why and How of Full-Stack JavaScript

Alejandro Hernandez walks you through the ins and outs of Full-Stack JavaScript.

A New Frontier for Core Development

WordPress announces some new functionality.

3 Easy Steps to Get The Most from MongoDB and Node.js

Frozen Ridge helps you get Node.js and MongoDB working together nicely.

From IFTTT to Node.js: A Baker’s Dozen of Tech Tutorials

Peter Smith compiles 13 how-to YouTube videos for you, including some Node.js goodness.

Simplifying Chores with Grunt

Swapnil Mishra shows you some automation to make your Node.js adventures easier.

OverAPI’s Node.js Cheat Sheet

Bookmark this one. OverAPI’s Node.js Cheat Sheet!

How AngularJS Made Me a Better Node.js Developer

Liam Kaufman tells how the dependency injection and promises of Angular.js greatly improved his code.

The Making of Bell Social Portrait

Teehan+Lax give the rundown on the journey to creating Bell Social Portrait with Node.js.

What’s Next?


Node.js and Mobile App Development News Round-up – August 6, 2013

Welcome to this week’s summary of the week in Node.js and Mobile news covering July 31 through August 5. Every week this time we will look at some of the Node.js related news, tutorials and commentaries we’ve seen online.

Advanced chat using node.js and socket.io – Episode 1
- Tamas Piros looks at making a useful tool that could be used as a chat and  conferencing tool.

How to Use the Blob Service from Node.js
- Windows Azure shows you how to perform common scenarios using the its Blob service.

Node.js + MongoDB, part 2: here comes memcached!
Node.js + MongoDB, part 3: exit memcached, enter ElastiCache
- Julien Simon brings memcached and ElastiCache into the Node.js and MongoDB equation.

NoFlo Development Environment
- A Kickstarter project aimed at creating a flow-based programming for Node.js.

How to Install Node.js with NVM (Node Version Manager) on a VPS
- “This install process couldn’t be easier,” says author Nik van der Ploeg.

Nodeweekly.com is coming
- Cooper Press is bringing you A free, once–weekly e-mail round-up of Node news and articles in August 2013.

StrongLoop Hopes to Professionalize Node.js Programming Language
- Matt Christie looks at StrongLoop’s Node.js goals.

What’s Next?


In the Loop: FlightOffice.com

What’s the buzz? Every two weeks we spread the word of Node.js and the cool and incredible things it can do. We do that by profiling creative, interesting and fun uses of Node.js in various products and projects. We call it “In the Loop.”

Today we are chatting with Lee Johnson, founder and CEO of FlightOffice.com, which is described as “a complete solution to manage flight operations.” Since we are fans of both solutions and flying, we thought we would check in. The use of Node.js sealed the deal.


FlightOffice.com describes itself as being able to “streamline operations, eliminate paperwork, and save money.”  Tell us about the opportunity you saw for FlightOffice.com to fly through paperwork. How do you do it?

Lee Johnson: There is a big problem in aviation. Other than big airlines, aviation companies operate using paper-based systems and Excel spreadsheets. Yet they are being squeezed due to increasing competition and increasing customer and regulatory requirements. They have to innovate and become much more efficient, or they won’t survive. We solve that problem by helping them automate and streamline their operations, and eliminate paperwork. So FlightOffice.com is really an ERP solution for aviation. The SAP of aviation if you will.

Your web page describes the software as powerful, flexible and able to keep data in real time. That can be quite the feat. How did you determine what to use “under the hood” to accomplish this?

Lee Johnson: When we started planning the architecture for the FlightOffice.com platform we knew that we wanted a very thin stack from front to back. We wanted that stack to scale well, both in production, and in our ability to build the platform, meaning that we could quickly and easily deploy new functionality. We were also looking for a clean, cohesive language from back-end to front-end.

Our developer geek-sense tingles when we consider how people put together apps and pages. How important was your development choice? Do you see your set-up as current or pulling ahead of the curve?

Lee Johnson: When we started working with NodeJS it was at 0.4 I think. Our team had never worked with Javascript or NodeJS and only had PHP experience. So at the time, we were in uncharted waters. People thought we were crazy to build an aviation ERP system on an unproven technology. And we even took it a step further and went with a noSQL database as well. We were, in some ways, a little too far ahead of the curve because so many tools, packages and frameworks didn’t exist. But, it was the best decision we made and we have been successful because of it.


Any “a ha” moments or takeaways in the development of FlightOffice.com? Any intriguing uses of code?

Lee Johnson: It’s not an “a ha” moment, but using npm effectively within the project was a big win for us.

FlightOffice.com can obviously benefit a diverse set of clients. Can you tell us about who is using it, or who could be talking advantage of it? Any examples of the results companies have seen from using it?

Lee Johnson: We have customers on 4 continents. Basically any commercial aviation company that is not a major airline, that means 80% of commercial aviation, needs a system like ours.

What does the future have in store of FlightOffice.com?

Lee Johnson: We want to be the SAP of aviation software so we are working on a few different things like professional services, a hardware unit installed in the aircraft that collects big data, a tablet solution and various other things that will provide our customers with a complete, end-to-end solution.

Sincere thanks to Lee for telling us about the potential of FlightOffice.com. In the meantime, if you have a cool Node.js project or product you think we should profile, reach out to us at callback@strongloop.com and we’d be happy to get you In the Loop.

What’s Next?


Node.js and Mobile App News Round-up - July 30, 2013

Looking for your weekly Node.js News Round-Up fix? Never fear! The StrongOps team is simply moving the news from Thursday to Tuesday. That way you get to scope out this on Tuesday, then the StrongLoop “What’s New in Node.js and libuv” later in the week. So, without further adieu…

Welcome to this week’s summary of the week in Node.js and news covering July 18 through July 29. Every week this time we will look at some of the Node.js-related news, tutorials and commentaries we’ve seen online.

Advanced chat using node.js and socket.io – Episode 1
- Tamas Piros looks at making a useful tool that could be used as a chat and  conferencing tool.

AngularJS: Installation
- Alex Young walks through installing Angular.js.

Automate the Generation of Your Style Guides With KSS-node
- Flo Preynat presents a way to utilize KSS-node to automate creation of a living styleguide with CSS, SCSS, LESS and more.

What is Node.JS and Why Should I Care? [Web Development]
- James Bruce makes a compelling case for why you should know more about Node.js if you are interested in web development.

Testing Entire NPM
- Pedro Dias sets up some autonomous test for all of the modules in the npm registry.

How yield will transform Node.js
- Alex MacCaw looks at at the impact yield may have on Node and callbacks.

Teach Yourself Node.JS in 10 Steps
- Nicolas Bevacqua helps newcomers to Node.js ramp up.

Debug Node.js applications in Windows Azure Web Sites
- Learn how to enable logging of stdout and stderr, display error information in the browser, and how to download and view log files.

Tutorial: Node.js and MongoDB JSON REST API server with Mongoskin and Express.js
- Azat Mardanov demonstrates building a simple REST API server with Node.js.

Where the heck do I host my … Node.js app?
- Richard Seroter reviews hosting options for Node.js applications.

And, of course … StrongLoop acquires assets of NodeFly for Node.js monitoring savvy

What’s Next?