Node-RED updated, Hadoop 2.3.0 out, NetBeans 8.0 RCs and Skrollr scrolls – Snippets

snippets03
Node-RED updated: The most excellent graphical UI for connecting the Internet of Things (or just things in general), Node-RED has been updated to version 0.6. The announcement notes the process of separating the admin and server authentication to make deployment more robust has begun. Node-RED has nodes that accept HTTP connections and has a HTTP admin front end and previously these were all under one HTTP authentication mechanism – now the UI and nodes are more separate with the option to set a user/password for each. There’s some UI changes like a search filter for the palette of available nodes and easier flow importing by just dragging and dropping JSON onto the UI. In the node-red-nodes library, they’ve added Postgres, Amazon DynamoDB and Emoncms for more connections. There’s also fixes for the MQTT keepalive handing, an added socket timeout settings for TCP sockets and support for all 17 pins of WiringPi. More generally, there’s a range generating node now and the inject node can send empty payloads if needed. Finally, the MongoDB node now can send a user name and password – something I found I needed when writing this for MongoHQ.

Hadoop 2.3.0 released: In case you missed it, version 2.3.0 of the Apache Hadoop project got a release. The release notes list all the details. The short version is this is mostly about HDFS, the distributed file system and the changes include the ability to class the storage under HDFS so you can make tradeoffs between say spinning media, SSDs and memory, an ability to explicitly cache files or directories under HDFS (and local zero-copy reading from the cache) and the use of HDFS and YARN to simplify deploying MapReduce code. Hortonworks has a good writeup which also looks forward to Hadoop 2.4.0 with HDFS ACLs and rolling upgrades.

NetBeans 8 gets an RC: The NetBeans IDE has hit release candidate for 8.0. This is the version that will include JDK 8 support in the editor, Java SE Embedded and Java ME Embedded support, PrimeFaces code generators, AngularJS navigation and code completion, PHP 5.5 support and much more. There’s a summary in the announcement, a lot more detail in the New and Noteworthy wiki page and a pencilled in release date of mid-April.

Skrollr scrolls in: Recently spotted – Skrollr, a compact parallax scrolling and scrolling animation library for all your Webtml5.0 styled sites including the ability to “scale, skew and rotate the sh** out of any element”.

Linux 3.13 lands, Node-RED re-flows, FreeBSD 10 close, BBB-SDR challenge – Snippets

linuxsnippets150

  • Linux 3.13 lands: It took a couple of weeks longer than expected, but Linux 3.13 has been announced. KernelNewbies has their 3.13 summary up, or if you speak German, Thorsten Leemhuis has his What’s New up on heise. Highlights? New firewall packet subsystem nftables, new multi-queue I/O that works better with fast devices, open source driver Southern Islands Radeon (HD7550-HD7590) 3D support and power management (and HDMI audio) are now on by default. Throw in improved NUMA and hugepage support, squashfs performance and many more additions and changes and you got yourself a 3.13. Look for it to percolate out through the distros over the coming months.

  • Node-RED self-flows: I’ve talked about Node-RED before – it’s the neat GUI for connecting the Internet of Things, and more, together. In a neat article, Andy Stanford-Clark looks at making Node-RED make its own flows. Flows are what you create in Node-RED to implement how data flows around and the idea that Andy looks at is making a flow which would squirt out JSON which could be sent to other Node-RED instances to configure them. Imagine, stepping back for a moment, that you could have a flow which looked up all the devices that ran Node-RED and the other devices that could be accessed and created flows for all of them so they could all work together … thats where this idea is going. Worth a read (and if you haven’t played with Node-RED, make some time for it).

  • FreeBSD 10 very very close: It looks like FreeBSD 10 is just about to be announced – ISO images have appeared but there’s no announcement quite yet. There’s a frisson of activity around a Hacker News posting that the files have turned up, but it ain’t announced until the PGP-signed fat lady sings.

  • BeagleBone Black Radio challenge: The folks at Element 14 are running a BeagleBone Black Radio Challenge looking for people to propose how they’d make best road-test use of a package comprising of a BBB, a 4.3″ touchscreen cape and an AdaFruit Software-Defined-Radio USB Stick. So are you up to test your maker-mettle?

