Categories
Archives

Node 8, facts and guidelines

The Node Foundation announced last week that Node 8 was finally released. I say finally because as you may or may not know, it was delayed for about a month. According to the support and release calendar, Node 8 was supposed to be released in April. The short reason for the delay was:

“We want to give ourselves the option to ship the Node.js 8.x release line with the TurboFan + Ignition pipeline, which will become the default in V8 5.9. This would allow our next LTS release line to run on a more modern compiler + jit pipeline, making backporting easier and giving us a longer support contract from the V8 team.”

You can see the full explanation on Medium.

A few of the Node V8 features:

  • version 5.0.0 of npm

  • It ships with V8 5.8

  • Node.js API (N-API) – still experimental

  • Async_hooks upgrade

  • WHATWG URL parser, fully supported

  • Changes to the Buffer API

  • New command line flag: pending-deprecation

  • new util.promisify() API

  • new experimental JavaScript API

Complete features description available on the Node.js website.

Caveat before moving to Node 8

If you intend to move to Node 8 please read this first

Those who need stability and have complex production environments (i.e. medium and large enterprises) should wait until Node.js 8 goes into LTS before upgrading it for production.

“The LTS release line is focused on stability and security and is best for those who want guaranteed stability when they upgrade and/or are using Node.js in the enterprise.”

Node Foundation

Node versions release schedule guideline

There are 2 releases each year (April and October). Each version becomes the current one when it’s released. April releases, even ones (6. 8, 10)  go into LTS (which lasts 18 months and covers bug fixes, updates, improvements etc) when the next version is released.

October release, odd ones (5, 7, 9) do not have LTS periods and have shorter life cycles at around 8 months, being supported for only two months after the next release. They’re meant to be testing grounds for new features and generally have a bit of instability.

As you can see Node 7 will only be supported until June (this month), being an odd version. I know, it’s complicated.

If you want to see how the entire release process works, you can find more data in one of our previous articles on the Node.js support and release calendar.

Tweet

Categories
Archives

A Node startup reinvents online security

UNLOQ started out of the desire to completely remove passwords from users’ lives. We’re Internet addicts and we all have at least a dozen accounts on a website somewhere that we don’t use or that we only use occasionally. To make things simpler we often use the same password (because who would want to hack you, right?) or the same variation of that password. It’s easier to remember and it’s just simpler. Yes, and it’s also the weakest link in online security. Yes, you are the weakest link!

123456_password_sticky_note-9722884

Most people use generic names and combination of letters on the principle that it should be easier to remember. Well, easy to remember means easy to hack and recent events showed us just that (i.e. the Linkedin password leak). Mark Zuckerberg reportedly used “dadada” as a password and I know that at least one of you has a password called “cabbage” or your cat’s name or something that you think nobody could guess.

You might be one of the few that tries as hard as possible to bulletproof their passwords with numbers, upper and lower case,  special characters anything short of virgin blood but in the end any and every password can be hacked. And most people are easily hackable. And we’re not just talking about losing your social media account, there are a lot more valuable things that you could lose than just that. People are the weakest link through the way they use passwords. 70% of people have the same password for more than one account.

By completely removing passwords, UNLOQ helps companies strengthen their cyber security by toughening the weakest link.  Passwordless is the new security!

Unloq uses JavaScript as its main language for both the front end and the backend side, where it uses Node.js in a very interesting way. The Unloq team actually created their own framework for this project, a framework called Crux that worked for a time, but because it had all of its features bundled together it wasn’t very practical. So they moved from Crux to Thorin, a modular framework, where you can pick and choose exactly what you need without having to install the whole package.

Thorin is the core module, the chassis of the framework, binding all the other modules together. The core module abstracts away HTTP/TCP/WS requests, treating them as a set of input/output data. The transport provides the input data, (called an Intent, encapsulating the incoming request information, client IP, headers, etc) and passes it to the centralized dispatcher. The dispatcher will then route the intent through a set of authorization and middleware functions. The intent can be terminated (with success or error) in any of these functions (almost like express middlewares, but more complex). Once the intent is terminated, the transport will then know to return the result to the client (browser, device, etc).

