This article is about a design for shelves that’s easy to make (hard to mess up) and doesn’t require a full-blown workshop to construct.
The design is just horizontal slabs of wood for the shelves and vertical threaded rod with nuts to hold them in place (because a shelf without altitude is just a bit of wood on the floor). No nails or screws or glue or any other forms of joinery.
I’ve made two sets of shelves in this vein in the last few weeks, here’s the little one:
… and here’s the big one.
In this post, I walk you through the composition, capture and development of a photo of the cranes at Newington Armory.
Newington Armory, on the Paramatta River.
Shot with a Canon RP + 35mm lens.
1/20s • ƒ/9.0 • ISO 100
This is part two in a series showing the work behind the scenes to create a particular photo. Part one is here.
I like this photo, partly because it’s all wrong. The composition is odd, it’s almost entirely out of focus, the colours are faded but not black and white, the lack of contrast is depressing, and the subject matter is a clump of sticks in a drain. Not even a pile of sticks, a clump.
In fact, as I was triaging my shots from this location, my first instinct was to send it to the bin.
This magnificent clump of sticks can be seen in the first photograph in this series, you can go read that for the story of the tracks. …
This post describes the creation of a particular photograph; it will form part of a series, guided by feedback and my attention span.
The photos themselves are not particularly amazing, and I must confess I don’t think they belong under the spotlight. But as with everything I write, I aim to put out the sort of content I like consuming from other people (“how it’s made” type stuff).
On with the show…
Newington Armory, Sydney (map). 9:30am, 21 July 2020.
The tracks in the photo were built to carry fun-sized trains that trundled to-and-fro between armament stores around this site in the middle of Sydney. Since these buildings (now empty, so they say) were built to store explosives, they’re set apart and into the ground such that if one goes kaboom, the others won’t sympathetically explode. The site was closed a few decades ago, so it wouldn’t accidentally blow up the Sydney Olympics which were held across the street. With the tracks now laying dormant, mother nature has begun gnawing away at the steel and concrete, creating one of my favourite photographic themes: ‘nature reclaims’. …
This post looks at the privacy implications of contact tracing apps. Specifically those that implement so-called ‘privacy-preserving contact tracing’.
I will put forward the case that such contact-tracing apps can be implemented without any loss of privacy, but let me be clear: this is not a call for complacency. It is a call for an end to unfounded opposition to a potentially life-saving technology.
There is, and probably always will be, a shortage of COVID-19 tests. So between now and when we are all vaccinated (late 2021?) we will face the constant quandary of who gets tested and who doesn’t. …
There’s no official dark mode for GitHub (December 2020 update: yes there is!) but this doesn’t mean you must suffer the retina-burning white of the default design.
In this post I take a look at 8 options for going dark. The winner, in my opinion, is Dark Reader. So if you’re in a hurry, you may be excused.
First I’ll mention a few things about each of the contenders, then I’ll show them side-by-side in action across various GitHub pages. …
Recollect is a state management library for React.
It serves the same purpose as Redux, with some key differences:
You can just write
todo.completed = !todo.completed.
This looks like it’s mutating the todo, but it isn’t. Internally, Recollect blocks the operation and does the same thing your Redux code does: creates a new version of the store with this change and passes it to the components that should be re-rendered. …
Have you heard about ES6 modules in the browser? They’re like ES6 modules, but in the browser.
For those not in the know, this is what they look like:
They’ve been around for years, and maybe you’re wondering if you should dip your toes in. Well, I’ve been using them for the last month or so on a side-project, and have come the conclusion that …
First things first, the browser support: as I write this at the start of 2020, it’s a pretty respectable 90%.
Consider this scenario: you wake up tomorrow morning with the unshakeable realisation that the world doesn’t have quite enough note-taking apps.
You summon your laptop and immediately get to work crafting your masterpiece: a web app for taking notes that does that one thing that no other note-taking apps do.
2 hours later you’re finished, and you’re rather pleased with the result: it has a list of tasks, uses local storage to persist data and, um, just those two things.
The next morning you wake up with the unshakeable realisation that your web app is web crap if your users can’t punch in a recipe on their PC and see those very same ingredients on their mobile telephone later in the day at the super duper market. …
I recently found an interesting vulnerability that allowed any user of a particular website to set any other user’s password.
That’s a big one, right?
It was a bit of fun and I thought might make for an interesting article. You’re about to find out.
Disclaimer: I’m a long way from being a security expert and this was my first foray into SQL injection, so please forgive all naivety found below.
Disclosure: I’m not going to disclose the website in question. Not because I’ve reported it to the site owner and am bound by secrecy, but because I’m going to keep the vulnerability for myself. …