Development
How to loop over JavaScript arrays and objects
JavaScript can be a pain at times. Loops are a fundamental part of all computer languages but in JavaScript, there are some oddities. This post is a summary of the different loop features and when to use them. It is likely to be updated from time-to-time as the standards are still changing.
Using npm configuration environment variables in package.json
npm automatically makes parts of your package.json file available as environment variables. This can be useful when using npm as a run script service.
Download a GitHub Repository using Node.JS
Downloading a repository from GitHub using Node.JS should be really easy. But it isn’t! This KB post reminds us of the tricks required.
How to walk through a JavaScript object in sort order
Using a JavaScript object like a keyed array, what is the simplest way to walk through the object?
How to get the properties of a JavaScript object without errors
You cannot natively request chained properties of a JavaScript object without the possibility of an error. This utility function allows you to get any properties, no matter how they are nested.
Node.JS and JavaScript
Node.JS allows JavaScript to be used as a server-side (back-end) programming language.
Creating GitHub Releases from git Tags
The workflow for updating version numbers and doing git/GitHub/npm releases is far too complex to easily remember when you aren’t doing it very often. This post is a reminder of the various steps.
How to create secure certificates
Generate certificates for Node-RED that are trusted by all modern browsers. This will let you access Node-RED (and other services) over an encrypted HTTPS link.
How to secure Node-RED
Node-RED is increasingly used in situations that require reasonable security. Up to now, however, the information required to secure it correctly has been fragmented. This article aims to give an end-to-end outline to enable anyone to secure their installation.
📖 Kb | 📎 Development, Internet of Things (IoT) | 🔖 Node-RED, Internet of Things, IoT, Heating, Home Automation
Drayton Wiser heating control
Drayton are a very widely used manufacturer of heating controls. They make the “Wiser” control system which is low cost and easily fitted. This article shows you how to use Node-RED to query and control the system.
Cloud Automation for IoT
Having just brought a Google Home, I’ve quickly realised that, although Google are supposedly fairly open about allowing people to develop for it, there are still far too many limitations. To try and get round these, I’ve been looking at automation tools. In this article, I will list some of the key tools and their strengths and weaknesses.
📖 Posts | 📎 Blogging, Development | 🔖 Security, security threats, threat management, vulnerabilities, Web
Cloudflare Now Active
After the recent high-profile vulnerabilities, I decided to turn on the free version of CloudFlare for this domain. CloudFlare provides a reverse proxy service that sits in front of your domain. It will serve content where it can on your behalf (caching), optimise content where it can (e.g. minimising JavaScript, HTML, CSS, etc.). But even more important from my perspective is their ability to protect against a number of vulnerabilities.
Hugo Snippets and Code Examples
A somewhat random collection of code for Hugo so that I don’t have to keep looking things up all over the Internet.
Macro to open a web URL from Outlook
Many of us spend most of our work time in a few applications such as Outlook (email) and a web browser. This example macro for Microsoft Outlook will let you add a button to the Outlook Ribbon that will open a specific website URL.
Outlook 2013 URL Protocol Handler
Outlook has a custom URL protocol that allows interaction with different elements such as folders, mail and calendar items and contacts, Since Outlook 2007, this has been restricted for use only within Outlook itself but there are some tremendous opportunities for use from simple web systems. This post explains how to turn it on, even for Outlook 2013 (Office 365 version). It also gives pointers to other articles on how to use the protocol.