This approach was inspired by the Flux architecture (especially redux), where actions are routed through a dispatcher and reduced by the middleware functionalities. Thorin has 4 main categories of modules:

  • Transports (currently http and websockets) – abstract away the transport layer, providing the dispatcher with an intent.

  • Stores (think MySQL, Redis, ElasticSearch) – wrappers over different store modules (Sequelize, Redis, elasticsearch) that provide better error handling, structure, auto-loading, connection handling, etc. (stores can be requested by calling thorin.store(“{storeName}”)

  • Plugins – modules that extend functionality of either the core module or other transports or stores. As an example, thorin-plugin-render adds render capability to the HTTP transport, extending the intent/action class and using different render engines (currently nunjucks). The thorin-plugin-auth-password plugin adds authorization handlers that correctly handles user login (using scrypt, hashing passwords correctly, protecting against timing attacks, etc). Transports can be requested by calling thorin.transport(“{transportName}”). Plugins can be requested from anywhere by calling thorin.plugin(“{pluginName}”).

  • Libraries – a set of additional code that can be used throughout the application. You can look at these libraries as singleton services, that do one thing and do it good. Libraries can be requested from anywhere by calling thorin.lib(“{libraryName}”)

The really cool thing is that anyone can write their own module and integrate it with Thorin. Do you have a special transport protocol that you want to use in your app? Write a thorin-transport module! You want to write authorization functionalities for other service providers? Write a plugin and load it up! It’s easy, it’s practical and it works!

Here are the current modules that thorin has implemented (that you can also find in https://github.com/Thorinjs) :

  • Plugin-auth-password – provides authorization middlewares for password checking and login

  • Plugin-auth-history – keeps a login history with ip/headers for other auth plugins

  • Plugin-auth-unloq – implements UNLOQ authentication

  • Plugin-docs – generates markdown documentation based on your application’s actions (action name, input data)

  • Plugin-less – less css processor integration and watcher

  • Plugin-loglet – loglet.io client for centralized log storing and live streaming

  • Plugin-react – provides boilerplate setup for a react application with webpack and hot reload (work in progress)

  • Plugin-render – adds rendering capabilities for the transport layer, (currently) using nunjucks

  • Plugin-sass – sass css processor integration and watcher

  • Plugin-session – adds secure session capabilities for the thorin intent

  • Plugin-stripe – adds authorization middlewares for Stripe payments and implements webhook callbacks

  • Plugin-tasks – plugin that provides cron tasks, at specific intervals of time that persist after the app restart.

  • Plugin-upload – utility function that handles file uploading

  • Plugin-upload-aws – storage solution for uploading files to AWS S3

  • Sanitize – core module used by thorin to sanitize intent input data.

  • Store-elastic – ElasticSearch wrapper

  • Store-redis – Redis wrapper with seamless publish/subscribe and multi execs

  • Store-sql – Sequelize wrapper that provides auto model loading, CRUDL functionalities for entities and error handling, so that DB errors never reach the end client.

  • Transport-http – the HTTP Transport, with security functionalities built-in

  • Transport-ws – the Websocket transport, using socket.io

Check out all the modules, their technology is truly innovative, made from the ground up for a product that is in itself innovative. Unloq offers passwordless security through a combination of: multi-factor authentication, encryption keys and transaction authorisation. It’s not just another example of a successful node.js startup, but a poster boy for node.js as a powerful backend language. Check out their listing on our site and follow them on Facebook here.

Tweet

Categories
Archives

BuiltinNode Jobs

Keep in touch with us, we want to know you! We’d love to hear your thoughts, so, if you have feedback, suggestions, or you just want to say Hi!, join the conversation!

  • Home
  • Startups
  • Companies
  • Jobs
  • Blog
  • About
  • Meet the team
  • Contact
Categories
Archives

BuiltinNode Company

Sparx IT Solutions is a leading firm based in India. “Our ultimate objective is to provide best services and improve overall growth of client’s business in the cut-throat market”. A strong foothold of innovative ideas, seasoned skills and ability to deliver a product with utmost perfection is what drives us vociferously in the global market. Our unparalleled technical skills, working experience of years, innovative strategies will really upgrade your business.

We have provided best plus affordable software development services to numerous large as well as medium entrepreneurs. We are the masters in offering effective software development solutions.

Categories
Archives

BuiltinNode Company

Established in 2009, Elite InfoWorld is a pioneer in providing end to end web and cost effective solutions to its clients in India and all over the world.

We provide professional and dedicated services in website design, web development, graphic designing and Mobile Application such as iPhone Application Development, Android Application Development. With a unique combination of deep understanding of internet marketing, the company has established an outstanding reputation in excellent website designing and development. We have a team of professionals to work with you and analyse your business needs, give you realistic advice and guidance, and develop the best solutions for your site.

Our web application development services we include cutting edge technologies such as Angular JS, Node.JS web development, Express JS and MongoDB Development Services.

Categories
Archives

BuiltinNode Company

Since its inception, over ten years ago, Joyent has lived on the leading edge of technical innovation. The Joyent team pioneered public cloud computing (and hybrid cloud), nurtured and grew Node.js into a de facto standard for web, mobile and IoT architectures, and was among the first to embrace and industrialize containers, compute-centric object storage, and what is now coming to be known as serverless computing.

Categories
Archives

BuiltinNode Company

Rapidsoft Technologies is one of the global leaders in mobile application development industry. Based in New York with its headquarter, as well as in Gurgaon (Delhi Metro Area), India with its Development and Delivery Center, Rapidsoft Technologies holds several years of expertise and experience end-to-end business solutions for clients over the world. With our extensive competency in implementing mobility and custom web and native mobile application development, we have been leveraging mobile technology since 2006.

We offer:

> Mobile Application Development

> Android Application Development

> iPhone Application Development

> iOS Application Development

> HTML5 Application Development

> Open-source Application Development

> Mobile Web Application Development

> Cross-platform Mobile Application Development

> Mobile Game Application Development

> E-commerce Web and Mobile Application Development

> Application Testing and Porting

For more information on our services: http://www.rapidsofttechnologies.com/services.php

Categories
Archives

Built in Node.js – startups, apps, projects using Node

Keep in touch with us, we want to know you! We’d love to hear your thoughts, so, if you have feedback, suggestions, or you just want to say Hi!, join the conversation!

  • Home
  • Startups
  • Companies
  • Jobs
  • Blog
  • About
  • Meet the team
  • Contact
Categories
Archives

A2 Hosting startup on BuiltinNode.com

A2 Hosting is your supercharged Node.js Hosting provider! Unlike other hosts who only offer Node.js in a VPS environment, we have optimized our Web Hosting plans so you can have an affordable experience. Host Node.js on our up to 20X faster Turbo servers for the fastest hosting service anywhere!

Categories
Archives

BuiltinNode Company

Mindinventory is a leading web and mobile app development company that offer professional services in Mobile Application like iPhone Application Development, Android Application Development and iPad App Development. At MindInventory, we have one of the strongest app development teams. We offer broad spectrum of services ranging from simple business mobile applications development to complex enterprise services.

We provide a full cycle of mobile app development services:

– UI/UX Design and Prototyping

– iOS, Android, Ionic, iBeacon App Development

– Web Design and Development

– AngularJs / Node.js Development

– QA & Testing

– Support and Maintenance