Sharper Dart, Righter JavaScript and MQTT reviewed – Snippets

Snippets

  • Sharper Dart: Dart 1.1 has been released and sees Google’s JavaScript alternative running faster when compiled to JavaScript. Dart can be run as JavaScript or natively on its own VM, and while the VM has performed well, the Dart/JavaScript version lagged behind. Now, with 1.1, it’s closer to native JavaScript but still slightly behind it.

  • Righter JavaScript: Worth looking at, but watch out for the colour scheme, is JavaScript the Right Way. It’s a site thats pulling together JavaScript best practices and resources. It covers tools, frameworks, patterns, code style and further reading.

  • MQTT 3.1.1 in review: The OASIS technical committee looking after MQTT have put MQTT 3.1.1 up for review. MQTT, which doesn’t stand for Message Queuing Telemetry Transport any more, is a lightweight pub/sub protocol that runs over TCP/IP designed for the Internet of Things. I’ve written about it in Practical MQTT with Paho on InfoQ and Talking Small at Eclipse.org.

Node-RED’s cool GUI for the Internet of Things

Node-RED and a quick IRC bot flow
Node-RED and a quick IRC bot flow
The latest version, 0.5.0 of IBM’s Apache licensed, incredibly useful and very cool Node-RED has landed but before going further, I suspect a lot of readers will want to know what Node-RED is.

There’s usually a lot of connecting of things involved with making the Internet of Things do something useful. Whether it be detecting messages on Twitter, listening to IRC, watching a Websocket or grabbing a web page, each source then needs to be processed and if required make something happen. Now, you can write a lot of code to do that or you can check out Node-RED. Billing itself as a “Visual tool for connecting the Internet of Things”, Node-RED is built atop of Node.js and offers a graphical world of IoT building blocks in the browser for you to wire up as needed and test.

Those building blocks, nodes in Node-RED, start with the simple, inject to send something, function to process it using JavaScript and debug to see what is being sent. They then build up to more powerful capabilities such as Http requests, MQTT subscription and publication, WebSocket listening and writing, tcp and udp comms and sentiment analysis. To connect up to social networks, nodes for Twitter and IRC listening and publishing are included. There’s also file storage, logical switches, data manipulation and delay nodes and, for the brave, even a node which will exec a process on the system.

Each node can be placed, configured and its outputs connected to other nodes inputs in the Node-RED GUI, and with the click of the Deploy button, put into action. New nodes can be created and plugged into the system too and there’s a repository of user created extra nodes available.

But, you say, where’s the Internet of Things in this? Well, Node-RED is able to work with Arduinos (connected via USB to host computers over serial or Firmata protocols) or run directly on Raspberry Pi (with GPIO and wiring-Pi modules) and the BeagleBone Black (with BoneScript access). And, obviously, you can write your own plugin nodes to connect up whatever hardware or devices you need to access.

Node-RED is a very capable tool and worth adding to your toolkit. For example, while writing this I was also prototyping an IRC bot which did basic sentiment analysis and commented in the channel. Why not give it a go over the coming holidays? You can download Node-RED from the website or you can find it on GitHub. Documentation including a quick tutorial on creating flows, along with instructions on writing function nodes, creating new nodes, embedding Node-RED into existing applications and running it with Arduino, Raspberry Pi and BeagleBone Black.

The latest version, which we mentioned at the start, has new visuals for showing the deployment state of nodes and handles the idea of “unknown nodes” visually when importing a flow from someone who’s used nodes you haven’t got yet. There’s also new user and direct message tracking in the Twitter node, session aware TCP and WebSocket nodes, enhancements to the MQTT node for authentication and client ID, an “otherwise” option in the Switch node, selectable data delimiters for the serial node and a HTTP Request node that follows 301s. The contributed nodes now include a Snapchat node and a Phillips Hue mode.

The Node-RED developers are now looking at making new nodes installable with npm, Node.js’s package manager, and tackling the separation of the administration UI from the runtime so it’s more easily deployed into future production scenarios.