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

📖 Kb | 📎 Development | 🔖 Node-RED, Communications, Protocols, MQTT, Websockets, TCP, UDP

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.

📖 Kb | 📎 Development | 🔖 JavaScript, ECMAscript

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

📖 Posts | 📎 IT | 🔖 Home Working

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.

📖 Kb | 📎 Development | 🔖 Node-RED, FAQ

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.

📖 Kb | 📎 Development | 🔖 Node-RED, FAQ

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.

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.

📖 Kb | 📎 Development | 🔖 Node-RED, FAQ

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.

📖 Kb | 📎 Development | 🔖 Node-RED

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.

📖 Kb | 📎 Development | 🔖 Node-RED, FAQ

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.

📖 Kb | 📎 Development | 🔖 Node-RED

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.

📖 Kb | 📎 Development | 🔖 Node-RED, Node.JS, JavaScript

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.

📖 Kb | 📎 Development | 🔖 Node-RED, npm, Node.JS, JavaScript, Debugging

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.

📖 Kb | 📎 Development | 🔖 Node-RED, Node.JS, JavaScript, Debugging, Performance

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.

📖 Kb | 📎 Development | 🔖 Node-RED

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.

📖 Kb | 📎 Development | 🔖 JavaScript, ECMAscript

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.