Home
Welcome to my blog. This is mainly about IT, information management and Cyber Security with occasional forays into general technology, science and maybe even politics and beliefs.
I welcome feedback on this site and its content. Please use the contact form if you spot anything amiss with the site and use Disqus to talk about any of the articles.
There are 301 pages currently on this site. 235 blog posts, 60 knowledgebase pages, 6 about pages and 0 project pages.
Latest posts and knowledgebase articles
Node-RED communications protocols
Node-RED has an excellent choice of communications protocols available to it. This article looks at the main options and their strengths and weaknesses. It also gives suggestions as to when you may wish to use them.
How to reliably detect the object type of a JavaScript variable?
The nature of JavaScript means that everything is treated as an object (sort of). It can be remarkably hard to reliably detect what type of object something is and there isn’t a single function in JavaScript that can be used in all cases. So how do we do it? Here are some options
Home working, IT Hints and Tips
The COVID-19 crisis has meant many more people working from home. From long experience with this kind of working, here are some hints and tips to help.
FAQ 4: How do I see the Node-RED log?
Just as there are several possible ways to run Node-RED, there are several ways to access the log.
FAQ 3: What different ways are there to install Node-RED and which is best?
There are several possible ways to install Node-RED, this post provides an overview and some thoughts about when you might want to use which approach.
📖 Posts | 📎 Information Management, Data, Development, Software | 🔖 Databases, Dates, DBA, Debugging, Development, Software, Solutions Architecture, Standards, Timestamps
Rules for working with dates and times
Dates and times are incredibly complex. They can be different in different countries, languages. They are often inconsistent and have weird edge-cases. These are some basic rules I apply when working with dates and times.
FAQ 2: How can I run multiple instances of Node-RED on the same server device?
There are all sorts of reasons to want to run more than a single instance of Node-RED and several ways to do it.
A Glossary of Node-RED terms
For those not used to it, the terminology used in Node-RED can occasionally be confusing. Due in part to the overloading of some terms. So I’ve come up with this glossary to help keep myself from getting confused.
FAQ 1: Should I use a function node or a flow of core nodes?
There are usually many ways to achieve something in Node-RED. A common question is whether or when to use a function node or a collection of core nodes to achieve an outcome.
Using JSONata to transform msg data
JSONata is a syntax designed by IBM to help reformat and restructure JSON data in a similar vein to the way that XLST is used to transform XML data.
Creating a notification in the Admin UI
Node-RED’s admin UI has a built-in notification (toast) pop-up message feature. This article explains how to use it when creating custom nodes as it isn’t currently well documented.
Cleaning up npm package install problems
Node-RED uses npm to manage package installations such as its nodes. Sometimes, you can get into a situation where you start getting lots of npm installation or removal issues and it feels like you are going round in circles trying to fix things. If so, time to call it a day and to get drastic! Here, I try to explain an easy way to fix things quickly and completely without side effects.
Analysing the Performance of Node-RED
Node-RED is a powerful platform for prototyping and rapid development but it is complex. It has a lot of moving parts and it can be hard to know what might be causing performance bottlenecks. This article tries to give some hints and tips about analysing those bottlenecks and how to resolve them.
A more comfortable way to edit the code for creating custom nodes
Node-RED allows us to create custom nodes to extend the features. While this is a great feature, actually writing the code can be tricky. In part because the code for the admin configuration panel is contained in an html file containing 3 script entries that are Node-RED specific. This post shows you a relatively easy way to split that into 3 files and combine them with a build step using an npm cross-platform script.
How to take control of JavaScript console output
All browsers have the console object that lets you output to the developer console log. But in production, you don’t want this output, only in development. So here is the easiest way I’ve found to take control.