Autumn in Canberra is my favourite time of year. (Image by the author)

Because recursion rules.

An example

const ITEMS = [
{
title: 'The One',
contract: '1',
author: 'alice'
},
{
title: 'It Takes Two',
contract: '2',
author: 'alice'
},
{
title: '3x a lady',
contract: '1',
author: 'beck'
},
{
title: 'Four on the Floor',
contract: '1',
author: 'candice'
},
{
title: "In de'Pipe Going Five by Five",
contract: '3',
author: 'candice'
}
]


Welcome — an NFT from the Three Years in India collection on OpenSea

And what’s a shitcoin?

TL;DR

Disclaimer

Bitcoin is the OG cryptocurrency


EV charging in regional Australia is getting more mainstream. (Photo by the author)

A form-letter for your clean-air taxing local senator or local member

refs: pick one, or find another
- https://thedriven.io/2020/11/11/south-australia-to-impose-road-user-tax-on-electric-vehicles-from-2021/
- https://www.theage.com.au/politics/victoria/pallas-zaps-electric-cars-with-road-charge-20201121-p56gp3.html

The proposed tax is bad policy


An extract from ASCII Cthulhu by Dave Sag
An extract from ASCII Cthulhu by Dave Sag
Extracted from ASCII Cthulhu, my first ever NFT based artwork.

Finally a way to create and sell digital originals.


The programming bug can strike anywhere, so you’d better watch out — Photo taken today at Memory Cove, South Australia.

My first PR for the year, and a lesson to us all.

const Copyright = ({ holder }) => (
<Typography>
{'Copyright © ' + holder}
{new Date().getFullYear()}.
</Typography>
)
Copyright.propTypes =…


My first car, bought the day the Covid 19 lockdowns started.

In the age of Covid 19


A rapsberry reduction. Photo by the author.

Judicious use of map and reduce functions is a core skill, but one seldom used effectively.

export const VERBS = ['start', 'stop']
export const ACTIONS = VERBS.map(verb => import(`acts/${verb}`))
import { VERBS, ACTIONS } from 'acts'export default function action(verb) {
const i = VERBS.indexOf(verb)
return ACTIONS[I]
}


A Shadow Over Canberra: Photo by the author.

I just tracked down a bug that, for a while, made me doubt my grasp on the very foundations of Javascript .

// This fails as it thinks the scanner has not started.const commonData = getCommonData();
console.debug('commonData', commonData);
*** Hey I’m a feedscanner ***
*** Hey I’m a feedscanner ***

Javascript imports are cached so why am I seeing two ditinct feedScanner modules?


How to use the Apple Remote app on iOS to control the Music app on your Mac (updated, and updated).

macOS 10.15.2 fixes a lot of issues including the borked Remote issue.


A window cleaner dangles outside a hotel window in Amritsar, India.
A window cleaner dangles outside a hotel window in Amritsar, India.
Window Cleaner in Amritsar, India (Image by the author)

How React’s new Hooks API can help you win the class war

What are hooks?

Watch Dan Abramov’s introduction to React Hooks at React Conf 2018.

The useState hook

Dave Sag

Blockchain Tsar & Senior Javascript Practitioner at Industrie&Co. (https://industrie.co)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store